Keras使用部分预训练模型(ResNet 18)

时间:2020-09-03 10:04:23

标签: python tensorflow keras deep-learning

我正在使用来自here的经过预训练的ResNet18 我想使用模型的一部分,从图层[4]到[-4]

我尝试使用想要的图层来创建新模型

res_net = ResNet18((224, 224, 3), weights='imagenet')

model = Model(res_net.layers[4].input, res_net.layers[-4].output)

但是显示此错误

ValueError:图形已断开:无法获取张量的值 Tensor(“ data_5:0”,shape =(None,224,224,3),dtype = float32) “ bn_data”。可以顺利访问以下先前的层: []

也尝试这个

res_net = ResNet18((224, 224, 3), weights='imagenet', include_top=False)

x = Input(shape=(192, 640, 6))

conv1 = layers.Conv2D(64, kernel_size=7, strides=2, padding='same', input_shape=(192, 640, 6),name='conv1')(x)

l = res_net.layers[4](conv1) 
for i in range(5, len(res_net.layers[:-4])):
    l = res_net.layers[i](l)

model = Model(inputs=x,outputs=l)
model.summary()

但是显示此错误

ValueError:应该在输入列表上调用合并层。

0 个答案:

没有答案