PyTorch中怎么进行梯度计算和反向传播

avatar
作者
筋斗云
阅读量:1

在PyTorch中,可以通过torch.autograd模块来进行梯度计算和反向传播。以下是一个简单的示例代码:

import torch  # 创建一个张量并设置requires_grad=True来追踪其计算历史 x = torch.tensor([2.0], requires_grad=True) y = torch.tensor([3.0], requires_grad=True)  # 定义一个计算图 z = x * y  # 计算z相对于x和y的梯度 z.backward()  # 访问x和y的梯度 print(x.grad)  # 输出tensor([3.]) print(y.grad)  # 输出tensor([2.]) 

在这个示例中,我们首先创建了两个张量xy,并设置requires_grad=True来追踪它们的计算历史。然后我们定义了一个计算图z = x * y,然后调用z.backward()来计算z相对于xy的梯度。最后我们可以通过访问x.grady.grad来获取梯度值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!