Keras导入报错Nadam

Keras import error 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

我刚刚发现,如果我尝试在安装后立即使用 shell 导入它,那么 Nadam 导入会起作用。但是那达慕不会导入我的脚本。所以是路径问题?

如果你可以在一个地方导入一些东西,但在另一个地方不能,那肯定是导入系统的问题。因此,请仔细检查相关变量(sys.path、环境变量 PYTHONPATH)以及每种情况下的模块从何处导入(sys.modules)。

如需更深入的阅读,我将带您前往 Python import system docs and an overview of common traps in the system

您可能还在某处安装了旧版本的 Keras:Nadam 是 a fairly recent addition (2016-05),所以这可能是 "can import other optimizers but not this one" 行为的原因。

如果您使用其他版本的 python,则可能会发生这种情况。比方说,您已经使用版本 2.7.x 全局安装了 python,但是当 运行 运行您的脚本时,您使用的是 python 3.x。在这种情况下,即使你 运行 python shell,你也可以导入它,但是当 运行ning 使用其他版本 [=14] 的具体脚本时=] 这是不可能的。

好像你的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