Я построил полностью сверточную нейронную сеть в Керасе, используя в качестве основы efficien tnet.
import efficientnet.keras as efn
from keras.models import Model
from keras.layers import Conv2DTranspose, Conv2D, BatchNormalization
model = efn.EfficientNetB0(weights='imagenet')
model.layers.pop()
model.layers.pop()
model.layers.pop()
model.layers.pop()
model = Model(inputs=model.inputs, outputs=model.layers[-4].output)
downsample = Conv2D(128, 1)(model.outputs[0])
bn = BatchNormalization()(downsample)
downsample2 = Conv2D(64, 1)(bn)
upsample = Conv2DTranspose(1, 218, activation='hard_sigmoid')(downsample2)
model = Model(inputs=model.inputs, outputs=upsample)
Эта модель должна быть способна обрабатывать изображения любого размера, но из-за линии:
model = Model(inputs=model.inputs, outputs=upsample)
он может обрабатывать только изображения, соответствующие формату оригинальной модели efficien tnet (224 x 224).
Как изменить это, чтобы моя сеть могла обрабатывать входы переменного размера?