Tensorflow 如何修复:不';t预测存储在mnist张量流样本中的局部图像

Tensorflow 如何修复:不';t预测存储在mnist张量流样本中的局部图像,tensorflow,Tensorflow,输入图像 当我在预测后输出它们时,你们可以看到白色变成黑色,黑色变成白色 我使用了keras的tensorflow和fashionmist数据库来训练我的模型。现在,我试图预测我从互联网上采集的图像样本。他们的预测是错误的。另外,当我绘制图像时,我看到图像白色变为黑色,黑色变为白色 import os import PIL from keras_preprocessing.image import load_img import tensorflow as tf

输入图像

当我在预测后输出它们时,你们可以看到白色变成黑色,黑色变成白色

我使用了keras的tensorflow和fashionmist数据库来训练我的模型。现在,我试图预测我从互联网上采集的图像样本。他们的预测是错误的。另外,当我绘制图像时,我看到图像白色变为黑色,黑色变为白色

   import os
   import PIL
   from keras_preprocessing.image import load_img
   import tensorflow as tf
   from tensorflow import keras
   from PIL import Image

   import pandas as pd
   import numpy as np
   import matplotlib.pyplot as plt

   fashion_mnist = keras.datasets.fashion_mnist
   (train_images, train_label),(test_images, test_label) = 
    fashion_mnist.load_data()
  class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
           'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']

  train_images = train_images/255
   test_images = test_images/255
  model = keras.models.Sequential(
[keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation="relu"),
keras.layers.Dense(10, activation="softmax")
])
      model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])
      model.fit(train_images, train_label, epochs=5)

  # load the image
  batch_holder = np.zeros((2,28, 28))
 img_dir= 'C:/images/'
   for i,img in enumerate(os.listdir(img_dir)):
         img = load_img(os.path.join(img_dir,img), target_size= 
          (28,28),color_mode="grayscale")
           batch_holder[i, :] = img
  batch_holder = batch_holder/255
 fig = plt.figure(figsize=(20, 20))

    result = model.predict(batch_holder)
    for i, img in enumerate(batch_holder):
        fig.add_subplot(4, 5, i + 1)
        plt.title(class_names[np.argmax(result[i])])
       plt.imshow(img, cmap=plt.cm.binary)
plt.show()

替换
批次持有人=np.零((2,28,28))为
batch_holder=255*np.one((2,28,28)),并将数据类型更改为uint8。此外,如果将其设置为灰度,则将形状视为((1,28,28))。