深度学习笔记(4)——维度操作(2)展平

文章目录

  • 深度学习笔记(4)——维度操作(2)展平
  • 前言
  • 一、 flatten()
  • 二、view()
  • 总结

前言

上一篇文章记录了维度操作的增加维度维度压缩,这篇笔记介绍维度的展平

一、 flatten()

  • x flatten(0, 1)

flatten是对torch张量的操作,对指定维度进行展平操作。
下面进行一个实验看一下,这个函数的具体用法


x = torch.rand(2,3,4)
x = x.flatten(0,1)
print(x.shape)

输出结果为:

torch.Size([6, 4])

flatten指定维度的方式一次只能对两个维度的操作,若对三个维度进行操作会报错。若不指定维度,则会展平所有维度
下面举个不指定维度的例子

x = torch.rand(2,3,4)
x = x.flatten()
print(x.shape)

结果为下面所示,事实证明,若不指定维度的方式,flatten会展平所有的维度。

torch.Size([24])

二、view()

  • x view(x.size(0), -1)

x = torch.rand(2,3,4)
x = x.view(x.size(0), -1)
print(x.shape)
torch.Size([2, 12])

结果如上,从结果中不难看出,这样是沿着最后一个维度进行展平,具体的展平方式是size(0)不动,对剩下的维度展平。
再进行一个实验

x = torch.rand(2,3,4)
print(x.size(0))
print(x)
x = x.view(x.size(1),-1)
print(x.shape)
print(x)

输出结果如下,可以看出view其实是对矩阵进行形状重塑,当然也可以当作展平处理进行使用。

2
tensor([[[0.3708, 0.6937, 0.4584, 0.4001],[0.5163, 0.7196, 0.4849, 0.9723],[0.3077, 0.4114, 0.1740, 0.4664]],[[0.3961, 0.0221, 0.5449, 0.0027],[0.5181, 0.0619, 0.4263, 0.0653],[0.6001, 0.6604, 0.7847, 0.7992]]])
torch.Size([3, 8])
tensor([[0.3708, 0.6937, 0.4584, 0.4001, 0.5163, 0.7196, 0.4849, 0.9723],[0.3077, 0.4114, 0.1740, 0.4664, 0.3961, 0.0221, 0.5449, 0.0027],[0.5181, 0.0619, 0.4263, 0.0653, 0.6001, 0.6604, 0.7847, 0.7992]])

总结

  1. x.flatten(dim1,dim2),dim1,dim2必须相邻
  2. x.view(size(0),-1),view可以重塑成任何形状

以上就是今天要讲的内容,本文仅仅简单介绍了展平的使用flatt和view可以实现大部分的展平操作。

深度学习笔记(4)——维度操作(2)展平、·拼接、拆分相关推荐

  1. 深度学习笔记(23) 卷积维度

    深度学习笔记(23) 卷积维度 1. 卷积步长 2. 卷积输出维度 3. 三维卷积 1. 卷积步长 在这个例子中,用3×3的矩阵卷积一个7×7的矩阵,得到一个3×3的输出 输入和输出的维度是由下面的公 ...

  2. 动手深度学习笔记(一)2.1数据操作

    动手深度学习笔记(一) 2. 预备知识 2.1. 数据操作 2.1.1. 入门 2.1.2. 运算符 2.1.3. 广播机制 2.1.4. 索引和切片 2.1.5. 节省内存 2.1.6. 转换为其他 ...

  3. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  4. 深度学习笔记其五:卷积神经网络和PYTORCH

    深度学习笔记其五:卷积神经网络和PYTORCH 1. 从全连接层到卷积 1.1 不变性 1.2 多层感知机的限制 1.2.1 平移不变性 1.2.2 局部性 1.3 卷积 1.4 "沃尔多在 ...

  5. 深度学习笔记其三:多层感知机和PYTORCH

    深度学习笔记其三:多层感知机和PYTORCH 1. 多层感知机 1.1 隐藏层 1.1.1 线性模型可能会出错 1.1.2 在网络中加入隐藏层 1.1.3 从线性到非线性 1.1.4 通用近似定理 1 ...

  6. 吴恩达深度学习笔记(四)

    吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...

  7. 深度学习笔记其六:现代卷积神经网络和PYTORCH

    深度学习笔记其六:现代卷积神经网络和PYTORCH 1. 深度卷积神经网络(AlexNet) 1.1 学习表征 1.1 缺少的成分:数据 1.2 缺少的成分:硬件 1.2 AlexNet 1.2.1 ...

  8. 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)

    <繁凡的深度学习笔记>前言.目录大纲 (DL笔记整理系列) 一文弄懂深度学习所有基础 ! 3043331995@qq.com https://fanfansann.blog.csdn.ne ...

  9. 深度学习笔记(35) 滑动窗口的卷积实现

    深度学习笔记(35) 滑动窗口的卷积实现 1. 卷积实现 2. 减少计算成本 1. 卷积实现 为了构建滑动窗口的卷积应用,首先要知道如何把神经网络的全连接层转化成卷积层 假设对象检测算法输入一个14× ...

最新文章

  1. 做工程师不懂这七点,难怪你总是混不好
  2. vivado----fpga硬件调试 (七)----数据导出并用MATLAB读取
  3. 苹果7plus元件分布图_苹果iphone7 plus手机拆解全过程评测 iphone7 plus拆机图解教程...
  4. 其实python面向对象3分钟就可以入门(14)
  5. 《走遍中国》珍藏版(二)
  6. jq动态渲染后获取不到元素高度_浏览器的渲染机制
  7. 使计算机进入休眠状态
  8. javascript常用工具类整理(copy)
  9. Confluence 6 PostgreSQL 输入你的数据库细节
  10. 安装qt qmake 错误:could not find a Qt installation of ''
  11. cholesky分解java代码,实数矩阵Cholesky分解算法的C++实现
  12. 27亿美元的NASA「毅力号」成功登陆火星!还带了一架1%大气密度也能飞的无人机...
  13. 华硕(ASUS)X554LP笔记本重装win7后网卡和USB驱动问题的解决
  14. PAT-ADVANCED1118——Birds in Forest
  15. 贵如油的春雨都是润物细无声的么?——记2021年首场大范围雷雨强对流天气
  16. csv是什么意思中文_CSV 文件是什么意思?
  17. Sticky Footer , fixed footer, pinned footer
  18. C++中的同名二义性和路径二义性
  19. centos7.6 桌面版本 网卡重启失败 记录
  20. L4级自动驾驶,插上车路协同的翅膀才能飞?

热门文章

  1. 大数据采集平台的架构分析
  2. mac电脑idea的快捷键
  3. 【Autoware】采集实验数据bag包并仿真运行
  4. office 论文 页码_八个步骤教你用Word写论文从任意页添加页码
  5. Android清除缓存、清除数据
  6. 基于飞腾CPU+银河麒麟操作系统编译安装tensorflow
  7. ENVI下的秸秆焚烧实时遥感监测方案及实现
  8. linux下svn出现的no repository found in问题
  9. Nexus 5刷机(Android 6.0.1,M4B30Z 固件)和ROOT教程
  10. 【Eigen学习笔记】-- Umeyama