Lorsque j'exécute un script py
, une erreur de ce type se produit.
RuntimeError: To use MKL 2018 with Theano you MUST set "MKL_THREADING_LAYER=GNU"
in your environement.
Je googlé pourquoi et dans le terminal essayé
export MKL_THREADING_LAYER=GNU
et exécutez à nouveau, mais le problème existe toujours. Je voulais vérifier si la variable d'environnement existe ou non, alors j'ai essayé
$ env MKL_THREADING_LAYER=GNU
env: ‘MKL_THREADING_LAYER’: No such file or directory
Est-ce que cela signifie que je ne comprends pas l'environnement ou quoi?
Retour au code du bogue d'origine, le problème est le suivant:
File "/home/chen/anaconda2/envs/rllab3/lib/python3.5/site-packages/theano/configdefaults.py", line 1251, in check_mkl_openmp
Voici comment est conçu le code de la bibliothèque:
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.
""")
Comment définir cette variable d'environnement et faire fonctionner le code d'origine?
J'ai utilisé
conda install mkl=2017
et ça a fonctionné!
Ajoutez cette ligne à votre fichier ~/.bashrc
export MKL_THREADING_LAYER=GNU
puis rouvrez votre terminal, cela fonctionnera
J'ai eu la même erreur et je l'ai simplement résolue en tapant et en exécutant ces commandes une par une sur le terminal.
conda install theano
conda install keras
Je pense que l'erreur a signifié qu'il n'y avait pas de theano installé, de toute façon, cela a fonctionné.
Pour utiliser MKL 2018 avec Theano, vous DEVEZ définir "MKL_THREADING_LAYER=GNU"
dans votre environnement. Cette commande résoudrait votre problème
conda install mkl=2018