keras-mxnet неправильно вытягивает из пипса - PullRequest
0 голосов
/ 29 июня 2018

Ошибка при импорте 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.
    ...

Но в Github Rep от keras-mxnet o:

# 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 Ответ

0 голосов
/ 08 июля 2018

Похоже, у вас установлено сочетание Keras и Keras-MXNet, что объясняет, почему ваш init .py не обновлен.

Я бы порекомендовал выполнить удаление пипсов как keras, так и keras-mxnet, а затем переустановить keras-mxnet.

Если вам действительно нужны обе версии на одном компьютере, вы можете установить их в разных средах conda.

...