我在Docker容器中使用scipy.optimize.differential_evolution函数,并将paramater workers=-1传递给它。这可以使用Python的多处理库(它使用一个池)以最大数量的可用CPU实现并行处理。查看Scipy源代码,当提供参数workers=-1时,调用multiprocessing.Pool()时,幕后没有任何参数。这样就可以使用最大数量的CPU核
每次迭代都会打印一条消息。运行容器时,前几个迭代似乎正常工作。然而,在某些时候,python脚本似乎被卡住了,因为没有打印新的输出(并且我的计算机上的风扇关闭了…)。这种情况发生时不会打印任何错误
请注意,当我删除或更改workers参数为4时,一切都按预期工作,执行不会停滞。(我的电脑有8个核心。)
我曾尝试增加分配给Docker的内存,但不幸的是,这并没有起到任何作用
请让我知道,如果有什么我应该扩大。谢谢
目前没有回答
相关问题 更多 >
编程相关推荐