admin管理员组

文章数量:1649160

目录

  • 一、AutoDL服务器配置
    • (一)租用实例
      • 1. 算力市场
        • 1.1 充值
        • 1.2 租用服务器
      • 2 基础镜像
        • 2.1 可以选择已给的基本镜像PyTorch框架
        • 2.2 建一个Miniconda的镜像,后续还需要进行环境配置。下载镜像,再上传,再配置虚拟环境。
      • 3 实例查询
    • (二)数据传输
      • 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文件
          • 1.3.4 压缩ZIP文件
      • 2. SCP远程拷贝
        • 2.1 将本地中的数据拷贝到实例
        • 2.2 将实例中的数据拷贝到本地
        • 2.3 高级使用方法
      • 3. Xftp数据传输
        • 3.1 下载xshell 和 Xftp软件
        • 3.2 安装xshell 和 Xftp软件
        • 3.3 Xftp与AutoDL网盘连接
        • 3.4 Xftp与AutoDL数据传输
      • 4. 公网网盘传输
        • 4.1 开机—选择`AutoPanel`
        • 4.2 选公网网盘——X里云盘、X度网盘
    • (三)配置环境
      • 1. 知识(可选择不看,不影响安装)
        • 1.1 PATH的作用
        • 1.2 bash
        • 1.3 ~/.bashrc 的作用
        • 1.4 Linux环境变量配置
          • 1.4.1 Linux环境变量配置方法1:vim ~/.bashrc
          • 1.4.2 Linux环境变量配置方法2:vim ~/.bash_profile
      • 2. AutoDL配置环境-激活conda
        • 2.1 查看conda
        • 2.2 激活conda
          • 2.2.1 通过修改用户目录下的~/.bashrc文件进行配置
          • 2.2.2 英文下输入==i==,下面会出现一个`INSERT`
          • 2.2.3 跳到页末:按键盘上的pagedown,添加conda
          • 2.2.4 保存退出
          • 2.2.5 重启终端:输入 bash 或把终端关掉,重启终端
        • 2.3 进入基本的conda环境
      • 3. AutoDL配置环境-Python安装
        • 3.1 搭建自己的Python环境-py38(自己随意起)
        • 3.2 进入py38环境
        • 3.3 删除py38环境
      • 4. AutoDL配置环境-PyTorch框架安装
        • 4.1 快捷键安装
          • 4.1.1 进入官网,选择自己的版本
          • 4.1.2 安装
        • 4.2 网盘上传的各种包的安装
          • 4.2.1 安装包下载、上传
          • 4.2.2 Torch、Torchvision等其他包的安装
      • 5. AutoDL配置环境-JupyterLab页面更新
        • 5.1 原因
        • 5.2 JupyterLab页面更新——在py38环境
      • 6. AutoDL配置环境-验证
        • 6.1 开机
        • 6.2 进入JupyterLab
        • 6.3 进入py38
        • 6.4 输入代码,验证
  • 二、PyCharm连接(PyCharm2021.3专业版)
    • (一)安装PyCharm专业版
      • 1. 原因
      • 2. PyCharm专业版的安装
        • 2.1 学生认证教育邮箱的安装
        • 2.2 PyCharm2021.3专业版的安装
    • (二)AutoDL与PyCharm专业版连接
      • 1. AutoDL与PyCharm专业版连接
        • 1.1 官方远程连接方法
        • 1.2 从Tools进行配置(可不看)
      • 2. 显示云服务器的文件目录
      • 3. 切换到root/autodl-fs云盘目录下,查看到上传的数据和代码
      • 4. 连接到远程终端
      • 5. 查看、修改代码内容
      • 6. 安装项目的依赖包—requirements.txt
      • 7. 运行代码
        • 7.1 PyCharm终端运行
        • 7.2 PyCharm直接执行
        • 7.3 JupyterLab终端运行(推荐)
          • *终端运行可参照 ` 7.1 PyCharm终端运行 ` 来进行操作。*
      • 8. screen/tmux工具
        • 8.1 原因
        • 8.2 screen工具
          • 8.2.1 screen工具安装
          • 8.2.2 JupyterLab终端
          • 8.2.3 PyCharm终端(同上)
        • 8.3 tmux工具
  • 三、AutoDL自动关机
    • (一)原因
    • (二)方法1
    • (三)方法2

一、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. SCP远程拷贝

注意:

  • 下方指令需要在您本地的机器上执行,向实例中拷贝数据,而不是在实例中执行该命令;

  • 如果您是Windows用户,默认Windows系统未安装SSH客户端,推荐下载使用Cmder工具,免安装解压即用。

优点: 传输最快。

2.1 将本地中的数据拷贝到实例
  • 复制您的ssh登录指令,指令格式为:
ssh -p 35394 root@region-1.autodl 
  • 在您本地的机器终端上执行,将本地文件夹拷贝到实例数据盘autodl-tmp上:
scp -rP 35394 <本地文件/文件夹> root@region-1.autodl:/root/autodl-tmp

例如:

scp -rP 35394 /tmp/abc root@region-1.autodl:/root/autodl-tmp
2.2 将实例中的数据拷贝到本地
  • 在您本地的机器终端上执行:
scp -rP 35394 root@120.92.100.9:<实例中的文件/文件夹> <本地文件/文件夹>
2.3 高级使用方法

上面直接scp文件夹的方法,如果小文件多,那么scp速度会非常缓慢。可以使用以下方法拷贝tar流(前提需要本地电脑有tar命令)。

cd <要拷贝的文件夹目录下>
tar cf - * | ssh -p 35394 root@region-1.autodl "cd /root/autodl-tmp && tar xf -"

3. Xftp数据传输

优点:

  • 在Windows系统下,如果想和Linux系统进行文件传输,可以使用Xftp工具。
  • 不限制上传的文件个数,可直接上传文件夹。
3.1 下载xshell 和 Xftp软件

xshell 和 xftp官网: xshell 和 xftp

3.2 安装xshell 和 Xftp软件

参考:Windows 下 xshell 和 xftp 安装与使用

3.3 Xftp与AutoDL网盘连接
  • AutoDL开机, 可选无卡开机
  • 开机后,获得登录指令、密码
  • 打开XFTP,复制AutoDL上的登录指令、密码
# 登录指令:ssh -p 22070 root@region-45.seetacloud
主机:region-45.seetacloud.com(@后的所有内容)
端口号:22070(@前的数字部分)
用户名:root
密码:AutoDL上的密码

3.4 Xftp与AutoDL数据传输
  • 连接已建立的会议
  • XFTP与AutoDL连接
  • 上传数据

4. 公网网盘传输

4.1 开机—选择AutoPanel

4.2 选公网网盘——X里云盘、X度网盘

具体请参考:公网网盘(强烈推荐)

(三)配置环境

参考: 超详干货!Linux 环境变量配置全攻略

1. 知识(可选择不看,不影响安装)

1.1 PATH的作用

参考:初识脚本 理解 PATH 及 ~/.bashrc

  • 每次在 Bash 里面输入一个命令时,Bash 都会去 PATH目录里面寻找对应的文件,如果找到了就执行。
  • 使用PATH:将 ~/local 添加到path 里面,分为永久设置PATH和临时设置,具体如下:
  1. 先获取 ~/local 的绝对路径 : cd ~/local; pwd

  2. 临时设置PATH :

  • export PATH=“local的绝对路径:$PATH”

  • 任意位置(不是 ~/local)执行: demo.txt

  1. 永久设置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

3.3 删除py38环境
conda remove -n py38 --all  # tf2.4是我想删除的环境名

不激活环境

conda deactivate

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环境
  1. 在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/simple

可以用清华镜像:(快)

pip install xxx -i https://pypi.tuna.tsinghua.edu/simple

7. 运行代码

7.1 PyCharm终端运行

7.2 PyCharm直接执行

注: 前提是autodl和本地文件都存在,且设置好同步,检查好远程连接状态。

  1. 代码上传。

  2. 远程连接,并修改好同步文件夹。

  3. 可以测试远程是否连接成功,以及设置自动同步。

  4. 可以直接在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终端
  1. 创建新会话(需要进入你的环境,如py38,这里只做演示,没有进入环境
  • 终端输入:screen

  • 回车键 ,此时会出现一个和之前完全一样的终端(实际上是两个)

    说明: 此时在这个终端中执行的程序意味着会受到这个会话保护,比如在这里执行命令:

    注: 如果使用screen打开终端后中文乱码,执行以下命令后重新进入screen终端:

echo "defencoding GBK" >>  ~/.screenrc
echo "encoding UTF-8 GBK" >>  ~/.screenrc
  1. 离开会话
    在用screen打开的终端中使用快捷键:ctl + a + d,会退出到原终端,并且显示detached,意味着这个会话只是离开并未退出。

  2. 重新进入会话(可以看到上图和下图的终端是不一样的,是两个会话

    执行完以上命令,就会恢复screen的那个终端(我们会发现最开始执行的ping www.baidu仍然在执行)。因此就可以将我们的程序放在screen的会话中执行,然后离开会话,等我们需要看日志时再恢复到这个会话中。

  3. 退回会话,关掉会话(可任选一种方法

  • 在用screen打开的终端中使用快捷键:ctl + d,就会离开screen会话,回到原来的终端。如果有正在执行的程序,先ctrl + c终止程序。

  • 正常退出可以用exit命令、快捷键等。

screen -r 1310.pts-0.autodl-container-9c5011800000-9700000f2
exit  # 或Ctrl+a k 或Ctrl+C
  1. screen乱码问题
    加上 -U 参数即可,比如:
新建:screen -U
恢复:screen -U -r xxx
  1. 关掉进程中的指定会话
kill 1310.pts-0.autodl-container-9c5011800000-9700000f2

8.2.3 PyCharm终端(同上)
  • 切换远程
  • 进入环境
  • 新建screen会话

    说明: 可以进入新的会话后,再激活环境,再运行程序。
  • 运行程序
8.3 tmux工具

操作与screen工具相似,可自行搜索方法,这里不做介绍。

三、AutoDL自动关机

(一)原因

不确定自己的代码需要执行多久结束,希望执行完成后立马关机。这类场景可以通过shutdown (最好使用命令完整路径: /usr/bin/shutdown)命令来解决。
注: 请保存好程序的日志,自动关机后标准输出中的日志将不再可见

(二)方法1

# 假设您的程序原执行命令为
python train.py

# 那么可以在您的程序后跟上shutdown命令
python train.py; /usr/bin/shutdown      # 用;拼接意味着前边的指令不管执行成功与否,都会执行shutdown命令
python train.py && /usr/bin/shutdown    # 用&&拼接表示前边的命令执行成功后才会执行shutdown。请根据自己的需要选择

(三)方法2

在您的Python代码中执行shutdown命令,例如:

import os

if __name__ == "__main__":
    # xxxxxx
    os.system("/usr/bin/shutdown")

本文标签: 数据传输服务器配置AutoDLpycharmXFTP