我正在通过使用示例代码来更好地理解,从而使用“ Python深度学习”进行机器学习。我正在尝试在Ch末尾执行代码。 3.执行代码会给我一个NameError: name 'numpy' is not defined.
import numpy
行不是本书原始文本的一部分,因此在添加行之前收到相同的错误后,我添加了该行。最初,我以为先前的进口商品会带来numpy,但显然我是错误的。无论如何,该行不应该处理该错误吗?
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.utils import np_utils
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy
(X_train, Y_train), (X_test, Y_test) = mnist.load_data()
X_train = X_train.reshape(60000, 784)
X_test = X_test.reshape(10000, 784)
classes = 100
Y_train = np_utils.to_categorical(Y_train, classes)
Y_test = np_utils.to_categorical(Y_test, classes)
input_size = 784
batch_size = 100
hidden_neurons = 100
epochs = 15
model = Sequential()
model.add(Dense(hidden_neurons, input_dim=input_size))
model.add(Activation('sigmoid'))
model.add(Dense(classes, input_dim=hidden_neurons))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', metrics=['accuracy'],
optimizer='sgd')
model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=epochs, verbose=1)
score = model.evaluate(X_test, Y_test, verbose=1)
print('Test accuracy:', score[1])
weights = model.layers[0].get_weights()
w = weights[0].T
for neuron in range(hidden_neurons):
plt.imshow(numpy.reshape(w[neuron], (28, 28)), cmap = cm.Greys_r)
plt.show()
我收到以下错误:
Traceback (most recent call last):
File "MyPython.py", line 31, in <module>
plt.imshow(numpy.reshape(w[neuron], (28, 28)),
NameError: name 'numpy' is not defined
我不明白为什么,但我对情节还没有预期的结果。我需要使代码正常工作,以便我可以开始研究内部结构,以更好地了解发生的事情,因为这是我对keras的首次介绍。
答案 0 :(得分:1)
以上提供的代码对我来说没有任何错误,至少可以正常运行。确定要安装Numpy吗?您将通过输入终端
知道它(如果与Anaconda一起使用)conda list
如果未显示numpy,则可以通过以下命令进行安装
conda install numpy
或者您可以尝试
pip install numpy
希望对您有帮助。