【发布时间】:2021-11-05 06:08:18
【问题描述】:
我有一个模型,它使用预训练的 MobileNetV3Large 模型并连接类似的 U-net 架构。那不是问题。但我想用这个model2添加model1。在模型 2 中,我只有批量标准化和丢失,我想在模型 2 的顶部添加它们。我尝试了很多东西,但它不能正常工作。有什么想法吗?!
模型 2
inputs = Input((256,256,3))
# MobileNetV3
mobilenet = MobileNetV3Large(include_top=False, weights="imagenet", input_tensor=inputs)
mobilenet.layers[89]._name = "relu_3"
mobilenet.layers[196]._name = "relu_4"
l4 = mobilenet.get_layer("relu_3").output
b_layer = mobilenet.get_layer("relu_4").output
up = Conv2DTranspose(256, (2, 2), strides=2, padding="same")(b_layer)
up = Concatenate()([up, l4])
conv = Conv2D(256, (3, 3), activation='relu', padding="same")(up)
conv = Conv2D(256, (3, 3), activation='relu', padding="same")(conv)
#output
outputs = Conv2D(1, 1, padding="same", activation="sigmoid")(conv)
model2 = Model(inputs , outputs)
model2.summary()
模型 1
inputs = Input((256,256,3))
x = Sequential()
x = inputs
x = BatchNormalization()(x)
x = Dropout(0.5)(x)
outputs1 = x
model1 = Model(inputs , outputs1)
model1.summary()
【问题讨论】:
标签: tensorflow keras pre-trained-model unity3d-unet mobilenet