繁体   English   中英

在 PyTorch 中获取张量的 autograd 计数器

[英]Getting the autograd counter of a tensor in PyTorch

我正在使用 PyTorch 来训练网络。 我正在阅读 autograd 文档, 这里提到每个张量都有一个计数器,autograd 实现了一个计数器来跟踪任何张量的“版本”。 我怎样才能为图中的任何张量获得这个计数器?

我需要它的原因。

我遇到了 autograd 错误

[torch.cuda.FloatTensor [x, y, z]],是torch::autograd::CopySlices的输出0,版本7; 而是预期的版本 6。 提示:上面的回溯显示了未能计算其梯度的操作。 有问题的变量在那里或以后的任何地方发生了变化。 祝你好运!

这对我来说并不新鲜,而且我以前成功地处理过它。 这一次我不明白为什么张量会是第 7 版而不是第 6 版。要回答这个问题,我想知道运行中任何给定点的版本。

谢谢。

它可以通过命令tensor_name._version获得。

作为如何使用它的示例,提供了以下 MSE。

import torch

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM