首页 > 解决方案 > 在计算集群上使用 PyNetLogo 执行敏感性分析时遇到 NameError

问题描述

上下文:我正在尝试在基于 Linux 的计算集群上使用 PyNetLogo 对我的 NetLogo 模型执行全局敏感性分析。我密切关注PyNetLogo 文档中描述的第二个示例,用于 Sobol 的敏感性分析。我的脚本在 Jupyter Notebook 中,我使用的是 NetLogo 6.0.4 版。

问题:使用 map_sync 函数执行运行模拟的单元时,我收到以下错误消息: NameError: name 'netlogo' is not defined。

在此处输入图像描述

我在前一个单元格中定义了“netlogo”:

在此处输入图像描述

错误指向包含 'sequence(s)' 的第 143 行,根据文档,map_sync 函数将 Python 序列作为参数。在此处输入图像描述

我不确定如何从这里开始,因此还不能尝试任何东西。我确实确保 NetLogo 模型本身运行良好。当我按照相同的 PyNetLogo 文档在本地计算机上运行敏感性分析时,不会发生错误。

任何帮助和建议将不胜感激 - 非常感谢!

**更新:我卸载了 PyNetLogo 0.4.2 版。并尝试使用 0.3、0.4 版本运行代码。和 0.4.1 但不幸的是,错误仍然存​​在。

最好的,马吕斯

标签: javapythoncluster-computingnetlogopynetlogo

解决方案


我无法发表评论,因为我没有足够的声誉。没有看到完整代码的最小示例,也没有快速检查我的 pynetlogo 脚本(windows,多线程),您正在初始化每个集群中的每个 netlogo 实例?即你已经netlogo = pyNetLogo.NetLogoLink(gui = False ... )在每个集群中初始化了?


推荐阅读