在服务器上跑深度学习或其他程序时,如果程序没有提供命令行参数设置,我们常常需要多次修改代码后重新部署。本文将介绍如何通过命令行工具和编辑器查看代码特定行的方法,并展示如何同时训练多个基于不同ResNet层数的框架。
当我们需要查看 train.py
文件的第 191 行,可以使用以下几种方法:
sed
命令sed -n '191p' train.py
awk
命令awk 'NR==191' train.py
head
和 tail
命令head -n 191 train.py | tail -n 1
nano
编辑器
打开 train.py
文件并跳转到第 191 行:
nano +191 train.py
vim
编辑器
打开 train.py
文件并跳转到第 191 行:
vim +191 train.py
less
命令
使用 less
查看文件内容并跳转到第 191 行:
less train.py
在 less
中输入 191g
,然后按 Enter
键跳转到第 191 行。
Visual Studio Code
在终端中打开 train.py
文件:
code -g train.py:191
PyCharm
在 PyCharm 中打开 train.py
文件并跳转到第 191 行:
train.py
文件。Ctrl + L
(Windows/Linux)或 Cmd + L
(Mac),然后输入 191
跳转到第 191 行。为了在服务器上同时训练多个基于不同ResNet层数的框架,我们可以使用 nohup
命令将训练任务放在后台运行,并将输出重定向到不同的日志文件中。
nohup python train.py xxxx参数 > resnet18_nohup.out &
通过上述命令,我们可以同时运行多个训练任务,并将每个任务的输出保存到不同的日志文件中。
tail -f
这是最常用的方法,可以实时查看文件的更新内容:
tail -f resnet18_nohup.out
less +F
使用 less
以更灵活的方式查看文件内容并保持更新:
less +F resnet18_nohup.out
在 less
中,你可以按 Ctrl+C
停止实时查看,进入正常的 less
查看模式。按 Shift+F
可以再次进入实时查看模式。
按下ctrl+C后,如下图所示
通过:q
退出该模式
①查看后台作业
jobs -l
这将列出所有后台作业及其对应的 PID,它们的排列顺序通常是根据启动的顺序来显示的。每行包含以下信息:
[1]
是作业编号,3136874
是这个作业的进程 ID,Running
表示这个作业正在运行,后面是启动这个作业的完整命令及其输出重定向。[2]
是第二个作业,以此类推。+
和 -
是作业控制符,用来标记前台作业控制的优先级: +
表示当前的作业。-
表示上一个作业。② 终止后台作业
可以通过 kill
命令终止指定的作业。使用作业编号或者 PID 都可以。
通过作业编号终止(使用 %
前缀):
kill %1 # 终止作业编号为1的作业 kill %2 # 终止作业编号为2的作业 kill %3 # 终止作业编号为3的作业 kill %4 # 终止作业编号为4的作业
通过 PID 终止:
kill 3136874 # 终止进程ID为3136874的作业 kill 3138054 # 终止进程ID为3138054的作业 kill 3138988 # 终止进程ID为3138988的作业 kill 3149585 # 终止进程ID为3149585的作业
如有需要,可以使用 kill -9
强制终止:
kill -9 %1 # 强制终止作业编号为1的作业 kill -9 3136874 # 强制终止进程ID为3136874的作业
上一篇:魅蓝3双系统怎么安装方法
下一篇:新桔代驾在哪里上线