【keras】A `Concatenate` layer should be called on a list of at least 2 inputs
下面有一段两个Sequential的model连接一起的例子
错误示例
错误代码如下,
from keras.models import Sequential
from keras.layers.core import Dense
from keras.layers import Concatenate
import numpy as npleft_branch = Sequential()
left_branch.add(Dense(32, input_dim=1))right_branch = Sequential()
right_branch.add(Dense(32, input_dim=1))merged = Concatenate([left_branch, right_branch])model= Sequential()
model.add(merged)
model.add(Dense(10, activation='softmax'))input_data_1=np.linspace(1,32, num=32)
input_data_2=np.linspace(1,1, num=32)
targets=np.array([1,1,1,1,1,0,0,0,0,0])
final_data = np.concatenate([input_data_1,input_data_2])
model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
model.fit(final_data, targets)
在执行时抛出如下错误:
A `Concatenate` layer should be called on a list of at least 2 inputs
上层有两个Sequential的model,输入应该是两个,所以改一下
final_model.fit([input_data_1,input_data_2], targets)
但是又抛出异常assert len(inputs) == 1
错误原因
- Sequential是一个model对象,对于Concatenate操作,是对Layer的操作。所以left_branch和right_brach需要改为layer对象
- 最终的model不需要Sequential来建立,直接调用Model生成,然后指定inputs/outputs即可
- fit的时候需要单独输入两个Input的值
正确示例
left_input = Input(shape=((1, 32)))
right_input = Input(shape=((1, 32)))
left_branch = Dense(10)(left_input)
right_branch = Dense(10)(right_input)layer_cb = keras.layers.concatenate([left_branch, right_branch])
layer_out = Dense(2)(layer_cb)model = Model(inputs=[left_input, right_input], outputs=layer_out)model.summary()input_data_1=np.linspace(1,32, num=32).reshape((1,1,32))
input_data_2=np.linspace(1,1, num=32).reshape((1,1,32))
targets=np.array([1,0]).reshape((1, 1, 2))model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
model.fit([input_data_1, input_data_2], targets)
【keras】A `Concatenate` layer should be called on a list of at least 2 inputs相关推荐
- 【Keras】The added layer must be an instance of class Layer.
背景 本人使用keras 2.2 + tensorflow 1.14 遇到如下问题 The added layer must be an instance of class Layer. Found: ...
- 【Keras】基于SegNet和U-Net的遥感图像语义分割
from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...
- 【keras】一维卷积神经网络多分类
刚刚接触到深度学习,前2个月的时间里,我用一维的卷积神经网络实现了对于一维数据集的分类和回归.由于在做这次课题之前,我对深度学习基本上没有过接触,所以期间走了很多弯路. 在刚刚收到题目的要求时,我选择 ...
- 【keras】3. 泰坦尼克号数据集处理与预测
[参考:1-01 实战 泰坦尼克号沉船人员获救案例 数据清洗_哔哩哔哩_bilibili] [参考:Titanic - Machine Learning from Disaster | Kaggle] ...
- 【Keras】减少过拟合的秘诀——Dropout正则化
摘要: Dropout正则化是最简单的神经网络正则化方法.阅读完本文,你就学会了在Keras框架中,如何将深度学习神经网络Dropout正则化添加到深度学习神经网络模型里. Dropout正则化是最简 ...
- 【keras】Input 0 of layer conv2d is incompatible with the layer. expected ndim=4, found ndim=3
在构建卷积神经网络时,遇到了这个错误 ValueError: Input 0 of layer conv2d is incompatible with the layer: expected ndim ...
- 【Keras】学习笔记(一)
传送门:Keras 中文文档 文章目录 一.准备工作 1.概述 2.安装 3.GPU设置 (1)单GPU运行 (2)多GPU运行 二.顺序模型 简单示例 1.整体流程 (1)顺序模型的构建--Sequ ...
- 【Keras】Win10系统 + Anaconda+TensorFlow+Keras 环境搭建教程
1. 安装 Anaconda 打开 Anaconda 的官方下载地址:https://www.anaconda.com/download/ 选择 Python 对应的version 下载.下载完成后直 ...
- 【keras】image_ocr学习
前言 CNN+RNN的网络结构 CTC损失函数 数据生成 模型训练 结果可视化 参考链接和论文 前言 demo来自keras/examples/image_ocr.py,简单修改了之后在windows ...
最新文章
- matlab下文件夹下所有文件改名
- 2021夏季每日一题 【week4 完结】
- pytorch torch.device类(表示在其上或将要分配torch.Tensor的设备)
- C指针原理(17)-C指针基础
- 数列分段(洛谷P1181题题解,Java语言描述)
- FZOJ2110: Star
- linux 每日学一点《Linux链接文件类型》
- 2020 年百度之星#183;程序设计大赛 - 初赛一
- Python学习笔记010——匿名函数lambda
- 简单的Spring配置文件
- 从《目标》、《凤凰项目》到《持续交付》:DevOps 的过去、现在及未来 | Chat · 预告
- WOW装备大全(07.11.30)
- 低功耗设计—level shifter
- Tomcat部署及负载均衡_wuli大世界_新浪博客
- 狐妖小红娘的主题曲用计算机弹奏,1红娘曲谱_跪求狐妖小红娘新主题曲钢琴曲谱...
- Python代码大全,海量代码任你下载
- MQTT:Massage Queue Telemetry Transport消息队列遥测传输
- 校企联合学院分析ERP在家具行业中的应用
- GNU Bison 2.1 中文手册
- 用HTML写一首诗并配上图片,需要满足诗的格式
热门文章
- RDKit | RDKit 中的RECAP进行分子裂解
- 第三十课.向量胶囊与动态路由
- 其他算法-高斯白噪声
- 你知道R中的赋值符号箭头(-)和等号(=)的区别吗?
- js 中转换成list集合_java stream中Collectors的用法
- python使用matplotlib绘制一条正弦曲线(plot函数可视化sine plot)
- R语言使用yardstick包的lift_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的提升
- R语言percent函数用百分比表示数值实战
- Scala error: type mismatch; found : java.util.List[?0] required: java.util.List[B]
- 为什么CNN模型要使用很多小的卷积核,比如3x3,而不是7x7或者9x9呢?