Почему нейросеть даёт верные результаты только на тестовом датасете?
Или оверфит на датасет, или предобработка картинок при тренировке и на тесте картинок из интернета отличается.
Еще одна возможность - что у вас как-то неправильно модель загружается из файла, и при предсказании там рандомные веса. Но это легко проверить.