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