张量的索引、分片、合并以及维度调整
1、索引
张量的索引从维度出发,几个维度就写几个索引。
1.1、符号索引
pytorch中的索引基本遵循python的写法,[start: end: step],下面以一个三维张量为例:
import torch
t = torch.arange(12).reshape(2,2,3)
t

高维张量的理解:t 是一个3维张量,由2个二维张量构成,这两个二维张量都是由4个一维张量构成,每个一维张量都是由5个0维张量构成。
t[1,1,1]

上述表明,在第一个维度取第二个位置,第二个维度也取第二个位置,第三个维度同样如此,通俗来讲就是,索引张量t的第二个二维张量的第二行的第二列。就是零维张量tensor(10)
t[::2,::2,::2]

在第一个维度从第一个元素步长为2取,在第二个维度以步长为2取,在第三个维度以步长为2取。故索引为t的第一个二维张量的第一行的第一列和第3列。
一维张量和二维张量就不谈了,类似处理即可。
1.2、函数索引
除了符号可以索引外,pytorch还提供了一些函数来进行索

本文详细介绍了PyTorch中深度学习的基础操作,包括张量的索引、切片以及张量的合并。讲解了符号索引和函数索引两种方式,以及view()视图、chunk和split函数的使用。此外,还探讨了张量的拼接函数cat和堆叠函数stack的差异,并介绍了维度变换中的squeeze和unsqueeze函数。
最低0.47元/天 解锁文章
36万+

被折叠的 条评论
为什么被折叠?



