注:配置过程中所用到的所有文件均放在测试部分的网盘内。
一、矩池云官网上选择合适主机和环境
矩池云 - 专注于人工智能领域的云服务商 (matpool.com)
![](https://i-blog.csdnimg.cn/blog_migrate/2c791c707fab40963375a77a0cd585f3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4379be2c91fbd2925534ef8072085a16.png)
注:python的版本不宜过高且若要使用最新版的swin transformer项目代码需要注意pytorch的版本最好1.7以上。当然也可以租用尚未安装pytorch的镜像后续自己按需安装即可。
二、租用后开始配置环境
1.使用所提供的JupyterLab链接并打开终端(terminal)
![](https://i-blog.csdnimg.cn/blog_migrate/8c5abd5a3f6db493af4070ce02ea6650.png)
2.安装mmcv
注:下载至root/miniconda3/envs/myconda(若不使用已有环境可按需创建并将文件下载到对应环境)
1、下载文件
此处可选择克隆(有的时候网络不佳可能出现下载失败,此时输入以下网址下载压缩包)
git clone -b v1.3.17 https://github.com/open-mmlab/mmcv.git
也可选择上传压缩包后解压(unzip )
![](https://i-blog.csdnimg.cn/blog_migrate/8089848d12bc99705470399274299275.png)
![](https://i-blog.csdnimg.cn/blog_migrate/edccd74b6394933466af01f8d36e7453.png)
2、开始安装
cd mmcv-1.3.17
MMCV_WITH_OPS=1 pip install -e .
![](https://i-blog.csdnimg.cn/blog_migrate/594ea1b37a7a33d7144a52dc5a4faa17.png)
3、检查是否安装成功
![](https://i-blog.csdnimg.cn/blog_migrate/4154cd85094a8606f7990bd9c31dab5d.png)
若安装时版本不匹配可输入以下代码降低版本。
pip install mmcv-full==1.3.17 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html
3.安装mmdetection
注:下载至root/miniconda3/envs/myconda(若不使用已有环境可按需创建并将文件下载到对应环境)
1、下载文件并安装
git clone -b v2.19.1 https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
python setup.py develop
2、检查是否安装成功
![](https://i-blog.csdnimg.cn/blog_migrate/e8634be8c391b5f292b6c708cc492c1d.png)
4.安装apex
注:下载至root/miniconda3/envs/myconda(若不使用已有环境可按需创建并将文件下载到对应环境)
1、下载文件并安装
git clone https://github.com/NVIDIA/apex
cd apex
python setup.py install
2、检查是否安装成功
![](https://i-blog.csdnimg.cn/blog_migrate/a172ab9bd04e3d096b5061937c52a306.png)
5.安装Swin-Transformer-Object-Detection
1、下载文件并检查完善环境
git clone https://github.com/SwinTransformer/Swin-Transformer-ObjectDetection.git
cd Swin-Transformer-Object-Detection
python setup.py develop
![](https://i-blog.csdnimg.cn/blog_migrate/7376abb0f6a876f08bdca6fa4be8f343.png)
三、测试
1、下载权重文件
注:放置Swin-Transformer-Object-Detection-master目录下
链接:https://pan.baidu.com/s/1wTnBxOYMwayPsekKcpohdg?pwd=rlrl
提取码:rlrl
也可在Swin Transformer目标检测官方网址按需下载权重文件。
2、新建py文件valid.py
内容如下(放置Swin-Transformer-Object-Detection-master目录下)
from mmdet.apis import init_detector, inference_detector
config_file = 'configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py'
# download the checkpoint from model zoo and put it in `checkpoints/`
# url: https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
checkpoint_file = 'mask_rcnn_swin_tiny_patch4_window7_1x.pth'
device = 'cuda:0'
# init a detector
model = init_detector(config_file, checkpoint_file, device=device)
# inference the demo image
img = 'demo/demo.jpg'
result = inference_detector(model, 'demo/demo.jpg')
model.show_result(img, result)
model.show_result(img, result, out_file='demo/demo_result.jpg') # 保存推理图像
3、开始测试
(python valid.py)
![](https://i-blog.csdnimg.cn/blog_migrate/d03ba09af839e0af9a876281b1ff8a23.png)
会出现以上提醒但测试实际上已经成功,可以发现demo文件夹已经出现了demo_result.jpg点击查看
![](https://i-blog.csdnimg.cn/blog_migrate/009f516d1d2231d870d992d7f5063264.png)
当然依据提醒是指将configs文件中的test_pipeline的ImageToTensor替换为DefaultFormatBundle。
在valid.py中可知我们所用到的py文件为mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py。
打开configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py,该py文件又涉及以下三个py文件,依次打开发现在coco_instance.py中出现test_pipeline,并将ImageToTensor替换为DefaultFormatBundle。
![](https://i-blog.csdnimg.cn/blog_migrate/df8f809c6b697862c2b797a4d81edd13.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b00f807dbcc8f639b74c2b38a58cd3ad.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4dfec6aa8ee66663b75662e57fcf345e.png)
再次输入python valid.py会发现不再存在以上情况。