python - keras 中的自定义 keras.applications 模型
问题描述
我想用来keras.applications.resnet50
训练模型。
但在我的数据中,它们不仅是图像,表中还有一些变量项。
我看keras的文档,keras.layers.concatenate
我扁平化图像项后可以将两层组合在一起。
但keras.applications.resnet50
不能连接变量项。
如何基于预训练模型定制层?
有我的演示代码打击:
import keras
from keras.models import Sequential, concatenate
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.utils import to_categorical
from keras.layers import Input
from keras.models import Model
from keras.applications.resnet50 import ResNet50
VariableSize = 16
ResNet = ResNet50(include_top=True, weights=None, input_tensor=None, input_shape=(64,64,3), pooling=None, classes=2)
ResNet.layers.pop()
VariableNet = Input(shape=(VariableSize,))
ModelNet = keras.layers.concatenate([ResNet, VariableNet]) ## Error
##
## And connect output layer before complie
解决方案
When you pass ResNet
as input to keras.layers.concatenate
, you are passing a full model instead of just a layer. To concatenate the output layer of ResNet
with your variable length input, you can simply replace ResNet
by ResNet.output
as follows:
ModelNet = keras.layers.concatenate([ResNet.output, VariableNet])
推荐阅读
- java - 如何收听蓝牙服务器并存储其发出的消息?
- oracle - 出现错误 29285。00000 -“文件写入错误” *原因:尝试 FFLUSH 时无法写入、刷新或关闭文件
- java - 如何用阿拉伯语值替换 HTML 模板中的文本并使用 itextpdf Jar 转换为 PDF
- javascript - 在保存整个html代码的jquery变量中读取标签属性的问题
- python - 如何根据多个分隔符 pandas 进行拆分
- r - 如何将存储在r变量中的值传递给R中postgresql查询的where子句中的列
- c# - 如何仅计算特定学生节点的平均分数,而不是所有分数的平均值
- python - 如何在html中将一行的内容拆分为两列以更好地显示
- database - 如何在程序中使用 DBA_JOBS
- python - 无法使用 Selenium 自动登录 Chase 站点