【发布时间】:2017-01-30 00:38:50
【问题描述】:
我已将 keras 的 json 文件更改为以下内容:
{
"image_dim_ordering": "tf",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}
但是当我为神经网络运行以下简单的 Keras 教程时:
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.optimizers import SGD
model = Sequential()
# Dense(64) is a fully-connected layer with 64 hidden units.
# in the first layer, you must specify the expected input data shape:
# here, 20-dimensional vectors.
model.add(Dense(64, input_dim=20, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(10, init='uniform'))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
model.fit(X_train, y_train,
nb_epoch=20,
batch_size=16)
score = model.evaluate(X_test, y_test, batch_size=16)
来自:https://keras.io/getting-started/sequential-model-guide/
我仍然收到以下错误:
Using TensorFlow backend.
Traceback (most recent call last):
File "./keras_test", line 3, in <module>
from keras.models import Sequential
File "/usr/local/lib/python2.7/dist-packages/keras/__init__.py", line 2, in <module>
from . import backend
File "/usr/local/lib/python2.7/dist-packages/keras/backend/__init__.py", line 67, in <module>
from .tensorflow_backend import *
File "/usr/local/lib/python2.7/dist-packages/keras/backend/tensorflow_backend.py", line 1, in <module>
import tensorflow as tf
ImportError: No module named tensorflow
我不知道问题可能是什么,因此非常感谢您的帮助。
最初我认为这可能是 python 版本控制问题。由于我对 python 编码和 Linux 有点陌生,所以我一直在安装/升级我所有的 python 版本而没有真正考虑,我只希望 Keras 将使用与我的 Tensorflow 后端相同的 python 版本(应该是 anaconda3 使用的那个)。事后看来,我真的应该使用 virtualenv,但我不确定这是否是我的问题(只是试图提供尽可能多的信息)。
我使用以下方式安装了 Keras:
sudo pip install keras
如果我再次运行它,我会得到以下输出:
Requirement already satisfied (use --upgrade to upgrade): keras in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied (use --upgrade to upgrade): theano in /usr/local/lib/python2.7/dist-packages (from keras)
Requirement already satisfied (use --upgrade to upgrade): pyyaml in /usr/local/lib/python2.7/dist-packages (from keras)
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python2.7/dist-packages (from keras)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.7.1 in /usr/local/lib/python2.7/dist-packages (from theano->keras)
Requirement already satisfied (use --upgrade to upgrade): scipy>=0.11 in /usr/local/lib/python2.7/dist-packages (from theano->keras)
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
此外,我 100% 确定我的 Tensorflow 安装工作正常,因为我已经为它运行(并编写了代码)一些 GPU-Cuda 示例。
谢谢!
【问题讨论】:
-
您是否在 conda 环境中运行 keras?当你启动 python 然后 'import tensorflow' 会发生什么?
-
当我启动 python 并使用'import tensorflow'时,我没有收到任何错误消息。一切都很完美。我不是在 conda 环境中运行,一切都在我的主 PC/系统上。话虽如此,当我在 virtualenv 中完成所有操作时,一切似乎都运行良好(并不是说这有助于解决我在此处发布的问题),但我至少可以开始使用 keras。 ://
标签: python machine-learning tensorflow theano keras