问题
I am getting an import error when trying to import the Keras module Nadam:
>>> from keras.optimizers import Nadam
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name Nadam
I can import and use SGD, Adam, etc, just not this optimizer. Any help appreciated.
I installed Keras using:
git clone https://github.com/fchollet/keras.git
sudo python2.7 setup.py install
I have just found that, if I try to import it using the shell immediately after installation, the Nadam import works. But Nadam won't import in my script. So it's a path issue?
回答1:
If you can import something in one place but not another, it's definitely an issue with the import system. So, carefully check the relevant variables (sys.path
, environment variable PYTHONPATH
) and where the modules in each case are being imported from (sys.modules
).
For a more in-depth reading, I direct you to the Python import system docs and an overview of common traps in the system.
You may also have an old version of Keras installed somewhere: Nadam is a fairly recent addition (2016-05), so this may be the cause for the "can import other optimizers but not this one" behaviour.
回答2:
It could happen if you're using other version of python. Let's say, you have installed python globally with version 2.7.x, but when running your script, you're using python 3.x. In this case even you'll run python shell, you'll be able to import it, but when running concrete script which uses other version of python it wouldn't be possible.
回答3:
Seems as if your keras package is not the latest version. Update your keras package by
sudo -H pip3 install git+https://github.com/fchollet/keras.git --upgrade
or
sudo -H pip3 install git+https://github.com/fchollet/keras.git --upgrade
来源:https://stackoverflow.com/questions/38809686/keras-import-error-nadam