我试图通过Simphony对模型进行批量运行。我在我的场景树中创建了具有相对路径的文本接收器"./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。
警告消息通过下面的批处理运行配置窗口显示:
警告SwingWorker-池-2-线程-1 12:15:28,906 repast.simphony.batch.ssh.OutputFinder -没有在C:\Users\user\AppData\Local\Temp\simphony_model_1582046063159\instance_1‘中找到匹配的模型输出:{**\ }Test_Data_FileSink_ModelOutput*.txt
在批处理运行控制台日志中有一个额外的错误,模型可能要在其中查找UI。
repast.simphony.batch.InstanceRunner -运行模型java.lang.NoClassDefFoundError时出错:repast/simphony/RSApplication
GUI UI确实允许参数输入,但如果参数已经设置,我无法看到模型依赖于它运行的位置。我尝试在设置UI时插入一些条件语句
if (!RunEnvironment.getInstance().isBatch()) {
// do your GUI specific elements here
}如果我不允许UI被呈现,并且在我发现它起作用的位置上没有太大的影响,这就破坏了Simphony的初始化。
我还应该做些什么?
发布于 2020-02-20 17:18:24
SpecialEffects模型中的GeoZombies类引用了批处理类路径中不可用的RSApplication类,而且它在批处理中也不需要,因为它所做的只是提供一些视觉和声音效果,可以从模型中删除。
删除对SpecialEffects.setUIEffects();
的调用
https://stackoverflow.com/questions/60289302
复制相似问题