本文主要是介绍pytorch transpose 转置和梯度的传播,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天写代码的时候遇到一个需要进行转置的矩阵,由于涉及到梯度反传,所以有疑问转置之后的矩阵在转置之前的梯度是否存在,经过验证,转置不影响梯度的传播
import torchx = torch.ones(2, 2, requires_grad=True)
y = x*8
z = y.transpose(0,1)
z=z*2
out =z[0][0]
# 求梯度 backward()
out.backward()
# 查看梯度
print(x.grad)“”“
梯度为16,是转置前和转之后共同决定的
tensor([[16., 0.],[ 0., 0.]])
“””
这篇关于pytorch transpose 转置和梯度的传播的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!