#python #keras
#python #keras
Вопрос:
Я хочу добавить слой перед VGG19 и выбрать «block4_conv3» для следующего шага, мой код выглядит так:
input = Input(shape=input_shape)
base_model = vgg19.VGG19(include_top=False, input_shape=input_shape, weights=weights)
base_model.trainable = False
start_layer = Conv2D(3, (3, 3), activation='relu', padding='same')(input)
x = base_model(start_layer)
(here how to get layer 'block4_conv4' from base_model??)
x = Conv2D(512, (3, 3), activation='relu', padding='same')(x)
x = Conv2D(512, (3, 3), activation='relu', padding='same')(x)
x = Conv2D(512, (3, 3), activation='relu', padding='same')(x)
x = Conv2D(512, (3, 3), activation='relu', padding='same')(x)
x = MaxPooling2D((2, 2), strides=(2, 2), name='block5_pool')(x)
flat1 = Flatten()(x)
class1 = Dense(1024, activation='relu')(flat1)
dropout1 = Dropout(0.2)(class1)
class2 = Dense(512, activation='relu')(dropout1)
dropout2 = Dropout(0.2)(class2)
output = Dense(1, activation='sigmoid')(dropout2)
# Building model:
model = Model(inputs=input, outputs=output)
Как мне получить слой ‘block4_conv4’ из base_model?
Спасибо.
Ответ №1:
Попробуйте это:
l = base_model.get_layer('block4_conv4').output
Комментарии:
1. Я думаю, что так и должно быть, l = base_model.get_layer(‘block4_conv4’).output