github地址
首先要配置环境
conda create -n nanodet python=3.8 -y
conda activate nanodet
确认一下cuda版本
nvcc -V
确认是11.3之后,要安装11.3对应的pytorch版本。
本机装pytorch1.12.1后面运行的时候会报错(torch没有经过cuda编译),于是降级到1.11
conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorch
然后进入nanodet文件夹
cd nanodet
pip install -r requirements.txt
python setup.py develop
准备COCO数据集,数据集可以官网下载,也可以代码下载,
代码下载见这篇文章
会得到如下数据集文件夹
修改nanodet训练的配置文件,在nanodet/config
文件夹下,自己选一个模型,
这里选的是nanodet-plus-m_416.yml
需要修改的有下面几个:
save_dir: #训练出的模型保存在哪里
data:
train:
name: CocoDataset
img_path: #上面的images文件夹路径
ann_path: #上面的annotations文件夹路径/instances_train2017.json
val:
name: CocoDataset
img_path: #上面的images文件夹路径
ann_path: #上面的annotations文件夹路径/instances_val2017.json
device:
gpu_ids: [0] #想用CPU的这里写-1
workers_per_gpu: 10
batchsize_per_gpu: 16 #需要根据实际需要修改
total_epochs: 50 #训练多少个epoch
val_intervals: 10 #每10个epoch做一次evaluation
设置参数
在pycharm的Run->Edit Configurations
Parameters里填上面的配置文件nanodet-plus-m_416.yml
所在的完整路径
开始训练,训练完成后模型model_last.ckpt
会保存在save_dir
文件夹下。
来测试一下这个模型,
选择nanodet/demo/demo.py
设置参数
Parameters里填上
--config ../config/nanodet-plus-m_416.yml --model save_dir路径/model_last.ckpt --path 测试图片路径/people.jpg --save_result image
这是训练50个epoch的结果。