Advertisement

PyTorch核心内容(三)——详细讲解PyTorch的自动求导机制

阅读量:

目录

    • 一、自动微分原理
      • 二、具体实例解析

        • 2.1 情况说明
        • 2.2 曲线图形展示
        • 2.3 导数计算过程
        • 2.4 梯度信息查看
        • 2.5 完整程序代码
      • 三、第二种方法

一、自动求导机制

神经网络在参数更新过程中通常借助反向传播算法来计算梯度,而这一过程往往具有较高的复杂性且容易出现错误。PyTorch深度学习框架能够有效协助用户自动完成梯度的计算任务。在进行梯度计算之前,需明确哪些变量需要参与梯度运算,并将对应张量的requires_grad参数设为True。PyTorch一般通过执行反向传播的backward方法实现梯度的求解,该方法所得到的梯度信息将被存储于相关自变量张量的grad属性中,进而通过调用grad属性即可完成梯度的获取。此外,也可以借助torch.autograd.grad函数来进行梯度计算。

这正是PyTorch所具备的自动求导机制

二、实例分析与应用展示

2.1 案例描述

计算函数y=a*x^2+b*x+cx=2位置的导数值,已知参数a=1b=-2c=1,即该函数可表示为y=x^2-2x+1

2.2 曲线可视化

为便

全部评论 (0)

还没有任何评论哟~