Nanodet训练自己的数据集并转为onnx和mnn

1. 准备训练的数据

Nanodet训练自己的数据集并转为onnx和mnn_第1张图片
train 和 valid 下的两个子目录分别存放训练集和验证集的图片和xml文件(注意图片和标签一一对应)

2. 建立config yaml文件

源码下载:
git clone https://github.com/RangiLyu/nanodet.git

参考https://github.com/RangiLyu/nanodet/blob/main/config/nanodet_custom_xml_dataset.yml
在config文件夹下建立自己的yml文件:
(1)修改训练结果的保存路径
Nanodet训练自己的数据集并转为onnx和mnn_第2张图片
(2)修改自训练类别数量
Nanodet训练自己的数据集并转为onnx和mnn_第3张图片
(3)修改自训练类别标签
Nanodet训练自己的数据集并转为onnx和mnn_第4张图片
(4)修改训练集和验证集的文件夹路径
Nanodet训练自己的数据集并转为onnx和mnn_第5张图片
(5)修改训练的循环次数
Nanodet训练自己的数据集并转为onnx和mnn_第6张图片

3. 配置nanodet环境

(1)Create a conda virtual environment and then activate it.

 conda create -n nanodet python=3.8 -y
 conda activate nanodet

(2)Install pytorch

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116

(3)Install requirements

pip install -r requirement.txt
pip install pytorch_lightning
pip install termcolor
pip install opencv-python-headless

(4)Setup NanoDet

cd nanodet
python setup.py develop

4. 训练

python ./tools/train.py ./config/mydata.yml

5. 模型转为onnx

使用nanodet源码提供的转换脚本

python ./tools/export_onnx.py --cfg_path ./config/mydata.yml --model_path./workspace/nanodet_m_ws/model_best/nanodet_model_best.pth --out_path ./workspace/nanodet_m_ws/model_best/nanodet_m_ws.onnx

6. 模型转为mnn

MNN版本2.0.0,MNN_BUILD_CONVERTER 设置为true,编译模型转换工具,使用以下命令将onnx转为mnn:

./MNNConvert -f ONNX --modelFile xxx.onnx --MNNModel xxx.mnn --bizCode MNN

你可能感兴趣的:(目标检测,python,深度学习,开发语言)