赞
踩
点击1卡可租
,进入租卡页面。
之前实验室服务器的版本: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。
基础镜像有两种方法:
但仍需要按照 一、AutoDL服务器配置 -> (三)配置环境 -> 5 -> 5.2 -> 5
开始来验证环境是否配置成功。
注意: 可以在关机的情况下,更换镜像。
文件存储
中上传。因为不需要开机。参考:
AutoDL网盘的使用
AutoDL使用教程
注意: 选择无卡开机
# 解压到当前的文件夹
unzip xxx.zip
# 解压到指定的文件夹
unzip -d /train xxx.zip
运行结果:
实现:
将结果(文件名为prediction_00000.nii.gz、prediction_00001.nii.gz......
)压缩,得到predictions.zip压缩包。
zip predictions.zip prediction_*.nii.gz
优点:
xshell 和 xftp官网: xshell 和 xftp
参考:Windows 下 xshell 和 xftp 安装与使用
登录指令、密码
# 登录指令:ssh -p 22070 root@region-45.seetacloud.com
主机:region-45.seetacloud.com(@后的所有内容)
端口号:22070(@前的数字部分)
用户名:root
密码:AutoDL上的密码
AutoPanel
具体请参考:公网网盘(强烈推荐)
先获取 ~/local 的绝对路径 : cd ~/local; pwd
临时设置PATH :
export PATH=“local的绝对路径:$PATH”
任意位置(不是 ~/local)执行: demo.txt
创建 .bashrc : touch ~/.bashrc
进入并编辑:start ~/.bashrc
写入以下内容: export PATH=“local的绝对路径:$PATH”
执行 .bashrc : source ~/.bashrc
任意位置(不是 ~/local)执行: demo.txt
Bash (GNU Bourne-Again Shell) 是许多Linux发行版的默认Shell,是Bourne shell的后继兼容版本与开放源代码版本,它的名称来自Bourne shell(sh)的一个双关语(Bourne again / born again):Bourne-Again SHell。
~/bashrc: 为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。
每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。 一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取/.bash_profile文件,这样/.bashrc也就得到执行了,你的个性化设置也就生效了。
设置环境变量及PATH
;通过修改用户目录下的~/.bashrc文件进行配置:
vim ~/.bashrc
// 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
和修改~/.bashrc文件类似,也是要在文件最后加上新的路径即可:
vim ~/.bash_profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
conda activate base
vim ~/.bashrc
INSERT
注: 这个路径只对minconda3的AutoDL的服务器管用,如果是其他服务器,自己改下路径。
source /root/miniconda3/etc/profile.d/conda.sh
按下ESC,退出编辑界面;
英文键盘输入 :wq,然后回车,保存文件并退出。
回到终端界面
conda activate base
conda create -n py38 python=3.8
conda activate py38
PyTorch框架安装两种方法:
官网:PyTorch
# CUDA 11.3
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
具体参考: (二)数据传输 这一章。
注: 包的安装、上传已完成后,进行下一节。
pip install autodl-fs/torch-1.10.0+cu111-cp38-cp38-linux_x86_64.whl
注: 一定要和自己创建实例的环境相对应,我随便举个例子。3个镜像都在autodl-fs/目录下。
注: 安装torchvision、torchaudio等其他包方法相类似,不重复了。
另: 按下Tab键
可自动补齐名称。
环境创建完后,JupyterLab页面还只有基本环境,需要进行更新。
conda install ipykernel
2. 接着输入下列代码:
ipython kernel install --user --name=py38
3. 添加成功
4. 按照以上步骤配置好环境,就可以Notebook下的py38进去写代码了。
5. 如果没有按照以上的步骤配置,就选择左边的Python 3进入Jupyter写代码。
注: 之前的步骤都是无卡开机模式,而为了验证环境已经配置完成,需要关机,再直接开机,这次不是无卡开机。
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专业版才能进行远程连接使用。
参考教程:
连接方法有两种:
以下步骤来自:AutoDL使用教程,写在这里主要是为了看方便,大家可以去看博主的原文。
SFTP(SSH File Transfer Protocol,也称 Secret File Transfer Protocol) 是一种安全的SHH文件传输协议。
cd RoGNoisyLabel-master
)进入RoGNoisyLabel-master文件夹,然后直接输入如下指令一键安装所需依赖包:(一起全安装)#进入项目文件夹,目的是找到requirements.txt
cd RoGNoisyLabel-master
# install
pip install -r requirements.txt
# 进入环境
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
注: 前提是autodl和本地文件都存在,且设置好同步,检查好远程连接状态。
代码上传。
远程连接,并修改好同步文件夹。
可以测试远程是否连接成功,以及设置自动同步。
可以直接在PyCharm中运行程序了。
运行结果:
7.1 PyCharm终端运行
来进行操作。# 日志重定向到train.log文件。即在你的命令后加上:> train.log 2>&1
python xxx.py > train.log 2>&1
# 实时查看日志
tail -f train.log
注:
在终端直接调试代码也可以,可以直接双击py
文件,进行修改保存,再终端运行。
或建一个Jupyter
文件,复制代码,调试、运行代码。
如果在PyCharm中长时间使用实例的终端环境运行任务,可能因连接中断导致任务失败。因此需要开守护进程来执行程序。
AutoDL自带的Jupyterlab终端和screen工具。
参考:
1.官方文档—守护进程
2.Pycharm连接远程服务器(AutoDL)训练YOLOv5
apt-get update && apt-get install -y screen
终端输入: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 -r xxx
# 关掉指定会话
kill ...
操作与screen工具相似,可自行搜索方法,这里不做介绍。
不确定自己的代码需要执行多久结束,希望执行完成后立马关机。这类场景可以通过shutdown
(最好使用命令完整路径: /usr/bin/shutdown
)命令来解决。
注: 请保存好程序的日志,自动关机后标准输出中的日志将不再可见
# 假设您的程序原执行命令为
python train.py
# 那么可以在您的程序后跟上shutdown命令
python train.py; /usr/bin/shutdown # 用;拼接意味着前边的指令不管执行成功与否,都会执行shutdown命令
python train.py && /usr/bin/shutdown # 用&&拼接表示前边的命令执行成功后才会执行shutdown。请根据自己的需要选择
在您的Python代码中执行shutdown命令,例如:
import os
if __name__ == "__main__":
# xxxxxx
os.system("/usr/bin/shutdown")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。