0
点赞
收藏
分享

微信扫一扫

PyTorch项目实战03——Tensor的形状和索引

1 进一步认识Tensor

Tensor 是深度学习中最常用的数据结构之一,它可以看作是多维数组或矩阵的扩展。Tensor 可以表示各种信息,例如图像、声音、文本等等。每个元素可以是实数、整数或复数。

Tensor 有以下属性:

  • Rank(秩):Tensor 的秩表示其维度的数量。Rank 为0表示该Tensor 是一个标量;Rank 为1表示它是一个向量;Rank 为2表示它是个矩阵。依此类推,Rank为n表示它是一个n维 Tensor。
  • Shape(形状):Tensor 的形状指示其每个维度的大小。例如,一个形状为(2,3,4) 的 Tensor 表示有 3个维度,第一个维度的大小为 2,第二个维度的大小为3,第三个维护的大小为4。

例如,如下Tensor

import torch
t = torch.Tensor([[1,2],[3,4]])
t.size()

它的秩是2,因为最左边有2个中括号,所以是一个二维矩阵;

它的形状是(2,2),因为第一个维度有两个元素[[元素1],[元素2]],第二个维度有两个元素[元素1,元素2]

2 查看Tensor的属性

2.1 查看维度或秩

使用方法 dim() 可以查看Tensor的维度或是秩。

PyTorch项目实战03——Tensor的形状和索引_转置

2.2 查看形状

使用方法 size() 可以查看Tensor中每个维度的元素数,即Tensor的形状。

PyTorch项目实战03——Tensor的形状和索引_多维数组_02

3 修改形状

改变形状时,只会修改原有Tensor各维度的元素个数,但是不会改变元素总数。

3.1 将行列元素数互换

使用 view() 方法,将原来3行2列的元素,改变为2行3列的元素。

注意:这个方法并不是将矩阵进行转置(行列元素互换)。可以参看以下操作。

PyTorch项目实战03——Tensor的形状和索引_多维数组_03

3.2 将多维Tensor转换为一维

使用 view() 方法,参数固定为 -1。

PyTorch项目实战03——Tensor的形状和索引_多维数组_04

3.3 添加维度

使用 unsqueeze() 方法,可以为原来的Tensor增加一个维度。

PyTorch项目实战03——Tensor的形状和索引_转置_05


举报

相关推荐

0 条评论