PyTorch张量简介与创建

PyTorch张量简介与创建


张量是什么

张量:是指数学维度上的标量,向量,矩阵的多维拓展。
标量:数学维度为0,只有大小没有方向的量,如单个数字1、2、3…
向量:数学上是指既有方向又有大小的标量,但是在pytorch以及计算机领域内是类似于一维数组/列表的量。
矩阵:二维的向量,用行列表达。在pytorch以及计算机领域用二维数组/二维列表表达,行列分别对应图像的高和宽。
张量:三维及三维以上数组/列表的表达,例如,用pytorch生成一个(3, 4, 5)的随机张量

import torch
torch.rand(3, 4, 5)

结果如图:在这里插入图片描述
它表示的是,3个4行X5列的数组。在图像上表示的是3个channel的4行X5列的图像。
图像的表达有1个channel的灰度图以及3个channel的RGB图像即是红绿蓝的具体数值表示。
张量在pytorch中即是Tensor。


一、Tensor与Variable


Variabel是pytorch0.4.0以前的一个重要的数据类型,但是在0.4.0版本之后,Variabel并入到了Tensor之中。
Variable是torch.autograd中的数据类型,主要用于封装Tensor, 进行自动求导。PyTorch0.4.0版本及以前主要有5个属性:data、grad、grad_fn、requires_grad、is_leaf。
data:被包装的Tensor
grad:data的梯度
grad_fn:创建Tensor的Function,是自动求导的关键。
requires_grad:指示是否需要梯度。
is_leaf:指示是否是叶子节点(张量)。
pytorch0.4.0版本之后主要有8个属性:data、dtype、shape、device、requires_grad、grad、grad_fn、is_leaf。
dtype:张量的数据类型(PyTorch中有9种),如torch.FloatTensor、torch.cuda.FloatTensor
shape:张量的形状,如(64, 3, 224, 224)。
device:张量所在的设备,GPU/CPU,是加速的关键。
其他的5个与pytorch0.4.0版本一样。


二、张量的创建


1. torch.tensor()

功能:从data创建tensor data:数据,可以是list,numpy dtype:数据类型,默认与data的一致 device:所在设备,cuda/cpu requies_grad:是否需要梯度 pin_memory:是否存于锁页内存。
import torch
torch.ones((3, 3))

在这里插入图片描述
GPU上生成数据:

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值