使用nohup和CUDA_VISIBLE_DEVICES进行GPU训练的教程

news2024/11/17 4:31:24

文章目录

  • 1. 在单个GPU上训练模型
    • 1.1 使用nohup命令运行Python脚本
    • 1.2 查看运行中的进程
    • 1.3 查看输出日志
  • 2. 在多个GPU上训练模型
    • 2.1 启动第一个程序,指定使用第0号GPU
    • 2.2 启动第二个程序,指定使用第1号GPU
    • 2.3 查看运行中的进程
    • 2.4 查看输出日志
  • 3. 总结

在这里插入图片描述

在机器学习和深度学习中,训练模型时经常需要使用GPU来加速计算。本文将介绍如何使用nohup命令和CUDA_VISIBLE_DEVICES环境变量在后台运行Python脚本,并指定使用特定的GPU进行训练。

1. 在单个GPU上训练模型

如果你只有一个GPU,或者只需要在一个GPU上运行一个程序,可以按照以下步骤进行操作:

1.1 使用nohup命令运行Python脚本

nohup命令可以在用户退出会话后继续运行指定的命令。以下命令将Python脚本放到后台运行,并将输出重定向到nohup.out文件:

nohup python xxx.py &

1.2 查看运行中的进程

使用ps命令和grep可以查看当前运行的Python进程:

ps -ef | grep python

1.3 查看输出日志

使用tail命令可以查看输出日志的内容:

tail -f nohup.out

2. 在多个GPU上训练模型

如果你有多块GPU,并希望在不同的GPU上同时运行多个程序,可以使用CUDA_VISIBLE_DEVICES环境变量来指定使用哪个GPU。

2.1 启动第一个程序,指定使用第0号GPU

以下命令将第一个Python脚本放到后台运行,并将输出重定向到output1.log文件中:

nohup bash -c "CUDA_VISIBLE_DEVICES=0 python xxx.py" > output1.log 2>&1 &

2.2 启动第二个程序,指定使用第1号GPU

以下命令将第二个Python脚本放到后台运行,并将输出重定向到output2.log文件中:

nohup bash -c "CUDA_VISIBLE_DEVICES=1 python xxx.py" > output2.log 2>&1 &

2.3 查看运行中的进程

同样,使用ps命令和grep可以查看当前运行的Python进程:

ps -ef | grep python

2.4 查看输出日志

使用tail命令分别查看两个程序的输出日志:

tail -f output1.log
tail -f output2.log

3. 总结

通过使用nohup命令和CUDA_VISIBLE_DEVICES环境变量,可以方便地在后台运行Python脚本,并指定使用特定的GPU进行训练。这样可以提高模型训练的效率,同时避免因会话断开而导致的训练中断。希望本文能对你在使用GPU训练机器学习模型时有所帮助。

# 结束进程!
kill -9 ID

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1900792.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【不容错过】可灵AI重磅更新:画质升级,运镜控制,首尾帧自定义,还有30万创作激励奖金!

还记得最近在各大平台肆虐的老照片变成视频吗,就是用快手的可灵AI做的,今天可灵又迎来了一次重大更新。 「电脑端上线了」 之前一直用其他工具生的图片还需要保存到手机上,再用可灵来生成视频,很多人都能感受到手机操作不太方便&…

【ARMv8/v9 GIC 系列 5.6 -- GIC 超优先级中断详细介绍】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 Interrupt superpriority超优先级中断的特性和应用Physical interface interrupt signalsPhysical Group 1 Non-NMI for Current Security StatePhysical Group 1 for Other Security State, or a Group 0 Non-NMIPhysical Group 1 …

上海外贸建站公司wordpress模板推荐

Sora索啦高端制造业wordpress主题 红色高端制造业wordpress主题,适合外贸企业出海建独立站的wordpress模板。 https://www.jianzhanpress.com/?p5885 Yamal外贸独立站wordpress主题 绿色的亚马尔Yamal外贸独立站wordpress模板,适用于外贸公司建独立站…

Akamai+Noname强强联合 | API安全再加强

最近,Akamai正式完成了对Noname Security的收购。本文我们将向大家介绍,经过本次收购后,Akamai在保护API安全性方面的后续计划和未来愿景。 Noname Security是市场上领先的API安全供应商之一,此次收购将让Akamai能更好地满足日益增…

部署AI平台-Ollama

介绍 llama:LLaMA(Large Language Model Meta AI)是由 Meta(原Facebook公司)发布的一系列大型语言模型。这些模型旨在处理和生成自然语言文本,能够执行多种任务,如文本摘要、翻译、问答、文本生成等。LLaMA 模型因其高效的性能和较小的模型尺…

一行代码用git新建分支

1.在本地创建分支 dev git branch dev2.切换分支 git checkout devwebstorm操作如下: 3.推送新分支到远程 git push --set-upstream origin 分支名webstorm操作如下:提交代码的时候会自动推送到远程 4.到git上面可以看看刚刚推送的内容 dev多推送…

Linux应用---信号

写在前面:在前面的学习过程中,我们学习了进程间通信的管道以及内存映射的方式。这次我们介绍另外一种应用较为广泛的进程间通信的方式——信号。信号的内容比较多,是学习的重点,大家一定要认真学,多多思考。 一、信号概…

VBA初学:零件成本统计之二(材料外协金额表)

第二步,通过已经生成的机加任务,生成汇总表格及材料外协金额表 生成汇总统计和材料外协金额表 Sub statistical() Dim WS As Worksheet Dim rng As Range, rngold As Range Dim sheetName As String Dim rowscount As Long, MAXRGN As Long Dim i As Int…

237 删除链表中的节点

题目 有一个单链表的 head,我们想删除它其中的一个节点 node。 给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。 链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。 删除给定的节点。注意,删…

微信小程序简历Demo

微信小程序简历Demo 使用介绍最后获取源码 bilibili视频介绍 使用介绍 使用微信小程序实现的一个简历实现Demo 拖动马里奥,到指定Name下方 向上顶就可以显示对应的简历样式 点击头像可拨打电话 点击信息处可显示当前位置 最后 这是一个简单并且有趣的微信小程…

Nginx-http_limit_req_module模块

文章目录 前言一、ngx_http_limit_req_module模块二、指令1.limit_req_zone2.limit_req3.limit_req_log_level4.limit_req_status 实验burst取默认0的情况burst不取默认值 总结 前言 如何限制每个客户端每秒处理请求数 一、ngx_http_limit_req_module模块 生效阶段&#xff1…

Type-C接口快充取电技术的实现

Type-C接口快充取电技术的实现 Type-C接口快充取电技术主要通过USB PD(Power Delivery)协议实现。这种技术利用了Type-C接口的物理特性和PD协议的智能性,实现了高效、安全、快速的充电过程。具体实现过程如下: 接口连接与检测&a…

ctfshow-web入门-文件包含(web88、web116、web117)

目录 1、web88 2、web116 3、web117 1、web88 没有过滤冒号 : ,可以使用 data 协议,但是过滤了括号和等号,因此需要编码绕过一下。 这里有点问题,我 (ls) 后加上分号发现不行,可能是编码结果有加号,题目…

vue3+vite搭建第一个cesium项目详细步骤及环境配置(附源码)

文章目录 1.创建vuevite项目2.安装 Cesium2.1 安装cesium2.2 安装vite-plugin-cesium插件(非必选)2.3 新建组件页面map.vue2.4 加载地图 3.完成效果图 1.创建vuevite项目 打开cmd窗口执行以下命令:cesium-vue-app是你的项目名称 npm create…

安全及应用(更新)

一、账号安全 1.1系统帐号清理 #查看/sbin/nologin结尾的文件并统计 [rootrootlocalhost ~]# grep /sbin/nologin$ /etc/passwd |wc -l 40#查看apache登录的shell [rootrootlocalhost ~]# grep apache /etc/passwd apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin#改变…

深度学习基础以及vgg16讲解

一 什么是卷积 上图所示,为图像边缘提取得一个卷积过程,卷积核就是计算当前像素左右两边得像素差,这个差值越大代表越可能是图像边缘。因此当实现其它功能时,只需要调整卷积核得参数即可。深度学习的训练其实就是在确定这些参数。…

【电商干货分享】干货速看!电商数据集大全!

数据分析——深入探索中小企业数字化转型,专注提供各行业数据分析干货、分析技巧、工具推荐以及各类超实用分析模板,为钻研于数据分析的朋友们加油充电。 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中&#xff0…

LRU缓存算法设计

LRU 缓存算法的核⼼数据结构就是哈希链表,双向链表和哈希表的结合体。这个数据结构⻓这样: 创建的需要有两个方法,一个是get方法,一个是put方法。 一些问题:为什么需要使用双向链表呢?因为删除链表的本身&…

Python统计实战:时间序列分析之一元线性回归预测和指数曲线预测

为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。 (以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。) 练习题 下表是某只股票…

Unity入门之重要组件和API(3) : Transform

前言 Transform类主要处理游戏对象(GameObject)的位移、旋转、缩放、父子关系和坐标转换。 1.位置和位移 1.1必备知识点:Vector3 Vector3 主要用来表示三维坐标系中的一个点或者一个向量。 【声明】 Vector3 v1 new Vector3(); Vector3 v2 new Vector3(10, 10…