如何解决挥发物已去除,现在无效使用`with torch.no_grad:`代替
我尝试将Show And Tell模型与COCO数据集一起使用。但是,有一次我的Torch程序暂停了。谁能修复我的代码?这是我的代码,导致培训暂停。
_image==null?Center(child: Text('Please Upload a pic'),):
警告在下面。
utils.py:114:UserWarning:volatile已删除,现在无效。与torch.no_grad()一起使用:返回变量(x,volatile = volatile)
解决方法
在新版本的Pytorch中,volatile
被删除,并且Variable
也不必要。
volatile=True
不会跟踪使用autograd
进行的张量的任何计算。
因此,您的函数可以重写为:
import torch
def to_var(x,volatile=True):
if torch.cuda.is_available():
x = x.cuda()
x.requires_grad = not volatile
return x
x = torch.tensor(1.0)
print(x.requires_grad)
x = to_var(x,volatile=True)
print(x.requires_grad)
x = to_var(x,volatile=False)
print(x.requires_grad)
输出:
>>> False
>>> False
>>> True
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。