我正在使用Tensorflow beginner mnist tutorial(下面的代码)中的代码。
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)
由于本教程在评估模型后停止,因此我添加了几行进行实际的预测。
predictions = model.predict([x_test])
print(np.argmax(predictions[0]))
到目前为止,一切正常。但是,我想查看模型试图预测的图像以了解发生了什么。因此,我尝试了以下操作:
import matplotlib.pyplot as plt
plt.imshow(x_test[0])
plt.show()
这不起作用。我没有收到错误消息,只是不会显示图片。此外,如果我尝试在matplotlib代码之后添加一个简单的打印语句,该代码也会被忽略并且不会被打印。知道发生了什么事吗?
答案 0 :(得分:0)
您报告.show()
在当前配置中无法正常工作。与其打电话,您可能不喜欢这样:
plt.savefig('plot.png')
如果需要,可以将其与无头驱动程序一起使用:
import matplotlib
matplotlib.use('Agg')