首页 > 解决方案 > 我可以将 volatile = False 更改为 torch.set_grad_enabled(True) 吗??(在 Pytorch 中)

问题描述

我有旧的 python 代码,所以我需要更改一些部分。

next_q_values.volatile=False

我有这个代码,next_q_values 是'torch.Tensor'

当我运行此代码时:

发生错误:“volatile 已被删除,现在与 torch no_grad 一起使用没有效果”

经过搜索,我知道volatile = True与 相同torch.no_grad(),但我想使用volatile = False,所以我不能使用torch.no_grad()

我可以改成volatile = Falsetorch.set_grad_enabled(True)

标签: pythonpytorch

解决方案


如果你有:

next_q_values.volatile = False

您可以将其更改为:

with torch.no_grad():
    next_q_values
    ...
    # You do something with next_q_values here

每个操作next_q_values都应该在上下文管理器的范围内。


推荐阅读