我有一个来自keras的预训练模型(vgg16)。我正在尝试通过循环在每个conv2d之后添加BatchNormalization层。但是,似乎我不可能所有人都在一起。这是我的代码。
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)
请问您有什么建议吗?预先谢谢你
答案 0 :(得分:0)
您应该通过从VGG复制图层并在需要的地方添加自己的图层来构建新模型。
现在的问题是转换层连接到批处理规范,但不连接任何东西。