Набор данных mnist. неверное предсказание по почерку из реальной жизни

Я пытаюсь предсказать почерк на основе реальных данных вместо тестовых данных, которые были даны в 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.

Dr. Snoopy 27.10.2018 10:21

Хорошо, большое спасибо, я думал о том же, также попробовал набор данных о моде, получив те же результаты.

kumar gautam 27.10.2018 10:25

этот набор данных не соответствует самому набору данных mnist?, поэтому он не может обобщить

kumar gautam 27.10.2018 10:27

Возможно, вы можете использовать некоторые методы увеличения данных, чтобы mnist больше походил на ваши данные. Или вы можете узнать, как переносное обучение или адаптация предметной области решают эти проблемы.

sietschie 27.10.2018 11:34
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
4
410
0

Другие вопросы по теме