我正在写一个用于确定手写数字的神经元
import numpy as np
from keras.utils import np_utils
from keras.models import model_from_json
from keras.preprocessing import image
import matplotlib.pyplot as plt
json_file = open("mnist_model.json", "r")
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights("mnist_model.h5")
loaded_model.compile(loss= "categorical_crossentropy", optimizer="adam", metrics=["accuracy"])
img_path ="5.png"
img = image.load_img(img_path, target_size=(28,28), grayscale=True)
plt.imshow(img, cmap='gray')
plt.show
x =image.img_to_array(img)
x = 255 - x
x/= 255
np.expand_dims(x, axis=0)
prediction = loaded_model.predict(x)
prediction = np_utils.categorical_pobabs_to_classes(prediction)
print(prediction)
我所做的就是教她使用它,但问题就出现了:
1.结果是一个图形,并且在行'img = image.load_img(img_path,target_size =(28,28),grayscale = True)中出现错误ValueError: Error when checking : expected dense_3_input to have 2 dimensions, but got array with shape (28, 28, 1)
'
答案 0 :(得分:0)
我认为你的错是在这一行
np.expand_dims(x, axis=0)
它应该是:
x = np.expand_dims(x, axis=0)