Поэтому я пытаюсь выполнить тренировку на модели FCN8 на изображениях формы (3, 224, 224), но столкнулся с проблемой со слоем Reshape прямо перед слоем активации.Кажется, он работает не так, как задумано, или я могу делать что-то не так.
Для самой модели я подробно ссылаюсь на ту, что приведена здесь, поскольку я новичок в этом: https://github.com/divamgupta/image-segmentation-keras/blob/master/Models/FCN8.py
Я также пытался вручную ввести размеры для изменения формы
o = (Reshape((3,outputHeight*outputWidth)))(o)
, но безуспешно.В настоящее время я использую версию 2.2.2 для Keras.
в ссылочной ссылке github:
def FCN8(...):
...
...
...
o = (Reshape(( -1 , outputHeight*outputWidth )))(o)
o = (Permute((2, 1)))(o)
o = (Activation('softmax'))(o)
model = Model( img_input , o )
model.outputWidth = outputWidth
model.outputHeight = outputHeight
return model
, поэтому к тому времени, когда тензор достигнет уровня активации, он должен совпадать с тем, что показано в модели.summary ()
но, к сожалению, я вижу следующее:
ValueError: Ошибка при проверке цели: ожидается, что для Activation_1 задано 3 измерения, но получен массив с формой (1, 3, 224, 224)