我正在尝试通过 Simphony GUI 对模型进行批量运行。我在我的场景树中创建了具有相对路径“./Test_Data_FileSink”的文本接收器。该文件是通过 GUI 单次运行创建和保存的。但是,当我进行批处理时,不会在 localhost 实例中创建任何文件。当我导航到实例时,我看到了 debug.log、FAILURE_null、instance.log 和 param_input.txt,但没有看到 Test_Data_FileSink 文件。批处理尝试跨实例编译数据,并在指定的输出位置返回一个空的 batch_param_map.txt 和 Test_Data_FileSink.txt。
通过下面的批处理运行配置窗口显示警告消息:
'WARN [SwingWorker-pool-2-thread-1] 12:15:28,906 repast.simpony.batch.ssh.OutputFinder - 在 C:\Users 中找不到与 glob 匹配的模型输出:{**\,}Test_Data_FileSink_ModelOutput*.txt \user\AppData\Local\Temp\simphony_model_1582046063159\instance_1'
批处理运行控制台日志中有一个额外的错误,模型可能正在寻找 UI。
repast.simphony.batch.InstanceRunner - 运行模型 java.lang.NoClassDefFoundError 时出错:repast/simphony/ui/RSApplication
GUI UI 确实允许参数输入,但如果参数已经设置,我看不到模型依赖于它运行的位置。我试图在设置 UI 时插入一些条件语句
if (!RunEnvironment.getInstance().isBatch()) {
// do your GUI specific elements here
}
如果我不允许渲染 UI 并且在我发现它可以工作的位置似乎没有太大影响,这会破坏 Simphony 的初始化。
我还应该尝试什么?