首页 > 其他分享 >torch中reshape和view

torch中reshape和view

时间:2023-05-18 20:12:06浏览次数:40  
标签:tensor reshape torch 连续 内存地址 view

回答

老师讲到torch中reshape和view是一样的,看了torch文档,并实践了一下,事实上还是有一点点区别的,区别在于被操作的那个tensor是否是连续的,当连续时两者一致,当不连续时reshape会返回新的tensor,该tensor与原来的再无关联,修改reshape返回的tensor不会变更原来的,比如:
a = t.rand(3,3)
b = a.permute(1,0)
c = b.reshape(9)
c【0】=100 #这里观察一下a,b对应位置的数值

评论

可以参考这个网页的第一个回答:https://stackoverflow.com/questions/49643225/whats-the-difference-between-reshape-and-view-in-pytorch view只能作用在连续的张量上(张量中元素的内存地址是连续的)。而reshape连续or非连续都可以。调用x.reshape的时候,如果x在内存中是连续的,那么x.reshape会返回一个view(原地修改,此时内存地址不变),否则就会返回一个新的张量(这时候内存地址变了)。所以推荐的做法是,想要原地修改就直接view,否则就先clone()再改。

参考

https://www.bilibili.com/video/BV1CV411Y7i4?p=4&spm_id_from=pageDriver&vd_source=c708def0a324eac06f3f31f597632be7

标签:tensor,reshape,torch,连续,内存地址,view
From: https://www.cnblogs.com/FishSmallWorld/p/17413152.html

相关文章

  • Labview解决冲突
    打开VI遇到下列冲突1,2,将不需要的用到的路径打开浏览3,删除即可 ......
  • 第3章 数据库操作-通过DataGridView控件进行数据库的操作
    通过DataGridView控件进行数据库的操作usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingS......
  • LSTM原理以及基于PyTorch的LSTM实现MNIST手写数字
    循环神经网络让神经网络有了记忆,对于序列话的数据,循环神经网络能达到更好的效果.我们将图片数据看成一个时间上的连续数据,每一行的像素点都是这个时刻的输入,读完整张图片就是从上而下的读完了每行的像素点.然后我们就可以拿出RNN在最后一步的分析值判断图片是哪一类了下......
  • 【React】react-json-view用法
    react-json-view:前端json可视化插件安装:npminstall--savereact-json-view 使用:importReactJsonfrom'react-json-view'<ReactJson/>配置:<ReactJsoncollapsed={false}//是否收起,true为收起indentWidth={10}//缩进iconStyle='cir......
  • PyTorch笔记
    前言简介:PyTorch是一个基于Python的科学计算库,它主要提供了两个高级功能:一是支持张量计算,类似于NumPy,但是可以在GPU上运行;二是支持构建和训练深度神经网络。在PyTorch中,张量(Tensor)是最基本的数据结构,类似于NumPy中的多维数组,但是可以在GPU上进行高效的计算。PyTorch支持多种张......
  • Duplicate class androidx.lifecycle.ViewModelLazy found in modules lifecycle-view
    AS版本:AndroidStudioBumblebee|2021.1.1Patch1Build#AI-211.7628.21.2111.8139111,builtonFebruary2,2022Runtimeversion:11.0.11+9-b60-7590822amd64VM:OpenJDK64-BitServerVMbyOracleCorporationWindows1010.0GC:G1YoungGeneration,G1OldGene......
  • 【android】Android入门第六篇之ListView
    ListView是一个经常用到的控件,ListView里面的每个子项Item可以是一个字符串,也可以是一个组合控件。先说说ListView的实现:1.准备ListView要显示的数据 ;2.使用 一维或多维 动态数组 保存数据;3.构建适配器 , 简单地来说, 适配器就是 Item数组 , 动态数组 有多少元素就生成......
  • 【Cocos2d游戏开发之七】添加/删除系统组件,并解决View设置透明会影响View中的其他组件
    好像有段时间没有更新了,主要项目比较着急,不过现在cocos2d基本算是全拿下了,进展很顺利,那么在这里主要给大家介绍下一些Himi遇到的问题;本章介绍两个知识点:        1.在Cocos2d中添加系统组件;(本例中添加UIView并嵌套一些View)  “   如何把背景图片设置为半透明......
  • WebView2 通过 PuppeteerSharp 实现RPA获取壁纸 (案例版)
    此案例是《.NetWebView2项目,实现嵌入WEB页面Chromium内核》文的续集。主要是针对WebView2的一些微软自己封装的不熟悉的API,有一些人已经对PuppeteerSharp很熟悉了,那么,直接用PuppeteerSharp的话,那就降低了学习成本,那还是很有必须要的。之前自己也RPA获取过联盟的高清原画,......
  • Restful规范,序列化和反序列化,drf介绍,drf之APIView源码分析
    Restful规范:-RESTful是一种定义API接口的设计风格,AIP接口的编写规范,,尤其适用于前后端分离的应用模式中-这种风格的理念认为后端开发任务就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的URL路径就表示这种要操作的数据资源-我们可以使用......