代码之家  ›  专栏  ›  技术社区  ›  Nicolas

如何摆脱密码锁?

  •  1
  • Nicolas  · 技术社区  · 7 年前

    我正在使用joblib库在多个CPU上同时运行多个NN。我想做一个最终的预测,作为所有不同神经网络预测的平均值。我在后端使用keras和theano。

    如果我将n_job设置为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')
    

    我使用的代码相当简单(它适用于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))
    

    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'
    

    我试过使用提议的技术 here 但这并没有改变什么。准确地说,我在C:\Users中创建了一个文件\我的名字.theanorc里面有这个:

    [global]
    base_compiledir=/tmp/%(user)s/theano.NOBACKUP
    

    你知道我错过了什么吗?

    0 回复  |  直到 7 年前