Проблема с отображением предсказанного изображения в учебнике Tensorflow Mnist - PullRequest
0 голосов
/ 03 марта 2019

Я работаю с кодом из учебника Tensorflow mnist для начинающих (код ниже).

 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()

Это не работает.Я не получаю сообщение об ошибке, оно просто не показывает картинку.Кроме того, если я попытаюсь добавить простую инструкцию print после кода matplotlib, который также игнорируется и не будет напечатан.Есть идеи, что происходит?

1 Ответ

0 голосов
/ 03 марта 2019

Вы сообщаете, что .show() не работает должным образом с вашей текущей конфигурацией.Вместо того, чтобы звонить, вы можете предпочесть это:

plt.savefig('plot.png')

Вы можете использовать это с водителем без головы, если хотите:

import matplotlib
matplotlib.use('Agg')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...