AutoDL使用教程,以PaddleOCR在服务器训练为例子,使用AI远程服务器训练深度学习、多模态、AI大模型训练等,包括Xshell和Xftp安装、服务器环境配置等,linux常用命令,超w字教程

AI5小时前发布 beixibaobao
2 0 0

前言

在这里插入图片描述

随着大模型(LLM)和复杂神经网络的快速发展,对于电脑没有 GPU 的或者 GPU 性能不好的用户来说(博主就是),训练一个大模型者深度学习模型是非常困难滴,本人电脑的硬件配置往往难以支撑数十 GB 的显存需求,那么有没有解决方法呢?当然有的,如深度学习云服务器、学校专门提供的科研设备等?我用得比较多是 AutoDL,市场上还有许多优秀的深度学习训练平台,如下表:

平台名称 所在地 核心优势 缺点 适合人群
AutoDL 中国 极致性价比,支持网盘加速 高峰期热门卡难抢 学生、科研贫民窟玩家
恒源云 (GPUSHARE) 中国 与 AutoDL 类似,镜像市场丰富 价格略高于 AutoDL 学生、个人开发者
矩池云 (MatPool) 中国 界面友好,支持 Windows 环境 价格中等 习惯 Win 环境的初学者
阿里云 PAI-DSW 中国 企业级稳定性,大厂生态 价格昂贵,上手门槛略高 企业开发、大型项目
Google Colab 美国 有免费额度,集成 Google Drive 网络需科学上网,连接易断 快速验证小实验、学生
Kaggle 美国 免费且配置高 (双 P100/T4) 无法持久保存环境,有周时长限制 竞赛选手、数据分析
RunPod / Vast.ai 美国 全球算力出租,4090 极便宜 需要外币卡,网络延迟高 极客、海外开发者
Lambda Labs 美国 专业级深度学习云 价格较高,库存紧俏 顶尖实验室、企业

大家根据自己需求选择就行,每个平台应该都有帮助文档的,不懂的可以看看,我下面拿 AutoDL 平台来手把手教你训练深度学习模型,其他平台操作应该差不多吧。
AutoDL官网地址: AutoDL
AutoDL帮助文档地址: AutoDL帮助文档


文章目录

  • 前言
  • 一、AutoDL 使用教程
    • 📗📗Xshell7 和 Xftp7 安装
    • 📗📗Xftp 连接服务器,上传数据与下载数据
    • 📗📗Xftp 双击“此电脑“强制退出并弹窗“Error Report“,Program has stoppedworking窗口
    • 📗📗Xshell 连接服务器
    • 📗📗AutoDL 注意事项
    • 📗📗环境配置
    • 📗📗训练模型
      • ☑️租服务器
      • ☑️上传数据
      • ☑️环境配置
      • ☑️训练
      • ☑️下载数据
  • 二、linux常用命令
    • 📗📗文件管理命令
    • 📗📗文件夹创建mkdir用法
    • 📗📗删除目录
    • 📗📗文件创建
    • 📗📗rm 删除命令
    • 📗📗cp 复制
    • 📗📗mv 剪切
    • 📗📗tar 压缩、解压缩
      • ☑️tar打包
      • ☑️tar的压缩方法(重点)
      • ☑️解压缩
    • 📗📗zip 压缩、解压缩
      • ☑️zip压缩
      • ☑️unzip解压缩
    • 📗📗rar 压缩、解压缩
      • ☑️下载并安装rar
      • ☑️unrar解压
      • ☑️rar压缩
    • 📗📗解压 `.7z` 压缩包,需要使用 `p7zip` 工具
    • 📗📗vim 文本编辑器概述
      • ☑️安装vim
      • ☑️使用流程
      • ☑️vim用法
      • ☑️vim的命令模式
        • ☑️行号显示
        • ☑️vim复制粘贴
        • ☑️移动光标方法
    • 📗📗wget下载
  • 总结

一、AutoDL 使用教程

根据 AutoDL 帮助文档了解到,AutoDL支持多种工具上传数据,其中 Xshell 和 Xftp 博主在大学时候使用过,这两款工具能应该能应对一切深度学习云服务器,所以这里博主推荐使用,你有其他也是可以的,下面先手把手教大家安装 Xshell 和 Xftp。

在这里插入图片描述

📗📗Xshell7 和 Xftp7 安装

免安装版,下载链接: 软件包,下载完,可以把 Xshell 和 Xftp 发送到桌面快捷方式,可以点击 Xshell.exe 和 Xftp.exe 打开软件

在这里插入图片描述


在这里插入图片描述


关闭 Xftp 自动检测更新

在这里插入图片描述

📗📗Xftp 连接服务器,上传数据与下载数据

开机实例后,找到 SSH 登录指令,复制登录指令为(具体请以您的实例为准):ssh -p 44562 root@region-1.autodl.com(这个只有你自己知道,不要泄露), 44562 是端口号,root 是用户名 ,region-1.autodl.com 就是远程服务器主机的地址,知道这些后面通过工具连接要用到

在这里插入图片描述

点击新建

在这里插入图片描述

窗口填写规则:
名称:随便取,方便记住就行
主机:远程服务器主机的地址,如服务器的 ip 地址、region-1.autodl.com(AutoDL 机房的服务器地址)
端口号:远程服务器主机的端口号
协议:记得选择 SFTP
用户名:远程服务器主机的用户名,一般是 root
密码:远程服务器主机的登录的密码

在这里插入图片描述

连接成功,就可以在从左边窗口是本地,右边是服务器,可以通过拖拽方式 上传/下载 数据

在这里插入图片描述

📗📗Xftp 双击“此电脑“强制退出并弹窗“Error Report“,Program has stoppedworking窗口

在 Win11 系统,使用 XFtp 7 版本,双击“此电脑”图标会导致程序崩溃自动退出,并弹出错误对话框。

在这里插入图片描述


解决 Xftp 双击“此电脑“强制退出并弹窗“Error Report“,Program has stoppedworking 窗口

如果此电脑下存在百度网盘快捷方式、迅雷等其他,则需要关闭

在这里插入图片描述

再次点击 “此电脑” 就可以正常开启了

📗📗Xshell 连接服务器

开机实例后,找到 SSH 登录指令,复制登录指令为(具体请以您的实例为准):ssh -p 44562 root@region-1.autodl.com(这个只有你自己知道,不要泄露), 44562 是端口号,root 是用户名 ,region-1.autodl.com 就是远程服务器主机的地址,知道这些后面通过工具连接要用到

在这里插入图片描述


由于 XShell 命令格式较特殊,需要您手动修改格式为:

ssh root@region-1.autodl.com 44562

即将端口号置于末尾,无需添加 -p 参数。官方的例子如下:

在这里插入图片描述


如果已经配置了 SSH 登录,那么可以使用 XShell 提供的 xftp 进行文件传输,方式如下:

在这里插入图片描述

📗📗AutoDL 注意事项

大家请将大的数据集上传到 /root/autodl-tmp (这是数据盘,空间大且不占用系统盘),而且上传速度较快的数据盘,可以使用 source ~/.bashrc 可以查看系统盘和数据的使用情况:

在这里插入图片描述


在这里插入图片描述


更多骚操作参考官网文档,官网写得很详细, 系统盘空间不足帮助文档

📗📗环境配置

环境配置非常简单,人家 AutoDL 平台基本帮你配置好大的深度学习框架,如 torch、tensorflow等,官网提供基本满足了,自己选择合适就行,如果平台镜像中有没有您需要的Torch、TensorFlow等框架的相应版本,自己安装呗

在这里插入图片描述

配置环境跟 Windows 差不多,而且比 Windows 下还好编译,Linux配置环境只是安装的命令不一样,这里主要将重要的点

conda create -n tf python=3.7           # 构建一个虚拟环境,名为:tf
conda init bash && source /root/.bashrc # 更新bashrc中的环境变量
conda activate tf                       # 切换到创建的虚拟环境:tf

在这里插入图片描述


在这里插入图片描述


更多骚操作参考官网文档,官网写得很详细, 环境配置帮助文档

另外,AutoDL平台提供了社区镜像,就是用别人配置好的环境,不用你配置环境,根本不用你愁,用什么就搜索就行,没有的话自己配置呗

在这里插入图片描述

📗📗训练模型

接下来从 0 开始租服务器,手把手从租服务器、上传数据/源码、环境配置开始。

☑️租服务器

点击控制台

在这里插入图片描述


租用新实例

在这里插入图片描述


在租用实例页面:选择计费方式、地区、GPU型号、GPU数量,然后选择合适的空闲主机和镜像(内置了不同的深度学习框架的基础镜像和社区镜像),最后创建即可。根据自己需求选择即可

在这里插入图片描述


创建完成后等待自动开机,今后主要用到的操作入口见截图中。

在这里插入图片描述

☑️上传数据

XShell 软件支持管理 SSH 连接,而且集成了 Xftp ,Xftp 支持拖拉拽上传下载文件夹/文件
大家请将大的数据集上传到 /root/autodl-tmp (这是数据盘,空间大且不占用系统盘),而且上传速度较快的数据盘,从左边拖拽 文件夹/文件到右边的文件夹就行,文件的话可以鼠标双击就可以上传了,一般数据集比较大压缩后在上传,节约上传时间

在这里插入图片描述

☑️环境配置

环境配置非常简单,人家 AutoDL 平台基本帮你配置好大的深度学习框架,如 torch、tensorflow等,官网提供基本满足了,自己选择合适就行,如果平台镜像中有没有您需要的Torch、TensorFlow等框架的相应版本,自己安装呗

在这里插入图片描述


这里说明一点,你源码缺什么依赖就按照什么依赖,pip install 包名称 安装就行,跟 Windows 下安装差不多,如下:
像 torch、paddle 库就需要指定命令安装,一般官网有安装命令

在这里插入图片描述


单独安装包

在这里插入图片描述


批量安装

在这里插入图片描述

☑️训练

大家的源码都有不同的训练方式,一般源码都会配有训练的命令的,但是大差不差,根据自己的源码配置数据集路径,预训练模型路径等参数,然后直接训练即可,本教程是一个通用的教程,意思就是换汤不换药
我的是训练成功的了:

在这里插入图片描述

☑️下载数据

服务器训练完,会保存模型,下载到本地就可以拿去用了,通过 Xftp 拖拉拽下载文件夹/文件,从右边拖拽 文件夹/文件到左边的文件夹就行,文件的话可以鼠标双击就可以下载了,一般数据集比较大压缩后在下载,节约下载时间,反正上传和下载数据操作一样,只是拖拉拽方向不同。
双击传输的任务,就可以看到传输状态了

在这里插入图片描述

二、linux常用命令

使用远程服务器,还需要一些懂一些 linux 命令,大学肯定学过,网上也有很多教程的,记不住网上搜索就行,问题不大

📗📗文件管理命令

需要对 linux 的文件或目录进行操作,如下常见的命令

新建

touch 创建文件
mkdir 创建文件夹
vi,vim 也可以创建文件
echo 结合 重定向符号(>)才能创建文件
	echo '123' > /opt/123.txt

删除

remove 删除
缩写rm

更改

修改文件内容的命令很多
vim

查看

cat 读取文件内容

复制

copy 读取文件内容

移动

move
缩写mv
剪切
重命名

📗📗文件夹创建mkdir用法

mkdir 不加参数,路径(需要包含目录名称)

mkdir /tmp/gg/123/
含义就是在/tmp/gg/目录下,创建一个文件名为123
特别注意:mkdir命令默认不能隔级创建目录,必须要求创建的目录所在的目录一定存在

mkdir 加参数

-p 参数:递归创建所有目录,如果想创建多层不存在的路径,可以使用-p参数实现

mkdir -p /opt/jk/jj/123

创建多个文件夹,可以绝对路径创建,也可以相对路径创建

mkdir  -p ./1  /opt/lol /dnf .//cs

📗📗删除目录

命令 rmdir(remove dirrctory缩写)

作用:删除空目录,目录不为空的话,就无法删除

📗📗文件创建

touch 命令创建文件

作用:创建文件,多次创建不报错,但是会修改文件的时间属性

当文件不存在,执行touch是创建该文件
touch hello.txt
当文件存在时,touch命令是修改它的时间戳
touch hello.txt
touch可以同时创建多个文件,注意,路径中的文件夹是存在的,不然会报错
shell的花括号用法,一次性在同级目录,创建多个文件,适用于touch、mkdir
touch /opt/{1,2,3}
mkdir -p /opt/ll/{1,2,3}
使用tree命令,查看文件目录结构
需要安装后使用,安装步骤:
1.机器可以上网
2.用命令安装 yum install tree -y 
tree使用方法:
tree -NF   # -N 是显示中文 -F显示文件类型

📗📗rm 删除命令

remove 命令缩写为 rm

作用:删除文件或文件夹

参数选择:

-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有子目录和文件
-f:强制删除,不提示任何信息,操作前一定要谨慎!!!
递归强制删除
rm -rf 目录

📗📗cp 复制

命令:cp(copy缩写,复制操作)

语法:cp [参数] 源路径 目标路径(如果不指定文件名,则文件名不变)

作用:复制文件或文件夹到指定目录

常见参数:-r,递归操作,可以递归文件夹和文件

📗📗mv 剪切

命令:mv(move,移动,剪切)

作用:可以在不同目录之间移动文件或文件夹,也可以对文件或文件夹进行重命名

语法:mv 源文件或文件夹 目标路径

📗📗tar 压缩、解压缩

打包:指的是一个文件或目录的集合,而这个集合存储在一个文件夹中,默认是没有压缩功能,不节省磁盘空间。归档文件没有经过压缩,占用的空间是其中所有文件和目录的总和

打包+压缩是将一堆零散的文件,打包到一起,之后再压缩,节省磁盘空间。

☑️tar打包

命令:tar

作用:将多个文件打包成一个文件

语法:tar 参数 打包文件名 要打包的文件或目录

常见参数:用不同的参数,有不同的作用

-c,create 创建的意思,打包作用

-x,解压,解压缩(将一个文件的压缩文件,解压其中内容)

-z, 压缩操作,是tar命令去调用gzip命令的过程,压缩格式为.gz

-j,压缩格式为.bz2

-v,显示打包文件过程

-f,指定打包的文件名,此参数必须加的,且必须在最后一位

-u,updata缩写,更新原打包文件中的文件

-t,查看打包的文件内容(不解压,查看里面是什么)

tar实现,到底是打包,还是压缩,或者是解压缩,就看给的参数是什么

压缩文件名的规范:

用tar命令压缩的文件,一般后缀如
*.tar   (仅仅是打包)
*.tar.gz  (打包+压缩)
*.tgz    (打包+压缩)

打包多个文件

tar -cvf  all_123.tar 123.txt 123.txt1 123.txt2

查看打包文件中的内容

tar -tf all_123

解包

tar -xvf all_123

☑️tar的压缩方法(重点)

打包且压缩,加了-z参数代表压缩

tar -czvf all_123.tar.gz ./*  (./*意思是当前目录下所有文件)

☑️解压缩

解压缩先看文件的压缩格式,比如是 .gz 格式,解压缩时需要用到 -z 这个参数

tar -zxvf all_123.

📗📗zip 压缩、解压缩

☑️zip压缩

命令:zip

作用:兼容 linux 和 windows,可以压缩多个文件和目录

语法:zip 参数 压缩后的文件 需要压缩的文件(可以是多个文件)

常用参数:-r 递归压缩(压缩文件夹)(和tar压缩不同,zip压缩目录,需要添加-r参数

注意:

zip压缩默认压缩的格式为zip,生成的压缩文件,自带zip
建议主动添加后缀zip,一般都加上,这是个好习惯
# 压缩。如果没有zip命令,安装命令:apt-get update && apt-get install -y zip
语法:
zip压缩自动添加后缀.zip:
zip all_123 123.txt 123.txt1 123.txt2
用zip压缩文件和文件夹,需要使用-r参数:
zip -r <自定义压缩包名称>.zip <待压缩目录的路径>

☑️unzip解压缩

安装 uzip ,命令为:

yum install uzip -y

解压缩需要使用另一个命令

语法:unzip 压缩文件.zip -d 需要解压缩的目标路径

常用参数:

-n :解压缩时不要覆盖原有的文件。
-o :不必先询问用户,unzip执行后覆盖原有文件

-d: 指定文件解压缩后所要存储的目录

语法:
unzip all_123.zip -d /day/

📗📗rar 压缩、解压缩

在linux中常常会遇到一些rar结尾的文件包,这时靠linux本身的命令以及yum安装是无法实现解压的,需要安装rar的压缩软件才可以。

☑️下载并安装rar

下载地址: https://www.rarlab.com/download.htm

我们要下载的是: https://www.rarlab.com/rar/rarlinux-x64-612.tar.gz (64位)

下载命令:

mkdir -p /mnt/rar_test     # 创建一个文件夹
wget -P /mnt/rar_test  https://www.rarlab.com/rar/rarlinux-x64-612.tar.gz  

解压下载的rar包:

cd /mnt/rar_test
tar -xzvf rarlinux-x64-612.tar.gz
cd rar 

编译安装:

make
make install

安装后就有rar和unrar这两个命令,rar是用来压缩unrar是用来解压

☑️unrar解压

解压到指定目录命令为:

unrar x file.rar newdir/

这里解压到指定目录newdir了,如果是新的目录,末尾的/不要忘记了

☑️rar压缩

以下示例把 newdir目录压缩成file.rar

rar a -r file.rar newdir/

📗📗解压 .7z 压缩包,需要使用 p7zip 工具

系统还没有安装 p7zip,可以通过以下命令安装:

sudo apt update
sudo apt install p7zip-full

如果你想将文件解压到指定目录,可以使用 -o 参数:

7z x 文件名.7z -o目标目录
  • x 表示解压文件。

📗📗vim 文本编辑器概述

vim文本编辑器,是由vi发展演变过来的文本编辑器,使用简单,功能强大,是linux众多发行版的默认文本编辑器。

☑️安装vim

安装命令为:

yum install vim -y

☑️使用流程

基本上vi/vim共分为三种模式,分别是:

1.命令模式:

最常用,按下键盘a,i,o其中一个键(a在光标前开始编辑,i是光标处开始编辑,o是在光标下一行开始编辑)
当你使用vim标记某个文件时,第一步进入了命令模式
可以移动光标位置,输入快捷指令,对文件进行编辑,如插入字符,复制,粘贴,删除等操作

2.输入模式:

可以对文件内容进行编辑
退出编辑模式,按下键盘esc健,回到了命令模式

3.末行模式:

从命令模式下,输入冒号,即进入末行命令模式
进行一些特殊操作,如文本信息查找,替换,保存,退出等

vim图解流程

按 i

按 Esc

输入 :wq

开始

vim filename

命令模式

编辑模式

保存退出

☑️vim用法

vim直接创建文件,输入以下命令,在底线模型直接输入:wq!,自动创建一个空文件,小学作文.txt

vim 小学作文.txt

当你写错了,不想保存,就直接退出即可,但是一般要加上感叹号,强制该操作,即:q!。注意:需要在英文输入状态下才能进入底线模式

☑️vim的命令模式

☑️行号显示

打开 vim 的行号显示,可以突出操作效果,在命令模式输入:set nu,会显示 vim 的行号,这个根据自己要求选择

☑️vim复制粘贴

vim打开文件,复制粘贴一些测试数据,仅仅是中英文语句还好,可以直接粘贴,如果是代码,有固定格式的,比如 python 的程序,运维高级的配置文件语法,如 yaml,这些有格式的文本信息,就得进入 vim 的粘贴模式,方可保持正确的格式。

可以复制,粘贴:

指令为:yy,3yy代表复制光标所在的三行(包括光标行本身,向下三行)
指令:p代表在光标处,下行打印
指令:大写P,代表在光标上一行打印

剪切:

指令为:dd,剪切、剪切后可以自己选择是否粘贴(剪切后若是不粘贴,就是删除的效果)
指令:数字+d,代表剪切几行
指令:大写D,代表删除光标处、以及后续内容,是当前行删除

撤销指令为 u,按下 u,即可撤销上一步的动作

恢复指令为 ctrl+r,恢复 vim 撤销的内容

☑️移动光标方法

1.移动光标到文档的开头、结尾,在命令模式下,按下两个小写的gg回到文档的开头,按下大写的G回到文档的结尾

2.移动光标到每一行的行首、行尾,在命令模式下,按下数字0回到行首,按下$符号G回到行尾

3.光标定位到指定行,在命令模式下,输入:行数,如定位到18行,输入:18

📗📗wget下载

我们在 Windows 中可以很轻松的下载和安装各种各样的软件,我们在 Linux 中也可以下载和安装,只需要 wget 命令即可,但是初装的虚拟机是没有这个命令的,我们需要安装他的包才能使用。安装 wgrt 命令如下:

yum install wget -y

总结

AutoDL 是科研路上的好帮手,建议养成“随用随开,不用即关”的习惯,保护好你的钱包!如果你觉得本教程有用,欢迎点赞收藏!有问题评论区留言!

© 版权声明

相关文章