python - 使用 VGG19 定制 CNN
问题描述
我目前正在尝试使用已经训练过的 VGG19 卷积层创建一个定制的 CNN,然后添加我自己计划训练的密集层。网络有一个问题分支和一个答案分支,最终必须决定答案是否与问题的内容相同。
我越来越:
AttributeError: 'Tensor' object has no attribute 'input'
这是代码:
initial_model = VGG19()
q_input = Model(initial_model.input, initial_model.layers[-layers_to_omit].output)
a_input = Model(initial_model.input, initial_model.layers[-layers_to_omit].output)
q_output = tf.keras.layers.Flatten()(q_input.output)
a_output = tf.keras.layers.Flatten()(a_input.output)
q_model = Model(initial_model.input, q_output)
a_model = Model(initial_model.input, a_output)
print(q_model.summary())
# combine the output of the two branches
combined = concatenate([q_model.output, a_model.output])
z = Dense(64, activation="relu")(combined)
z = Dense(32, activation="relu")(z)
z = Dense(64, activation="relu")(z)
z = Dense(1, activation="linear")(z)
# our model will accept the inputs of the two branches and
# then output a single value
model = Model(inputs=[q_model.input, a_output.input], outputs=z)
我看到有些人在使用 Add 时遇到了问题,但由于我不使用它,我有点迷路了。
谢谢你的帮助!
解决方案
更改a_output.input
为a_model.input
应该可以解决该错误。
推荐阅读
- python - 如何在python中显示不同大小和颜色的散点图例?
- java - 如何使用 mockito 框架获取返回的对象
- mysql-workbench - 无法通过 MySQL 工作台中的表编辑器编辑或添加表
- ios - 我可以将我的 iOS 应用程序部署到较低的 iOS 版本吗?
- python - 烧瓶上的视频流没有错误,但它只运行应用程序而不显示在浏览器上
- database - 如何将一个主键字段关联到多个表?
- python - 如何填充熊猫中的重复值?
- elasticsearch - 弹性搜索 - 更新特定的嵌套对象
- python - 如何生成给定起点的组合?
- azure - 长时间运行的 Azure 索引器引发“操作已取消”异常