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

  • 支付宝共同账户怎么开(夫妻支付宝共同账户)

    支付宝共同账户怎么开(夫妻支付宝共同账户)

  • mkv和mp4什么区别(mkv转换mp4格式用什么转换器)

    mkv和mp4什么区别(mkv转换mp4格式用什么转换器)

  • 淘宝手机号登录受限(淘宝手机号登录需要验证码吗)

    淘宝手机号登录受限(淘宝手机号登录需要验证码吗)

  • 苹果手机的短信怎么导入另外一个手机(苹果手机的短信怎么导入另一个苹果手机)

    苹果手机的短信怎么导入另外一个手机(苹果手机的短信怎么导入另一个苹果手机)

  • 淘金币抵扣退款金币会退回吗(淘金币抵扣后退货退款,淘金币也会退回吗?)

    淘金币抵扣退款金币会退回吗(淘金币抵扣后退货退款,淘金币也会退回吗?)

  • 美团到店自取怎么确认收货(美团到店自取怎么设置商家版)

    美团到店自取怎么确认收货(美团到店自取怎么设置商家版)

  • 罗技c270和c270i有什么区别(罗技c270上市时间)

    罗技c270和c270i有什么区别(罗技c270上市时间)

  • 黑鲨怎么恢复出厂设置(黑鲨怎么回复出厂)

    黑鲨怎么恢复出厂设置(黑鲨怎么回复出厂)

  • vivo来电黑屏怎么回事(vivo来电黑屏怎么取消掉)

    vivo来电黑屏怎么回事(vivo来电黑屏怎么取消掉)

  • 华为截图手势怎么弄(华为手机截图手势)

    华为截图手势怎么弄(华为手机截图手势)

  • 苹果手机拷贝粘贴不了是什么原因(苹果手机拷贝粘贴老显示怎么取消)

    苹果手机拷贝粘贴不了是什么原因(苹果手机拷贝粘贴老显示怎么取消)

  • 华为gt2为什么接不了电话(华为gt2不能接电话吗)

    华为gt2为什么接不了电话(华为gt2不能接电话吗)

  • maya和3dmax建模的区别(maya建模和3d max建模方法一样吗)

    maya和3dmax建模的区别(maya建模和3d max建模方法一样吗)

  • 红米note8和note8pro的区别(红米note8和note8pro外观区别)

    红米note8和note8pro的区别(红米note8和note8pro外观区别)

  • 如何设置键盘背景(如何设置键盘背景华为)

    如何设置键盘背景(如何设置键盘背景华为)

  • 怎样对一个软件设置密码(怎样对一个软件加密码)

    怎样对一个软件设置密码(怎样对一个软件加密码)

  • 微信群发部分人怎么发(微信群发部分人能看到吗)

    微信群发部分人怎么发(微信群发部分人能看到吗)

  • 计算机病毒是什么(计算机病毒是什么代码)

    计算机病毒是什么(计算机病毒是什么代码)

  • 手机对比度怎么调(手机对比度怎么调清晰)

    手机对比度怎么调(手机对比度怎么调清晰)

  • macqq音乐怎么退出登录(苹果电脑qq音乐意外退出)

    macqq音乐怎么退出登录(苹果电脑qq音乐意外退出)

  • 快手作品限流什么情况(快手作品限流啥意思)

    快手作品限流什么情况(快手作品限流啥意思)

  • 微信被禁言是啥情况(微信被禁言是啥状态)

    微信被禁言是啥情况(微信被禁言是啥状态)

  • 苹果x是不是2k屏幕(苹果x的屏幕是2k的吗?)

    苹果x是不是2k屏幕(苹果x的屏幕是2k的吗?)

  • 中文半角状态怎么调(半角字符怎么输入中文)

    中文半角状态怎么调(半角字符怎么输入中文)

  • 唯品会如何联系客服(唯品会如何联系店家)

    唯品会如何联系客服(唯品会如何联系店家)

  • 重置win10获得纯净的系统(win10重置此电脑的密码是什么)

    重置win10获得纯净的系统(win10重置此电脑的密码是什么)

  • netconf命令  设置网络功能参数(netconf over ssh)

    netconf命令 设置网络功能参数(netconf over ssh)

  • 什么公司需要缴纳印花税
  • 季度缴纳企业所得税计算方法
  • 增值税专用发票的税率是多少啊
  • 煤炭企业生产能力
  • 专票地址有误可以用吗
  • 公司与公司之间借款需要交税吗
  • 存放中央银行款项名词解释
  • 贴现法付息什么意思
  • 金税盘抵减增值税的账务处理
  • 采取简易计税外经证核销需要哪些资料?
  • 当月预交增值税时所属期选了上期怎么办
  • 建筑公司对外如何开票
  • 收到技术服务费计入什么科目
  • 公司和个人大额往来怎么办
  • 咨询费收入交什么税种
  • 城镇土地使用税减免税政策
  • 建安类增值税专用发票什么时候改的
  • 留抵退还增值税
  • 个人到财务挂账怎么做账
  • 购买承兑汇票怎么做账
  • 怎么限制路由器使用人数
  • 车间机物料消耗属于间接生产费用吗
  • 自产自用的产品用于在建工程
  • 上市公司的组织形式
  • harmonyos2.0.0怎么用
  • linux 去除换行
  • 技术服务辅助设施包括
  • icon files
  • PHP:apache_setenv()的用法_Apache函数
  • PHP:stream_get_filters()的用法_Stream函数
  • PHP:pg_query()的用法_PostgreSQL函数
  • scvc8.exe是什么
  • 如何确定销售数量
  • 零售商品盘点表填写内容
  • 暂估入库含税还是含税
  • 递延所得税资产和负债怎么计算
  • 盘亏前累计折旧怎么算
  • adas数据集
  • 大数据热点话题
  • 如何用html编写一个简单的网页
  • before跟after区别
  • es命令行
  • ssh非交互式登录
  • 自然人税收管理系统
  • 以旧换新方式销售金银首饰的消费税处理
  • 体检费专票可以抵扣吗
  • 异地预缴印花税怎么做账
  • 年终奖税金怎么扣
  • sqlserver还原数据库一直显示正在执行0%
  • 收据十万大写金额填写样本
  • 自产货物用于抵偿债务
  • 个人独资企业是小规模纳税人吗
  • 出口退免税的条件
  • 货物出口销售确认流程
  • 控制成本的优点
  • 核定应税所得率征收
  • 新成立的公司如何申请资质
  • win10预览版0x80072ee2
  • 怎样用windows
  • bash是什么意思中文翻译
  • freebsd ports安装
  • drupdate
  • directx?
  • linux系统稳定
  • win10系统玩英雄联盟可以吗
  • linux就要这样学
  • opengl多窗口绘图
  • 怎样提升android的版本为最新版本?
  • gridview用法
  • python函数入门
  • 键盘事件有三个 分别是
  • mac版本eclipse 怎么使用
  • First Class: UI of Android
  • 山东省2023年医改方案
  • 商事登记本
  • 江之都财税服务集团有限公司地址
  • 开发票500以下
  • 湖北省国家税务局官网
  • 安徽省建筑企业资质查询
  • 怎么申请企业信用修复
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设