python - 安装后无法导入keras

标签 python ubuntu tensorflow anaconda keras

我正在尝试在 Ubuntu 16.04 LTS 上为 Python3.5 设置 keras 深度学习库,并使用 Tensorflow 作为后端。我安装了 Python2.7Python3.5。我已经安装了 Anaconda 并在它的帮助下 Tensorflownumpyscipypyyaml。之后我用命令安装了 keras

sudo python setup.py install

虽然可以看到 /usr/local/lib/python3.5/dist-packages/Keras-1.1.0-py3.5.egg 目录,但是不能使用 keras库。当我尝试在 python 中导入它时,它会说

ImportError: No module named 'keras'

我曾尝试使用pip3 安装keras,但得到了相同的结果。

我做错了什么?有什么想法吗?

最佳答案

诊断

如果你安装了 pip(在你使用 Python 3.5 之前你应该安装它),列出已安装的 Python 包,如下所示:

$ pip list | grep -i keras
Keras (1.1.0)

如果没有看到Keras,说明之前的安装失败或者不完整(这个lib有这个依赖:numpy(1.11.2),PyYAML(3.12),scipy(0.18.1),六(1.10 .0) 和 Theano (0.8.2)。)

查阅 pip.log 以了解问题所在。

您还可以像这样显示您的 Python 路径:

$ python3 -c 'import sys, pprint; pprint.pprint(sys.path)'
['',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']

确保 Keras 库出现在 /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages 路径中(Ubuntu 上的路径不同)。

如果没有,请尝试卸载它,然后重试安装:

$ pip uninstall Keras

使用虚拟环境

使用和污染系统范围的 Python 是个坏主意。我推荐使用 virtualenv(参见 guide)。

最好的用法是创建一个 virtualenv 目录(例如在您的家中),并将您的 virtualenvs 存储在:

cd virtualenv/
virtualenv -p python3.5 py-keras
source py-keras/bin/activate
pip install -q -U pip setuptools wheel

然后安装 Keras:

pip install keras

你得到:

$ pip list
Keras (1.1.0)
numpy (1.11.2)
pip (8.1.2)
PyYAML (3.12)
scipy (0.18.1)
setuptools (28.3.0)
six (1.10.0)
Theano (0.8.2)
wheel (0.30.0a0)

但是,您还需要安装额外的库,例如 Tensorflow:

$ python -c "import keras"
Using TensorFlow backend.
Traceback (most recent call last):
  ...
ImportError: No module named 'tensorflow'

TesnsorFlow 的安装指南在这里:https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html#pip-installation

关于python - 安装后无法导入keras,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930952/

相关文章:

python - Epoch 1/2 103/Unknown - 8s 80ms/step - loss : 0. 0175(model.fit() 即使在超过训练图像总数后也一直运行)

python - 对于大批量的 PyTorch 训练或此脚本是否存在错误?

python - 向数据框中添加词性列

ubuntu - 如何在 Ubuntu 20.04 LTS 中将/pool 添加到我的 sources.list 文件中?

tensorflow - 加载数据时删除/跳过记录

python - 在 Tensorflow 中使用 32 位实验室图像

python - 编写一个自定义 Django BaseCommand 类来记录命令详细信息

python - Dynamodb - GSI 使用 python boto3 查询

ruby - 在 Ubuntu 中安装 Ruby 1.9.3 出现错误

php - unixODBC PHP 更新语句错误