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

作者:TinaO-O 时间:2021-11-14 09:55:06 

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


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)

来源:https://blog.csdn.net/u013249853/article/details/89191441

标签:keras,输入,输出,tensor,尺寸
0
投稿

猜你喜欢

  • Sql Server 数据库超时问题的解决方法

    2009-01-13 14:11:00
  • python请求域名requests.(url = 地址)报错

    2021-12-18 06:28:36
  • centos7 PHP环境搭建 GD库 等插件安装方法

    2023-11-05 21:25:38
  • Django框架自定义session处理操作示例

    2022-02-11 02:56:19
  • 无刷新dropdownlist并进行关联(js+xml)

    2007-09-23 12:13:00
  • python爬虫抓取时常见的小问题总结

    2023-03-18 07:34:07
  • Cpython3.9源码解析python中的大小整数

    2021-11-17 05:45:42
  • 惰性函数定义模式

    2007-09-26 20:56:00
  • Pytorch反向求导更新网络参数的方法

    2021-02-07 11:48:52
  • httpwatch 的页面元素加载时间表

    2008-02-13 08:28:00
  • python3+django2开发一个简单的人员管理系统过程详解

    2022-06-01 08:04:01
  • Form Post提交容量大的数据

    2011-03-31 10:53:00
  • python简单鼠标自动点击某区域的实例

    2021-03-05 16:35:52
  • Python使用re模块验证危险字符

    2023-10-29 13:46:55
  • MySQL Basis 常用命令

    2010-11-11 11:59:00
  • Python使用dict.fromkeys()快速生成一个字典示例

    2022-05-10 08:13:23
  • oracle ORA-01114、ORA-27067错误解决方法

    2023-07-15 18:36:39
  • SQL Server数据库超级管理员账号防护

    2008-12-22 16:30:00
  • asp模块化分页源码

    2008-04-13 07:02:00
  • javascript彩虹圈效果

    2011-08-05 19:10:45
  • asp之家 网络编程 m.aspxhome.com