张量与基本数据类型
Tensor 张量
Pytorch最基本的操作对象是Tensor(张量),它表示一个多维矩阵,张量类似于Numpy的ndarrays,张量可以在GPU上使用以加速计算。
构造张量
torch.rand 随机初始化的矩阵
torch.zeros 全0矩阵
torch.ones 全1矩阵
torch.tensor 从数据构造张量
例:torch.tensor([1,2,3])
Tensor的最基本数据类型
• 32位浮点型:torch.float32
• 64位浮点型:torch.float64
• 32位整型: torch.int32
• 16位整型: torch.int16
• 64位整型: torch.int64
Tensor(张量)与numpy
numpy 转 Tensor:
torch.from_numpy(numpy矩阵)
Tensor 转 numpy:
Tensor矩阵.numpy()
Tensor的运算
与numpy的运算规则类似:
元素相加 a+b
广播 a+3 矩阵a的每个值都加3
下划线代表就地改变 t_
调整张量的大小/形状:
torch.view() 或 torch.reshape()
单个元素的张量,使用
.item() 转换为python数据
t = torch.tensor([1])
t1 = t.item()
t1------1
Tensor数据结构的特点
data : 被包装的Tensor ------>t.detach()
grad : data的梯度
grad_fn : 创建 Tensor的 Function,是自动求导的关键
tensor类 的 属性
shape:描述了tensor的形状
tensor.shape
dtype:描述了tensor的数据类型
tensor.dtype
device:描述了存储tensor的设备
tensor.device