pytorch transpose 转置和梯度的传播

2023-12-16 16:43:49

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

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.]])
“””

文章来源:https://blog.csdn.net/qq_45193988/article/details/135033129
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。