我目前正在使用 tensor.resize() 函数将张量调整为新的形状 t = t.resize(1, 2, 3)
。
这会给我一个弃用警告:
非就地调整大小已被弃用
因此,我想切换到 tensor.resize_()
函数,它似乎是适当的就地替换。然而,这让我遇到了一个
无法调整需要梯度的变量
错误。 我可以退回到
from torch.autograd._functions import Resize
Resize.apply(t, (1, 2, 3))
这就是为了避免过时警告而使用的tensor.resize()
的作用。但我认为这似乎不是一个合适的解决方案,而是一个hack。
在这种情况下,应该如何正确使用tensor.resize_()
呢?
t.size()
输出:torch.Size([16, 512, 8, 10, 2])和torch.Size([16, 512, 8, 20])。 - LL_view
或reshape
(从版本0.4.0开始)。 - MBT