【PYTHON】Tensor的各種簡易介紹

本篇为自己在学习时整理出的Tensor笔记。

目录

产生张量:

调整张量:

改变Datatype:


产生张量:

在生成张量时,按照需求的不同,有以下方法:
可在()内加入dtype=___,去控制Datatype,有:torch.float32 / torch.int64 / torch.float16 / torch.uint8 / torch.bool…等等。

0张量

torch.zeros(row,col)

→可在里面输入0得空tensor

1张量 torch.ones(row,col)
单位张量 torch.eye(rank)
均匀随机 torch.rand(row,col)
填满某值 torch.full((size),value)
等差张量 torch.arange()

产生和x一样dtype、

大小的张量

torch.zeros_like(x)
产生和x一样dtype的张量 x.zeros(row,col)
产生和x一样dtype的张量 torch.ones(6, 7).to(x)

调整张量:

以下为对张量维度进行调整的方法。

将x张量内部数值反转 reversed(x)
任意改变张量维度 .view()
变成列张量flat .view(-1)
变成列向量row vector .view(1,-1)
变成行向量col vector .view(-1,1)
x张量转置

x.t() / torch.t(x) →无法用.view()

维度交换

.transpose()

ex:x.shape=torch.Size([2, 3, 4])
   transpose(1,2)后变成torch.Size([2, 4, 3])

维度交换

.permute()

ex:x.permute(1, 2, 0)后变成torch.Size([3, 4, 2])

神奇错误解决

.contiguous().view() or .reshape取代.view()

→否则会有涉及stride和contiguous的错误

调整维度 .resize()

改变Datatype:

以下为Tensor对于datatype的转换方法。

括号内放(想转成的Datatype) .to()
32-bit float .float()
64-bit float .double()
长整型 .long()

你可能感兴趣的:(python)