pytorch中反向传播和求导的理解

一、简单的求导

此时的x,y是自变量,如果需要对该自变量反向传播求导,必须在定义的时候,加上requires_grad=True

z是结果,是一个标量,即只有一个元素,可以正常反向传播求导。

如果要查看对哪个自变量的求导值,直接该自变量调用.grad就可以获取到z对该自变量的求导值

二、特殊情况求导

此时,x是一个list,包含两个元素,y是结果值,也是包含2个元素的list类型。

这个时候相当于一个矩阵对另外一个矩阵求导了,这个怎么能求呢,没法做

只有结果值y是标量的时候才可以正常求导,修改如下:

这个时候就相当于y=x1**2+x2**2,y就变成了一个标量值了,就可以正常求导了,求出的导数也是list,分别对x1和x2的导数。

 

posted @ 2022-05-18 19:12  光彩照人  阅读(253)  评论(0)    收藏  举报