标签: python parallel-processing scipy race-condition
最近,当使用SyntaxError运行并行神经网络模拟时,我开始接收brian2。当它试图评估缓存文件中的代码行时,调用scipy.weave.inline会引发这些问题。
SyntaxError
brian2
scipy.weave.inline
问题的完整描述和我对其原因的猜测是here。
here是我之前提到的相关问题的链接,其中一个错误是完整的堆栈跟踪。我对这个问题的回答只是一个临时解决方案。 (一旦执行一组新的并行运行,就会重新引入语法错误。)
我有一个简单的方法可以避免这种竞争条件吗?
答案 0 :(得分:1)
这似乎是scipy中的已知错误:请参阅github上的this和this讨论。这些讨论中提出了一些解决方法:
scipy
github
1)执行一次脚本运行 - 以便填充缓存文件 - 然后并行执行其他运行。并行运行不会尝试重新填充缓存。
2)建立从/tmp到~/.python27_compiled的符号链接。 (我不确定为什么会这样。)
/tmp
~/.python27_compiled
3)改为使用cython。
cython