diff --git a/configs/picodet/README.md b/configs/picodet/README.md index a7e160722ab8d93ae88a45a18ce4d134004e5301..c80e4b00caa29cc55c4ff83b42b02d36b391e976 100644 --- a/configs/picodet/README.md +++ b/configs/picodet/README.md @@ -6,7 +6,12 @@ English | [简体中文](README_cn.md) ## News -- Released a new series of PP-PicoDet models, with greatly improved accuracy and optimized CPU prediction speed. **(2022.03.20)** +- Released a new series of PP-PicoDet models, it was used TAL/Task-aligned-Head and optimized PAN, which improved the accuracy and optimized CPU prediction speed. Moreover the training speed is greatly improved. **(2022.03.20)** + +### Legacy Model + +- Please refer to: [PicoDet 2021.10版本](./legacy_model/) + ## Introduction We developed a series of lightweight models, named `PP-PicoDet`. Because of the excellent performance, our models are very suitable for deployment on mobile or CPU. For more details, please refer to our [report on arXiv](https://arxiv.org/abs/2111.00902). @@ -25,15 +30,15 @@ We developed a series of lightweight models, named `PP-PicoDet`. Because of the | Model | Input size | mAPval
0.5:0.95 | mAPval
0.5 | Params
(M) | FLOPS
(G) | Latency[NCNN](#latency)
(ms) | Latency[Lite](#latency)
(ms) | Download | Config | | :-------- | :--------: | :---------------------: | :----------------: | :----------------: | :---------------: | :-----------------------------: | :-----------------------------: | :----------------------------------------: | :--------------------------------------- | -| PicoDet-XS | 320*320 | 23.5 | 36.1 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_xs_320_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_xs_320_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_xs_320_coco.yml) | -| PicoDet-XS | 416*416 | 26.2 | 39.3 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_xs_416_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_xs_416_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_xs_416_coco.yml) | -| PicoDet-S | 320*320 | 29.1 | 43.4 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_320_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_s_320_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_s_320_coco.yml) | -| PicoDet-S | 416*416 | 32.5 | 47.6 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_416_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_s_416_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_s_416_coco.yml) | -| PicoDet-M | 320*320 | 34.4 | 50.0 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_m_320_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_m_320_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_m_320_coco.yml) | -| PicoDet-M | 416*416 | 37.5 | 53.4 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_m_416_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_m_416_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_m_416_coco.yml) | -| PicoDet-L | 320*320 | 36.1 | 52.0 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_l_320_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_l_320_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_320_coco.yml) | -| PicoDet-L | 416*416 | 39.4 | 55.7 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_l_416_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_l_416_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_416_coco.yml) | -| PicoDet-L | 640*640 | 42.3 | 59.2 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_l_640_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_l_640_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_640_coco.yml) | +| PicoDet-XS | 320*320 | 23.5 | 36.1 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_xs_320_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_xs_320_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_xs_320_coco_lcnet.yml) | +| PicoDet-XS | 416*416 | 26.2 | 39.3 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_xs_416_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_xs_416_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_xs_416_coco_lcnet.yml) | +| PicoDet-S | 320*320 | 29.1 | 43.4 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_s_320_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_s_320_coco_lcnet.yml) | +| PicoDet-S | 416*416 | 32.5 | 47.6 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_s_416_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_s_416_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_s_416_coco_lcnet.yml) | +| PicoDet-M | 320*320 | 34.4 | 50.0 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_m_320_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_m_320_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_m_320_coco_lcnet.yml) | +| PicoDet-M | 416*416 | 37.5 | 53.4 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_m_416_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_m_416_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_m_416_coco_lcnet.yml) | +| PicoDet-L | 320*320 | 36.1 | 52.0 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_l_320_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_l_320_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_320_coco_lcnet.yml) | +| PicoDet-L | 416*416 | 39.4 | 55.7 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_l_416_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_l_416_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_416_coco_lcnet.yml) | +| PicoDet-L | 640*640 | 42.3 | 59.2 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_l_640_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_640_coco_lcnet.yml) |
Table Notes: @@ -44,10 +49,6 @@ We developed a series of lightweight models, named `PP-PicoDet`. Because of the
-### Legacy Model - -- Please refer to: [PicoDet 2021.10版本](./legacy_model/) - #### Benchmark of Other Models | Model | Input size | mAPval
0.5:0.95 | mAPval
0.5 | Params
(M) | FLOPS
(G) | Latency[NCNN](#latency)
(ms) | @@ -90,7 +91,7 @@ We developed a series of lightweight models, named `PP-PicoDet`. Because of the ```shell # training on single-GPU export CUDA_VISIBLE_DEVICES=0 -python tools/train.py -c configs/picodet/picodet_s_320_coco.yml --eval +python tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml --eval ``` - Training model on multi-GPU: @@ -99,21 +100,21 @@ python tools/train.py -c configs/picodet/picodet_s_320_coco.yml --eval ```shell # training on single-GPU export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 -python -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/picodet/picodet_s_320_coco.yml --eval +python -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml --eval ``` - Evaluation: ```shell -python tools/eval.py -c configs/picodet/picodet_s_320_coco.yml \ - -o weights=https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_320_coco.pdparams +python tools/eval.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ + -o weights=https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams ``` - Infer: ```shell -python tools/infer.py -c configs/picodet/picodet_s_320_coco.yml \ - -o weights=https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_320_coco.pdparams +python tools/infer.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ + -o weights=https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams ``` Detail also can refer to [Quick start guide](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/docs/tutorials/GETTING_STARTED.md). @@ -130,8 +131,8 @@ Detail also can refer to [Quick start guide](https://github.com/PaddlePaddle/Pad ```shell cd PaddleDetection -python tools/export_model.py -c configs/picodet/picodet_s_320_coco.yml \ - -o weights=https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_320_coco.pdparams \ +python tools/export_model.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ + -o weights=https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams \ --output_dir=inference_model ``` @@ -150,9 +151,9 @@ pip install paddlelite ```shell # FP32 -paddle_lite_opt --model_dir=inference_model/picodet_s_320_coco --valid_targets=arm --optimize_out=picodet_s_320_coco_fp32 +paddle_lite_opt --model_dir=inference_model/picodet_s_320_coco_lcnet --valid_targets=arm --optimize_out=picodet_s_320_coco_fp32 # FP16 -paddle_lite_opt --model_dir=inference_model/picodet_s_320_coco --valid_targets=arm --optimize_out=picodet_s_320_coco_fp16 --enable_fp16=true +paddle_lite_opt --model_dir=inference_model/picodet_s_320_coco_lcnet --valid_targets=arm --optimize_out=picodet_s_320_coco_fp16 --enable_fp16=true ``` @@ -170,7 +171,7 @@ pip install paddle2onnx - Convert model: ```shell -paddle2onnx --model_dir output_inference/picodet_s_320_coco/ \ +paddle2onnx --model_dir output_inference/picodet_s_320_coco_lcnet/ \ --model_filename model.pdmodel \ --params_filename model.pdiparams \ --opset_version 11 \ @@ -245,7 +246,7 @@ pip install paddleslim==2.2.1 Configure the quant config and start training: ```shell -python tools/train.py -c configs/picodet/picodet_s_320_coco.yml \ +python tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ --slim_config configs/slim/quant/picodet_s_quant.yml --eval ``` @@ -259,7 +260,7 @@ python tools/train.py -c configs/picodet/picodet_s_320_coco.yml \ Configure the post quant config and start calibrate model: ```shell -python tools/post_quant.py -c configs/picodet/picodet_s_320_coco.yml \ +python tools/post_quant.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ --slim_config configs/slim/post_quant/picodet_s_ptq.yml ``` @@ -296,7 +297,7 @@ Please reduce the `batch_size` of `TrainReader` in config. Please reset `pretrain_weights` in config, which trained on coco. Such as: ```yaml -pretrain_weights: https://paddledet.bj.bcebos.com/models/picodetv2/picodet_l_640_coco.pdparams +pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams ``` diff --git a/configs/picodet/README_cn.md b/configs/picodet/README_cn.md index aa53579cd2037bbec4c828a56402fc8eb0252c54..4a3e482c85586a9bea78b64dda3bbbe173a8fe47 100644 --- a/configs/picodet/README_cn.md +++ b/configs/picodet/README_cn.md @@ -6,7 +6,11 @@ ## 最新动态 -- 发布全新系列PP-PicoDet模型,精度大幅提升,优化CPU端预测速度。**(2022.03.20)** +- 发布全新系列PP-PicoDet模型,引入TAL及Task-aligned Head,优化PAN等结构,精度大幅提升,优化CPU端预测速度,同时训练速度大幅提升。**(2022.03.20)** + +## 历史版本模型 + +- 详情请参考:[PicoDet 2021.10版本](./legacy_model/) ## 简介 @@ -28,15 +32,15 @@ PP-PicoDet模型有如下特点: | 模型 | 输入尺寸 | mAPval
0.5:0.95 | mAPval
0.5 | 参数量
(M) | FLOPS
(G) | 预测时延[NCNN](#latency)
(ms) | 预测时延[Lite](#latency)
(ms) | 下载 | 配置文件 | | :-------- | :--------: | :---------------------: | :----------------: | :----------------: | :---------------: | :-----------------------------: | :-----------------------------: | :----------------------------------------: | :--------------------------------------- | -| PicoDet-XS | 320*320 | 23.5 | 36.1 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_xs_320_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_xs_320_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_xs_320_coco.yml) | -| PicoDet-XS | 416*416 | 26.2 | 39.3 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_xs_416_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_xs_416_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_xs_416_coco.yml) | -| PicoDet-S | 320*320 | 29.1 | 43.4 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_320_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_s_320_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_s_320_coco.yml) | -| PicoDet-S | 416*416 | 32.5 | 47.6 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_416_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_s_416_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_s_416_coco.yml) | -| PicoDet-M | 320*320 | 34.4 | 50.0 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_m_320_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_m_320_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_m_320_coco.yml) | -| PicoDet-M | 416*416 | 37.5 | 53.4 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_m_416_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_m_416_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_m_416_coco.yml) | -| PicoDet-L | 320*320 | 36.1 | 52.0 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_l_320_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_l_320_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_320_coco.yml) | -| PicoDet-L | 416*416 | 39.4 | 55.7 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_l_416_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_l_416_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_416_coco.yml) | -| PicoDet-L | 640*640 | 42.3 | 59.2 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodetv2/picodet_l_640_coco.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/picodetv2/train_picodet_l_640_coco.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_640_coco.yml) | +| PicoDet-XS | 320*320 | 23.5 | 36.1 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_xs_320_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_xs_320_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_xs_320_coco_lcnet.yml) | +| PicoDet-XS | 416*416 | 26.2 | 39.3 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_xs_416_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_xs_416_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_xs_416_coco_lcnet.yml) | +| PicoDet-S | 320*320 | 29.1 | 43.4 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_s_320_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_s_320_coco_lcnet.yml) | +| PicoDet-S | 416*416 | 32.5 | 47.6 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_s_416_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_s_416_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_s_416_coco_lcnet.yml) | +| PicoDet-M | 320*320 | 34.4 | 50.0 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_m_320_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_m_320_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_m_320_coco_lcnet.yml) | +| PicoDet-M | 416*416 | 37.5 | 53.4 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_m_416_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_m_416_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_m_416_coco_lcnet.yml) | +| PicoDet-L | 320*320 | 36.1 | 52.0 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_l_320_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_l_320_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_320_coco_lcnet.yml) | +| PicoDet-L | 416*416 | 39.4 | 55.7 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_l_416_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_l_416_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_416_coco_lcnet.yml) | +| PicoDet-L | 640*640 | 42.3 | 59.2 | - | - | - | - | [model](https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams) | [log](https://paddledet.bj.bcebos.com/logs/train_picodet_l_640_coco_lcnet.log) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/picodet/picodet_l_640_coco_lcnet.yml) |
@@ -48,10 +52,6 @@ PP-PicoDet模型有如下特点:
-### 历史版本模型 - -- 详情请参考:[PicoDet 2021.10版本](./legacy_model/) - #### 其他模型的基线 | 模型 | 输入尺寸 | mAPval
0.5:0.95 | mAPval
0.5 | 参数量
(M) | FLOPS
(G) | 预测时延[NCNN](#latency)
(ms) | @@ -94,7 +94,7 @@ PP-PicoDet模型有如下特点: ```shell # training on single-GPU export CUDA_VISIBLE_DEVICES=0 -python tools/train.py -c configs/picodet/picodet_s_320_coco.yml --eval +python tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml --eval ``` - 多卡GPU上训练: @@ -103,21 +103,21 @@ python tools/train.py -c configs/picodet/picodet_s_320_coco.yml --eval ```shell # training on single-GPU export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 -python -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/picodet/picodet_s_320_coco.yml --eval +python -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml --eval ``` - 评估: ```shell -python tools/eval.py -c configs/picodet/picodet_s_320_coco.yml \ - -o weights=https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_320_coco.pdparams +python tools/eval.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ + -o weights=https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams ``` - 测试: ```shell -python tools/infer.py -c configs/picodet/picodet_s_320_coco.yml \ - -o weights=https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_320_coco.pdparams +python tools/infer.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ + -o weights=https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams ``` 详情请参考[快速开始文档](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/docs/tutorials/GETTING_STARTED.md). @@ -134,8 +134,8 @@ python tools/infer.py -c configs/picodet/picodet_s_320_coco.yml \ ```shell cd PaddleDetection -python tools/export_model.py -c configs/picodet/picodet_s_320_coco.yml \ - -o weights=https://paddledet.bj.bcebos.com/models/picodetv2/picodet_s_320_coco.pdparams \ +python tools/export_model.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ + -o weights=https://paddledet.bj.bcebos.com/models/picodet_s_320_coco_lcnet.pdparams \ --output_dir=inference_model ``` @@ -154,9 +154,9 @@ pip install paddlelite ```shell # FP32 -paddle_lite_opt --model_dir=inference_model/picodet_s_320_coco --valid_targets=arm --optimize_out=picodet_s_320_coco_fp32 +paddle_lite_opt --model_dir=inference_model/picodet_s_320_coco_lcnet --valid_targets=arm --optimize_out=picodet_s_320_coco_fp32 # FP16 -paddle_lite_opt --model_dir=inference_model/picodet_s_320_coco --valid_targets=arm --optimize_out=picodet_s_320_coco_fp16 --enable_fp16=true +paddle_lite_opt --model_dir=inference_model/picodet_s_320_coco_lcnet --valid_targets=arm --optimize_out=picodet_s_320_coco_fp16 --enable_fp16=true ``` @@ -174,7 +174,7 @@ pip install paddle2onnx - 转换模型: ```shell -paddle2onnx --model_dir output_inference/picodet_s_320_coco/ \ +paddle2onnx --model_dir output_inference/picodet_s_320_coco_lcnet/ \ --model_filename model.pdmodel \ --params_filename model.pdiparams \ --opset_version 11 \ @@ -249,7 +249,7 @@ pip install paddleslim==2.2.1 开始量化训练: ```shell -python tools/train.py -c configs/picodet/picodet_s_320_coco.yml \ +python tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ --slim_config configs/slim/quant/picodet_s_quant.yml --eval ``` @@ -263,7 +263,7 @@ python tools/train.py -c configs/picodet/picodet_s_320_coco.yml \ 校准及导出量化模型: ```shell -python tools/post_quant.py -c configs/picodet/picodet_s_320_coco.yml \ +python tools/post_quant.py -c configs/picodet/picodet_s_320_coco_lcnet.yml \ --slim_config configs/slim/post_quant/picodet_s_ptq.yml ``` @@ -300,7 +300,7 @@ python tools/post_quant.py -c configs/picodet/picodet_s_320_coco.yml \ 请重新设置配置文件中的`pretrain_weights`字段,比如利用COCO上训好的模型在自己的数据上继续训练: ```yaml -pretrain_weights: https://paddledet.bj.bcebos.com/models/picodetv2/picodet_l_640_coco.pdparams +pretrain_weights: https://paddledet.bj.bcebos.com/models/picodet_l_640_coco_lcnet.pdparams ``` diff --git a/configs/picodet/legacy_model/README.md b/configs/picodet/legacy_model/README.md index 752efaaa29e5af31da3efe9afabc16960047a821..f58ebc75be2f9aee557341143b97c3d90de3a459 100644 --- a/configs/picodet/legacy_model/README.md +++ b/configs/picodet/legacy_model/README.md @@ -28,3 +28,16 @@ - PicoDet used 4 or 8 GPUs for training and all checkpoints are trained with default settings and hyperparameters. + +## Cite PP-PicoDet +``` +@misc{yu2021pppicodet, + title={PP-PicoDet: A Better Real-Time Object Detector on Mobile Devices}, + author={Guanghua Yu and Qinyao Chang and Wenyu Lv and Chang Xu and Cheng Cui and Wei Ji and Qingqing Dang and Kaipeng Deng and Guanzhong Wang and Yuning Du and Baohua Lai and Qiwen Liu and Xiaoguang Hu and Dianhai Yu and Yanjun Ma}, + year={2021}, + eprint={2111.00902}, + archivePrefix={arXiv}, + primaryClass={cs.CV} +} + +``` diff --git a/configs/picodet/picodet_l_320_coco.yml b/configs/picodet/picodet_l_320_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_l_320_coco.yml rename to configs/picodet/picodet_l_320_coco_lcnet.yml diff --git a/configs/picodet/picodet_l_416_coco.yml b/configs/picodet/picodet_l_416_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_l_416_coco.yml rename to configs/picodet/picodet_l_416_coco_lcnet.yml diff --git a/configs/picodet/picodet_l_640_coco.yml b/configs/picodet/picodet_l_640_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_l_640_coco.yml rename to configs/picodet/picodet_l_640_coco_lcnet.yml diff --git a/configs/picodet/picodet_m_320_coco.yml b/configs/picodet/picodet_m_320_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_m_320_coco.yml rename to configs/picodet/picodet_m_320_coco_lcnet.yml diff --git a/configs/picodet/picodet_m_416_coco.yml b/configs/picodet/picodet_m_416_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_m_416_coco.yml rename to configs/picodet/picodet_m_416_coco_lcnet.yml diff --git a/configs/picodet/picodet_s_320_coco.yml b/configs/picodet/picodet_s_320_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_s_320_coco.yml rename to configs/picodet/picodet_s_320_coco_lcnet.yml diff --git a/configs/picodet/picodet_s_416_coco.yml b/configs/picodet/picodet_s_416_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_s_416_coco.yml rename to configs/picodet/picodet_s_416_coco_lcnet.yml diff --git a/configs/picodet/picodet_xs_320_coco.yml b/configs/picodet/picodet_xs_320_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_xs_320_coco.yml rename to configs/picodet/picodet_xs_320_coco_lcnet.yml diff --git a/configs/picodet/picodet_xs_416_coco.yml b/configs/picodet/picodet_xs_416_coco_lcnet.yml similarity index 100% rename from configs/picodet/picodet_xs_416_coco.yml rename to configs/picodet/picodet_xs_416_coco_lcnet.yml