直接说结论,view()和flatten都是和输入共享内存的,flatten的好处是不用输入形状参数,直接指定维度,在这之后的都被拉平。view则是更加灵活
示验证代码:

import torcht = torch.tensor([[[1, 2],[3, 4]],[[5, 6],[7, 8]]])
# ---flatten用法----
print('flatten1')
print(torch.flatten(t))
print('flatten3')
print(torch.flatten(t, start_dim=1))# ---证明内存共享----
b = torch.flatten(t)
b[1] += 1
print('ori')
print(t)
print('change after flatten')
print(b)t = torch.tensor([[[1, 2],[3, 4]],[[5, 6],[7, 8]]])
# ---flatten and view 的对比----
print('view')
s1, s2, s3 = t.size()
print(t.view(s1 * s2 * s3))
print('flatten')
print(torch.flatten(t))# ---内存共享----
b = t.view(s1 * s2 * s3)
b[1] += 1
print('ori')
print(t)
print('change after view')
print(b)

pytorch中view()和flatten相关推荐

  1. **Pytorch 中view函数和reshape函数的区别*

    Pytorch 中view函数和reshape函数的区别(我是一名大一刚学计算机的学生 希望我的说法对你有帮助) 首先:要了解这个问题我们要先了解一个基本知识 张量的储存方式 跟据图片我们可以清楚的看 ...

  2. Pytorch中view()方法和resize()方法的区别

    1.view() 通过tensor.view方法可以调整tensor的形状,但必须保证调整前后元素总数一致.view不会修改自身的数据,返回的新tensor与源tensor共享内存,即更改其中一个,另 ...

  3. python中size_x的意思,对pytorch中x = x.view(x.size(0), -1) 的理解说明

    在pytorch的CNN代码中经常会看到 x.view(x.size(0), -1) 首先,在pytorch中的view()函数就是用来改变tensor的形状的,例如将2行3列的tensor变为1行6 ...

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

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

  5. pytorch flatten函数_1. PyTorch中的基本数据类型——张量

    在PyTorch中,张量属于一种基本的数据类型,和Numpy库中的ndarry类似,无论是标量.向量.矩阵还是高维数组都是以张量(Tensor)这种数据类型来表示.因此,有必要对该基本数据类型有所了解 ...

  6. 【PyTorch】中view()==>相当于numpy中resize()、reshape()的功能

    相当于numpy中resize()的功能,但是用法可能不太一样.reshape() 我的理解是: 把原先tensor中的数据按照行优先的顺序排成一个一维的数据(这里应该是因为要求地址是连续存储的),然 ...

  7. Pytorch中tensor.view().permute().contiguous()函数理解

    Pytorch中tensor.view().permute().contiguous()函数理解 yolov3中有一行这样的代码,在此记录一下三个函数的含义 # 例子中batch_size为整型,le ...

  8. PyTorch中contiguous、view、Sequential、permute函数的用法

    在pytorch中,tensor的实际数据以一维数组(storage)的形式存储于某个连续的内存中,以"行优先"进行存储. 1. tensor的连续性 tensor连续(conti ...

  9. 神经网路:pytorch中Variable和view参数解析

    在PyTorch中计算图的特点总结如下: autograd根据用户对Variable的操作来构建其计算图. requires_grad variable默认是不需要被求导的,即requires_gra ...

最新文章

  1. ST-GCN 实现人体姿态行为分类
  2. 重磅 | TensorFlow 2.0即将发布,所有tf.contrib将被弃用
  3. 编码和解码、调制与解调
  4. Java编程中“为了性能”需做的26件事
  5. 安装 Oracle Database PSU 10.2.0.4.2 步骤
  6. 影响个人计算机系统功能的因素,影响个人计算机系统功能的因素除了系统使用哪种位的微处理器外,还有CPU的时钟频率、CPU主内存容量、CPU所能提供的指令集。...
  7. 国货彩妆品牌2021年Q1社媒营销投放分析报告
  8. 解决Mac文件乱码问题
  9. 创作gtk源码级vim帮助文档 tags
  10. vue中echarts迁徙图
  11. 为什么acdsee服务器怎在运行,如何使用ACDSEE
  12. 【蓝桥杯选拔赛真题13】Scratch接苹果游戏 少儿编程scratch蓝桥杯选拔赛真题讲解
  13. Chromium 文件下载
  14. C# Bitmap引用System.Drawing报错 “...不存在类型命名空间名...”的修复
  15. 双区“网吧”,各得其乐
  16. 白乔原创:实战软件DIY
  17. Matlab中的\ 和/和pinv的关系以及运算
  18. [Firemonkey]开发Android系统的PDA手机扫码功能
  19. jar文件打开方式和直接运行方法
  20. 1034 Head of a Gang(7ms,并查集版,比图的版本快得多,更省内存

热门文章

  1. STL源码剖析 RB-tree
  2. WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo
  3. 单片机--串口通信---11
  4. 概念和术语-数学统计学
  5. 读书笔记:忍耐的艺术
  6. html5微信自动播放视频,科技常识:HTML5页面音视频在微信和app下自动播放的实现方法...
  7. 学环境工程我后悔了_环境工程学出来能干啥
  8. Vulnhub靶场之symfonos:1
  9. Unity GoogleVR Cardboard 开发
  10. 为什么角膜塑形镜的价格比隐形眼镜贵这么多?