本地环境:Ubuntu18.04 、Pycharm、默认安装了anconda3!
1. 创建一个虚拟环境!!!注意!!!安装包一定要一致!(Medetect为我的环境名可自行设置, python版本是为了和我其他环境一样,可自行设置)
conda create -n Medetect python==3.8.5
2. 环境创建完成后,激活环境并,一定要先安装Pytorch !(后面mmcv需要pytorch)!
版本要一样,否则会出现 XX_dim 参数错误(github上issue有这个问题,但我也没能解决),或者cuda错误(这个一般是pytorch版本或这cuda版本导致),亲测这个版本好用!别的版本各种问题!
#激活环境
conda activate Medetect
# 安装pytorch 基于 CUDA 11.0
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch
3. pytorch安装完成后,补充几个安装包
pip install cython matplotlib opencv-python
4. 安装包完成,最关键的部分!安装mmcv ! (我的版本亲测好用,我从最新的版本换到1.4.0才好用)
pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
安装很快,等安装完成后,conda list 以下,看看是不是 mmcv-full 1.4.0 版本,如果是1.4.1那也得重新装(我遇到一次打错版本号安装了1.4.1,报错不兼容)
5. 安装完成后,接下来安装mmdet==2.11.0 (我只有这个版本好用,沃哭里)
这里需要用到Swin-Transformer 的安装包,git到本地进入文件夹路径后,直接分别来两句,即可
pip install -r requirements.txt
python setup.py develop
注意:我这里用的是swin的包来编译的mmdet,也可以直接(没试过):
pip install mmdet==2.11.0
6. 最后一步,安装apex ,训练swin的时候使用,(最好用源码的方式安装,直接pip我试过不好用)。下载apex包放在项目的大路径下,直接安装即可,等待完成。
cd apex
python setup.py develop
7. 检测
需要下载文件:mask_rcnn_swin_tiny_patch4_window7.pth
python demo/image_demo.py demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth
结果:
配置基本完成。
我在训练时遇到了 CUDA:。。。。。。一堆乱七八遭的,说明版本不对应,重新检查以下版本就好。