前言
文章性质:实操笔记 📖
代码来源:https://github.com/open-mmlab/mmdetection
主要内容:本文详细记录了如何借助 Tabby 图形界面工具在 AutoDL 远程服务器上配置 mmdetection 所需的项目环境,并且成功使用 mmdetection 框架训练自定义数据集。
冷知识+1:小伙伴们不经意的 点赞 👍🏻 与 收藏 ✨ 可以让作者更有创作动力!
Prepare
在运行 YOLOv5 代码前,我们要先在 AutoDL 平台租用合适的远程服务器,并借助 Tabby 图形化界面上传代码和配置环境。
- AutoDL 官网:AutoDL 算力云 | 弹性、好用、省钱。
- Tabby 工具:Tabby - a terminal for a more modern age
借助 Tabby 图形界面在 Autodl 远程服务器上,根据 Github 官网中提供的 mmdetection 流程进行配置:
代码链接:GitHub - open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark
1、AutoDL 租用远程服务器
在 AutoDL 官网的【算力市场】按照自身需求租用合适的 GPU :
【说明】由于 Github 项目中提到 ultralytics 的安装环境需要 PyTorch 1.8+ ,故按图设置镜像。
2、Tabby 设置 SSH 接口
(1)获取 SSH 登录
在 Tabby 设置 SSH 接口前,需要确保租用的 GPU 处于运行状态,还要获取 SSH 登录所需的指令与密码。
(2)配置 SSH 登录
打开 Tabby 工具的设置栏,在 Profiles & connections 中可以新建 SSH Connection :
(3)运行 SSH 登录
配置 SSH 接口的 Host 、Port 、Username 、Password 和接口名称后,我们就可以点击运行 ▶ 按钮啦!
3、Tabby 上传项目代码
这里我们介绍了两种将项目代码上传到远程服务器的方式,我更推荐第一种方式,因为第二种方式费时更长(可能我的问题)。
(1)手动上传项目代码
将 Github 提供的 mmdetection 相关代码上传至 Tabby 的 /root/autodl-tmp 目录,并借助 unzip 命令进行解压。
(2)Git 克隆项目代码
执行命令:git clone https://github.com/open-mmlab/mmdetection
【说明】可能是网络问题,使用 git clone 命令克隆项目代码时会遇到些许问题,多尝试几次即可。
4、Tabby 配置项目环境
进入远程服务器终端命令窗口后,我们需要先更新 bashrc 中的环境变量。
执行命令:conda init bash && source /root/.bashrc
conda init bash && source /root/.bashrc
【说明】由图可知,我们已经默认进入了 base 环境,我们可以在 base 环境中安装依赖,也可以新建虚拟环境来安装依赖。
(1)新建 conda 环境
执行命令:conda create --name openmmlab python=3.8 -y
conda create --name openmmlab python=3.8 -y
(2)激活 conda 环境
执行命令:conda activate openmmlab
conda activate openmmlab
(3)配置 conda 环境 ①
执行命令:conda install pytorch=1.10.2 torchvision torchaudio cudatoolkit=11.3 -c pytorch
conda install pytorch=1.10.2 torchvision torchaudio cudatoolkit=11.3 -c pytorch
(4)配置 conda 环境 ②
执行命令 1 :pip install -U openmim
pip install -U openmim
执行命令 2 :mim install mmengine
mim install mmengine
执行命令 3 :mim install "mmcv>=2.0.0"
mim install "mmcv>=2.0.0"
执行命令 4 :pip install -v -e .
pip install -v -e .
【提醒】在执行这个命令前,需要先进入 mmdetection 的根目录:cd /root/autodl-tmp/mmdetection 。
QuickStart
执行命令 1 :mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest .
mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest .
执行命令 2 :python demo/image_demo.py demo/demo.jpg (config-file) --weights (weights-file) --device cpu
python demo/image_demo.py demo/demo.jpg
A-quickstart/rtmdet_tiny_8xb32-300e_coco.py
--weights A-quickstart/rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth
--device cpu
遇到的问题
AssertionError: MMCV==2.2.0 is used but incompatible. Please install mmcv>=2.0.0rc4, <2.2.0.
解决方法:使用 mim install mmcv==2.1.0 重新安装,最终 mmcv 、mmdet 、mmengine 的版本如图所示。