如何在keras中复制图层以创建相似但不相同的模型

sim*_*mon 5 keras keras-layer

如何采用现有模型并创建一个在每个辍学层之后都进行批量归一化的新模型?

我已经试过了:

bn = []
for layer in model.layers:
    bn.append(layer)
    if type(layer) is Dropout:
        bn.append(BatchNormalization())
bn = Sequential(bn)
bn.summary()
Run Code Online (Sandbox Code Playgroud)

查看摘要,它已插入新层。但是,在“已连接到”列中,它两次列出了前任。如果我运行n次,它将列出每个前任n + 1次。

例如在maxpool层的“ connected to”中:

convolution2d_394[0][0]          
                                                                 convolution2d_394[1][0]          
                                                                   convolution2d_394[2][0]          
                                                                   convolution2d_394[3][0]          
                                                                   convolution2d_394[4][0]          
                                                                   convolution2d_394[5][0]          
                                                                   convolution2d_394[6][0]          
                                                                   convolution2d_394[7][0]          
                                                                   convolution2d_394[8][0]          
                                                                   convolution2d_394[9][0]    
Run Code Online (Sandbox Code Playgroud)