位置: 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)

  • 快手怎么设置公开收藏列表(快手怎么设置公开点赞)

    快手怎么设置公开收藏列表(快手怎么设置公开点赞)

  • 2022怎么办理商家收款二维码(商行怎么办营业执照)

    2022怎么办理商家收款二维码(商行怎么办营业执照)

  • 小世界怎么看浏览记录(怎么在小世界里面看历史记录)

    小世界怎么看浏览记录(怎么在小世界里面看历史记录)

  • excel如何设置下拉选项(EXCEL如何设置下拉框选项)

    excel如何设置下拉选项(EXCEL如何设置下拉框选项)

  • 高德打车如何投诉的呢(高德打车如何投诉司机最有效)

    高德打车如何投诉的呢(高德打车如何投诉司机最有效)

  • 微信被限制收款是因为什么(微信被限制收款怎么解除)

    微信被限制收款是因为什么(微信被限制收款怎么解除)

  • 华为mate30素皮是什么材质

    华为mate30素皮是什么材质

  • iphonex已停用解锁教程(iphonex出现已停用?先别忙着刷机,试试这招!)

    iphonex已停用解锁教程(iphonex出现已停用?先别忙着刷机,试试这招!)

  • 华为电脑云端登录手机会提示吗(电脑登陆华为云账号会有提示吗)

    华为电脑云端登录手机会提示吗(电脑登陆华为云账号会有提示吗)

  • 抖音怎么看不到音浪(抖音怎么看不到对方的作品)

    抖音怎么看不到音浪(抖音怎么看不到对方的作品)

  • 小米10多厚(小米10真机厚度感人)

    小米10多厚(小米10真机厚度感人)

  • 手机连打印机离线状态怎么办(手机连打印机离线怎么办)

    手机连打印机离线状态怎么办(手机连打印机离线怎么办)

  • 淘宝显示经常购物互动是什么意思(淘宝总购买失败怎么回事)

    淘宝显示经常购物互动是什么意思(淘宝总购买失败怎么回事)

  • airpods保修需要发票吗(airpods保修需要什么凭证)

    airpods保修需要发票吗(airpods保修需要什么凭证)

  • 华为动态照片能分享吗(华为动态照片能设置动态壁纸吗)

    华为动态照片能分享吗(华为动态照片能设置动态壁纸吗)

  • 苹果手机下拉半屏有什么用(苹果手机下拉半屏怎么拉)

    苹果手机下拉半屏有什么用(苹果手机下拉半屏怎么拉)

  • 腾讯会议为什么进不去(腾讯会议为什么打不开摄像头)

    腾讯会议为什么进不去(腾讯会议为什么打不开摄像头)

  • 华为手机怎么拍不了照片(华为手机怎么拍试卷去答案)

    华为手机怎么拍不了照片(华为手机怎么拍试卷去答案)

  • 苹果手机怎么关闭静音(苹果手机怎么关闭境外来电)

    苹果手机怎么关闭静音(苹果手机怎么关闭境外来电)

  • 港版iphone11支持电信吗(港版的苹果11)

    港版iphone11支持电信吗(港版的苹果11)

  • 苹果11访问限制在哪(苹果11访问限制无法退出ID怎么办)

    苹果11访问限制在哪(苹果11访问限制无法退出ID怎么办)

  • 滴滴服务分多久升一次(滴滴服务分多久刷新一次)

    滴滴服务分多久升一次(滴滴服务分多久刷新一次)

  • 360摄像头时间修改(360摄像头修改wifi密码)

    360摄像头时间修改(360摄像头修改wifi密码)

  • 网易云耳机适配在哪里(网易云耳机适配推荐)

    网易云耳机适配在哪里(网易云耳机适配推荐)

  • 红包收不了是什么原因(突然红包收不了钱)

    红包收不了是什么原因(突然红包收不了钱)

  • 三星s10和s9区别(三星s10和三星s9+哪个好)

    三星s10和s9区别(三星s10和三星s9+哪个好)

  • 网店怎么推广(网店怎么推广效果会好一点)

    网店怎么推广(网店怎么推广效果会好一点)

  • phpcms如何调取栏目图片(phpcms采集教程)

    phpcms如何调取栏目图片(phpcms采集教程)

  • 2023增值税最新税率
  • 厂家返点是什么意思
  • 小规模未开票收入填在哪里
  • 固定资产变卖怎么开票
  • 出口退税勾选后多久可以申报退税
  • 金蝶软件制造费用结转步骤
  • 施工单位的产值报告模板
  • 税务筹划的12种方法知乎
  • 非经营性资产包括哪些科目
  • 利润表中第3栏营业税金及附加等于什么
  • 自产的产品
  • 定期定额纳税申报表应税项应填哪个数
  • 工资结算单属于通用凭证吗
  • 退货手续费账务怎么处理
  • 外购货物对外捐赠企业所得税
  • 二房东转租如何办理营业执照
  • 营改增后无形资产的出租和出售都属于增值税纳税范围
  • 联营和合营的区别
  • 公司股东法人变更流程
  • 递延收益摊销包含哪些
  • 拍卖中,必须规定一切税费由买受人承担吗?
  • 防暑降温列支什么费用
  • 发出商品退回
  • 研发费用的
  • 交通运输服务增值税税率
  • 微软输入法打不出汉字只有拼音
  • 收到进项专用发票会计分录
  • 鸿蒙系统怎么切换回安卓
  • 结转到生产成本的科目
  • hbuilder打包apk
  • php 字符串 数组
  • PHP:spl_autoload_unregister()的用法_spl函数
  • 应用程序无法正常启动0xc000007b
  • linux入门学习
  • vue click触发两次
  • laravel框架的优缺点
  • 应收账款净额可以是负数吗
  • uniapp编译原理
  • 资产评估中折现怎么算
  • 增值税核算应采用什么科目
  • php中实现文件上传需要用到哪几个函数
  • 行人重识别map
  • 机器学习评估指标 - f1, precision, recall, acc, MCC
  • 防抖节流实现原理
  • 前端脚本开发
  • which 查找文件
  • phpcms v9官网
  • 银行承兑是什么意思
  • php 时间
  • sql实现split函数的脚本
  • 计提固定资产折旧账务处理
  • 年底做账流程
  • 收到外币收入怎么处理
  • 查补以前年度所得税
  • 以前年度损益调整是什么意思
  • 小规模纳税人低值易耗品摊销方法
  • 河道管理费和水利基金
  • 有哪些不动产
  • 收到上市公司分红企业所得税减半征收的情景
  • linux怎么禁用防火墙
  • 在window中
  • ibm笔记本开机进不去系统
  • win10以管理员身份登录电脑
  • 远程电脑屏幕桌面图标什么都没有了
  • windows10储存
  • 透视投影的作用
  • android pageview
  • nodejs开发文档
  • vue3.0diff
  • javascript的介绍
  • js indexof 对象
  • 利用python中的运算符可以编程解决你身边的哪些问题
  • js有几种模式
  • eclipse的ssh框架搭建
  • Android-Universal-Image-Loader最新框架解析
  • 怎么检查手机网络
  • 代理记账公司自查自纠情况报告范文
  • 出口免税不退税主要适用于
  • 国家税务总局公务员招录公告
  • 党建共建的目的意义
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设