使用nohup将训练程序后台不间断运行+随时查看训练情况输出与可视化

使用服务器进行远程训练

由于笔者经常需要使用服务器进行训练,且有些模型训练起来需要很长的时间,如Mask模型,故经常需要长期跑程序。由于我使用的是ssh登录,因此断网或者退出账号时程序就会被kill。总结了以下常用的远程训练指令,帮你可以不间断的训练模型,并且随时可以查看模型可视化结果。

nohup指令和查看输出

nohup 是 no hang up 的缩写,就是不挂断的意思。

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

在缺省情况下程序的所有输出都被重定向到一个名为nohup.out的文件中。

缺省输出文件的写法

nohup python3 -W ignore -m xxx.py

在这种写法下,所有输出被保存到该目录的nohup.out内,且实时读写,如图,使用ls查看该文件夹下的文件。

指定输出文件的写法

nohup python -u xxx.py > my_out_file.txt 2>&1 &

就会将xxx.py的输出全部存到my_out_file.txt里

和CUDA一起用

有一台服务器,服务器上有多块儿GPU可以供使用,但此时只希望使用第2块和第4块GPU,但是我们希望代码能看到的仍然是有两块GPU,分别编号为0,1,这个时候我们可以使用环境变量CUDA_VISIBLE_DEVICES来解决这个问题。

比如

CUDA_VISIBLE_DEVICES=1 只有编号为1的GPU对程序是可见的,在代码中gpu[0]指的就是这块儿GPU

CUDA_VISIBLE_DEVICES=0,2,3 只有编号为0,2,3的GPU对程序是可见的,在代码中gpu[0]指的是第0块儿,gpu[1]指的是第2块儿,gpu[2]指的是第3块儿

CUDA_VISIBLE_DEVICES=2,0,3 只有编号为0,2,3的GPU对程序是可见的,但是在代码中gpu[0]指的是第2块儿,gpu[1]指的是第0块儿,gpu[2]指的是第3块儿

CUDA指令在前

CUDA_VISIBLE_DEVICES=1 nohup python3 -W ignore -m xxx.py

实时查看out

使用vim nohup.out查看该文件。

为了实时查看输出,在文件内使用 Shift + G的组合键快速跳到文件末尾。

跳到指定行:直接:+数字

配合visdom使用

有时我们会使用visdom将训练结果可视化,但是登出系统会自动把visdom也关闭,影响查看效果,因此可以直接使用nohup打开visdom,这样即使登出服务器,下次登入也可以在指定端口上访问可视化结果。

nohup python -m visdom.server

Haorui.L

发布了2 篇原创文章 · 获赞 1 · 访问量 15

私信

关注

标签:visdom,训练,CUDA,nohup,gpu,GPU,out

来源: https://blog.csdn.net/weixin_46233323/article/details/104399179

服务器训练数据 关闭终端,一文明白使用nohup将服务器训练程序后台运行不关闭+随时通过查看训练情况输出与visdom可视化...相关推荐

  1. Linux后台运行和关闭程序、查看后台任务

          fg.bg.jobs.&.ctrl+z 都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的.   1.&    (最经常被用到)     这个 ...

  2. Java程序后台运行,即使关掉Putty终端

    Java程序后台运行,即使关掉Putty终端 比如,通过Putty启动远程主机上面的文件 java -cp Crawler.jar Main& 关闭Putty终端之后,这个java程序也会被中 ...

  3. linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令

    一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh"  #每3s在后台执行一次1.sh脚 ...

  4. linux后台运行和关闭、查看后台任务

    fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh &am ...

  5. Windows下打包maven项目,编写bat脚本,dos命令在后台运行与关闭

    在IDEA终端 mvn clean package 会在项目目录下创建一个target目录,打好包的jar包就在这个目录下. 那么如何运行? 首先编写bat文件,如下编写 eureka_run.bat ...

  6. linux查看 后台运行的程序看不出来,linux后台运行、关闭和查看程序的方法

    一.关闭终端后,后台依然运行的程序的方法 nohup python main.py & (其中python main.py就是我们要运行的程序) 用这个命令,关闭终端后,在另一个终端查看运行的 ...

  7. 云服务器怎么多人进去编辑文档,一台云服务器多人使用

    一台云服务器多人使用 内容精选 换一换 介绍常见的安全组配置示例.如下示例中,出方向默认全通,仅介绍入方向规则配置方法.不同安全组内的云耀云服务器内网互通仅允许特定 IP 地址远程连接云耀云服务器SS ...

  8. 跨服务器post数据失败:验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 machineKey 配置指定了相同的 validationKey 和验证算法。的解决办法

    非常简单,在webconfig中的 system.web中加入以下代码即可. <pages  enableViewStateMac="false"></pages ...

  9. CentOS7中后台运行Node-RED(关闭窗口也能访问服务)

    场景 CentOS7中通过npm的方式安装Node-RED: CentOS7中通过npm的方式安装Node-RED - 霸道流氓 - 博客园 CentOS7中通过npm的方式安装Node-RED_BA ...

最新文章

  1. windows远程桌面linux系统,Windows远程桌面控制Linux图文详解
  2. 大数据量导出Excel ---待测试
  3. 单片机数码管从00到99C语言_MSP430单片机轻松入门与实践 — 畅学单片机
  4. 30.jvm.gc(GC之详解CMS收集过程和日志分析)
  5. 【渝粤教育】国家开放大学2019年春季 0134-22T劳动法学 参考试题
  6. [vue] 说说你对vue的表单修饰符.lazy的理解
  7. 3.15 曝光:40 亿 AI 骚扰电话和 11 家合谋者
  8. 页面查询条件选框被隐藏的问题
  9. java sleep和wait的区别和联系
  10. chrome 41 空格 nbsp;
  11. 怎么调整tabcontrol的tabpage标签的宽度
  12. Altium Designer——PCB多层板中内电层分割基本原则
  13. 如何实现微信小程序的选项卡
  14. web服务器虚拟目录_调整专用虚拟Web服务器
  15. 重装Ubuntu(Linux)后快速搭建工作环境(深度学习环境)
  16. scratch双语教师课件文档手册 3.scratch桌面舞台坐标系
  17. 服务器基本搭建(Linux系统阿里云服务器为例)-购买云服务器
  18. 富豪版末日避难所曝光:导弹发射井改装,内部极奢华
  19. postgresql表复制
  20. VsCode配置快速注释

热门文章

  1. 用程序同步mysql数据库表_初次用Java写了个数据库表同步工具
  2. Java通过反射执行方法
  3. C语言中的二进制、八进制和十六进制的表示
  4. github随时同步代码_GitHub代码下载和同步
  5. ndk linux 最新版本,NDK各版本下载
  6. linux内核编译的image,内核编译时生成uImage的办法
  7. android pdf阅读器开发_如何在 Windows 10 中将 Firefox 设置为默认 PDF 阅读器
  8. stm32 web get 参数_BlackHat2020议题之Web缓存投毒
  9. ipv6的127位掩码如何表示_子网掩码为255.255.255.0代表的意思是什么?
  10. opencv14-自定义线性滤波