Pytorch入门——Autograd:自动分化

PyTorch的Autograd核心组件用于Tensor的自动微分,构建了计算图。变量是中央类,包含张量并支持自动计算梯度。每个变量有历史记录,可通过调用.backward()计算导数。此外,介绍了如何创建和操作变量以及如何利用梯度进行计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上一篇博客已经对Pytorch的Tensor进行了快速介绍,本章将继续学习autograd包。autograd包是PyTorch所有神经网络的核心,为Tensors上的所有操作提供了自动区分。同时,它也是一个逐个运行的框架,意味着backprop由代码运行定义,每一次迭代都可以不同,下面进行一一介绍autograd包中的变量和梯度。

1.变量

autograd.Variable是包的中央类,包含一个张量,并支持几乎所有定义的操作,在完成计算后,调用.backward()并自动计算所有梯度。可以通过.data属性访问原始张量,而将此变量的梯度累加到.grad;还有一个类对于autograd实现非常重要 - a Function
这里写图片描述
VariableFunction互连并建立一个非循环图,编码完整的计算历史。 每个变量都有一个.grad_fn属性,它引用了一个已经创建了VariableFunction(除了用户创建的变量代替creator is None)。

如果要计算导数,可以在变量上调用.backward()。 如果Variable是一个标量(即它包含一个元素数据),则不需要为backward()指定任何参数,但是如果它有更多元素,则需要指定一个grad_output参数,该参数是匹配形状的张量。

导入autograd包及Vari

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值