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模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
windows下python连接oracle数据库
Jun 07 Python
Python+selenium 获取一组元素属性值的实例
Jun 22 Python
获取python的list中含有重复值的index方法
Jun 27 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
python利用跳板机ssh远程连接redis的方法
Feb 19 Python
Python 中Django安装和使用教程详解
Jul 03 Python
解决Tensorflow 内存泄露问题
Feb 05 Python
如何验证python安装成功
Jul 06 Python
python按照list中字典的某key去重的示例代码
Oct 13 Python
python 第三方库paramiko的常用方式
Feb 20 Python
Python中生成ndarray实例讲解
Feb 22 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连接Oracle for NT 远程数据库
2006/10/09 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
php模板引擎技术简单实现
2016/03/15 PHP
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
2015/01/13 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
积极分子思想汇报
2014/01/04 职场文书
十岁生日父母答谢词
2014/01/18 职场文书
罚站检讨书
2015/01/29 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
Python如何让字典保持有序排列
2022/04/29 Python