Nic*_*las 6 python locking theano keras
我正在使用 joblib 库在我的多个 CPU 上一次运行多个 NN。这个想法是我想将最终预测作为所有不同 NN 预测的平均值。我在后端使用 keras 和 theano。
如果我设置了 n_job=1,我的代码就可以工作,但是对于 >1 的任何内容都失败了。
这是错误消息:
[Parallel(n_jobs=3)]: Using backend ThreadingBackend with 3 concurrent workers.
Using Theano backend.
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '6088' (I am process '6032')
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '6088' (I am process '6032')
Run Code Online (Sandbox Code Playgroud)
我使用的代码相当简单(它适用于 n_job=1)
from joblib import Parallel, delayed
result = Parallel(n_jobs=1,verbose=1, backend="threading")(delayed(myNNfunction)(arguments,i,X_train,Y_train,X_test,Y_test) for i in range(network))
Run Code Online (Sandbox Code Playgroud)
有关信息(我不知道这是否相关),这是我的 keras 参数:
os.environ['KERAS_BACKEND'] = 'theano'
os.environ["MKL_THREADING_LAYER"] = "GNU"
os.environ['MKL_NUM_THREADS'] = '3'
os.environ['GOTO_NUM_THREADS'] = '3'
os.environ['OMP_NUM_THREADS'] = '3'
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用这里提出的技术,但它没有改变任何事情。准确地说,我在 C:\Users\myname.theanorc 中创建了一个文件,其中包含:
[global]
base_compiledir=/tmp/%(user)s/theano.NOBACKUP
Run Code Online (Sandbox Code Playgroud)
我在某处读到过(抱歉找不到链接),在 Windows 机器上我不应该调用文件 .theanorc.txt 而应该只调用 .theanorc ;在任何情况下它都不起作用。
你知道我错过了什么吗?
| 归档时间: |
|
| 查看次数: |
1036 次 |
| 最近记录: |