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

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

索引

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

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

分片

chunk函数可以用来分块。


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

合并

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

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函数是手动升维度,可以指定在哪个维度上再升高一个维度。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容