Tensor和Variable(笔记)

本文深入探讨了PyTorch中张量的概念及其操作方法,包括数据类型、形状、设备属性,以及如何通过多种方式创建张量。从直接创建到依据数组或概率分布创建,全面覆盖了张量在深度学习中的应用。
部署运行你感兴趣的模型镜像

1.(以前)Variable是torch.autograd中的数据类型,主要用于封装Tensor,进行自动求导:

data:被包装的tensor

grad:data的梯度

grad_fn:创建Tensor的Function,是自动求导的关键

requires_grad:指示是否需要梯度

is_leaf:指示是否是叶子节点(张量)

                                                  

2.(现在)Variable并入Tensor

dtype:张量的数据类型,如torch.FloatTensor,torch.cuda.FoatTensor

shape:张量的形状,如(64,3,224,224)

device:张量所在设备,GPU/CPU,加速的关键

                                     

3.  张量创建:

1)直接创建

torch.tensor(

data, dtype=None, device=None,

requires_grad=False, pin_menory=False)

pin_menory:存于索页内存

 

2)torch.from_numpy(ndarray)   # 从numpy创建tensor,内存共享

 

3)依据数组创建

torch.zeros((3,3),out=out_t)

torch.zeros_like()

torch.one()

torch.one_like()

torch.full((3,3), 10)

torch.full_like()

 

torch.arange(start,end,step)#等差   【start,end)

torch.linspace(start,end,steps)

 

4)依据概率分布创建

torch.normal(mean,std,out=None)#正态高斯分布,有四种情况(标量/张量)

 

torch.randn(*size,out=None,dtype=None)标准正态分布

*size:张量形状

torch.randn_like()

 

torch.rand(*size,out=None,dtype=None) # [0,1)上均匀分布

torch.rand_like()

torch.randint() #  [low,high)

torch.randint_like()

 

torch.randperm(n,out=None,dtype=torch.int64)# 0—n-1随机排列

n:张量的长度

 

torch.bernoulli(input,*,generator=None,out=None)  #以input概率值,生成伯努利分布

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值