位置: IT常识 - 正文

在GPU上运行pytorch程序(指定单/多显卡)(用gpu运行python)

编辑:rootadmin
在GPU上运行pytorch程序(指定单/多显卡) 目录

1. 使用CUDA_VISIBLE_DEVICES

2. 使用cuda()和torch.cuda.set_device()

3. 使用device

4. 使用torch.nn.DataParallel


1. 使用CUDA_VISIBLE_DEVICES使用CUDA_VISIBLE_DEVICES设置显卡https://blog.csdn.net/qq_43307074/article/details/1276599672. 使用cuda()和torch.cuda.set_device()

推荐整理分享在GPU上运行pytorch程序(指定单/多显卡)(用gpu运行python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:在gpu上运行的程序,pytorch gpu不可用,pytorch gpu运行,pytorch gpu运行,在GPU上运行MATLAB程序,gpu版本的pytorch可以用cpu跑吗,如何在gpu上运行python,如何在gpu上运行python,内容如对您有帮助,希望把文章链接给更多的朋友!

torch.cuda常用指令https://blog.csdn.net/qq_43307074/article/details/127628498?spm=1001.2014.3001.5501方法1和方法2可以同时使用,比如在运行代码时使用:

CUDA_VISIBLE_DEVICES=2,3 python test.py

而在代码内部又指定:

model.cuda(1)

那么model会在GPU3上运行。原理是CUDA_VISIBLE_DEVICES遍历当前可见的设备,并从零开始为可见设备编号。CUDA_VISIBLE_DEVICES使得只有GPU2,3可见,程序就会把这两张显卡编号为GPU0,1,2,3,cuda(1)把model加载到了GPU1上,则实际使用的显卡是GPU3。

如果利用.cuda()或torch.cuda.set_device()把模型加载到多个显卡上,而实际上只使用一张显卡运行程序的话,那么程序会把模型加载到第一显卡上,在运行代码时使用:

CUDA_VISIBLE_DEVICES=2,3 python test.py

而在代码内部又指定:

model.cuda('cuda:1,0')在GPU上运行pytorch程序(指定单/多显卡)(用gpu运行python)

那么model会在GPU3上运行。

3. 使用device3.1. 检查所用的deviceimport torchx = torch.tensor([[1,2,3],[4,5,6]])print(x.device)

3.2. 模型/数据指定GPU,具体有以下几种形式:import torchcuda = torch.device('cuda:0'/'cuda')x = torch.tensor([1,2,3],device = cuda)print(x.device)import torchdevice = torch.device('cuda:0'/'cuda')x = torch.rand((4,5)).to(device)print(x.device)import torchx = torch.tensor([1,2,3],device = torch.device('cuda:0'/'cuda')print(x.device)import torchdevice = torch.device('cuda:0'/'cuda')...net = net.to(device)print(net.device)

 经典写法:

device=torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

如果想要在其他GPU上运行,举例如下:

import torchimport os os.environ['CUDA_VISIBLE_DEVICES'] = '0,1,2'cuda = torch.device('cuda:1')x = torch.tensor([[1,2,3]],device = cuda)print(x.device)4. 使用torch.nn.DataParallel

多卡数据并行一般使用torch.nn.DataParallel

torch.nn.DataParallel(model,device_ids)举例:torch.nn.DataParallel(model, device_ids=device_ids)torch.nn.DataParallel(modul, device_ids=[x1,x2,x3,x4,x5,x6,x7])# 使用的GPU一定是编号连续的torch.nn.DataParallel(model,device_ids = range(torch.cuda.device_count()) )

其中model是需要运行的模型,device_ids指定部署模型的显卡,数据类型是list/device。

device_ids中的第一个GPU(即device_ids[0])和model.cuda()或torch.cuda.set_device()中的第一个GPU序号应保持一致,否则会报错。此外如果两者的第一个GPU序号都不是0,比如设置为:

model=torch.nn.DataParallel(model,device_ids=[2,3])model.cuda(2)

那么程序可以在GPU2和GPU3上正常运行。device_ids的默认值是使用可见的GPU,不设置model.cuda()或torch.cuda.set_device()等效于设置了model.cuda(0)

具体举例如下:

model = model.cuda()device_ids = [0, 1] model = torch.nn.DataParallel(model, device_ids=device_ids)model = model.to(device)model = nn.DataParallel(model, device_ids=[0,1,2,3])device_ids = [0, 1]model = torch.nn.DataParallel(model, device_ids=device_ids).cuda()

所有的数据要先load到主GPU上,然后再分发给每个GPU去train,因此应当将model先放到GPU上,然后在进行并行训练。

参考

在pytorch中指定显卡https://zhuanlan.zhihu.com/p/166161217

本文链接地址:https://www.jiuchutong.com/zhishi/290663.html 转载请保留说明!

上一篇:vue查询数据el-table不更新数据(vue 查询)

下一篇:威斯康星州的白尾母鹿和小鹿 (© Karel Bock/Shutterstock)(威斯康星州1976)

  • 信息铃声和微信铃声怎么分开(信息铃声和微信铃声能互传吗)

    信息铃声和微信铃声怎么分开(信息铃声和微信铃声能互传吗)

  • vivos9支持的4G频率有哪些(vivo s9能用4g卡吗)

    vivos9支持的4G频率有哪些(vivo s9能用4g卡吗)

  • 11能无线充电吗(苹果11能无线充电吗)

    11能无线充电吗(苹果11能无线充电吗)

  • 苹果手机显示中国电信但是没信号(苹果手机显示中文怎么设置)

    苹果手机显示中国电信但是没信号(苹果手机显示中文怎么设置)

  • 小米商城什么时候停止发货(小米商城什么时候降价)

    小米商城什么时候停止发货(小米商城什么时候降价)

  • 苹果手机显示面容ID不可用是什么原因(苹果手机显示面容不可用是什么意思)

    苹果手机显示面容ID不可用是什么原因(苹果手机显示面容不可用是什么意思)

  • 大脚插件怎样调双采集(大脚插件debuff位置调整)

    大脚插件怎样调双采集(大脚插件debuff位置调整)

  • stk_aloo什么型号(型号stk-al00)

    stk_aloo什么型号(型号stk-al00)

  • qq解除关系是对方删的还是自己(qq解除关系对方还有聊天记录吗)

    qq解除关系是对方删的还是自己(qq解除关系对方还有聊天记录吗)

  • 华为nova2是什么时候出的(华为nova2是什么接口)

    华为nova2是什么时候出的(华为nova2是什么接口)

  • 笔记本和电脑有什么区别(笔记本和电脑有什么不同)

    笔记本和电脑有什么区别(笔记本和电脑有什么不同)

  • 剪映app如何编辑视频(剪映APP如何编辑每张照片时)

    剪映app如何编辑视频(剪映APP如何编辑每张照片时)

  • 苹果怎么升级ios13(苹果怎么升级ios16.6)

    苹果怎么升级ios13(苹果怎么升级ios16.6)

  • 手机怎么设置ie兼容模式(手机怎么设置IE浏览器)

    手机怎么设置ie兼容模式(手机怎么设置IE浏览器)

  • 手机换壁纸怎么换(手机换壁纸怎么操作)

    手机换壁纸怎么换(手机换壁纸怎么操作)

  • 一加7T怎么设置抬手亮屏(一加7t怎么设置地震预警)

    一加7T怎么设置抬手亮屏(一加7t怎么设置地震预警)

  • 荣耀20怎么开锁屏(荣耀20怎么开锁屏声音)

    荣耀20怎么开锁屏(荣耀20怎么开锁屏声音)

  • 猎装版是什么意思(猎装版是旅行版吗)

    猎装版是什么意思(猎装版是旅行版吗)

  • 自己发的抖音怎么看不到(自己发的抖音怎么去水印)

    自己发的抖音怎么看不到(自己发的抖音怎么去水印)

  • 怎样关闭锁屏上的新闻(怎样关闭锁屏上的新闻视频推荐)

    怎样关闭锁屏上的新闻(怎样关闭锁屏上的新闻视频推荐)

  • 7p发热严重是什么问题(iphone7p严重发热)

    7p发热严重是什么问题(iphone7p严重发热)

  • 为什么显示4g却没网络(为什么显示4g却不能上网)

    为什么显示4g却没网络(为什么显示4g却不能上网)

  • 解决 Uncaught SyntaxError: Unexpected token ‘<‘ 解决方法(解决脱发的8个方法)

    解决 Uncaught SyntaxError: Unexpected token ‘<‘ 解决方法(解决脱发的8个方法)

  • freedom.exe进程是什么文件 作用是什么 freedom进程查询(zmweb.exe是什么进程)

    freedom.exe进程是什么文件 作用是什么 freedom进程查询(zmweb.exe是什么进程)

  • python中string和float之间的转换(python中的string)

    python中string和float之间的转换(python中的string)

  • 社保与个税有关系么
  • 报销单据粘贴单图片
  • 农产品普票进项税抵扣怎么做账
  • 合并报表无形资产摊销时间
  • 初级会计考试税率要记吗
  • 一般纳税人减免增值税政策
  • 小额贷款公司的钱从哪里来
  • 向境外分配股息
  • 增值税发票密码忘记了怎么办
  • 哪些合同不需要缴纳印花税的通知
  • 建筑业企业分包出克的是否能上报
  • 出口退回的增值税计入哪个会计科目
  • 偿债基金公司债
  • 企业进货不收发票怎么做帐?
  • 报废资产取得的增值税
  • 委托加工几个点
  • 工程改造合同印花税
  • 装修期间用电
  • 特许权使用费分摊比例怎么算
  • 装修公司一般纳税人纳税标准
  • 简并税率后,申报增值税要注意哪几点?
  • 单位参加城镇职工基本养老保险基数怎么填
  • 房租摊销表怎么做
  • 外卖收入增值税怎么算
  • 退税收入计入营业外收入吗
  • 耳机插在电脑上有滋滋的声音
  • 商业意外险进项可以抵扣吗
  • 建筑业 分包
  • 关于汇算清缴的问题
  • 公司logo设计费是业务宣传费吗
  • php date format
  • yolov5 ios
  • 融资租入固定资产是什么意思
  • 蒙特城堡干红葡萄酒价格
  • 发行通告
  • 消费税减免规定有哪些
  • 结转出口退税分录
  • 软件开发属于技术合同吗
  • 函数模拟图
  • 织梦内容页模板修改
  • 物流货物丢失赔偿按照运费10倍
  • 施工企业的汇兑损失属于财务费用
  • 药店主营业务成本怎么算出来的
  • SQL SERVER使用的是( )逻辑模型
  • 车间装修预算表
  • 收到季度房租需要分摊吗
  • 私车公用发票去哪个税务局开
  • 合并财务报表内部往来如何抵消
  • 无法收回离职员工合法吗
  • 企业有进项税额,无销项税额
  • 一般纳税人在外地预缴税款,预缴多了需不需退税
  • 安全生产费相关规定
  • 无形资产摊销的会计科目怎么录
  • 进口材料是什么意思
  • 公司不注销有什么影响吗
  • 如何更换会计账号
  • sqlserver用户权限不给增删查改表结构权限
  • centos中rpm包怎么安装
  • u盘安装vista
  • xp主题设置
  • centos virsh
  • win8只能应用商店下软件吗
  • linux系统漏洞总结
  • win8打开ie
  • Win10预览版更新弹窗如何关闭
  • linux 端口号
  • WIN10系统安装.net报错0x80072f8F
  • 有哪些好用的linux
  • linux那么多命令怎么记
  • perl使用保留字引用什么模块
  • unity3d 游戏开发 消息通信
  • 微信小程序tabbar字体颜色
  • javascript中数组
  • unity入门教学
  • python九大特点
  • python魔法方法详解
  • python仿站软件官网
  • 如何打印个人所得税的税单
  • 广西个人医保缴费时间
  • 国家税务总局176号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设