如何更改预训练的keras模型的输入尺寸?
How to change the input dimensions of pretrained keras model?
有没有办法在模型自身中将输入层尺寸从 (None,224,224,3) 更改为 (None,3,224,224) 而不是更改输入图像?
我正在尝试在无需减轻重量的情况下在经过预训练的 keras 上执行此操作。
model = keras.models.load_model('/content/Sample_MobileNetV2_7Class_210721.hdf5')
model.summary()
Model: "model"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_1 (InputLayer) [(None, 224, 224, 3) 0
__________________________________________________________________________________________________
Conv1 (Conv2D) (None, 112, 112, 32) 864 input_1[0][0]
__________________________________________________________________________________________________
bn_Conv1 (BatchNormalization) (None, 112, 112, 32) 128 Conv1[0][0]
__________________________________________________________________________________________________
Conv1_relu (ReLU) (None, 112, 112, 32) 0 bn_Conv1[0][0]
__________________________________________________________________________________________________
您可以添加一个Reshape()
层来解决您的问题。像这样:
base = keras.models.load_model('/content/Sample_MobileNetV2_7Class_210721.hdf5')
model = Sequential()
model.add(Input(shape=(3,224,224))
model.add(Reshape((224,224,3))
model.add(base)
有没有办法在模型自身中将输入层尺寸从 (None,224,224,3) 更改为 (None,3,224,224) 而不是更改输入图像? 我正在尝试在无需减轻重量的情况下在经过预训练的 keras 上执行此操作。
model = keras.models.load_model('/content/Sample_MobileNetV2_7Class_210721.hdf5')
model.summary()
Model: "model"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_1 (InputLayer) [(None, 224, 224, 3) 0
__________________________________________________________________________________________________
Conv1 (Conv2D) (None, 112, 112, 32) 864 input_1[0][0]
__________________________________________________________________________________________________
bn_Conv1 (BatchNormalization) (None, 112, 112, 32) 128 Conv1[0][0]
__________________________________________________________________________________________________
Conv1_relu (ReLU) (None, 112, 112, 32) 0 bn_Conv1[0][0]
__________________________________________________________________________________________________
您可以添加一个Reshape()
层来解决您的问题。像这样:
base = keras.models.load_model('/content/Sample_MobileNetV2_7Class_210721.hdf5')
model = Sequential()
model.add(Input(shape=(3,224,224))
model.add(Reshape((224,224,3))
model.add(base)