PyTorch学习笔记|张量的索引分片、合并和维度调整

我们继续学习张量的相关基础操作。

索引

这个依旧是和numpy差不多,我们简单看一些例子。

tensor.view方法可以返回一个类似视图的结果,是浅拷贝的关系,我们来看一下。

分片

chunk函数可以用来分块。

split函数既能进行均分,也能进行自定义切分。

合并

拼接函数cat,和堆叠函数stack。我们需要注意二者的区别,拼接的维度不变,堆叠之后维度升高。

go 复制代码
a = torch.zeros(2,3)
b = torch.ones(2,3)
c = torch.cat([a,b])
d = torch.stack([a,b])

###
c:
tensor([[0., 0., 0.],
        [0., 0., 0.],
        [1., 1., 1.],
        [1., 1., 1.]])
d:
tensor([[[0., 0., 0.],
         [0., 0., 0.]],

        [[1., 1., 1.],
         [1., 1., 1.]]])

维度变换

此前我们介绍过,通过reshape方法,能够灵活调整张量的形状。而在实际操作张量进行计算时,往往需要另外进行降维和升维的操作,当我们需要除去不必要的维度时,可以使用squeeze函数,而需要手动升维时,则可采用unsqueeze函数。

squeeze删除不必要的维度,简单的说就是把shape中的1给剔除。

unsqueeze函数是手动升维度,可以指定在哪个维度上再升高一个维度。

相关推荐
Zzj_tju2 小时前
AI+医疗进阶:多智能体系统怎么协作做诊断、总结与质控?
大数据·人工智能
MonkeyKing_sunyuhua2 小时前
金蝶,用友,东软等传统软件公司怎么应对AI改革
大数据·人工智能
John_ToDebug2 小时前
WaitableEvent 跨线程等待的死锁陷阱
windows·笔记·死锁
洛兮银儿2 小时前
爬虫,如何查找一个网页的header请求头?
python
luoganttcc2 小时前
像摩尔线程和 沐曦科技怎么解决 nccl 通信问题
人工智能·科技
RSFeegg2 小时前
【AI Agent 学习笔记 task1】Day2:初识智能体
人工智能·笔记·学习
lengxuemo2 小时前
Excel做正态分布图
学习·excel
麦聪聊数据2 小时前
为什么 AI Agent 需要 RESTful API 而不是直接执行 SQL?
人工智能·sql·restful
Sagittarius_A*2 小时前
霍夫变换:几何特征检测与量化验证【计算机视觉】
图像处理·人工智能·opencv·算法·计算机视觉·霍夫变换