实验自动化
该项目提供了一个Engee应用程序,允许您配置计算实验,在此期间将重复运行某个模型。 重新排列其参数的值允许您形成组合的网格,并在广泛的条件下计算模型的操作,并形成表格或矩阵以确定目标功能,以便最终选择所需的一组配置以
启动应用程序
在此示例的文件夹中,您将找到该文件 app.jl 使用应用程序代码,我们将使用以下命令启动该应用程序代码:
genie_app = engee.genie.start("$(@__DIR__)/app.jl", log_file="log.txt", open_url=true);
要停止应用程序,请运行以下命令并取消注释:
# engee.genie.stop("$(@__DIR__)/app.jl");
关于环境准备的信息
准备工作分四个简单步骤进行:
- 打开适合修改和多次启动的模型
- 设置输入变量的列表和范围
- 设置输出变量列表和聚合函数
- 运行实验(数据将保存到文件中
experiment_results.csv)
实验计划程序将新值发送到****Engee工作区中的变量。 为了影响模型的运行,这些变量必须在块参数或模型的初始化代码中的某个位置使用。
您可以通过指定输入变量的向量来开始制定计算任务。 可以通过列出必要的值来设置此向量(例如 [1,2,3]),或通过指定范围(1:10 或 1:0.1:10). 在Julia中可计算的任何表达式也是合适的。 根据以下语法在单独的行上声明每个输入变量: var1: 1:10 哪里 var1 -变量的名称,后跟第一个冒号后的计算值。
输出变量以类似的方式设置,但第二个参数是操作的标识符,该操作将允许将模型值的输出向量转换为标量。 在最简单的情况下,它将采用最后一个元素(x: end),但您可以使用第一个元素,平均值,最大值等。
{%note info"不要忘记在模型"%}"中标记输出变量"on record"
为了使变量x用作模型的输出变量,必须将其表示为命名信号,并且必须将信号线标记为用于记录(logging)。
配置后,您可以保存设置以供将来使用(它们保存到变量工作区),或者从变量中加载它们(如果有的话)。 按一下按钮 Запустить 实际上,您正在运行模型的多重执行,并替换输入参数的所有排列。
实验计划程序在画布上运行当前当前打开的模型(通过执行 engee.run()). 如果模型未打开,您将在应用程序状态栏中看到错误消息。
该应用程序允许您从工作区中的变量保存和下载实验计划。
要从变量加载实验计划,首先需要在工作区中创建它们。 例如,通过从文件下载(使用打开按钮) saved_config.jld.
结论
下面是一个相当简单的实验规划器的示例,它允许您重复运行模型而无需额外编程,并在工作区中获取对象,您可以从中构建图形,找到最佳参数集,或只