Как l oop для добавления BatchNormalization после каждого слоя conv2d в предтренировочной модели - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть предтренировочная модель (vgg16) от keras. Я пытаюсь добавить слой BatchNormalization после каждого conv2d путем зацикливания. Однако, похоже, что я не смог бы их всех вместе. Вот мой код.

from keras.applications import VGG16
from keras.layers import BatchNormalization, Input
from keras.models import Model

input_tensor = Input(shape=(256, 256, 3))
pretrain = VGG16(weights="imagenet", include_top=False, input_tensor=input_tensor)

            model = pretrain.layers[0].input
            for i in range(len(pretrain.layers)):
                x = pretrain.layers[i].output
                if "conv" in pretrain.layers[i].name:
                    x = pretrain.layers[i].output
                    x = BatchNormalization(axis=-1)(x)

                model = Model(input=model.input, output=x)

Могу ли я получить ваши предложения? Заранее спасибо

1 Ответ

0 голосов
/ 19 февраля 2020

Вы должны построить новую модель, скопировав слои из VGG и добавив свои собственные, где вы хотите.

Проблема сейчас в том, что конв. слои связаны с нормой партии, но не связаны ни с чем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...