Я обучил эту модель (копирование и вставку прямо с веб-сайта) и сохранил с model.save()
. Теперь я хочу использовать его для классификации изображений, которые я генерирую, поэтому я сохраняю их и меняю их форму до 28x28 пикселей, а затем пытаюсь передать их модели следующим образом:
from matplotlib import image
img = image.imread('img.png')[:,:,:1] #so that the shape ends up being (28,28,1)
print(self.model.predict(img))
Но когда я запускаю это, я получаю куча ошибок:
ПРЕДУПРЕЖДЕНИЕ: tensorflow: Модель была построена с shape (None, 28, 28, 1) для входного Tensor ("input_1: 0", shape = (None, 28, 28 , 1), dtype = float32), но он был вызван на входе с несовместимой формой (None, 28, 1, 1). ...
ValueError: Input 0 of layer dense_12 is incompatible with the layer: expected axis -1 of input shape to have value 784 but received input with shape [None, 28]`
Я немного покопался, и кажется, что есть проблема с формой ввода, согласно этой строке: WARNING:tensorflow:Model was constructed with shape (None, 28, 28, 1) for input Tensor("input_1:0", shape=(None, 28, 28, 1), dtype=float32), but it was called on an input with incompatible shape (None, 28, 1, 1)
Как преобразовать изображение в правильную форму?