下面有一段两个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

错误原因

  1. Sequential是一个model对象,对于Concatenate操作,是对Layer的操作。所以left_branch和right_brach需要改为layer对象
  2. 最终的model不需要Sequential来建立,直接调用Model生成,然后指定inputs/outputs即可
  3. 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相关推荐

  1. 【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: ...

  2. 【Keras】基于SegNet和U-Net的遥感图像语义分割

    from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...

  3. 【keras】一维卷积神经网络多分类

    刚刚接触到深度学习,前2个月的时间里,我用一维的卷积神经网络实现了对于一维数据集的分类和回归.由于在做这次课题之前,我对深度学习基本上没有过接触,所以期间走了很多弯路. 在刚刚收到题目的要求时,我选择 ...

  4. 【keras】3. 泰坦尼克号数据集处理与预测

    [参考:1-01 实战 泰坦尼克号沉船人员获救案例 数据清洗_哔哩哔哩_bilibili] [参考:Titanic - Machine Learning from Disaster | Kaggle] ...

  5. 【Keras】减少过拟合的秘诀——Dropout正则化

    摘要: Dropout正则化是最简单的神经网络正则化方法.阅读完本文,你就学会了在Keras框架中,如何将深度学习神经网络Dropout正则化添加到深度学习神经网络模型里. Dropout正则化是最简 ...

  6. 【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 ...

  7. 【Keras】学习笔记(一)

    传送门:Keras 中文文档 文章目录 一.准备工作 1.概述 2.安装 3.GPU设置 (1)单GPU运行 (2)多GPU运行 二.顺序模型 简单示例 1.整体流程 (1)顺序模型的构建--Sequ ...

  8. 【Keras】Win10系统 + Anaconda+TensorFlow+Keras 环境搭建教程

    1. 安装 Anaconda 打开 Anaconda 的官方下载地址:https://www.anaconda.com/download/ 选择 Python 对应的version 下载.下载完成后直 ...

  9. 【keras】image_ocr学习

    前言 CNN+RNN的网络结构 CTC损失函数 数据生成 模型训练 结果可视化 参考链接和论文 前言 demo来自keras/examples/image_ocr.py,简单修改了之后在windows ...

最新文章

  1. matlab下文件夹下所有文件改名
  2. 2021夏季每日一题 【week4 完结】
  3. pytorch torch.device类(表示在其上或将要分配torch.Tensor的设备)
  4. C指针原理(17)-C指针基础
  5. 数列分段(洛谷P1181题题解,Java语言描述)
  6. FZOJ2110: Star
  7. linux 每日学一点《Linux链接文件类型》
  8. 2020 年百度之星#183;程序设计大赛 - 初赛一
  9. Python学习笔记010——匿名函数lambda
  10. 简单的Spring配置文件
  11. 从《目标》、《凤凰项目》到《持续交付》:DevOps 的过去、现在及未来 | Chat · 预告
  12. WOW装备大全(07.11.30)
  13. 低功耗设计—level shifter
  14. Tomcat部署及负载均衡_wuli大世界_新浪博客
  15. 狐妖小红娘的主题曲用计算机弹奏,1红娘曲谱_跪求狐妖小红娘新主题曲钢琴曲谱...
  16. Python代码大全,海量代码任你下载
  17. MQTT:Massage Queue Telemetry Transport消息队列遥测传输
  18. 校企联合学院分析ERP在家具行业中的应用
  19. GNU Bison 2.1 中文手册
  20. 用HTML写一首诗并配上图片,需要满足诗的格式

热门文章

  1. RDKit | RDKit 中的RECAP进行分子裂解
  2. 第三十课.向量胶囊与动态路由
  3. 其他算法-高斯白噪声
  4. 你知道R中的赋值符号箭头(-)和等号(=)的区别吗?
  5. js 中转换成list集合_java stream中Collectors的用法
  6. python使用matplotlib绘制一条正弦曲线(plot函数可视化sine plot)
  7. R语言使用yardstick包的lift_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的提升
  8. R语言percent函数用百分比表示数值实战
  9. Scala error: type mismatch; found : java.util.List[?0] required: java.util.List[B]
  10. 为什么CNN模型要使用很多小的卷积核,比如3x3,而不是7x7或者9x9呢?