首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不能在批处理运行中找到模型输出?

为什么不能在批处理运行中找到模型输出?
EN

Stack Overflow用户
提问于 2020-02-18 20:55:07
回答 1查看 228关注 0票数 2

我试图通过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时插入一些条件语句

代码语言:javascript
复制
if (!RunEnvironment.getInstance().isBatch()) {
 // do your GUI specific elements here
}

如果我不允许UI被呈现,并且在我发现它起作用的位置上没有太大的影响,这就破坏了Simphony的初始化。

我还应该做些什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-20 17:18:24

SpecialEffects模型中的GeoZombies类引用了批处理类路径中不可用的RSApplication类,而且它在批处理中也不需要,因为它所做的只是提供一些视觉和声音效果,可以从模型中删除。

删除对SpecialEffects.setUIEffects();

  • In人工代理的静态调用,删除对SpecialEffects.getInstance().playEnragedZombies();

  • In僵尸代理的调用,删除对SpecialEffects.getInstance()...

的调用

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60289302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档