1 回答

TA貢獻1848條經(jīng)驗 獲得超10個贊
我找到了一種方法。
from tensorflow.python.keras.models import Model
from tensorflow.python.keras.layers import GlobalAveragePooling2D
encoder_input = Model(inputs=old_model.layers[0].input, outputs=old_model.layers[14].output)
encoder_output = GlobalAveragePooling2D()(encoder_input.layers[-1].output)
encoder = Model(encoder_input.input, encoder_output, name='encoder')
summary新模型 ( ) 的是encoder:
Model: "encoder"
_________________________________________________________________
Layer (type)? ? ? ? ? ? ? ? ?Output Shape? ? ? ? ? ? ? Param #? ?
=================================================================
input_1 (InputLayer)? ? ? ? ?[(None, 200, 200, 1)]? ? ?0? ? ? ? ?
_________________________________________________________________
conv1_1 (Conv2D)? ? ? ? ? ? ?(None, 200, 200, 64)? ? ? 1664? ? ??
_________________________________________________________________
conv1_2 (Conv2D)? ? ? ? ? ? ?(None, 200, 200, 64)? ? ? 102464? ??
_________________________________________________________________
pool1 (MaxPooling2D)? ? ? ? ?(None, 100, 100, 64)? ? ? 0? ? ? ? ?
_________________________________________________________________
conv2_1 (Conv2D)? ? ? ? ? ? ?(None, 100, 100, 96)? ? ? 55392? ? ?
_________________________________________________________________
conv2_2 (Conv2D)? ? ? ? ? ? ?(None, 100, 100, 96)? ? ? 83040? ? ?
_________________________________________________________________
pool2 (MaxPooling2D)? ? ? ? ?(None, 50, 50, 96)? ? ? ? 0? ? ? ? ?
_________________________________________________________________
conv3_1 (Conv2D)? ? ? ? ? ? ?(None, 50, 50, 128)? ? ? ?110720? ??
_________________________________________________________________
conv3_2 (Conv2D)? ? ? ? ? ? ?(None, 50, 50, 128)? ? ? ?147584? ??
_________________________________________________________________
pool3 (MaxPooling2D)? ? ? ? ?(None, 25, 25, 128)? ? ? ?0? ? ? ? ?
_________________________________________________________________
conv4_1 (Conv2D)? ? ? ? ? ? ?(None, 25, 25, 256)? ? ? ?295168? ??
_________________________________________________________________
conv4_2 (Conv2D)? ? ? ? ? ? ?(None, 25, 25, 256)? ? ? ?1048832? ?
_________________________________________________________________
pool4 (MaxPooling2D)? ? ? ? ?(None, 12, 12, 256)? ? ? ?0? ? ? ? ?
_________________________________________________________________
conv5_1 (Conv2D)? ? ? ? ? ? ?(None, 12, 12, 512)? ? ? ?1180160? ?
_________________________________________________________________
conv5_2 (Conv2D)? ? ? ? ? ? ?(None, 12, 12, 512)? ? ? ?2359808? ?
_________________________________________________________________
global_average_pooling2d (Gl (None, 512)? ? ? ? ? ? ? ?0? ? ? ? ?
=================================================================
Total params: 5,384,832
Trainable params: 5,384,832
Non-trainable params: 0
_________________________________________________________________
None
我希望以下輸出形狀是正確的:
_________________________________________________________________
global_average_pooling2d (Gl (None, 512)? ? ? ? ? ? ? ?0? ? ? ? ?
=================================================================
但是在Transfer learning & fine-tuning中有類似的輸出形狀。
添加回答
舉報