gpt4 book ai didi

python - 我的神经网络有什么问题,它给出了错误的预测

转载 作者:行者123 更新时间:2023-12-02 16:48:37 25 4
gpt4 key购买 nike

因此,我用来自keras的示例训练数据来训练我的神经网络,然后用自己手写的油漆数字为其输入。

import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow import keras
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 = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation=tf.nn.relu),
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)

path = 'C:/Users/pewdu/Desktop/three.png'
img = cv2.imread(path)
new_img = cv2.resize(img, (28, 28))
new_img = new_img[:,:,0] / 255.0 # Take only first channel and normalize
new_img = np.expand_dims(new_img, axis=0) # Adding the dimension
print(new_img.shape) # it equals to (1, 28, 28)
prediction = model.predict(new_img)

问题在于,无论我输入多少数字,它都会给出错误的预测(总是只有一个固定数字)。例如,如果我给它编号3,它将响应为5,如果我给它编号另一个,它也将响应5。尽管它可以正确地用于示例测试数据。

我还认为问题可能在于我的手指与示例训练数据有不同的背景。我的照片发黄。
That's the image of my pictures

最佳答案

看起来您需要反转图像。原始图像的数字像素值较高,但似乎图像中的背景涂成黑色,数字涂成白色。您需要反转图形的颜色,只需将黑色更改为白色,将白色更改为黑色。

关于python - 我的神经网络有什么问题,它给出了错误的预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54388566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com