torch.nn.Flatten(start_dim=1end_dim=- 1)

作用:将连续的维度范围展平为张量。 经常在nn.Sequential()中出现,一般写在某个神经网络模型之后,用于对神经网络模型的输出进行处理,得到tensor类型的数据。

 有俩个参数,start_dim和end_dim,分别表示开始的维度和终止的维度,默认值分别是1和-1,其中1表示第一维度,-1表示最后的维度。结合起来看意思就是从第一维度到最后一个维度全部给展平为张量。(注意:数据的维度是从0开始的,也就是存在第0维度,第一维度并不是真正意义上的第一个)

同理,如果我这么写:

self.flat = nn.Flatten(start_dim=2, end_dim=3)

那么意思就是从第二维度开始,到第三维度全部给展平,也就是将2、3两个维度展平。

官网给出的示例:

input = torch.randn(32, 1, 5, 5)
# With default parameters
m = nn.Flatten()
output = m(input)
output.size()
#torch.Size([32, 25])
# With non-default parameters
m = nn.Flatten(0, 2)
output = m(input)
output.size()
#torch.Size([160, 5])

#开头的代码是注释

整段代码的意思是:给定一个维度为(32,1,5,5)的随机数据。

1.先使用一次nn.Flatten(),使用默认参数:

m = nn.Flatten()

也就是说从第一维度展平到最后一个维度,数据的维度是从0开始的,第一维度实际上是数据的第二个位置代表的维度,也就是样例中的1。

因此进行展平后的结果也就是[32,1×5×5]➡[32,25]

2.接着再使用一次指定参数的nn.Flatten(),即

m = nn.Flatten(0, 2)

也就是说从第0维度展平到第2维度,0~2,对应的也就是前三个维度。

因此结果就是[32×1×5,5]➡[160,5]

因此进行展平后的结果也就是[32,1*5*5]➡[32,25]

nn.Flatten()函数详解及示例相关推荐

  1. pytorch之torch.nn.Conv2d()函数详解

    文章目录 一.官方文档介绍 二.torch.nn.Conv2d()函数详解 参数详解 参数dilation--扩张卷积(也叫空洞卷积) 参数groups--分组卷积 三.代码实例 一.官方文档介绍 官 ...

  2. nn.Linear()函数详解

    nn.Linear()函数详解 torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None)[原文地址] ...

  3. waitpid函数详解+应用示例

    来源:微信公众号「编程学习基地」 文章目录 waitpid函数的使用 waitpid()函数定义 参数详解 使用示例 waitpid函数的使用 当用fork启动一个新的子进程的时候,子进程就有了新的生 ...

  4. torch.flatten()函数详解

    自己的理解: 介绍torch.flatten()函数的具体使用方法1.首先创建一个三维张量2.调用torch.flatten()函数 import torchx = torch.randn(2, 3, ...

  5. 【PyTorch】nn.Conv2d函数详解

    文章目录 1. 函数语法格式 2. 参数解释 3. 尺寸关系 4. 使用案例 5. nn.functional.conv2d 1. 函数语法格式 CONV2D官方链接 torch.nn.Conv2d( ...

  6. C语言scanf函数详解和示例

    文章目录 一.数据输入 二.断章取义 三.scanf输入 1.输入整数 2.输入字符 3.输入浮点数 4.输入字符串 5.输入多个内容 6.示例(book13.c) 四.注意事项 五.获取视频教程 六 ...

  7. C语言printf函数详解和示例

    文章目录 1.类型符(type) 2.宽度(width) 3.对齐标志(flags) 4.精度(prec) 5.格式化输出到字符串 6.获取视频教程 7.版权声明 C语言格式化输出的函数有printf ...

  8. php pack方法,php pack()函数详解与示例

    手册: pack (PHP 3, PHP 4, PHP 5) pack -- Pack data into binary string 说明 string pack ( string format [ ...

  9. tf.nn.bidirectional_dynamic_rnn()函数详解

    转载自:https://blog.csdn.net/zhylhy520/article/details/86364789 首先我们了解一下函数的参数 bidirectional_dynamic_rnn ...

最新文章

  1. [转化率预估-1]引言
  2. gdb php-fpm,使用 gdb 调试 php-fpm 异常错误
  3. python3 dict 转 json 不ascii转码 去除空格
  4. ROS服务通信机制原理及示例代码
  5. 业务专题篇:用户使用路径分析
  6. (三)opencv_py之阈值处理
  7. java jnlp被阻止_JNLP应用程序Web服务访问被拒绝 - java.io.FilePermission
  8. python_线程、进程和协程
  9. padding影响整个div的实际宽度
  10. angular 模块构建_如何通过11个简单的步骤从头开始构建Angular 8应用
  11. 6.边缘检测:梯度——回顾、简化的图像、边缘概念_1
  12. vnpy学习_03学习推荐
  13. ❤️和广告说再见,将“沉浸式阅读”进行到底❤️
  14. jQuery基础资料(三)
  15. 关于双层原子台阶的形成机制
  16. 数据结构——线性表的链式存储
  17. 怎样在计算机上登录qq音乐,如何使用手机控制电脑qq音乐播放
  18. 3分钟,把你的安卓手机/平板变成你的电脑副屏
  19. 北京市工作居住证的申请与办理
  20. JAVA开发运维(nginx工作原理)

热门文章

  1. 人工智能时代是什么时代?
  2. c语言单片机程序设计例,51单片机C语言程序设计经典实例(第2版)
  3. firewall添加白名单_详解firewall的规则设置与命令(白名单设置)
  4. 四、Python数据挖掘(Pandas库)
  5. Visual Studio Code (echarts)数据可视化,设置数据缩放区间为20到40,设置标题字体大小,颜色以及是否加粗,设置柱状图颜色
  6. ubuntu 下最简单的歌词软件osdlyric (with banshee)
  7. 天龙DBP-1611UD蓝光播放机回顾
  8. 【日常折腾】Y7000P触控板失灵这件事
  9. CPU, GPU, FPGA计算能力
  10. 导出到word时,报错,com组件错时,酱紫弄——————从同事那里抄滴