Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 可视化MNIST数据集中的10个随机测试示例、预测标签和实际标签_Python_Tensorflow_Keras_Deep Learning - Fatal编程技术网

Python 可视化MNIST数据集中的10个随机测试示例、预测标签和实际标签

Python 可视化MNIST数据集中的10个随机测试示例、预测标签和实际标签,python,tensorflow,keras,deep-learning,Python,Tensorflow,Keras,Deep Learning,我试图可视化10个随机测试示例,MNIST数据集的预测标签和实际标签。但我得到了这个错误 TypeError:图像数据的形状(28,28,1)无效 谁能帮我纠正这个错误吗?将测试示例、谓词标签和实际标签可视化是正确的方法吗 %tensorflow_version 1.x import tensorflow as tf from matplotlib import pyplot import matplotlib.pyplot as plt import random print(tf.__ve

我试图可视化10个随机测试示例,MNIST数据集的预测标签和实际标签。但我得到了这个错误

TypeError:图像数据的形状(28,28,1)无效

谁能帮我纠正这个错误吗?将测试示例、谓词标签和实际标签可视化是正确的方法吗

%tensorflow_version 1.x
import tensorflow as tf
from matplotlib import pyplot
import matplotlib.pyplot as plt
import random
print(tf.__version__)
    mnist = tf.keras.datasets.mnist
    (training_images, training_labels), (test_images, test_labels) = mnist.load_data()
    training_images = training_images.reshape(60000, 28, 28, 1)
    training_images = training_images / 255.0

    #visualizing 10 random test examples 
    for i in range(10): 
      pyplot.subplot(330 + 1 + i)
      pyplot.imshow(test_images[i], cmap=pyplot.get_cmap('gray'))
      pyplot.show()
    
    
    test_images = test_images.reshape(10000, 28, 28, 1)
    test_images = test_images/255.0
    model = tf.keras.models.Sequential([
      tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28, 28, 1)),
      tf.keras.layers.MaxPooling2D(2, 2),
      tf.keras.layers.Flatten(),
      tf.keras.layers.Dense(128, activation='relu'),
      tf.keras.layers.Dense(10, activation='softmax')
    ])
    model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
    model.fit(training_images, training_labels, epochs=10)
    test_loss, test_acc = model.evaluate(test_images, test_labels)
    print(test_acc)

只需删除最后一个轴,使图像的大小为(28,28)而不是(28,28,1)。Pyplot需要3维RGB图像或只有2维的黑白图像。

请尝试:

pyplot.imshow(np.squeeze(test_images[i]), cmap=pyplot.get_cmap('gray'))