对一个层的多次调用,就是在共享这个层。

input1 = Input(shape=[28,28])
input2 = Input(shape=[28,28])
x1 = Flatten()(input1)
x1 = Dense(60,activation="relu")(x1)
x2 = Flatten()(input2)
x2 = Dense(60,activation="relu")(x2)d = Dense(10, activation='softmax')output1 = d(x1)
output2 = d(x2)
model1 = Model(input=[input1], output=[output1])
model2 = Model(input=[input1], output=[output1])
print(model1.summary())
print(model2.summary())

结果:

____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to
====================================================================================================
input_1 (InputLayer)             (None, 28, 28)        0
____________________________________________________________________________________________________
flatten_1 (Flatten)              (None, 784)           0           input_1[0][0]
____________________________________________________________________________________________________
dense_1 (Dense)                  (None, 60)            47100       flatten_1[0][0]
____________________________________________________________________________________________________
dense_3 (Dense)                  (None, 10)            610         dense_1[0][0]
====================================================================================================
Total params: 47710
____________________________________________________________________________________________________
None
____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to
====================================================================================================
input_1 (InputLayer)             (None, 28, 28)        0
____________________________________________________________________________________________________
flatten_1 (Flatten)              (None, 784)           0           input_1[0][0]
____________________________________________________________________________________________________
dense_1 (Dense)                  (None, 60)            47100       flatten_1[0][0]
____________________________________________________________________________________________________
dense_3 (Dense)                  (None, 10)            610         dense_1[0][0]
====================================================================================================
Total params: 47710
____________________________________________________________________________________________________
None

如果修改x2:

x2 = Dense(70,activation="relu")(x2)

就会报错:

Exception: Input 0 is incompatible with layer dense_3: expected shape=(None, 60), found shape=(None, 70)

就是因为第一次使用Dense层的时候,他的参数w的大小已经定了是(28*28,60),共享层的目的不就是为了共享参数的吗,所以,我讲明白了吧!

Keras共享某个层相关推荐

  1. Keras.layers各种层介绍,网络层、卷积层、池化层 等

    [转载]Keras.layers各种层介绍 - 心冰之海 - bk园 https://www.cnblogs.com/lhxsoft/p/13534667.html 文章导航 一.网络层 1.常用网络 ...

  2. Tensorflow.keras.layers各种层的学习笔记

    目录 karas简介 一. 输入层keras.layers.Input 二. 嵌入层keras.layers.Embedding 三. Lambda层keras.layers.Lamda karas简 ...

  3. 在Keras的Embedding层中使用预训练的word2vec词向量

    文章目录 1 准备工作 1.1 什么是词向量? 1.2 获取词向量 2 转化词向量为keras所需格式 2.1 获取所有词语word和词向量 2.2 构造"词语-词向量"字典 2. ...

  4. Keras:Lambda 层

    Lambda层 keras.layers.core.Lambda(function, output_shape=None, mask=None, arguments=None) 本函数用以对上一层的输 ...

  5. keras.layers.Embedding层介绍

    本层应用,就是把稀疏矩阵变成一个密集矩阵,也称为查表,因为他们之间是一个一一映射关系.与其对应的是one-hot编码,multi-hot编码,对于特征维度过大的应用,直接使用会造成维度灾难. Embe ...

  6. 自动寻找如何共享特征层的“十字绣”网络:Cross-stitch Networks for Multi-task Learning

    1.简介 多任务学习是机器学习中重要的一部分,关于多任务学习的更多内容可以去看这篇文章.但是对于应用深度学习进行多任务学习会遇到一个棘手的问题,那就是我们该如何确定网络的共享部分.针对不同的任务,其最 ...

  7. conv2d 公式_理解keras中conv2d层的输出形状

    这个问题在互联网上以各种形式被问到,而且有一个简单的答案,常常被忽略或混淆: 简单回答: Keras Conv2D层在多通道输入(例如彩色图像)的情况下,将在所有颜色通道上应用滤波器,并将结果求和,生 ...

  8. Keras中dense层原理及用法解释

    文章目录 一.全连接层Fully Connection作用 二.API解释 2.1 示例1:dense层为输入层 2.2 示例2:dense层为中间层 2.3 示例3:dense层为输出层 三.实现过 ...

  9. Keras中Flatten层的作用

    Flatten层的实现在Keras.layers.core.Flatten()类中. 作用: Flatten层用来将输入"压平",即把多维的输入一维化,常用在从卷积层到全连接层的过 ...

最新文章

  1. 容器使用之vector
  2. 微众银行殷磊:AI+卫星,从上帝视角洞察资产管理|BDTC 2019
  3. Target runtime Apache Tomcat 6.0 is not defined
  4. 全国大学生智能汽车竞赛获奖证书文字
  5. 【学习笔记】27、面向对象学习
  6. 如何处理SAP Fiori Launchpad KPI tile点击后出现的错误消息
  7. treeview控件怎么折叠_拍摄的视频闪烁怎么办?一招就能搞定,电脑手机都适用...
  8. 剪切caspase3_caspase-3
  9. eNSP 华为帧中继实验
  10. nodejs 错误问题解决
  11. 力扣-119. 杨辉三角 II
  12. Django url管理之include
  13. ACDSee Photo Manager 15.0.169 crack by XenoCoder
  14. 关于升级短信源码开发接入SMPP通道
  15. MySQL从入门到精通之sql语言---(9月2日更新)
  16. 2015年度个人总结(公司版)
  17. Java周末兼职培训讲师,成功入职阿里
  18. 某电商客户数据价值分析项目
  19. 中国剩余定理(孙子定理)
  20. 实测办公场景下,国产远程控制软件的表现力如何?(技术解析)

热门文章

  1. Android 异常问题分析
  2. net.conn read 判断数据读取完毕_1.5 read, write, exit系统调用
  3. 【Pytorch神经网络理论篇】 12 卷积神经网络实现+卷积计算的图解
  4. 聚类(Clustering):hierarchical clustering 层次聚类及其应用
  5. 八、PHP框架Laravel学习笔记——表单伪造和 CSRF 保护
  6. LeetCode 1976. 到达目的地的方案数(迪杰斯特拉 Python 优先队列)
  7. LeetCode 1854. 人口最多的年份(差分)
  8. LeetCode 497. 非重叠矩形中的随机点(前缀和+二分查找)
  9. 天池 在线编程 回合制游戏(前缀和)
  10. 奇异值分解(Singular Value Decomposition,SVD)