web-dev-qa-db-ja.com

pythonスクリプトの環境変数として「MKL_THREADING_LAYER = GNU」を設定する方法は?

pyスクリプトを実行すると、次のようなエラーが発生します

RuntimeError: To use MKL 2018 with Theano you MUST set "MKL_THREADING_LAYER=GNU"
              in your environement.

私はなぜグーグルで端末で試しました

export MKL_THREADING_LAYER=GNU

再度実行しますが、問題は引き続き存在します。環境変数が存在するかどうかを確認したかったので、試しました

$ env MKL_THREADING_LAYER=GNU
env: ‘MKL_THREADING_LAYER’: No such file or directory

それは私が環境を手に入れられないということですか?

元のバグのコードに戻ると、問題は次のとおりです。

File "/home/chen/anaconda2/envs/rllab3/lib/python3.5/site-packages/theano/configdefaults.py", line 1251, in check_mkl_openmp

これは、ライブラリのコードの設計方法です。

def check_mkl_openmp():
if not theano.config.blas.check_openmp:
    return
import os
if ('MKL_THREADING_LAYER' in os.environ and
        os.environ['MKL_THREADING_LAYER'] == 'GNU'):
    return
try:
    import mkl
    if '2018' in mkl.get_version_string():
        raise RuntimeError('To use MKL 2018 with Theano you MUST set "MKL_THREADING_LAYER=GNU" in your environement.')
except ImportError:
    raise RuntimeError(""" Could not import 'mkl'.  Either install mkl-service with conda or set MKL_THREADING_LAYER=GNU in your environment for MKL 2018.
If you have MKL 2017 install and are not in a conda environment you can set the Theano flag blas.check_openmp to False.  Be warned that if you set this flag and don't set the appropriate environment or make sure you have the right version you *will* get wrong results.
""")

この環境変数を設定して元のコードを機能させるにはどうすればよいですか?

3
Jieneng Chen

私は使った

conda install mkl=2017

そしてそれは働いた!

7
Lukas

この行を~/.bashrcファイルに追加します

export MKL_THREADING_LAYER=GNU

その後、端末を再度開くと動作します

2
owsmmj

同じエラーが発生しましたが、端末でこれらのコマンドを1つずつ入力して実行するだけで解決しました。

conda install theano
conda install keras

エラーは、theanoがインストールされていなかったことを意味していると思います。

0
Swishderzy

TheanoでMKL 2018を使用するには、環境で"MKL_THREADING_LAYER=GNU"を設定する必要があります。このコマンドは問題を解決します

conda install mkl=2018
0
shad mohammad