与torch.no_grad:AttributeError:__enter__
Posted
技术标签:
【中文标题】与torch.no_grad:AttributeError:__enter__【英文标题】:with torch.no_grad: AttributeError: __enter__ 【发布时间】:2021-06-19 00:24:10 【问题描述】:with torch.no_grad:AttributeError: __enter__
我在运行 pytorch 代码时遇到此错误。
我有torch==0.4.1 torchvision==0.3.0,我在google colab 中运行代码。
【问题讨论】:
【参考方案1】:torch.no_grad
是一个上下文管理器,它确实有 __enter__
和 __exit__
。
你应该将它与with
语句一起使用,像这样
with context_manager():
pass
因此,只需将with torch.no_grad:
(访问属性)替换为with torch.no_grad():
(调用方法)即可正确使用上下文管理器。
【讨论】:
感谢您的支持:) 我遇到了另一个错误:RuntimeError: One of the distinct Tensors does not require grad 你有什么想法吗?? @DayanandDhumala 我不熟悉您的计算图,但在创建张量时尝试为该张量设置requires_grad=True
,例如my_tensor = torch.tensor([1], requires_grad=True)
或 my_tensor.requires_grad = True
你好@trsvchn:以上是关于与torch.no_grad:AttributeError:__enter__的主要内容,如果未能解决你的问题,请参考以下文章
【Pytorch】model.eval() vs torch.no_grad()
pytorch 笔记:validation ,model.eval V.S torch.no_grad
pytorch中model.eval()和torch.no_grad()的区别
pytorch中model.eval()和torch.no_grad()的区别
pytorch torch.no_grad()函数(禁用梯度计算)(当确保下文不用backward()函数计算梯度时可以用,用于禁用梯度计算功能,以加快计算速度)