Pytorch 如何将丢失期间发生的情况可视化。backward()?

Pytorch 如何将丢失期间发生的情况可视化。backward()?,pytorch,backpropagation,Pytorch,Backpropagation,我对我的模型向前传球的理解很有信心,我如何控制它的向后传球 这不是一个关于什么是反向传播的理论问题。问题是一个实际的问题,关于是否有适合可视化/跟踪/控制反向传播过程中发生的事情的工具 理想情况下,该工具将允许可视化模型计算图(模型操作图)、输入和可训练参数的结构 现在,我要: loss.backward() 我想把这一步中发生的事情形象化。已经有人提到了pytorchviz,它可以让你形象化图形 下面是一个小示例,可以帮助您理解pytorchviz如何使用grad\u fn跟踪图形: 导入火

我对我的模型向前传球的理解很有信心,我如何控制它的向后传球

这不是一个关于什么是反向传播的理论问题。问题是一个实际的问题,关于是否有适合可视化/跟踪/控制反向传播过程中发生的事情的工具

理想情况下,该工具将允许可视化模型计算图(模型操作图)、输入和可训练参数的结构

现在,我要:

loss.backward()

我想把这一步中发生的事情形象化。

已经有人提到了
pytorchviz
,它可以让你形象化图形

下面是一个小示例,可以帮助您理解
pytorchviz
如何使用
grad\u fn
跟踪图形:

导入火炬
从火炬进口
d=5
x=火炬。兰德(d,需要_grad=真)
打印('x张量:',x)
y=火炬。1(d,需要_grad=真)
打印('y张量:',y)
损失=火炬总数(x*y)*3
德尔克斯
打印()
print('回溯张量:')
def返回(变量梯度fn):
打印(变量梯度fn)
对于var_grad_fn.next_函数中的n:
如果n[0]:
尝试:
张量=getattr(n[0],“变量”)
打印(n[0])
打印('找到梯度的张量:',张量)
打印('-gradient:',张量梯度)
打印()
除属性错误为e外:
返回(n[0])
loss.backward()
返回(损失梯度fn)
输出:

张量x:Tensor([0.0042,0.5376,0.7436,0.2737,0.4848],需要_grad=True)
张量y:张量([1,1,1,1,1.],需要_grad=True)
追溯张量:


希望这有点帮助

不幸的是,这个问题仍然是离题的,因为您要求推荐一个工具或软件。我认为你最好在另一个网站上寻找一些工具。好的,这里也应该有一些问题可以解决这个问题。那么我应该删除它吗?我不知道是否只有Pytork才能回答我的问题。如果有人用那种方式回答这个问题,对我来说似乎并不离题。此外,在这个问题上“在那里”找到答案其实并不容易。这个问题不属于这里,但我仍将努力解决它。-您可以使用torchviz进行可视化—如果您想看到一些学术论文,可以了解反向传播—如果您想要更多类似示例的代码,可以查看autograd()。pytorch的签名就是基于此此处实现了autograd的教程版本()。