(转)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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端