先决条件
- Linux or macOS (Windows is in experimental support)
- Python 3.6+
- PyTorch 1.3+
- CUDA 9.2+(If you build PyTorch from source, CUDA 9.0 is also compatible)
- GCC 5+
- MMCV
兼容的 MMDetection 和 MMCV 版本如下所示。请安装正确版本的 MMCV,以避免安装问题。
CUDA版本及显卡驱动信息
我安装的版本是CUDA 11.3,驱动信息和CUDA版本如下:
安装步骤
conda create -n openmmlab python==3.8
conda activate openmmlab
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch
pip install openmim
mim install mmcv-full==1.5.1
//后面需要在CEASC目录下执行
pip install -r requirements/build.txt
pip install -v -e .
pip install nltk
pip install -r requirements/albu.txt
cd ./Sparse_conv
python setup.py install
cd ..
至此环境安装全部结束
使用
1.数据集下载
可以从官方链接或 UFPMP-Det 等其他存储库下载 VisDrone 和 UAVDT 数据集(COCO 格式)。
2.训练
% training on a single GPU
python tools/train.py /path/to/config-file --work-dir /path/to/work-dir
% training on multi GPUs
bash tools/dist_train.sh /path/to/config-file num-gpus --work-dir /path/to/work-dir
这是我训练GFL v1 基线的命令,可以参考一下:
python tools/train.py configs/UAV/baseline_gfl_res18_visdrone.py --work-dir path/to/work-dir
// 这里的/path/to/work-dir是训练后存储训练结果的路径
注意代码中路径要和数据集路径对应上
3.测试
python tools/test.py /path/to/config-file /path/to/work-dir/latest.pth --eval bbox
这是我测试GFL v1 基线的命令,可以参考一下:
python tools/test.py configs/UAV/baseline_gfl_res18_visdrone.py /path/to/work-dir/latest.pth --eval bbox
// 这里的/path/to/work-dir是训练后存储训练结果的路径
可能出现的错误
在mmdetection上训练报错
错误1:
TypeError: FormatCode() got an unexpected keyword argument 'verify'
原因是:yapf版本过高,目前版本为 0.40.2,只需要重装低版本的yapf就行
pip uninstall yapf
pip install yapf==0.40.1
错误2:
原因是:albumentations版本过高,目前版本为 1.4.6,只需要重装低版本的yapf就行
pip uninstall yapf
pip install yapf==1.3.0 //我重装的这个版本,可以跑起来
结论
github上给的步骤可能我没能太好的理解,导致出现了很多错误,这个是我自己配置的步骤,有不对的地方希望大佬可以指出来。