Keras 如何在pretrain模型中的每个conv2d层之后循环添加BatchNormalization
我有一个来自keras的pretrain模型(vgg16)。我试图通过循环在每个conv2d之后添加BatchNormalization层。然而,似乎我不能把它们全部放在一起。这是我的密码Keras 如何在pretrain模型中的每个conv2d层之后循环添加BatchNormalization,keras,deep-learning,Keras,Deep Learning,我有一个来自keras的pretrain模型(vgg16)。我试图通过循环在每个conv2d之后添加BatchNormalization层。然而,似乎我不能把它们全部放在一起。这是我的密码 from keras.applications import VGG16 from keras.layers import BatchNormalization, Input from keras.models import Model input_tensor = Input(shape=(256, 25
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)
你能给我一些建议吗?提前感谢您您应该通过复制VGG中的图层并在需要的地方添加自己的图层来构建新模型 现在的问题是conv.层连接到批处理规范,但它们没有连接到任何东西