本文记录 pytorch: can’t optimize a non-leaf Tensor 解决方案。
错误
代码语言:javascript复制运行优化时报错
from torch import optim
weights = torch.rand(2,1,128,416)
weights.requires_grad = True
weights = weights.cuda()
optimizer = optim.Adam([weights], lr=0.01)
- 报错: can’t optimize a non-leaf Tensor
解决方案
代码语言:javascript复制需要先把Tensor放入到GPU中,然后再设置Tensor.requires_grad=True。
from torch import optim
weights = torch.rand(2,1,128,416)
weights = weights.cuda()
weights.requires_grad = True
optimizer = optim.Adam([weights], lr=0.01)
参考资料
- https://blog.csdn.net/nkhgl/article/details/100047276