操作AutoDL等Linux系统GPU服务器进行深度学习的常用命令笔记
本文为用租用AutoDL进行深度学习时,记录的使用 Linux 系统的基本命令的笔记。
(持续更新中。。。)
推荐使用免费软件FinalShell,通过 ssh 连接 AutoDL 的实例终端进行控制,本身一个 AutoDL 的实例就是 Ubuntu 系统,使用的都是 Linux 命令:
1.定位文件夹
cd /root/autodl-tmp
-
/
代表从跟目录查找 -
.
或者直接用文件夹或文件开头,代表从当前目录开始
2.数据传输
我们需要将所有的文件放到:/root/autodl-tmp
下,文件较大的数据集通过本地上传到阿里网盘然后进入 AutoPanel-公网网盘绑定账户之后下载。
仅打包
注意,图片文件打包了再传输,不然会很慢。推荐使用.tar
打包,不压缩。
# 压缩(具体是指打包,未压缩,非常推荐这种方式,因为压缩/解压都耗时,但是图片等都无法再压缩)
tar -cf archive.tar /path/to/directory-or-file
# 解压
tar -xf archive.tar -C /path/to/directory-or-file
压缩并打包
如果是解压的.tar.gz 的文件,您可以使用以下命令行操作:
# 压缩
tar -czvf archive.tar.gz /path/to/directory-or-file
# - `-c`: 创建一个新的归档文件
# - `-z`: 使用 gzip 压缩
# - `-v`: 显示详细输出
# - `-f`: 指定归档文件名
# 解压
tar -xzvf archive.tar.gz -C /path/to/destination-folder
使用 zip 命令:
zip -r archive.zip /path/to/directory-or-file
# - `-r`: 递归地压缩目录及其内容
使用 7z 命令 (需要安装 p7zip-full):
7z a archive.7z /path/to/directory-or-file
三种压缩格式的取舍
- tar.gz: 速度快,压缩率适中,兼容性好。
- zip: 兼容性好,但压缩率不如 tar.gz。
- 7z: 压缩率高,但速度较慢,兼容性不如 tar.gz 和 zip。
3.运行和关闭程序
我们直接使用终端运行程序,官方还提供了其他方式,直接使用 JupyterLab 的镜像、或者考虑VSCode(推荐)和PyCharm等远程开发(PyCharm 远程开发试用了一下,一直在加载中,不知道什么原因故不推荐使用):
python train.py
Ctrl + C
暂停正在运行的程序。
或者你可以让其在后台运行Python 程序,这样即使关掉当前窗口也程序也依然在运行:
nohup python train.py > train_age.log 2>&1 &
nohup
是 “no hangup” 的缩写。它的作用是运行一个命令,使该命令在终端被关闭时继续运行。在没有 nohup
的情况下,当你关闭终端时,所有由该终端启动的进程都会被发送一个 SIGHUP 信号,通常这会终止这些进程。使用 nohup
可以防止这种情况,使你的进程在终端关闭后继续运行。> train_age.log
将标准输出重定向到 train_age.log 文件。
查看日志文件可以用 cat 命令,cat 可以让文件的内容输出到终端:
cat train_age.log
如果此时你想关闭程序:
-
查找进程 ID(PID):
ps aux | grep python
在输出中,你应该能够找到你的程序,以及它的 PID,如果是 Pytorch 多线程训练应该有多个 python 程序,选择其中一个,找到他的 PID
-
终止进程:
kill 12345
4.临时修改文件
如果要临时修改文件,可以使用vim <file>
,切换到英文输入法
i
– 切换到输入模式,在光标当前位置开始输入文本。- 按
esc
之后,再按:wq
– 保存并退出文件。