pytorch transpose 转置和梯度的传播

今天写代码的时候遇到一个需要进行转置的矩阵,由于涉及到梯度反传,所以有疑问转置之后的矩阵在转置之前的梯度是否存在,经过验证,转置不影响梯度的传播

import torch

x = 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,pytorch,人工智能,python)