首页 > 编程知识 正文

back与backward的区别,pytorch forward函数

时间:2023-05-06 17:09:57 阅读:175218 作者:4968

在pytorch中,用backward法自动求取梯度1、区分原始殷勤花瓣和结果殷勤花瓣2、backward (用法自动求取梯度2.1、结果殷勤花瓣为一维殷勤花瓣2.2、结果殷勤花瓣

1、区分源殷勤花瓣和结果殷勤花瓣x=torch.arange (-8.0,8.0,0.1,requires_grad=True ) y=x.relu )

x是殷勤的花瓣,根据源殷勤的花瓣x得到的殷勤的花瓣y,结果是殷勤的花瓣。

2、如何backward ) )方法自动求梯度标量调用backward ) )方法时,根据链式法则自动计算出出处殷勤的花瓣梯度值。

2.1、结果殷勤的花瓣是一维殷勤的花瓣,就是基于以上例子。 也就是说,将一维殷勤的花瓣y变换为标量后,通过调用backward ()方法,可以自动计算出x的梯度值。

那么,如何将一维殷勤的花瓣y变成标量呢?

一般来说,是通过将y.sum ()这一维殷勤的花瓣y相加来实现的。

一维殷勤花瓣是一个向量,将一维殷勤花瓣求和等于该向量点乘以等维单位向量,使用求和得到的标量y.sum()对源殷勤的花瓣x求导y的每个元素对x的每个元素求导的结果相同

因此,代码应如下所示:

y.sum ().backward ) x.grad 2.2,结果表明殷勤的花瓣为二维殷勤的花瓣或更高维的殷勤的花瓣。 结果变量y可能是二维殷勤花瓣或更高维殷勤花瓣。 在这种情况下,一般的点乘可以理解为等维单位的殷勤花瓣。 (点乘是向量中的概念,如此记述

y.Backward(Torch.Ones_like(y ) ) grad_Tensors=Torch.Ones_like ) y ) x.grad参见Pytorch autograd,backward

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。