diff --git a/configs/rcnn_enhance/README.md b/configs/rcnn_enhance/README.md index a9e2250d90f62b702d47e9c2f507a4161d466565..6e2c0917b53ecc2f07836f54bb6400d40d04548c 100644 --- a/configs/rcnn_enhance/README.md +++ b/configs/rcnn_enhance/README.md @@ -9,4 +9,4 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | | :---------------------- | :-------------: | :-------: | :-----: | :------------: | :----: | :-----: | :-------------: | :-----: | -| ResNet50-vd-FPN-Dcnv2 | Faster | 2 | 3x | 61.425 | 41.2 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_enhance_3x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rcnn_enhance/faster_rcnn_enhance_3x_coco.yml) | +| ResNet50-vd-FPN-Dcnv2 | Faster | 2 | 3x | 61.425 | 41.5 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_enhance_3x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rcnn_enhance/faster_rcnn_enhance_3x_coco.yml) | diff --git a/configs/slim/README.md b/configs/slim/README.md index ad7d099ae91c851a74ea60a6592b10b9c2fd913d..e90537d53d906687ce0caf2ba059e52ef179fb45 100755 --- a/configs/slim/README.md +++ b/configs/slim/README.md @@ -17,6 +17,19 @@ - CUDA 9.0+ - cuDNN >=7.5 +**注意:** 量化训练需要依赖Paddle develop分支,可在[PaddlePaddle每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)中下载安装合适的PaddlePaddle版本。 + +#### 安装PaddleSlim +- 方法一:直接安装: +``` +pip install paddleslim -i https://pypi.tuna.tsinghua.edu.cn/simple +``` +- 方法二:编译安装: +``` +git clone https://github.com/PaddlePaddle/PaddleSlim.git +cd PaddleSlim +python setup.py install +``` ## 快速开始 @@ -74,7 +87,7 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ | 模型 | 压缩策略 | GFLOPs | 模型体积(MB) | 输入尺寸 | 预测时延(SD855)| Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | | :----------------| :-------: | :------------: | :-------------: | :------: | :--------: | :------: | :-----------------------------------------------------: |:-------------: | :------: | | YOLOv3-MobileNetV1 | baseline | 24.13 | 93 | 608 | 289.9ms | 75.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | - | -| YOLOv3-MobileNetV1 | 剪裁-l1_norm(sensity) | 15.78(-34.49%) | 66(-29%) | 608 | - | 77.6(+2.5) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_voc_prune_l1_norm.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/prune/yolov3_prune_l1_norm.yml) | +| YOLOv3-MobileNetV1 | 剪裁-l1_norm(sensity) | 15.78(-34.49%) | 66(-29%) | 608 | - | 78.4(+3.3) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_voc_prune_l1_norm.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/prune/yolov3_prune_l1_norm.yml) | - 目前剪裁支持YOLO系列、SSD、TTFNet、BlazeFace,其余模型正在开发支持中。 - SD855预测时延为使用PaddleLite部署,使用arm8架构并使用4线程(4 Threads)推理时延。 @@ -90,7 +103,7 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ | YOLOv3-MobileNetV3 | baseline | 608 | 31.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | - | | YOLOv3-MobileNetV3 | PACT在线量化 | 608 | 29.1 (-2.3) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v3_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/yolov3_mobilenet_v3_qat.yml) | | YOLOv3-DarkNet53 | baseline | 608 | 39.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml) | - | -| YOLOv3-DarkNet53 | 普通在线量化 | 608 | 38.7 (-0.3) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_darknet_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/yolov3_darknet_qat.yml) | +| YOLOv3-DarkNet53 | 普通在线量化 | 608 | 38.8 (-0.2) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_darknet_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/yolov3_darknet_qat.yml) | | SSD-MobileNet_v1 | baseline | 300 | 73.8 | [下载链接](https://paddledet.bj.bcebos.com/models/ssd_mobilenet_v1_300_120e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml) | - | | SSD-MobileNet_v1 | 普通在线量化 | 300 | 72.9(-0.9) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/ssd_mobilenet_v1_300_voc_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/ssd_mobilenet_v1_qat.yml) | | Mask-ResNet50-FPN | baseline | (800, 1333) | 39.2/35.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml) | - | diff --git a/docs/tutorials/QUICK_STARTED_cn.md b/docs/tutorials/QUICK_STARTED_cn.md index 4bcb933b4f5f376aaeda9eefb08f411668de3cd4..2b5212af15b855759d9455037b83800d5e1d7603 100644 --- a/docs/tutorials/QUICK_STARTED_cn.md +++ b/docs/tutorials/QUICK_STARTED_cn.md @@ -50,7 +50,7 @@ python -m pip install visualdl -i https://mirror.baidu.com/pypi/simple ``` ``` -python -u tools/train.py -c configs/yolov3_mobilenet_v1_roadsign.yml \ +python -u tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml \ --use_vdl=true \ --vdl_log_dir=vdl_dir/scalar \ --eval diff --git a/ppdet/utils/checkpoint.py b/ppdet/utils/checkpoint.py index ba6587e74afaaee1ff561a8b375ba9e2f36eb988..998a0747c17283d73563a6d7417ad79ee9c02c6d 100644 --- a/ppdet/utils/checkpoint.py +++ b/ppdet/utils/checkpoint.py @@ -184,38 +184,6 @@ def load_pretrain_weight(model, pretrain_weight): logger.info('Finish loading model weights: {}'.format(weights_path)) -def load_static_pretrain_weight(model, pretrain_weight): - - if is_url(pretrain_weight): - pretrain_weight = get_weights_path_dist(pretrain_weight) - - path = _strip_postfix(pretrain_weight) - if not (os.path.isdir(path) or os.path.isfile(path) or - os.path.exists(path + '.pdparams')): - raise ValueError("Model pretrain path `{}` does not exists. " - "If you don't want to load pretrain model, " - "please delete `pretrain_weights` field in " - "config file.".format(path)) - - model_dict = model.state_dict() - - pre_state_dict = paddle.static.load_program_state(path) - param_state_dict = {} - for key in model_dict.keys(): - weight_name = model_dict[key].name - if weight_name in pre_state_dict.keys(): - logger.info('Load weight: {}, shape: {}'.format( - weight_name, pre_state_dict[weight_name].shape)) - param_state_dict[key] = pre_state_dict[weight_name] - else: - if 'backbone' in key: - logger.info('Lack weight: {}, structure name: {}'.format( - weight_name, key)) - param_state_dict[key] = model_dict[key] - model.set_dict(param_state_dict) - return - - def save_model(model, optimizer, save_dir, save_name, last_epoch): """ save model into disk. diff --git a/tools/train.py b/tools/train.py index 3a7d4f69fd7636e78f46927239d898fef1115fdb..b0c49966e574de920ee7465304a7e681c937447c 100755 --- a/tools/train.py +++ b/tools/train.py @@ -31,7 +31,7 @@ warnings.filterwarnings('ignore') import paddle from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.checkpoint import load_weight, load_pretrain_weight +from ppdet.utils.checkpoint import load_weight from ppdet.engine import Trainer, init_parallel_env, set_random_seed, init_fleet_env from ppdet.slim import build_slim_model