Я пытаюсь предсказать почерк на основе реальных данных вместо тестовых данных, которые были даны в mnist, с использованием keras и tensorflow, но не могу правильно предсказать. На тестовых и обучающих данных я получаю точность 96-97 процентов, поэтому это не так. переоснащение. вот мое изображение
и вот мой код для чтения изображения с помощью open cv и изменения его размера с помощью numpy, пожалуйста, помогите
img = cv2.imread('seven.png')
img = cv2.resize(img,(28,28))
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img = np.invert(img)
img = img/255
img = img.astype('float64')
print(img)
plt.imshow(img)
img= np.expand_dims(img,axis=0)
print(img.shape)
вот прогноз, получивший 6 в качестве ответа: -
pr = model.predict(img)
print(np.argmax(pr[0]))
Хорошо, большое спасибо, я думал о том же, также попробовал набор данных о моде, получив те же результаты.
этот набор данных не соответствует самому набору данных mnist?, поэтому он не может обобщить
Возможно, вы можете использовать некоторые методы увеличения данных, чтобы mnist больше походил на ваши данные. Или вы можете узнать, как переносное обучение или адаптация предметной области решают эти проблемы.
Это не проблема программирования, это просто неспособность обобщить за пределами набора для обучения / тестирования, ваши образцы просто слишком отличаются от цифр MNIST.