keras-mxnet неправильно вытягивает из пипса
Ошибка при импорте keras
>>> import keras
/Users/ray_zhang/anaconda3/envs/idp3/lib/python3.6/site-packages/daal/__init__.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/ray_zhang/anaconda3/envs/idp3/lib/python3.6/site-packages/keras/__init__.py", line 3, in <module>
from . import utils
File "/Users/ray_zhang/anaconda3/envs/idp3/lib/python3.6/site-packages/keras/utils/__init__.py", line 6, in <module>
from . import conv_utils
File "/Users/ray_zhang/anaconda3/envs/idp3/lib/python3.6/site-packages/keras/utils/conv_utils.py", line 9, in <module>
from .. import backend as K
File "/Users/ray_zhang/anaconda3/envs/idp3/lib/python3.6/site-packages/keras/backend/__init__.py", line 98, in <module>
raise ValueError('Invalid backend. Missing required entry : ' + e)
ValueError: Invalid backend. Missing required entry : placeholder
Я правильно установил mxnet:
>>> import mxnet as mx
/Users/ray_zhang/anaconda3/envs/idp3/lib/python3.6/site-packages/daal/__init__.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
>>> a = mx.nd.ones((2,3))
>>> b = a*2+1
>>> b.asnumpy()
array([[3., 3., 3.],
[3., 3., 3.]], dtype=float32)
Мои керасы в пипсах
(idp3) ❯ pip freeze | grep keras
keras-mxnet==2.2.0
~/.keras/keras.json
(idp3) ❯ cat ~/.keras/keras.json
{
"floatx": "float32",
"epsilon": 1e-07,
"backend": "mxnet",
"image_data_format": "channels_last"
}
Похоже, что мой __init__.py
на моем сайте keras пакеты не совпадают с текущей версией github:
keras/backend/__init__.py
# Import backend functions.
if _BACKEND == 'cntk':
sys.stderr.write('Using CNTK backend\n')
from .cntk_backend import *
elif _BACKEND == 'theano':
sys.stderr.write('Using Theano backend.\n')
from .theano_backend import *
elif _BACKEND == 'tensorflow':
sys.stderr.write('Using TensorFlow backend.\n')
from .tensorflow_backend import *
else:
# Try and load external backend.
...
Но в репозитории keras-mxnet:
# Import backend functions.
if _BACKEND == 'cntk':
sys.stderr.write('Using CNTK backend\n')
from .cntk_backend import *
elif _BACKEND == 'theano':
sys.stderr.write('Using Theano backend.\n')
from .theano_backend import *
elif _BACKEND == 'tensorflow':
sys.stderr.write('Using TensorFlow backend.\n')
from .tensorflow_backend import *
elif _BACKEND == 'mxnet':
sys.stderr.write('Using MXNet backend\n')
from .mxnet_backend import *
else:
# Try and load external backend.
...
1 ответ
Решение
Похоже, у вас установлена смесь Keras и Keras-MXNet, что объясняет, почему ваш init.py не обновлен.
Я бы порекомендовал сделать удаление пипсов как keras, так и keras-mxnet, а затем переустановить keras-mxnet.
Если вам действительно нужны обе версии, установленные на одном компьютере, вы можете установить их в разных средах conda.