Ошибка импорта Keras Nadam

Я получаю ошибку импорта при попытке импортировать модуль Keras Nadam:

>>> from keras.optimizers import Nadam
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name Nadam

Я могу импортировать и использовать SGD, Adam и т.д., просто не этот оптимизатор. Любая помощь была оценена.

Я установил Keras, используя:

git clone https://github.com/fchollet/keras.git
sudo python2.7 setup.py install

Я только что нашел, что, если я попытаюсь импортировать его с помощью оболочки сразу после установки, импорт Nadam будет работать. Но Nadam не будет импортировать в мой script. Так это вопрос пути?

Ответ 1

Если вы можете импортировать что-то в одном месте, но не в другое, это определенно проблема с системой импорта. Поэтому внимательно проверьте соответствующие переменные (sys.path, PYTHON_PATH) и где модули в каждом случае импортируются из (sys.modules).

Для более глубокого чтения я направляю вас в документы системы импорта Python и обзор общих ловушек в системе.

У вас также может быть установлена ​​старая версия Keras: Nadam довольно недавнее дополнение (2016-05), поэтому это может быть причиной того, что "может импортировать другие оптимизаторы, но не это".

Ответ 2

Это может произойти, если вы используете другую версию python. Скажем, вы установили python глобально с версией 2.7.x, но при запуске script вы используете python 3.x. В этом случае даже вы запустите оболочку python, вы сможете ее импортировать, но при запуске конкретного script, который использует другую версию python, это было бы невозможно.

Ответ 3

Кажется, что ваш пакет keras не является последней версией. Обновите пакет keras на

sudo -H  pip3 install git+https://github.com/fchollet/keras.git --upgrade

или

sudo -H  pip3 install git+https://github.com/fchollet/keras.git --upgrade