属性错误:模块“火炬”没有属性“设备”

Aer*_*rin 3 python pytorch

---> 13 device = torch.device({"cuda"} if torch.cuda.is_available() else {"cpu"})
     14
     15

AttributeError: module 'torch' has no attribute 'device'
Run Code Online (Sandbox Code Playgroud)

我 99% 确定这是因为我没有将 pytorch 从 0.31 升级到 0.4,但我现在无法升级 pytorch。

我需要将 .device (0.4) 转换为可在 0.31 中运行的内容。

我检查了迁移文档 ,但它没有提供如何转换 torch.device 。请帮忙!

Was*_*mad 6

torch.cuda.device()是一个上下文管理器。

torch.cuda.set_device(0)
# On device 0
with torch.cuda.device(1):
    print("Inside device is 1")    
    # On device 1
print("Outside is still 0")
# On device 0
Run Code Online (Sandbox Code Playgroud)

以上是从0.2版本开始工作的。