在PyTorch中获取张量的自动求导计数器

3
我正在使用PyTorch来训练一个神经网络。在阅读autograd文档时,我发现这里提到,autograd为每个张量实现了一个计数器来跟踪任何张量的“版本”。 我如何获取图中任何张量的计数器? 我需要它的原因。 我遇到了autograd错误

[torch.cuda.FloatTensor [x, y, z]],它是torch::autograd::CopySlices 的输出0,其版本为7;而期望版本为6。提示:上面的回溯显示了无法计算梯度的操作。问题变量已在其中或之后的任何位置更改。祝你好运!

这对我来说并不新鲜,我以前成功地处理过。这一次,我无法理解为什么张量的版本会是7而不是6。为了回答这个问题,我想知道在运行的任何时刻张量的版本号。
谢谢。
1个回答

2

可以通过命令tensor_name._version获取。

下面提供了一个使用示例,包括MSE。

import torch

a = torch.zeros(10, 5)
print(a._version)  # prints 0
a[:, 1] = 1
print(a._version)  # prints 1  

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接