一、tensor.view()

view()函数不改变原始数据。

例:

import torchdata = torch.randn(2, 3, 3, 5, 5)    #b,corps,c,h,w
print(data.size())                   #torch.Size([2, 3, 3, 5, 5])b = data.view(-1, 3, 5, 5)
print(b.size())                      #torch.Size([6, 3, 5, 5])
print(data.size())                   #torch.Size([2, 3, 3, 5, 5])。 view()函数并不改变data的值

二、torch.flatten()

torch.flatten()函数经常用于写分类神经网络的时候,比如《观察torchvision自带的alexnet模型》,经过最后一个卷积层之后,一般会再接一个自适应的池化层,输出一个B*C*H*W的向量。这时候就需要用到torch.flatten()函数将这个向量拉平成一个B*x的向量(其中,x = C*H*W),然后送入到FC层中。如:

语法:

torch.flatten(input, start_dim=0, end_dim=-1)

input: 一个 tensor,即要被“摊平”的 tensor。

start_dim: “摊平”的起始维度。

end_dim: “摊平”的结束维度。

因为往往输入的是B*C*H*W,我们需要把C*H*W摊平,最后变成B个一维向量。所以摊平的起始维度是1,不能是0。【例1】

例1:

import torchdata_pool = torch.randn(2, 2, 3, 3)    #模拟经过最后一个池化层或自适应池化层之后的输出。Batchsize*c*h*w
print(data_pool)y = torch.flatten(data_pool, 1)
print(y)

结果:

结果是一个B*x的向量。

tensor.view()、torch.flatten()相关推荐

  1. pytorch中的reshape()、view()、nn.flatten()和flatten()

    在使用pytorch定义神经网络结构时,经常会看到类似如下的.view() / flatten()用法,这里对其用法做出讲解与演示. torch.reshape用法 reshape()可以由torch ...

  2. Pytorch中 permute / transpose 和 view / reshape, flatten函数

    1.transpose与permute transpose() 和 permute() 都是返回转置后矩阵,在pytorch中转置用的函数就只有这两个 ,这两个函数都是交换维度的操作 transpos ...

  3. PyTorch:tensor、torch.nn、autograd、loss等神经网络学习手册(持续更新)

    PyTorch1:tensor2.torch.nn.autograd.loss等神经网络学习手册(持续更新) 链接:画图.读写图片 文章目录 一.tensor 二.完整训练过程:数据.模型.可学习参数 ...

  4. PyTorch 笔记(02)— 常用创建 Tensor 方法(torch.Tensor、ones、zeros、eye、arange、linspace、rand、randn、new)

    1. Tensor 概念分类 PyTorch 中的张量(Tensor)类似 NumPy 中的 ndarrays,之所以称之为 Tensor 的另一个原因是它可以运行在 GPU 中,以加速运算. 1.1 ...

  5. Pytorch view()、squeeze()、unsqueeze()、torch.max()

    本篇博客主要向大家介绍Pytorch中view().squeeze().unsqueeze().torch.max()函数,这些函数虽然简单,但是在 神经网络编程总却经常用到,希望大家看了这篇博文能够 ...

  6. PyTorch 笔记(09)— Tensor 线性代数计算(torch.trace、torch.diag、torch.mm、torch.dot、torch.inverse逆矩阵、转置)

    1. 常用函数 常用线性表函数如下表所示: 2. 使用示例 2.1 torch.trace In [22]: import torch as tIn [23]: a = t.arange(1, 10) ...

  7. PyTorch 笔记(08)— Tensor 比较运算(torch.gt、lt、ge、le、eq、ne、torch.topk、torch.sort、torch.max、torch.min)

    1. 常用函数 比较函数中有一些是逐元素比较,操作类似逐元素操作,还有一些类似归并操作,常用的比较函数如下表所示. 表中第一行的比较操作已经实现了运算符重载,因此可以使用 a>=b,a>b ...

  8. 通俗讲解Pytorch梯度的相关问题:计算图、torch.no_grad、zero_grad、detach和backward;Variable、Parameter和torch.tensor

    文章目录 with torch.no_grad()和requires_grad backward() Variable,Parameter和torch.tensor() zero_grad() 计算图 ...

  9. pytorch torch.Tensor.view

    应用 >>> x = torch.randn(4, 4) >>> x.size() torch.Size([4, 4]) >>> y = x.vi ...

最新文章

  1. 我也转发一个关于特斯拉的文章
  2. DDR的前世与今生(一)
  3. mxnet java 例子_mxnet(gluon) 实现DQN简单小例子
  4. DataGrid中添加DropdownList时的数据绑定
  5. 深度学习和目标检测系列教程 11-300:小麦数据集训练Faster-RCNN模型
  6. 2018-行远自迩,登高自卑
  7. HALCON示例程序measure_metal_part_id.hdev使用xld边缘拟合检测零件加工是否合格
  8. python中如何标识语句块_如何用python在一个块中编写多个try语句?
  9. 话里话外:冯军的担心 “pk” 流程规范化
  10. Unity从Asset Store下载的资源安装包默认的保存位置及其修改
  11. 虚拟机桥接模式下和windows相互ping通
  12. 网上打印个人完税证明流程
  13. GNSS定位中的不同高度概念及计算
  14. BootStrap之导航navigation
  15. 读书若谈恋爱:如何阅读一本书?
  16. moveit缺少libfcl.so.0.6文件
  17. landesk桌面管理服务器安装篇
  18. TextView里的setText方法
  19. silk 编解码器下载
  20. 云和恩墨数据库一体机助力天安人寿 zData架构高效运行

热门文章

  1. 不可错过的资源下载。。学无止境呀。。
  2. 学无止境,今天只是个开始
  3. 企业招聘驱动的社会人才需求动态监测系统的设计文档(部分)
  4. 2022 年全国硕士研究生入学统一考试英语(一)试题
  5. 网易社招一面(Java)
  6. 行式存储和列式存储的区别
  7. 科技哲学学期要点归纳
  8. 6-3 定义并实现Book类及其__del__函数(高教社,《Python编程基础及应用》习题9-4)
  9. java生成随机汉字的几个方法
  10. Matlab——Timer对象(多线程编程)计时器