【问题标题】:Can I change volatile = False to torch.set_grad_enabled(True)??(in Pytorch)我可以将 volatile = False 更改为 torch.set_grad_enabled(True) 吗??(在 Pytorch 中)
【发布时间】:2020-07-22 00:56:52
【问题描述】:

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

next_q_values.volatile=False

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

当我运行这段代码时:

发生错误:“volatile 已被删除,现在与 改为torch no_grad”

搜索后知道volatile = Truetorch.no_grad()一样, 但是我想用volatile = False,所以我不能用torch.no_grad()

我可以将volatile = False 更改为torch.set_grad_enabled(True) 吗?

【问题讨论】:

    标签: python pytorch


    【解决方案1】:

    如果你有:

    next_q_values.volatile = False
    

    你可以改成:

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

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

    【讨论】:

    • 你好。感谢您的回答!在discuss.pytorch.org/t/…,volatile = True 改为 torch.no_grad() 但是我的代码是 volatile = False,所以我觉得我不能用 torch.no_grad()
    • @PeterKim 在这种情况下,只需删除 next_q_values.volatile = False 就可以了。
    猜你喜欢
    • 2016-09-23
    • 2021-11-08
    • 2021-07-04
    • 1970-01-01
    • 2017-11-05
    • 2013-09-09
    • 2023-03-08
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多