(转)pytorch入门之Tensor

torch.Tensor 基础

Tensor就是pytorch中存储数据的主要格式,跟numpy类似 这里,我们先介绍一些最基本的操作和常用的功能

 

在numpy中,我们是通过shape来获取数组的形状,而在我们的tensor当中,我们使用size来得到形状。

 

 

 

有时候,我们需要对数组形状进行改变,我们可以采用 .view() 的方式

 

 

 

可以注意到test5通过test4变形的时候,是从test4的第一行从左至右,然后第二行从左至右…这样形成3x2的矩阵的。

torch.Tensor 支持大量的数学操作符 + , - , * , / 都是可以用的。
当然也可以用Tensor内置的 add() 等, 这里需要提一下的就是 add 和 add_ 的区别
使用add函数会生成一个新的Tensor变量, add_ 函数会直接再当前Tensor变量上进行操作
所以,对于函数名末尾带有"_" 的函数都是会对Tensor变量本身进行操作的

tensor对矩阵同样支持

 

跟numpy一样,再Tensor中,也存在Broadcasting
当二元操作符左右两边Tensor形状不一样的时候,系统会尝试将其复制到一个共同的形状。例如a的第0维是3, b的第0维是1,那么 a + b这个操作会将b沿着第0维复制3遍。

 

Tensor和Numpy的相互转换

一些其他的常用的操作

torch.unsqueeze() 可以把一个向量变成矩阵

squeeze() 可以把一个矩阵变成向量

 

 

stack() 可以让我们把很多个矩阵"堆"在一起形成一个新的高维矩阵。
比如,我们有 10 个 (5, 12)的 Tensor, 我们希望把他们堆在一起形成 (10, 5, 12)的Tensor,我们就可以使用 stack

 

 

 转自:https://blog.csdn.net/zw__chen/category_8075721.html

posted @   maple_hx  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示