一、Tensor

Tensor(张量是一个统称,其中包括很多类型):

0阶张量:标量、常数、0-D Tensor;1阶张量:向量、1-D Tensor;2阶张量:矩阵、2-D Tensor;……

二、Pytorch如何创建张量

2.1 创建张量

2.2 tensor与ndarray的关系

两者之间可以相互转化

运行结果:

2.3 常用api

torch.empty(x,y)

创建x行y列为空的tensor。

torch.ones([x, y])

创建x行y列全为1的tensor。

torch.zeros([x,y])

创建x行y列全为0的temsor。

zeros与empty的区别

后者的数据类型是不固定的。

torch.rand(x, y)

创建3行4列的随机数,随机数是0-1。

torch.randint(low, high, size)

创建一个size的tensor,随机数为low到high之间。

torch.randn([x, y])

创建一个x行y列的tensor,随机数的分布式均值为0,方差1。

2.4 常用方法

item()

一个元素

numpy()

ndarray

size()

形状

view()

浅拷贝形状改变view(-1,2)view(4, 2)

dim()

获取维度。

max()

获取最大值。

t()

转置。

transpose(x,y)

x,y是size里面返回的形状相换。

permute()

传入size()返回的形状的顺序。

transpose与permute的区别

前者传入列即可相互交换;后者传入列会根据传入的顺序来进行转化,且需要传入所有列数的索引。

取值[第一阶, 第二阶,……]

一个逗号隔开代表一个阶乘冒号代表全取

赋值[第一阶, 第二阶,……]

直接赋值即可

三、数据类型

3.1 获取数据类型

tensor.dtype

获取数据类型

设置数据类型

Tensor()

type()

修改

四、tensor的其他操作

4.1 相加

torch.add(x, y)

相加

直接相加

tensor.add()

add_()

4.2 tensor与数字的操作

tensor + 数值

五、CUDA中的tensor

CUDA.to
torch.cuda.is_available()
您可能感兴趣的文章: