如何将Linux终端输出的信息写入日志文件进行保存

现如今深度学习日益变得火爆,最明显的地方就是深度学习的训练平台变得日益众多,例如Google的conlab 百度的paddlepaddle的框架平台,但是大气多数平台的操作系统均为Linux系统,因此掌握基本的Linux系统知识必不可少。同时深度学习的模型日益变得深不见底,即使有Tesla v100这样的GPU也要训练一天左右。同时针对如yolov3 等目标检测的深度学习模型则更加长时间。如果在Linux的终端执行中突然发生远程连接的中断,就会很苦恼。因此需要借助方法使得当Linux系统发生远程连接中断时仍然可以观察loss与acc的输出值。
Linux的nohup指令

nohup command &

nohup为不挂起的终端命令,即使终端意外关闭,仍然在后台进行执行执行,但是对于深度学习来说,仅仅在后台执行最后得到训练好的model远远不够,很多时候对于经验老道的“炼丹师”最开始几行的loss输出既可以判断错误,所以需要将输出进行实时的监督

nohup command out.file 2>&1 &

这行代码就是将运行指令的输出存入out.file文件 默认是nohup.out文件,2>&1的代码作用是将输出的错误信息也存入out.file文件,&是这个代码的重点。代表此条指令在后台运行。
例如:

python train.py command out.file 2>&1 &

计算机会在执行模型训练文件,并且将输出存放在out.file进行日志的整理。
相对来时更适合在服务器进行,这样使得代码在远程进行执行,在训练结束后进行log文件的查看即可。

发布了11 篇原创文章 · 获赞 4 · 访问量 427

猜你喜欢

转载自blog.csdn.net/baidu_39629638/article/details/104942512