Keras:ImportError:没有名为data_utils的模块

时间:2016-03-10 00:17:15

标签: python python-2.7 python-3.x import keras

我正在尝试导入模块keras.utils.data_utils,但它无效。但是,我可以找到这个模块here。它确实存在。为什么我无法导入它,而我可以导入其他模块,如keras.modelskeras.layers.core

cliu@cliu-ubuntu:bin$ python
Python 2.7.9 (default, Apr  2 2015, 15:33:21) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import print_function
>>> from keras.models import Sequential 
>>> from keras.layers.core import Dense, Activation, Dropout 
>>> from keras.layers.recurrent import LSTM
>>> from keras.utils.data_utils import get_file
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named data_utils

修改:

请参阅here了解答案。

4 个答案:

答案 0 :(得分:8)

尽管this回答是正确的但未完成。感谢Ben J.的答案,但Tadhg McDonald-Jensen是第一个向我提供答案的here

总结一下

我使用pip install keras来安装keras,但根据this,它没有安装最新版本的keras。这就是为什么我可以做from keras.models import Sequentialfrom keras.layers.core import Dense, Activation, Dropoutfrom keras.layers.recurrent import LSTM而不是from keras.utils.data_utils import get_file之类的事情。因为它不是以前的版本。

所以,只需clone keras cdsudo python setup.py install进入pip install keras,然后运行keras即可解决此问题。

请记住,如果您已经执行了此pip uninstall keras,则必须确保清除所有keras版本,方法是sudo python setup.py install多次执行$scope.to_trusted = function(html_code) { return $sce.trustAsHtml(html_code); } ,直到不存在<div class="EBScontent" ng-bind-html="to_trusted(what.body)"></div> ,然后执行此操作{{1}}。

答案 1 :(得分:3)

我查看了来自https://pypi.python.org/pypi/Keras/0.1.3的tar.gz,并且utils文件夹中没有名为data_utils.py的文件。但是github确实包含了这个文件:https://github.com/fchollet/keras

答案 2 :(得分:0)

我希望您的问题现在已经解决,如果没有:

sudo pip install git+git://github.com/fchollet/keras.git --upgrade

应该为你做这份工作。

答案 3 :(得分:0)

这可能会解决您的问题。

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