一、AutoDL服务器配置
(一)租用实例
1. 算力市场
1.1 充值
1.2 租用服务器
点击1卡可租
,进入租卡页面。
2 基础镜像
之前实验室服务器的版本:torch 1.12.0,Ubuntu 18.04.1,cuda 11.3,python 3.8.13,torchaudio 0.12.0,torchvision 0.13.0,conda 4.12.0。
基础镜像有两种方法:
2.1 可以选择已给的基本镜像PyTorch框架
但仍需要按照 一、AutoDL服务器配置 -> (三)配置环境 -> 5 -> 5.2 -> 5
开始来验证环境是否配置成功。
2.2 建一个Miniconda的镜像,后续还需要进行环境配置。下载镜像,再上传,再配置虚拟环境。
注意: 可以在关机的情况下,更换镜像。
3 实例查询
(二)数据传输
- 单个文件,如zip压缩包时,建议直接在
文件存储
中上传。因为不需要开机。 - 多文件,Xftp传输或需要开机。
参考:
AutoDL网盘的使用
AutoDL使用教程
1. AutoDL网盘传输
1.1 AutoDL网盘初始化
1.2 AutoDL网盘上传ZIP文件
1.3 AutoDL网盘解压ZIP文件
1.3.1 进入终端
注意: 选择无卡开机
1.3.2 进入文件存储autodl-fs
1.3.3 解压ZIP文件
- 直接解压到当前文件夹:
# 解压到当前的文件夹
unzip xxx.zip
- 解压到指定的文件夹:unzip 解压文件到指定目录
# 解压到指定的文件夹
unzip -d /train xxx.zip
- 终端解压时,注意root路径
运行结果:
1.3.4 压缩ZIP文件
实现:
将结果(文件名为prediction_00000.nii.gz、prediction_00001.nii.gz......
)压缩,得到predictions.zip压缩包。
zip predictions.zip prediction_*.nii.gz
2. Xftp数据传输
优点:
- 在Windows系统下,如果想和Linux系统进行文件传输,可以使用Xftp工具。
- 不限制上传的文件个数,可直接上传文件夹。
2.1 下载xshell 和 Xftp软件
xshell 和 xftp官网: xshell 和 xftp
2.2 安装xshell 和 Xftp软件
参考:Windows 下 xshell 和 xftp 安装与使用
2.3 Xftp与AutoDL网盘连接
- AutoDL开机, 可选无卡开机
- 开机后,获得
登录指令、密码
- 打开XFTP,复制AutoDL上的登录指令、密码
# 登录指令:ssh -p 22070 root@region-45.seetacloud.com
主机:region-45.seetacloud.com(@后的所有内容)
端口号:22070(@前的数字部分)
用户名:root
密码:AutoDL上的密码
2.4 Xftp与AutoDL数据传输
- 连接已建立的会议
- XFTP与AutoDL连接
- 上传数据
3. 公网网盘传输
3.1 开机—选择AutoPanel
3.2 选公网网盘——X里云盘、X度网盘
具体请参考:公网网盘(强烈推荐)
(三)配置环境
参考: 超详干货!Linux 环境变量配置全攻略
1. 知识(可选择不看,不影响安装)
1.1 PATH的作用
参考:初识脚本 理解 PATH 及 ~/.bashrc
- 每次在 Bash 里面输入一个命令时,Bash 都会去 PATH目录里面寻找对应的文件,如果找到了就执行。
- 使用PATH:将 ~/local 添加到path 里面,分为永久设置PATH和临时设置,具体如下:
-
先获取 ~/local 的绝对路径 : cd ~/local; pwd
-
临时设置PATH :
-
export PATH=“local的绝对路径:$PATH”
-
任意位置(不是 ~/local)执行: demo.txt
- 永久设置PATH:
-
创建 .bashrc : touch ~/.bashrc
-
进入并编辑:start ~/.bashrc
-
写入以下内容: export PATH=“local的绝对路径:$PATH”
-
执行 .bashrc : source ~/.bashrc
-
任意位置(不是 ~/local)执行: demo.txt
1.2 bash
Bash (GNU Bourne-Again Shell) 是许多Linux发行版的默认Shell,是Bourne shell的后继兼容版本与开放源代码版本,它的名称来自Bourne shell(sh)的一个双关语(Bourne again / born again):Bourne-Again SHell。
- bash是一个命令处理器, 运行在文本窗口中, 并能执行用户直接输入的命令;
- bash还能从文件中读取Linux命令, 称之为脚本;
- bash支持通配符, 管道, 命令替换, 条件判断等逻辑控制语句 。
1.3 ~/.bashrc 的作用
~/bashrc: 为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。
每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。 一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取/.bash_profile文件,这样/.bashrc也就得到执行了,你的个性化设置也就生效了。
- .bashrc 这个文件主要保存个人的一些个性化设置,如命令别名、路径等, 是bash的个人配置文件,在用户目录下,是个隐藏文件;
- 可以实现在进入 Git Bash 前执行任何命令;可以进行命令别名缩写;可以
设置环境变量及PATH
; - 新建 .bashrc文件:touch ~/.bashrc;
- 设置PATH:export PATH=“目录的绝对路径:$PATH”。
1.4 Linux环境变量配置
- ~/.bash_profile 是交互式、login 方式进入 bash 运行的,意思是只有用户登录时才会生效,.bash_profile只在会话开始时被读取。
- ~/.bashrc 是交互式 non-login 方式进入 bash 运行的,用户不一定登录,只要以该用户身份运行命令行就会读取该文件,.bashrc在每次打开新的终端时都会被读取。。
1.4.1 Linux环境变量配置方法1:vim ~/.bashrc
通过修改用户目录下的~/.bashrc文件进行配置:
vim ~/.bashrc
// 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bashrc生效
- 生效期限:永久有效
- 生效范围:仅对当前用户有效
- 如果有后续的环境变量加载文件覆盖了PATH定义,则可能不生效
1.4.2 Linux环境变量配置方法2:vim ~/.bash_profile
和修改~/.bashrc文件类似,也是要在文件最后加上新的路径即可:
vim ~/.bash_profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bash_profile生效
- 生效期限:永久有效
- 生效范围:仅对当前用户有效
- 如果没有/.bash_profile文件,则可以编辑/.profile文件或者新建一个
2. AutoDL配置环境-激活conda
参考:李沐+AutoDL深度学习环境配置
2.1 查看conda
conda activate base
2.2 激活conda
2.2.1 通过修改用户目录下的~/.bashrc文件进行配置
vim ~/.bashrc
2.2.2 英文下输入i,下面会出现一个INSERT
2.2.3 跳到页末:按键盘上的pagedown,添加conda
注: 这个路径只对minconda3的AutoDL的服务器管用,如果是其他服务器,自己改下路径。
source /root/miniconda3/etc/profile.d/conda.sh
2.2.4 保存退出
-
按下ESC,退出编辑界面;
-
英文键盘输入 :wq,然后回车,保存文件并退出。
-
回到终端界面
2.2.5 重启终端:输入 bash 或把终端关掉,重启终端
2.3 进入基本的conda环境
conda activate base
3. AutoDL配置环境-Python安装
3.1 搭建自己的Python环境-py38(自己随意起)
conda create -n py38 python=3.8
3.2 进入py38环境
conda activate py38
4. AutoDL配置环境-PyTorch框架安装
PyTorch框架安装两种方法:
- 官网快捷键安装;
- 下载PyTorch等包,上传到网盘,进行安装。
4.1 快捷键安装
4.1.1 进入官网,选择自己的版本
官网:PyTorch
# CUDA 11.3
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
4.1.2 安装
- 复制、粘贴、安装
- 安装完成
4.2 网盘上传的各种包的安装
4.2.1 安装包下载、上传
具体参考:(二)数据传输 这一章。
注: 包的安装、上传已完成后,进行下一节。
4.2.2 Torch、Torchvision等其他包的安装
pip install autodl-fs/torch-1.10.0+cu111-cp38-cp38-linux_x86_64.whl
注: 一定要和自己创建实例的环境相对应,我随便举个例子。3个镜像都在autodl-fs/目录下。
注: 安装torchvision、torchaudio等其他包方法相类似,不重复了。
另: 按下Tab键
可自动补齐名称。
5. AutoDL配置环境-JupyterLab页面更新
5.1 原因
环境创建完后,JupyterLab页面还只有基本环境,需要进行更新。
5.2 JupyterLab页面更新——在py38环境
- 在py38环境下,输入下列代码:
conda install ipykernel
2. 接着输入下列代码:
ipython kernel install --user --name=py38
3. 添加成功
4. 按照以上步骤配置好环境,就可以Notebook下的py38进去写代码了。
5. 如果没有按照以上的步骤配置,就选择左边的Python 3进入Jupyter写代码。
6. AutoDL配置环境-验证
6.1 开机
注: 之前的步骤都是无卡开机模式,而为了验证环境已经配置完成,需要关机,再直接开机,这次不是无卡开机。
6.2 进入JupyterLab
6.3 进入py38
6.4 输入代码,验证
import torchvision
import torch
print(torch.version.cuda)
print(torch.__version__)
print(torchvision.__version__)
print(torch.cuda.is_available())
# 11.3
# 1.12.0
# 0.13.0
# True
二、PyCharm连接(PyCharm2021.3专业版)
(一)安装PyCharm专业版
1. 原因
注: 必须是PyCharm专业版才能进行远程连接使用。
2. PyCharm专业版的安装
2.1 学生认证教育邮箱的安装
- PyCharm官网
- PyCharm专业版免费安装教程
2.2 PyCharm2021.3专业版的安装
- PyCharm2021.3专业版—提取码:p923
- ※ 安装的视频教程 ※
- ※ 安装的文章教程 ※
(二)AutoDL与PyCharm专业版连接
参考教程:
- AutoDL平台Pycharm使用教程—官方视频
- PyCharm远程开发—官方文档
- 学生党超实用的在线gpu加速服务器ATUODL,与pycharm连接使用教程。
1. AutoDL与PyCharm专业版连接
连接方法有两种:
1.1 官方远程连接方法
- 随便打开一个项目;
- [File] -> [Settings];
- 选择[Python interpreter] -> 小齿轮;
- 选择[Add];
- 将实例SSH指令中的Host、Port与Username进行匹配和填写;
-点[Yes];
- 输入SSH的密码 -> [Next];
- 定位到py38环境中的python解释器 -> 配置同步目录;※ noise_code,文件夹要用下划线 ※
- 同步文件夹设置;
- 配置同步目录,不建议使用默认的/tmp目录;
- 配置完成。
-
可以对python解释器进行修改;
1.2 从Tools进行配置(可不看)
以下步骤来自:AutoDL使用教程,写在这里主要是为了看方便,大家可以去看博主的原文。
- Tools -> Deployment -> Configuration;
- 添加SFTP;
SFTP(SSH File Transfer Protocol,也称 Secret File Transfer Protocol) 是一种安全的SHH文件传输协议。
- 点击…进入SSH Configurations;
- 完成配置。
-
如果您在运行时找不到Python文件,可能是没有自动同步代码,那么可以选择手动同步:
2. 显示云服务器的文件目录
3. 切换到root/autodl-fs云盘目录下,查看到上传的数据和代码
4. 连接到远程终端
5. 查看、修改代码内容
- 新建文件,自动更新
说明: 因为选择了自动更新,所以新建文件、编写的代码都会自动更新到云服务器上。
- 重新上传更新代码(如果需要的话)
6. 安装项目的依赖包—requirements.txt
- PyCharm终端输入命令(
cd RoGNoisyLabel-master
)进入RoGNoisyLabel-master文件夹,然后直接输入如下指令一键安装所需依赖包:(一起全安装)
#进入项目文件夹,目的是找到requirements.txt
cd RoGNoisyLabel-master
# install
pip install -r requirements.txt
- PyCharm终端安装依赖包 (一个一个安装)
— 打开requirements.txt查看虚拟环境需要哪个安装包;
— 进入环境,如 py38;
— 安装依赖包,如 pip install nibabel。
# 进入环境
conda activate py38
# conda install 安装包的名字 或是 pip install 安装包的名字
pip install nibabel
注:
如果包太大,可以镜像
安装opencv出现问题:解决办法参考安装opencv3.4.1.15库 (基于Python)
pip install opencv-python
# pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
可以用清华镜像:(快)
pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple
7. 运行代码
7.1 PyCharm终端运行
7.2 PyCharm直接执行
注: 前提是autodl和本地文件都存在,且设置好同步,检查好远程连接状态。
-
代码上传。
-
远程连接,并修改好同步文件夹。
-
可以测试远程是否连接成功,以及设置自动同步。
-
可以直接在PyCharm中运行程序了。
运行结果:
7.3 JupyterLab终端运行(推荐)
终端运行可参照 7.1 PyCharm终端运行
来进行操作。
- 通过JupyterLab的终端来执行,只要JupyterLab不出现重启(几乎不会),JupyterLab的终端就会一直运行,无论是本地主机断网还是关机。
- 如果关机了这个终端tab,可以在左侧栏正在运行终端和内核中找回。
- 打开时如果终端什么也不显示,按回车键即可。在使用JupyterLab长时间跑代码的过程中强烈建议对日志重定向,防止断网后中间的日志没有了。使用方法:
# 日志重定向到train.log文件。即在你的命令后加上:> train.log 2>&1
python xxx.py > train.log 2>&1
# 实时查看日志
tail -f train.log
注:
在终端直接调试代码也可以,可以直接双击py
文件,进行修改保存,再终端运行。
或建一个Jupyter
文件,复制代码,调试、运行代码。
8. screen/tmux工具
8.1 原因
如果在PyCharm中长时间使用实例的终端环境运行任务,可能因连接中断导致任务失败。因此需要开守护进程来执行程序。
8.2 screen工具
AutoDL自带的Jupyterlab终端和screen工具。
参考:
1.官方文档—守护进程
2.Pycharm连接远程服务器(AutoDL)训练YOLOv5
8.2.1 screen工具安装
- 打开JupyterLab终端
- 在命令行终端安装screen:
apt-get update && apt-get install -y screen
8.2.2 JupyterLab终端
- 创建新会话(需要进入你的环境,如py38,这里只做演示,没有进入环境)
-
终端输入:screen
-
按
回车键
,此时会出现一个和之前完全一样的终端(实际上是两个)
说明: 此时在这个终端中执行的程序意味着会受到这个会话保护,比如在这里执行命令:注:
如果使用screen打开终端后中文乱码,执行以下命令后重新进入screen终端:
echo "defencoding GBK" >> ~/.screenrc
echo "encoding UTF-8 GBK" >> ~/.screenrc
-
离开会话
在用screen打开的终端中使用快捷键:ctl + a + d,会退出到原终端,并且显示detached,意味着这个会话只是离开并未退出。 -
重新进入会话(
可以看到上图和下图的终端是不一样的,是两个会话
)
执行完以上命令,就会恢复screen的那个终端(我们会发现最开始执行的ping www.baidu.com仍然在执行)。因此就可以将我们的程序放在screen的会话中执行,然后离开会话,等我们需要看日志时再恢复到这个会话中。 -
退回会话,关掉会话(可任选一种方法)
-
在用screen打开的终端中使用快捷键:
ctl + d
,就会离开screen会话,回到原来的终端。如果有正在执行的程序,先ctrl + c
终止程序。 -
正常退出可以用
exit命令
、快捷键等。
screen -r 1310.pts-0.autodl-container-9c5011800000-9700000f2
exit # 或Ctrl+a k 或Ctrl+C
- screen乱码问题
加上 -U 参数即可,比如:
新建:screen -U
恢复:screen -U -r xxx
- 关掉进程中的指定会话
# 关掉指定会话
kill ...
8.2.3 PyCharm终端(同上)
- 切换远程
- 进入环境
- 新建screen会话
说明: 可以进入新的会话后,再激活环境,再运行程序。 - 运行程序
8.3 tmux工具
操作与screen工具相似,可自行搜索方法,这里不做介绍。
三、AutoDL自动关机
(一)原因
不确定自己的代码需要执行多久结束,希望执行完成后立马关机。这类场景可以通过shutdown
(最好使用命令完整路径: /usr/bin/shutdown
)命令来解决。
注: 请保存好程序的日志,自动关机后标准输出中的日志将不再可见文章来源:https://www.toymoban.com/news/detail-706962.html
(二)方法1
# 假设您的程序原执行命令为
python train.py
# 那么可以在您的程序后跟上shutdown命令
python train.py; /usr/bin/shutdown # 用;拼接意味着前边的指令不管执行成功与否,都会执行shutdown命令
python train.py && /usr/bin/shutdown # 用&&拼接表示前边的命令执行成功后才会执行shutdown。请根据自己的需要选择
(三)方法2
在您的Python代码中执行shutdown命令,例如:文章来源地址https://www.toymoban.com/news/detail-706962.html
import os
if __name__ == "__main__":
# xxxxxx
os.system("/usr/bin/shutdown")
到了这里,关于【AutoDL】服务器配置、Xftp数据传输及PyCharm连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!