pytorch中backward()函数详解
最近由于实际需要在学习pytorch,作为深度学习中最为重要的反向传播计算,pytorch用非常简单的backward( )函数就实现了,但是在实现过程中对于其参数存在一些疑问,下面就从pytorch中反向传播求导的计算方式,backward( )函数参数来进行说明。 这里首先还是放出backward( )函数的pytorch文档,因为整个说明主要还是围绕这个函数来进行的。 问题描述 从上面的文档可以看到backward函数有一个奇怪的参数:grad_tensors,在实现pytorch的官方教程中可以发现: import torch import torch . nn as nn x = torch . tensor ( [ 2 , 3 , 4 ] , dtype = torch . float , requires_grad = True ) print ( x ) y = x * 2 while y . norm ( ) < 1000 : y = y * 2 print ( y ) y . backward ( torch . ones_like ( y ) ) print ( x . grad ) 上面的程序的输出为: tensor ( [ 2 . , 3 . , 4 . ] , requires_grad = True ) tensor ( [ 512 . , 768 .