从工作区到工作区
在这个演示中,我们将描述使用从工作区和到工作区块的特性。 我们的目标是展示如何将数据输入模型或从中读取数据。 为此,实现了一个简单的模型,如下图所示。
接下来,我们将连接形成WorkspaceArray数据结构所需的库。
首先,让我们创建一个包含时间戳和数据列的DataFrame结构。
之后,我们创建一个WorkspaceArray对象,其中第一个参数是内部数据库名称,第二个是来自DataFrame结构的数据。
In [ ]:
using DataFrames
In [ ]:
# Задаем данные:
t = [1.0, 2.0, 4.0];
d = rand(Float64, size(t));
In [ ]:
df = DataFrame(time=t, value=d)
Out[0]:
In [ ]:
wa = WorkspaceArray(string(rand()), df)
Out[0]:
让我们继续启动我们的模型。
In [ ]:
function run_model( name_model, path_to_folder )
Path = path_to_folder * "/" * name_model * ".engee"
if name_model in [m.name for m in engee.get_all_models()] # Проверка условия загрузки модели в ядро
model = engee.open( name_model ) # Открыть модель
model_output = engee.run( model, verbose=true ); # Запустить модель
else
model = engee.load( Path, force=true ) # Загрузить модель
model_output = engee.run( model, verbose=true ); # Запустить модель
engee.close( name_model, force=true ); # Закрыть модель
end
return model_output
end
Out[0]:
In [ ]:
run_model("from_to_workspace", @__DIR__)
在输出处,我们还将获得WorkspaceArray结构。 让我们查看它的字段并将它们与输入数据进行比较。
In [ ]:
dump(out)
In [ ]:
data = collect(out)
Out[0]:
In [ ]:
using Plots
plot(df.time,df.value) # Входные данные
plot!(data.time,data.value) # Выходные данные
Out[0]:
从比较中我们可以看到,结果,我们提交给模型的数据增加了一倍。
结论
我们已经演示了将数据从工作区传输到模型并返回的选项。 环境的这些功能极大地简化了您与模型的交互。
