操作AutoDL等Linux系统GPU服务器进行深度学习的常用命令笔记

本文为用租用AutoDL进行深度学习时,记录的使用 Linux 系统的基本命令的笔记。

(持续更新中。。。)

推荐使用免费软件FinalShell,通过 ssh 连接 AutoDL 的实例终端进行控制,本身一个 AutoDL 的实例就是 Ubuntu 系统,使用的都是 Linux 命令:

FinalShell

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 – 保存并退出文件。

操作AutoDL等Linux系统GPU服务器进行深度学习的常用命令笔记
https://blog.renhai.online/archives/Linux-base1
作者
Renhai
发布于
2023年10月30日
更新于
2024年06月17日
许可协议