当前位置: 代码网 > it编程>前端脚本>Python > Pytorch如何指定device(cuda or cpu)

Pytorch如何指定device(cuda or cpu)

2024年07月05日 Python 我要评论
pytorch指定device(cuda or cpu)torch.device()在pytorch中,你可以使用torch.device函数来设置设备(device)。这个函数接受一个字符串作为参数

pytorch指定device(cuda or cpu)

torch.device()

在pytorch中,你可以使用torch.device函数来设置设备(device)。

这个函数接受一个字符串作为参数,该字符串可以是 "cpu" 或 "cuda",它指定了要在哪个设备上运行张量计算。

# 使用cpu  
device = torch.device("cpu") 
 
  
# 使用gpu(如果可用)  
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

device = torch.device("cuda:0")

device = torch.device("cuda:1")

os.environ['cuda_visible_devices']

全局指定只能识别的cuda编号

os.environ['cuda_visible_devices'] 

是一个在运行 python 程序时可以设置可见的 cuda 设备的环境变量。

这个环境变量可以控制哪些 gpu 设备对 python 程序是可见的。

例如:

如果你想让你的程序只能看到编号为 0 的 gpu,你可以在运行程序前设置这个环境变量:

import os  
os.environ['cuda_visible_devices'] = '0'

或者你也可以设置多个 gpu,只需将它们的编号以逗号分隔:

import os
os.environ['cuda_visible_devices'] = '0,1'

如果你想让程序对所有 gpu 都可见,只需将环境变量设置为空字符串:

os.environ['cuda_visible_devices'] = ''

说说torch.device的作用

torch.device代表将torch.tensor分配到的设备的对象。

torch.device包含一个设备类型(‘cpu’或‘cuda’)和可选的设备序号。

如果设备序号不存在,则为当前设备。

如:torch.tensor用设备构建‘cuda’的结果等同于‘cuda:x’,其中x是torch.cuda.current_device()的结果。

#开始脚本,创建一个张量
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
...
#但是无论你获得一个新的tensor或者module
#如果他们已经在目标设备上则不会执行复制操作
input = data.to(device)
model = mymodule(...).to(device)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com