簡體   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