keras 获取某层的输入/输出 tensor 尺寸操作


Posted in Python onJune 10, 2020

获取单输入尺寸,该层只被使用了一次。

import keras
from keras.layers import Input, LSTM, Dense, Conv2D
from keras.models import Model
a = Input(shape=(32, 32, 3))
b = Input(shape=(64, 64, 3))
 
conv = Conv2D(16, (3, 3), padding='same')
conved_a = conv(a)
 
# 到目前为止只有一个输入,以下可行:
assert conv.input_shape == (None, 32, 32, 3)

如果该层被使用了两次

import keras
from keras.layers import Input, LSTM, Dense, Conv2D
from keras.models import Model
a = Input(shape=(32, 32, 3))
b = Input(shape=(64, 64, 3))
 
conv = Conv2D(16, (3, 3), padding='same')
conved_a = conv(a)
 
# 到目前为止只有一个输入,以下可行:
assert conv.input_shape == (None, 32, 32, 3)
 
conved_b = conv(b)
# 现在 `.input_shape` 属性不可行,但是这样可以:
assert conv.get_input_shape_at(0) == (None, 32, 32, 3)
assert conv.get_input_shape_at(1) == (None, 64, 64, 3)

如果是输出,只需要改成output就好:

import keras
from keras.layers import Input, LSTM, Dense, Conv2D
from keras.models import Model
a = Input(shape=(32, 32, 3))
b = Input(shape=(64, 64, 3))
 
conv = Conv2D(16, (3, 3), padding='same')
conved_a = conv(a)
 
# 到目前为止只有一个输入,以下可行:
assert conv.input_shape == (None, 32, 32, 3)
 
conved_b = conv(b)
# 就改了output,当然尺寸我也改了
assert conv.get_output_shape_at(0) == (None, 32, 32, 16)
assert conv.get_output_shape_at(1) == (None, 64, 64, 16)

补充知识:keras中获取shape的正确方法

在keras的网络中,如果用layer_name.shape的方式获取shape信息将会返还tensorflow.python.framework.tensor_shape.TensorShape其中包含的是tensorflow.python.framework.tensor_shape.Dimension

正确的方式是使用

import keras.backend as K
K.int_shape(laye_name)

以上这篇keras 获取某层的输入/输出 tensor 尺寸操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python自然语言编码转换模块codecs介绍
Apr 08 Python
python判断windows系统是32位还是64位的方法
May 11 Python
python脚本实现数据导出excel格式的简单方法(推荐)
Dec 30 Python
Python3安装Pymongo详细步骤
May 26 Python
Python并行分布式框架Celery详解
Oct 15 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
Nov 06 Python
浅谈python中get pass用法
Mar 19 Python
python里 super类的工作原理详解
Jun 19 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 Python
Django框架安装及项目创建过程解析
Sep 14 Python
Python命令行参数argv和argparse该如何使用
Feb 08 Python
Python 字典中的所有方法及用法
Jun 10 #Python
在keras 中获取张量 tensor 的维度大小实例
Jun 10 #Python
Keras—embedding嵌入层的用法详解
Jun 10 #Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
Jun 10 #Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
Jun 10 #Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 #Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 #Python
You might like
比较详细PHP生成静态页面教程
2012/01/10 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
vue-element-admin 菜单标签失效的解决方式
2019/11/12 Javascript
Python实现简单的可逆加密程序实例
2015/03/05 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
工程售后服务承诺书
2014/05/21 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
预防煤气中毒方案
2014/06/16 职场文书
篮球赛口号
2014/06/18 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
辩论会主持词
2015/07/03 职场文书
使用pd.merge表连接出现多余行的问题解决
2022/06/16 Python