Я обучил модель сегментации изображений на основе UNet в tf.keras
, которая предсказывает, находится ли и где объект на данном изображении. Я тренируюсь с входной формой (None, 256, 256, 1)
и выводю прогноз (None, 256, 256, 3)
.
Теперь я хочу прогнозировать большие изображения (например, (520, 696)
) и хочу использовать ту же модель. Я знаю, что можно изменить форму ввода модели на размер (None, None, None, 1)
. Однако теперь он все еще может предсказывать только квадратные изображения - для упомянутого изображения он возвращает Dimensionality Error
, поскольку фигуры не совпадают (520! = 696).
Кто-нибудь знает, как этого избежать илиесть рабочая функция для сшивания меньших квадратных выходов?
Шаги к ошибке:
img = skimage.io.imread(X) # shaped (520, 696)
pred = model.predict(img[None,...,None])
InvalidArgumentError: _MklConcatOp: Размеры входов должны совпадать: shape [0] [1]= 64 против фигуры [1] [1] = 65 [[{{node concatenate_4 / concat}}]]