Python技术迷

PyTorch 教程-PyTorch中的梯度

整理:python架构师

在这一部分,我们将讨论导数以及如何在PyTorch中应用它们。让我们开始吧。

梯度用于找到函数的导数。在数学术语中,导数意味着对函数进行部分微分并找到值。

下面是如何计算函数的导数的示意图。

Image

Image

我们在图中上面所做的工作,将在PyTorch中使用梯度完成相同的工作。要找到函数的导数,有以下步骤。

  1. 我们首先要初始化要计算导数的函数(y=3x3 +5x2+7x+1)。

  2. 下一步是设置函数中使用的变量的值。变量x的值设置如下。

    X= torch.tensor (2.0, requires_grad=True)  
    我们通常需要梯度来找到函数的导数。
  3. 接下来是通过简单地使用backward()方法计算函数的导数。

  4. 最后一步是使用grad访问或打印导数的值。

专属福利 

👉点击领取:最全Python资料合集

让我们看一个找到导数的例子:

import torch  x=torch.tensor(2.0, requires_grad=True)  y=8*x**4+3*x**3+7*x**2+6*x+3  y.backward()  x.grad  

输出:

tensor(326.)

Image

另一个例子

import torch  x=torch.tensor(2.0, requires_grad=True)  z=torch.tensor(4.0, requires_grad=True)  y=x**2+z**3  y.backward()  x.grad  z.grad  

输出:

tensor(4.)tensor(48.)
Image
 1
Image
热门推荐
Image