Skip to main content

基础


Tensor
a. 各种数值数据称为张量
b. 常数:scaler:0阶张量
c. 向量:vector:1阶张量
d. 矩阵:matrix:2阶张量
e. 3阶张量
张星的创建方法
a. torch.Tensor(list)
b. torch.empty0/zeros0/ones()
C. torch.rando/randinto/randn()
张量的方法和属性
a. 数据中只有一个元索的时候,取值: tensor.item()
b. 转化为numpy数組的时候:tensor.numpy()
c.获取形状:
i. tensor.size()
i tensor.size(1) #获取第一个维度的形状
d. 形状的变化:tensor.view([shape])

获取阶数:tensor.dim()
常用计算方法:tensor.max0/min/std
转置:
i. 二维:tensor.t() tensor.transpose(0,1)
i. 高维:tensor.transpose(1,2)/
tesnor.permute(0,2,1)

取值和切片
r = t[1. 2, 3]
r = t[1,:,:]
r = t[1,2,3] = 100

数据类型
a. 拆定数据类型:
i. torch.tensor(array,dtype)
ii. torch.ones(array,dtype)
b.获取数据类型
i. tensor.dtype
c.修改数据类型
i. tonsor.float()/long()/int()
i. torch.Tensor和torch.tensor的区别
i. 全局(默认的数据类型)是torch.float32
i. torch.Tensor()传入数字表示形状和torch.FloatTensor相同
i.torch.Tensor传入可迭代对象表示数据,类型为榄型的数据类型
i.torch.tensor为创建tensor的方法

原地修改的方法: 带下划线函数
x.add_(y) 直接会修改x的值

GPU中的tensor的使用

device = torch.device ("cuda:0" if torch.cuda.is-available() else "cpu")

tensor.to(device)