model - keras:使用一个模型输出作为另一个模型输入

标签 model computer-vision deep-learning keras keras-2

我在 InceptionResNetV2 模型(预训练)之前添加了一个密集层
这是 InceptionResNetV2 输出

model_base = InceptionResNetV2(include_top=True, weights='imagenet')
x = model_base.get_layer('avg_pool').output
x = Dense(3, activation='softmax')(x)

这是将要添加的图层
input1 = Input(shape=input_shape1)
pre1 = Conv2D(filters=3, kernel_size=(5, 5), padding='SAME', 
input_shape=input_shape1, name='first_dense')(input1)
pre = Model(inputs=input1, outputs=pre1)

这是结合两个模型
 after = Model(inputs=pre.output, outputs=x)

 model = Model(inputs=input1, outputs=after.output)

 model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy'])


pre.output

作为
after.input

但它不起作用。我该如何解决?

最佳答案

首先让我们从 model_base 创建一个新模型,因为您想获得更早的输出。

您的代码:

model_base = InceptionResNetV2(include_top=True, weights='imagenet')
x = model_base.get_layer('avg_pool').output
x = Dense(3, activation='softmax')(x)

新品 model_base :
model_base = Model(model_base.input, x)

现在,重要的是传递输出 pre1到这个模型:
base_out = model_base(pre1)     

就是这样:
model = Model(input1, base_out)

关于model - keras:使用一个模型输出作为另一个模型输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47678108/

相关文章:

php - 使用自定义属性更新 Eloquent 模型

asp.net-mvc - 最佳实践-将 View 模型与域模型混合

python - 如何使用 Caffe 框架提取预训练 Alex Net 模型的卷积参数

android - 以编程方式获取 Android 手机型号,如何在 android 中以编程方式获取设备名称和型号?

python - 获取 auth_user 的所有 Django 级联依赖模型

algorithm - OpenCV 中此图像的前瞻性算法方法

image-processing - 台球 table 上的边缘检测

c# - EmguCV:使用光流在运动中的物体上绘制轮廓?

python - 使用 cifar 100 的图像分类器,训练精度没有增加

python - 为什么 Theano 在 Windows 上比在 Linux 上慢(很多)?