From c73fe426633d96b6c58bfde9251322c87edd5f3f Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Fri, 26 Mar 2021 10:14:01 +0800 Subject: [PATCH 01/90] Cherry pick update quick start (#2433) * update quick_start * update get_started * update doc, test=document_fix --- docs/tutorials/GETTING_STARTED.md | 144 +++++++++++++++++++++++ docs/tutorials/GETTING_STARTED_cn.md | 164 +++++++++++++++++---------- docs/tutorials/QUICK_STARTED.md | 89 +++++++++++++++ docs/tutorials/QUICK_STARTED_cn.md | 24 +++- 4 files changed, 361 insertions(+), 60 deletions(-) create mode 100644 docs/tutorials/GETTING_STARTED.md create mode 100644 docs/tutorials/QUICK_STARTED.md diff --git a/docs/tutorials/GETTING_STARTED.md b/docs/tutorials/GETTING_STARTED.md new file mode 100644 index 000000000..4764d73d3 --- /dev/null +++ b/docs/tutorials/GETTING_STARTED.md @@ -0,0 +1,144 @@ +English | [简体中文](GETTING_STARTED_cn.md) + +# Getting Started + +## Installation + +For setting up the running environment, please refer to [installation +instructions](INSTALL_cn.md). + + + +## Data preparation + +- Please refer to [PrepareDataSet](PrepareDataSet.md) for data preparation +- Please set the data path for data configuration file in ```configs/datasets``` + + +## Training & Evaluation & Inference + +PaddleDetection provides scripts for training, evalution and inference with various features according to different configure. + +```bash +# training on single-GPU +export CUDA_VISIBLE_DEVICES=0 +python tools/train.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml +# training on multi-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/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml +# GPU evaluation +export CUDA_VISIBLE_DEVICES=0 +python tools/eval.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml +# Inference +python tools/infer.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml --infer_img=demo/000000570688.jpg +``` + +### Other argument list + +list below can be viewed by `--help` + +| FLAG | script supported | description | default | remark | +| :----------------------: | :------------: | :---------------: | :--------------: | :-----------------: | +| -c | ALL | Select config file | None | **required**, such as `-c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml` | +| -o | ALL | Set parameters in configure file | None | `-o` has higher priority to file configured by `-c`. Such as `-o use_gpu=False` | +| --eval | train | Whether to perform evaluation in training | False | set `--eval` if needed | +| -r/--resume_checkpoint | train | Checkpoint path for resuming training | None | such as `-r output/faster_rcnn_r50_1x_coco/10000` | +| --slim_config | ALL | Configure file of slim method | None | such as `--slim_config configs/slim/prune/yolov3_prune_l1_norm.yml` | +| --use_vdl | train/infer | Whether to record the data with [VisualDL](https://github.com/paddlepaddle/visualdl), so as to display in VisualDL | False | VisualDL requires Python>=3.5 | +| --vdl\_log_dir | train/infer | VisualDL logging directory for image | train:`vdl_log_dir/scalar` infer: `vdl_log_dir/image` | VisualDL requires Python>=3.5 | +| --output_eval | eval | Directory for storing the evaluation output | None | such as `--output_eval=eval_output`, default is current directory | +| --json_eval | eval | Whether to evaluate with already existed bbox.json or mask.json | False | set `--json_eval` if needed and json path is set in `--output_eval` | +| --classwise | eval | Whether to eval AP for each class and draw PR curve | False | set `--classwise` if needed | +| --output_dir | infer | Directory for storing the output visualization files | `./output` | such as `--output_dir output` | +| --draw_threshold | infer | Threshold to reserve the result for visualization | 0.5 | such as `--draw_threshold 0.7` | +| --infer_dir | infer | Directory for images to perform inference on | None | One of `infer_dir` and `infer_img` is requied | +| --infer_img | infer | Image path | None | One of `infer_dir` and `infer_img` is requied, `infer_img` has higher priority over `infer_dir` | + + + + +## Examples + +### Training + +- Perform evaluation in training + + ```bash + 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/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml --eval + ``` + + Perform training and evalution alternatively and evaluate at each end of epoch. Meanwhile, the best model with highest MAP is saved at each epoch which has the same path as `model_final`. + + If evaluation dataset is large, we suggest modifing `snapshot_epoch` in `configs/runtime.yml` to decrease evaluation times or evaluating after training. + +- Fine-tune other task + + When using pre-trained model to fine-tune other task, pretrain\_weights can be used directly. The parameters with different shape will be ignored automatically. For example: + + + ```bash + export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 + # If the shape of parameters in program is different from pretrain_weights, + # then PaddleDetection will not use such parameters. + python -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ + -o pretrain_weights=output/faster_rcnn_r50_1x_coco/model_final \ + ``` + +##### NOTES + +- `CUDA_VISIBLE_DEVICES` can specify different gpu numbers. Such as: `export CUDA_VISIBLE_DEVICES=0,1,2,3`. +- Dataset will be downloaded automatically and cached in `~/.cache/paddle/dataset` if not be found locally. +- Pretrained model is downloaded automatically and cached in `~/.cache/paddle/weights`. +- Checkpoints are saved in `output` by default, and can be revised from `save_dir` in `configs/runtime.yml`. + + +### Evaluation + +- Evaluate by specified weights path and dataset path + + ```bash + export CUDA_VISIBLE_DEVICES=0 + python -u tools/eval.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ + -o weights=https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_1x_coco.pdparams + ``` + + The path of model to be evaluted can be both local path and link in [MODEL_ZOO](../MODEL_ZOO_cn.md). + +- Evaluate with json + + ```bash + export CUDA_VISIBLE_DEVICES=0 + python tools/eval.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ + --json_eval \ + -output_eval evaluation/ + ``` + + The json file must be named bbox.json or mask.json, placed in the `evaluation/` directory. + + +### Inference + +- Output specified directory && Set up threshold + + ```bash + export CUDA_VISIBLE_DEVICES=0 + python tools/infer.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ + --infer_img=demo/000000570688.jpg \ + --output_dir=infer_output/ \ + --draw_threshold=0.5 \ + -o weights=output/faster_rcnn_r50_fpn_1x_coco/model_final \ + --use_vdl=Ture + ``` + + `--draw_threshold` is an optional argument. Default is 0.5. + Different thresholds will produce different results depending on the calculation of [NMS](https://ieeexplore.ieee.org/document/1699659). + + +## Deployment + +Please refer to [depolyment](../../deploy/README.md) + +## Model Compression + +Please refer to [slim](../../configs/slim/README.md) diff --git a/docs/tutorials/GETTING_STARTED_cn.md b/docs/tutorials/GETTING_STARTED_cn.md index 8c8dbe34a..f67671d7d 100644 --- a/docs/tutorials/GETTING_STARTED_cn.md +++ b/docs/tutorials/GETTING_STARTED_cn.md @@ -1,3 +1,6 @@ +[English](GETTING_STARTED.md) | 简体中文 + + # 入门使用 ## 安装 @@ -12,86 +15,129 @@ ## 训练/评估/预测 -PaddleDetection在[tools](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/tools)中提供了`训练`/`评估`/`预测`/`导出模型`等功能,支持通过传入不同可选参数实现特定功能 - -### 参数列表 +PaddleDetection提供了`训练`/`评估`/`预测`等功能,支持通过传入不同可选参数实现特定功能 -以下列表可以通过`--help`查看 - -| FLAG | 支持脚本 | 用途 | 默认值 | 备注 | -| :----------------------: | :------------: | :---------------: | :--------------: | :-----------------: | -| -c | ALL | 指定配置文件 | None | **必选**,例如-c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml | -| --eval | train | 是否边训练边测试 | False | 可选,如需指定,直接`--eval`即可 | -| --fleet | train | 是否使用fleet API训练 | False | 可以使用--fleet来指定使用fleet API进行多机训练 | -| --fp16 | train | 是否开启混合精度训练 | False | 可以使用--fp16来指定使用混合精度训练 | -| -o | ALL | 设置或更改配置文件里的参数内容 | None | 可选,例如:`-o use_gpu=False` | -| --slim_config | ALL | 模型压缩策略配置文件 | None | 可选,例如`--slim_config configs/slim/prune/yolov3_prune_l1_norm.yml` | -| --output_dir | infer/export_model | 预测后结果或导出模型保存路径 | `./output` | 可选,例如`--output_dir=output` | -| --draw_threshold | infer | 可视化时分数阈值 | 0.5 | 可选,`--draw_threshold=0.7` | -| --infer_dir | infer | 用于预测的图片文件夹路径 | None | 可选 | -| --infer_img | infer | 用于预测的图片路径 | None | 可选,`--infer_img`和`--infer_dir`必须至少设置一个 | -| --classwise | eval | 是否评估单类AP和绘制单类PR曲线 | False | 可选 | - -### 训练 - -- 单卡训练 ```bash -# 通过CUDA_VISIBLE_DEVICES指定GPU卡号 +# GPU单卡训练 export CUDA_VISIBLE_DEVICES=0 python tools/train.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml -``` -- 多卡训练 - -```bash +# 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/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml +# GPU评估 +export CUDA_VISIBLE_DEVICES=0 +python tools/eval.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml +# 预测 +python tools/infer.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml --infer_img=demo/000000570688.jpg ``` -- 混合精度训练 -```bash -export CUDA_VISIBLE_DEVICES=0 -python tools/train.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml --fp16 -``` +### 参数列表 -- fleet API训练 +以下列表可以通过`--help`查看 -```bash -# fleet API用于多机训练,启动方式与单机多卡训练方式基本一致,只不过需要使用--ips指定ip列表以及--fleet开启多机训练 -python -m paddle.distributed.launch --ips="xx.xx.xx.xx,yy.yy.yy.yy" --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml --fleet -``` +| FLAG | 支持脚本 | 用途 | 默认值 | 备注 | +| :----------------------: | :------------: | :---------------: | :--------------: | :-----------------: | +| -c | ALL | 指定配置文件 | None | **必选**,例如-c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml | +| -o | ALL | 设置或更改配置文件里的参数内容 | None | 相较于`-c`设置的配置文件有更高优先级,例如:`-o use_gpu=False` | +| --eval | train | 是否边训练边测试 | False | 如需指定,直接`--eval`即可 | +| -r/--resume_checkpoint | train | 恢复训练加载的权重路径 | None | 例如:`-r output/faster_rcnn_r50_1x_coco/10000` | +| --slim_config | ALL | 模型压缩策略配置文件 | None | 例如`--slim_config configs/slim/prune/yolov3_prune_l1_norm.yml` | +| --use_vdl | train/infer | 是否使用[VisualDL](https://github.com/paddlepaddle/visualdl)记录数据,进而在VisualDL面板中显示 | False | VisualDL需Python>=3.5 | +| --vdl\_log_dir | train/infer | 指定 VisualDL 记录数据的存储路径 | train:`vdl_log_dir/scalar` infer: `vdl_log_dir/image` | VisualDL需Python>=3.5 | +| --output_eval | eval | 评估阶段保存json路径 | None | 例如 `--output_eval=eval_output`, 默认为当前路径 | +| --json_eval | eval | 是否通过已存在的bbox.json或者mask.json进行评估 | False | 如需指定,直接`--json_eval`即可, json文件路径在`--output_eval`中设置 | +| --classwise | eval | 是否评估单类AP和绘制单类PR曲线 | False | 如需指定,直接`--classwise`即可 | +| --output_dir | infer/export_model | 预测后结果或导出模型保存路径 | `./output` | 例如`--output_dir=output` | +| --draw_threshold | infer | 可视化时分数阈值 | 0.5 | 例如`--draw_threshold=0.7` | +| --infer_dir | infer | 用于预测的图片文件夹路径 | None | `--infer_img`和`--infer_dir`必须至少设置一个 | +| --infer_img | infer | 用于预测的图片路径 | None | `--infer_img`和`--infer_dir`必须至少设置一个,`infer_img`具有更高优先级 | + +## 使用示例 + +### 模型训练 - 边训练边评估 -```bash -python tools/train.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml --eval -``` -### 评估 -```bash -# 目前只支持单卡评估 -CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml -``` + ```bash + 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/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml --eval + ``` -### 预测 -```bash -CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml --infer_img={IMAGE_PATH} -``` + 在训练中交替执行评估, 评估在每个epoch训练结束后开始。每次评估后还会评出最佳mAP模型保存到`best_model`文件夹下。 -## 预测部署 + 如果验证集很大,测试将会比较耗时,建议调整`configs/runtime.yml` 文件中的 `snapshot_epoch`配置以减少评估次数,或训练完成后再进行评估。 -(1)导出模型 -```bash -python tools/export_model.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ - -o weights=output/faster_rcnn_r50_fpn_1x_coco/model_final \ - --output_dir=output_inference -``` +- Fine-tune其他任务 + + 使用预训练模型fine-tune其他任务时,可以直接加载预训练模型,形状不匹配的参数将自动忽略,例如: + + ```bash + 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/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ + -o pretrain_weights=output/faster_rcnn_r50_1x_coco/model_final \ + ``` + +**提示:** + +- `CUDA_VISIBLE_DEVICES` 参数可以指定不同的GPU。例如: `export CUDA_VISIBLE_DEVICES=0,1,2,3` +- 若本地未找到数据集,将自动下载数据集并保存在`~/.cache/paddle/dataset`中。 +- 预训练模型自动下载并保存在`〜/.cache/paddle/weights`中。 +- 模型checkpoints默认保存在`output`中,可通过修改配置文件`configs/runtime.yml`中`save_dir`进行配置。 + + +### 模型评估 + +- 指定权重和数据集路径 + + ```bash + export CUDA_VISIBLE_DEVICES=0 + python -u tools/eval.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ + -o weights=https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_1x_coco.pdparams + ``` + + 评估模型可以为本地路径,例如`output/faster_rcnn_r50_1x_coco/model_final`, 也可以是[MODEL_ZOO](../MODEL_ZOO_cn.md)中给出的模型链接。 -(2)预测部署 -参考[预测部署文档](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/deploy)。 +- 通过json文件评估 + + ```bash + export CUDA_VISIBLE_DEVICES=0 + python tools/eval.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ + --json_eval \ + -output_eval evaluation/ + ``` + + json文件必须命名为bbox.json或者mask.json,放在`evaluation/`目录下。 + + + +### 模型预测 + +- 设置输出路径 && 设置预测阈值 + + ```bash + export CUDA_VISIBLE_DEVICES=0 + python tools/infer.py -c configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml \ + --infer_img=demo/000000570688.jpg \ + --output_dir=infer_output/ \ + --draw_threshold=0.5 \ + -o weights=output/faster_rcnn_r50_fpn_1x_coco/model_final \ + --use_vdl=Ture + ``` + + `--draw_threshold` 是个可选参数. 根据 [NMS](https://ieeexplore.ieee.org/document/1699659) 的计算, + 不同阈值会产生不同的结果。 + + + +## 预测部署 + +请参考[预测部署文档](../../deploy/README.md)。 ## 模型压缩 -参考[模型压缩文档](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/slim)。 +请参考[模型压缩文档](../../configs/slim/README.md)。 diff --git a/docs/tutorials/QUICK_STARTED.md b/docs/tutorials/QUICK_STARTED.md new file mode 100644 index 000000000..a222b592d --- /dev/null +++ b/docs/tutorials/QUICK_STARTED.md @@ -0,0 +1,89 @@ +English | [简体中文](QUICK_STARTED_cn.md) + +# Quick Start +In order to enable users to experience PaddleDetection and produce models in a short time, this tutorial introduces the pipeline to get a decent object detection model by finetuning on a small dataset in 10 minutes only. In practical applications, it is recommended that users select a suitable model configuration file for their specific demand. + +- **Set GPU** + + +```bash +export CUDA_VISIBLE_DEVICES=0 +``` + +## Inference Demo with Pre-trained Models + +``` +# predict an image using PP-YOLO +python tools/infer.py -c configs/ppyolo/ppyolo.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg +``` + +the result: + +![](../images/000000014439.jpg) + + +## Data preparation +The Dataset is [Kaggle dataset](https://www.kaggle.com/andrewmvd/road-sign-detection) ,including 877 images and 4 data categories: crosswalk, speedlimit, stop, trafficlight. The dataset is divided into training set (701 images) and test set (176 images),[download link](https://paddlemodels.bj.bcebos.com/object_detection/roadsign_voc.tar). + +``` +# Note: this command could skip and +# the dataset will be dowloaded automatically at the stage of training. +python dataset/roadsign_voc/download_roadsign_voc.py +``` + +## Training & Evaluation & Inference +### 1、Training +``` +# It will takes about 10 minutes on 1080Ti and 1 hour on CPU +# -c set configuration file +# -o overwrite the settings in the configuration file +# --eval Evaluate while training, and a model named best_model.pdmodel with the most evaluation results will be automatically saved + + +python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval -o use_gpu=true +``` + +If you want to observe the loss change curve in real time through VisualDL, add --use_vdl=true to the training command, and set the log save path through --vdl_log_dir. + +**Note: VisualDL need Python>=3.5** + +Please install [VisualDL](https://github.com/PaddlePaddle/VisualDL) first + +``` +python -m pip install visualdl -i https://mirror.baidu.com/pypi/simple +``` + +``` +python -u tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml \ + --use_vdl=true \ + --vdl_log_dir=vdl_dir/scalar \ + --eval +``` +View the change curve in real time through the visualdl command: +``` +visualdl --logdir vdl_dir/scalar/ --host --port +``` + +### 2、Evaluation +``` +# Evaluate best_model by default +# -c set config file +# -o overwrite the settings in the configuration file + +python tools/eval.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true +``` + + +### 3、Inference +``` +# -c set config file +# -o overwrite the settings in the configuration file +# --infer_img image path +# After the prediction is over, an image of the same name with the prediction result will be generated in the output folder + +python tools/infer.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true --infer_img=demo/road554.png +``` + +The result is as shown below: + +![](../images/road554.png) diff --git a/docs/tutorials/QUICK_STARTED_cn.md b/docs/tutorials/QUICK_STARTED_cn.md index 2b2aa81e7..f081dc203 100644 --- a/docs/tutorials/QUICK_STARTED_cn.md +++ b/docs/tutorials/QUICK_STARTED_cn.md @@ -1,3 +1,5 @@ +[English](QUICK_STARTED.md) | 简体中文 + # 快速开始 为了使得用户能够在很短时间内快速产出模型,掌握PaddleDetection的使用方式,这篇教程通过一个预训练检测模型对小数据集进行finetune。在较短时间内即可产出一个效果不错的模型。实际业务中,建议用户根据需要选择合适模型配置文件进行适配。 @@ -35,7 +37,27 @@ python dataset/roadsign_voc/download_roadsign_voc.py # -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置),这里设置使用gpu # --eval 参数表示边训练边评估,最后会自动保存一个名为model_final.pdparams的模型 -python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval -o use_gpu=true --weight_type finetune +python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval -o use_gpu=true +``` + +如果想通过VisualDL实时观察loss变化曲线,在训练命令中添加--use_vdl=true,以及通过--vdl_log_dir设置日志保存路径。 + +**但注意VisualDL需Python>=3.5** + +首先安装[VisualDL](https://github.com/PaddlePaddle/VisualDL) +``` +python -m pip install visualdl -i https://mirror.baidu.com/pypi/simple +``` + +``` +python -u tools/train.py -c configs/yolov3_mobilenet_v1_roadsign.yml \ + --use_vdl=true \ + --vdl_log_dir=vdl_dir/scalar \ + --eval +``` +通过visualdl命令实时查看变化曲线: +``` +visualdl --logdir vdl_dir/scalar/ --host --port ``` -- Gitee From 7c17ac056167ddc8f502e0baf1208b333502fa72 Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Fri, 26 Mar 2021 19:51:22 +0800 Subject: [PATCH 02/90] add SSLD model (#2426) --- configs/face_detection/README.md | 2 +- configs/gn/README.md | 8 ++--- configs/solov2/README.md | 4 +-- configs/ssld/README.md | 33 ++++++++++++++++++ ...cade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 18 ++++++++++ ...cade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 29 +++++++++++++++ .../cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 18 ++++++++++ .../cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 29 +++++++++++++++ .../faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 29 +++++++++++++++ .../faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 29 +++++++++++++++ .../mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 29 +++++++++++++++ .../mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 29 +++++++++++++++ docs/images/ssld_model.png | Bin 0 -> 22184 bytes 13 files changed, 250 insertions(+), 7 deletions(-) create mode 100644 configs/ssld/README.md create mode 100644 configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml create mode 100644 configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml create mode 100644 configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml create mode 100644 configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml create mode 100644 configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml create mode 100644 configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml create mode 100644 configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml create mode 100644 configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml create mode 100644 docs/images/ssld_model.png diff --git a/configs/face_detection/README.md b/configs/face_detection/README.md index b6d37c652..7a1733fd1 100644 --- a/configs/face_detection/README.md +++ b/configs/face_detection/README.md @@ -11,7 +11,7 @@ | 网络结构 | 输入尺寸 | 图片个数/GPU | 学习率策略 | Easy/Medium/Hard Set | 预测时延(SD855)| 模型大小(MB) | 下载 | 配置文件 | |:------------:|:--------:|:----:|:-------:|:-------:|:---------:|:----------:|:---------:|:--------:| -| BlazeFace | 640 | 8 | 1000e | 0.889 / 0.859 / 0.740 | - | 0.472 |[下载链接](https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/face_detection/blazeface_1000e.yml) | +| BlazeFace | 640 | 8 | 1000e | 0.889 / 0.859 / 0.740 | - | 0.472 |[下载链接](https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/face_detection/blazeface_1000e.yml) | **注意:** - 我们使用多尺度评估策略得到`Easy/Medium/Hard Set`里的mAP。具体细节请参考[在WIDER-FACE数据集上评估](#在WIDER-FACE数据集上评估)。 diff --git a/configs/gn/README.md b/configs/gn/README.md index 8875286a7..ec10831f9 100644 --- a/configs/gn/README.md +++ b/configs/gn/README.md @@ -4,10 +4,10 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps)| Box AP | Mask AP | 下载 | 配置文件 | | :------------- | :------------- | :-----------: | :------: | :--------: |:-----: | :-----: | :----: | :----: | -| ResNet50-FPN | Faster | 1 | 2x | - | 41.9 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Mask | 1 | 2x | - | 42.3 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Cascade Faster | 1 | 2x | - | - | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Cacade Mask | 1 | 2x | - | 45.0 | 39.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Faster | 1 | 2x | - | 41.9 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Mask | 1 | 2x | - | 42.3 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Cascade Faster | 1 | 2x | - | 44.6 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Cacade Mask | 1 | 2x | - | 45.0 | 39.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml) | **注意:** Faster R-CNN baseline仅使用 `2fc` head,而此处使用[`4conv1fc` head](https://arxiv.org/abs/1803.08494)(4层conv之间使用GN),并且FPN也使用GN,而对于Mask R-CNN是在mask head的4层conv之间也使用GN。 diff --git a/configs/solov2/README.md b/configs/solov2/README.md index 68f0bc06d..e5bcc1c34 100644 --- a/configs/solov2/README.md +++ b/configs/solov2/README.md @@ -19,8 +19,8 @@ SOLOv2 (Segmenting Objects by Locations) is a fast instance segmentation framewo | BlendMask | R50-FPN | True | 3x | 37.8 | 13.5 | V100 | - | - | | SOLOv2 (Paper) | R50-FPN | False | 1x | 34.8 | 18.5 | V100 | - | - | | SOLOv2 (Paper) | X101-DCN-FPN | True | 3x | 42.4 | 5.9 | V100 | - | - | -| SOLOv2 | R50-FPN | False | 1x | 35.5 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/solov2/solov2_r50_fpn_1x_coco.yml) | -| SOLOv2 | R50-FPN | True | 3x | 38.0 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_3x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/solov2/solov2_r50_fpn_3x_coco.yml) | +| SOLOv2 | R50-FPN | False | 1x | 35.5 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/solov2/solov2_r50_fpn_1x_coco.yml) | +| SOLOv2 | R50-FPN | True | 3x | 38.0 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_3x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/solov2/solov2_r50_fpn_3x_coco.yml) | **Notes:** diff --git a/configs/ssld/README.md b/configs/ssld/README.md new file mode 100644 index 000000000..48a4dd7cb --- /dev/null +++ b/configs/ssld/README.md @@ -0,0 +1,33 @@ +### Simple semi-supervised label knowledge distillation solution (SSLD) + +## Model Zoo + +| 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | +| :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | +| ResNet50-vd-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | +| ResNet50-vd-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | + + +**注意事项:** + +- [SSLD](https://arxiv.org/abs/1811.11168)是一种知识蒸馏方法,我们使用蒸馏后性能更强的backbone预训练模型,进一步提升检测精度,详细方案请参考[知识蒸馏教程](https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/en/advanced_tutorials/distillation/distillation_en.md) + +![demo image](../../docs/images/ssld_model.png) + +## Citations +``` +@misc{cui2021selfsupervision, + title={Beyond Self-Supervision: A Simple Yet Effective Network Distillation Alternative to Improve Backbones}, + author={Cheng Cui and Ruoyu Guo and Yuning Du and Dongliang He and Fu Li and Zewu Wu and Qiwen Liu and Shilei Wen and Jizhou Huang and Xiaoguang Hu and Dianhai Yu and Errui Ding and Yanjun Ma}, + year={2021}, + eprint={2103.05959}, + archivePrefix={arXiv}, + primaryClass={cs.CV} +} +``` diff --git a/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml new file mode 100644 index 000000000..e64ad6bbf --- /dev/null +++ b/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -0,0 +1,18 @@ +_BASE_: [ + '../datasets/coco_instance.yml', + '../runtime.yml', + '../cascade_rcnn/_base_/optimizer_1x.yml', + '../cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml', + '../cascade_rcnn/_base_/cascade_mask_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] diff --git a/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml new file mode 100644 index 000000000..27dbb1e4c --- /dev/null +++ b/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_instance.yml', + '../runtime.yml', + '../cascade_rcnn/_base_/optimizer_1x.yml', + '../cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml', + '../cascade_rcnn/_base_/cascade_mask_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 24 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [12, 22] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml new file mode 100644 index 000000000..2715b33f1 --- /dev/null +++ b/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -0,0 +1,18 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../cascade_rcnn/_base_/optimizer_1x.yml', + '../cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml', + '../cascade_rcnn/_base_/cascade_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/cascade_rcnn_r50_vd_fpn_ssld_1x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] diff --git a/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml new file mode 100644 index 000000000..00476f6db --- /dev/null +++ b/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../cascade_rcnn/_base_/optimizer_1x.yml', + '../cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml', + '../cascade_rcnn/_base_/cascade_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/cascade_rcnn_r50_vd_fpn_ssld_2x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 24 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [12, 22] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml new file mode 100644 index 000000000..a529adb0b --- /dev/null +++ b/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../faster_rcnn/_base_/optimizer_1x.yml', + '../faster_rcnn/_base_/faster_rcnn_r50_fpn.yml', + '../faster_rcnn/_base_/faster_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/faster_rcnn_r50_vd_fpn_ssld_1x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 12 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [8, 11] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml new file mode 100644 index 000000000..b1c682e31 --- /dev/null +++ b/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../faster_rcnn/_base_/optimizer_1x.yml', + '../faster_rcnn/_base_/faster_rcnn_r50_fpn.yml', + '../faster_rcnn/_base_/faster_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/faster_rcnn_r50_vd_fpn_ssld_2x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 24 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [12, 22] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml new file mode 100644 index 000000000..29f906e86 --- /dev/null +++ b/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_instance.yml', + '../runtime.yml', + '../mask_rcnn/_base_/optimizer_1x.yml', + '../mask_rcnn/_base_/mask_rcnn_r50_fpn.yml', + '../mask_rcnn/_base_/mask_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/mask_rcnn_r50_vd_fpn_ssld_1x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 12 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [8, 11] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml new file mode 100644 index 000000000..39674e25d --- /dev/null +++ b/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -0,0 +1,29 @@ +_BASE_: [ + '../datasets/coco_instance.yml', + '../runtime.yml', + '../mask_rcnn/_base_/optimizer_1x.yml', + '../mask_rcnn/_base_/mask_rcnn_r50_fpn.yml', + '../mask_rcnn/_base_/mask_fpn_reader.yml', +] +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams +weights: output/mask_rcnn_r50_vd_fpn_ssld_2x_coco/model_final + +ResNet: + depth: 50 + variant: d + norm_type: bn + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +epoch: 24 +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [12, 22] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 diff --git a/docs/images/ssld_model.png b/docs/images/ssld_model.png new file mode 100644 index 0000000000000000000000000000000000000000..594165933870931b98ee82fc3fab94d6bf4d3a74 GIT binary patch literal 22184 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 Date: Mon, 29 Mar 2021 19:24:52 +0800 Subject: [PATCH 03/90] [cherry-pick] update doc, test=document_fix (#2447) * update doc, test=document_fix * update doc, test=document_fix --- docs/tutorials/PrepareDataSet.md | 6 +++--- docs/tutorials/QUICK_STARTED.md | 2 ++ docs/tutorials/QUICK_STARTED_cn.md | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/tutorials/PrepareDataSet.md b/docs/tutorials/PrepareDataSet.md index 2689ebf08..e1d363d84 100644 --- a/docs/tutorials/PrepareDataSet.md +++ b/docs/tutorials/PrepareDataSet.md @@ -51,7 +51,7 @@ VOC数据集指的是Pascal VOC比赛使用的数据。用户自定义的VOC数 ##### VOC数据集下载 -- 通过代码自动化下载VOC数据集 +- 通过代码自动化下载VOC数据集,数据集较大,下载需要较长时间 ``` # 执行代码自动化下载VOC数据集 @@ -151,11 +151,11 @@ COCO数据集指的是COCO比赛使用的数据。用户自定义的COCO数据 ##### COCO数据下载 -- 通过代码自动化下载COCO数据集 +- 通过代码自动化下载COCO数据集,数据集较大,下载需要较长时间 ``` # 执行代码自动化下载COCO数据集 - python dataset/voc/download_coco.py + python dataset/coco/download_coco.py ``` 代码执行完成后COCO数据集文件组织结构为: diff --git a/docs/tutorials/QUICK_STARTED.md b/docs/tutorials/QUICK_STARTED.md index a222b592d..9b3e0dced 100644 --- a/docs/tutorials/QUICK_STARTED.md +++ b/docs/tutorials/QUICK_STARTED.md @@ -73,6 +73,8 @@ visualdl --logdir vdl_dir/scalar/ --host --port python tools/eval.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true ``` +The final mAP should be around 0.85. The dataset is small so the precision may vary a little after each training. + ### 3、Inference ``` diff --git a/docs/tutorials/QUICK_STARTED_cn.md b/docs/tutorials/QUICK_STARTED_cn.md index f081dc203..4bcb933b4 100644 --- a/docs/tutorials/QUICK_STARTED_cn.md +++ b/docs/tutorials/QUICK_STARTED_cn.md @@ -70,6 +70,7 @@ visualdl --logdir vdl_dir/scalar/ --host --port python tools/eval.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true ``` +最终模型精度在mAP=0.85左右,由于数据集较小因此每次训练结束后精度会有一定波动 ### 3、预测 -- Gitee From 15747a06d6be4bb0115e1d478199ccd0dc71bed0 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Mon, 29 Mar 2021 19:26:05 +0800 Subject: [PATCH 04/90] update dist api (#2444) --- ppdet/engine/callbacks.py | 12 ++++++------ ppdet/engine/env.py | 2 +- ppdet/engine/trainer.py | 7 ++++--- ppdet/utils/logger.py | 4 ++-- tools/eval.py | 4 +--- tools/infer.py | 4 +--- tools/train.py | 4 +--- 7 files changed, 16 insertions(+), 21 deletions(-) diff --git a/ppdet/engine/callbacks.py b/ppdet/engine/callbacks.py index 1419661ca..ca4ad6136 100644 --- a/ppdet/engine/callbacks.py +++ b/ppdet/engine/callbacks.py @@ -23,7 +23,7 @@ import six import numpy as np import paddle -from paddle.distributed import ParallelEnv +import paddle.distributed as dist from ppdet.utils.checkpoint import save_model from ppdet.optimizer import ModelEMA @@ -81,7 +81,7 @@ class LogPrinter(Callback): super(LogPrinter, self).__init__(model) def on_step_end(self, status): - if ParallelEnv().nranks < 2 or ParallelEnv().local_rank == 0: + if dist.get_world_size() < 2 or dist.get_rank() == 0: mode = status['mode'] if mode == 'train': epoch_id = status['epoch_id'] @@ -129,7 +129,7 @@ class LogPrinter(Callback): logger.info("Eval iter: {}".format(step_id)) def on_epoch_end(self, status): - if ParallelEnv().nranks < 2 or ParallelEnv().local_rank == 0: + if dist.get_world_size() < 2 or dist.get_rank() == 0: mode = status['mode'] if mode == 'eval': sample_num = status['sample_num'] @@ -160,7 +160,7 @@ class Checkpointer(Callback): epoch_id = status['epoch_id'] weight = None save_name = None - if ParallelEnv().nranks < 2 or ParallelEnv().local_rank == 0: + if dist.get_world_size() < 2 or dist.get_rank() == 0: if mode == 'train': end_epoch = self.model.cfg.epoch if epoch_id % self.model.cfg.snapshot_epoch == 0 or epoch_id == end_epoch - 1: @@ -224,7 +224,7 @@ class VisualDLWriter(Callback): def on_step_end(self, status): mode = status['mode'] - if ParallelEnv().nranks < 2 or ParallelEnv().local_rank == 0: + if dist.get_world_size() < 2 or dist.get_rank() == 0: if mode == 'train': training_staus = status['training_staus'] for loss_name, loss_value in training_staus.get().items(): @@ -248,7 +248,7 @@ class VisualDLWriter(Callback): def on_epoch_end(self, status): mode = status['mode'] - if ParallelEnv().nranks < 2 or ParallelEnv().local_rank == 0: + if dist.get_world_size() < 2 or dist.get_rank() == 0: if mode == 'eval': for metric in self.model._metrics: for key, map_value in metric.get_results().items(): diff --git a/ppdet/engine/env.py b/ppdet/engine/env.py index ba0b7edd6..cfeea08c9 100644 --- a/ppdet/engine/env.py +++ b/ppdet/engine/env.py @@ -21,7 +21,7 @@ import random import numpy as np import paddle -from paddle.distributed import ParallelEnv, fleet +from paddle.distributed import fleet __all__ = ['init_parallel_env', 'set_random_seed', 'init_fleet_env'] diff --git a/ppdet/engine/trainer.py b/ppdet/engine/trainer.py index 57c16e4b8..234cb1fe6 100644 --- a/ppdet/engine/trainer.py +++ b/ppdet/engine/trainer.py @@ -24,7 +24,8 @@ import numpy as np from PIL import Image import paddle -from paddle.distributed import ParallelEnv, fleet +import paddle.distributed as dist +from paddle.distributed import fleet from paddle import amp from paddle.static import InputSpec @@ -83,8 +84,8 @@ class Trainer(object): self.optimizer = create('OptimizerBuilder')(self.lr, self.model.parameters()) - self._nranks = ParallelEnv().nranks - self._local_rank = ParallelEnv().local_rank + self._nranks = dist.get_world_size() + self._local_rank = dist.get_rank() self.status = {} diff --git a/ppdet/utils/logger.py b/ppdet/utils/logger.py index 9f02313ed..99b82f995 100644 --- a/ppdet/utils/logger.py +++ b/ppdet/utils/logger.py @@ -17,7 +17,7 @@ import logging import os import sys -from paddle.distributed import ParallelEnv +import paddle.distributed as dist __all__ = ['setup_logger'] @@ -47,7 +47,7 @@ def setup_logger(name="ppdet", output=None): "[%(asctime)s] %(name)s %(levelname)s: %(message)s", datefmt="%m/%d %H:%M:%S") # stdout logging: master only - local_rank = ParallelEnv().local_rank + local_rank = dist.get_rank() if local_rank == 0: ch = logging.StreamHandler(stream=sys.stdout) ch.setLevel(logging.DEBUG) diff --git a/tools/eval.py b/tools/eval.py index 8b0064762..21ee29d16 100755 --- a/tools/eval.py +++ b/tools/eval.py @@ -27,7 +27,6 @@ import warnings warnings.filterwarnings('ignore') import paddle -from paddle.distributed import ParallelEnv from ppdet.core.workspace import load_config, merge_config from ppdet.utils.check import check_gpu, check_version, check_config @@ -115,8 +114,7 @@ def main(): check_gpu(cfg.use_gpu) check_version() - place = 'gpu:{}'.format(ParallelEnv().dev_id) if cfg.use_gpu else 'cpu' - place = paddle.set_device(place) + place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') run(FLAGS, cfg) diff --git a/tools/infer.py b/tools/infer.py index 9226e1eea..a2507680b 100755 --- a/tools/infer.py +++ b/tools/infer.py @@ -27,7 +27,6 @@ warnings.filterwarnings('ignore') import glob import paddle -from paddle.distributed import ParallelEnv from ppdet.core.workspace import load_config, merge_config from ppdet.engine import Trainer from ppdet.utils.check import check_gpu, check_version, check_config @@ -140,8 +139,7 @@ def main(): check_gpu(cfg.use_gpu) check_version() - place = 'gpu:{}'.format(ParallelEnv().dev_id) if cfg.use_gpu else 'cpu' - place = paddle.set_device(place) + place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') run(FLAGS, cfg) diff --git a/tools/train.py b/tools/train.py index e7efcd07a..cdbe87ab2 100755 --- a/tools/train.py +++ b/tools/train.py @@ -29,7 +29,6 @@ import random import numpy as np import paddle -from paddle.distributed import ParallelEnv from ppdet.core.workspace import load_config, merge_config, create from ppdet.utils.checkpoint import load_weight, load_pretrain_weight @@ -122,8 +121,7 @@ def main(): check.check_gpu(cfg.use_gpu) check.check_version() - place = 'gpu:{}'.format(ParallelEnv().dev_id) if cfg.use_gpu else 'cpu' - place = paddle.set_device(place) + place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') run(FLAGS, cfg) -- Gitee From c72d6c91993fab72c6b11d84ec8ae23ce8448b26 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Tue, 30 Mar 2021 11:21:39 +0800 Subject: [PATCH 05/90] update install doc, test=document_fix (#2460) * update install doc, test=document_fix * update doc, test=document_fix --- docs/tutorials/INSTALL.md | 134 +++++++++++++++++++++++++++++++++++ docs/tutorials/INSTALL_cn.md | 118 +++++++++++++++++++++--------- ppdet/data/source/dataset.py | 3 + requirements.txt | 3 +- 4 files changed, 223 insertions(+), 35 deletions(-) create mode 100644 docs/tutorials/INSTALL.md diff --git a/docs/tutorials/INSTALL.md b/docs/tutorials/INSTALL.md new file mode 100644 index 000000000..243140129 --- /dev/null +++ b/docs/tutorials/INSTALL.md @@ -0,0 +1,134 @@ +English | [简体中文](INSTALL_cn.md) + +# Installation + + +This document covers how to install PaddleDetection and its dependencies. + +For general information about PaddleDetection, please see [README.md](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/). + +## Requirements: + +- PaddlePaddle 2.0.1 +- OS 64 bit +- Python 3(3.5.1+/3.6/3.7),64 bit +- pip/pip3(9.0.1+), 64 bit +- CUDA >= 9.0 +- cuDNN >= 7.6 + + +## Instruction + +It is recommened to install PaddleDetection and begin your object detection journey via docker environment. Please follow the instruction below and if you want to use your local environment, you could skip step 1. + + +### 1. (Recommended) Prepare docker environment + +For example, the environment is CUDA10.1 and CUDNN 7.6 + +```bash +# Firstly, pull the PaddlePaddle image +sudo docker pull paddlepaddle/paddle:latest-dev-cuda10.1-cudnn7-gcc82 + +# Switch to the working directory +cd /home/work + +# Create a container called ppdet and +# mount the current directory which may contains the dataset +# to /paddle directory in the container +sudo nvidia-docker run --name ppdet -v $PWD:/paddle --privileged --shm-size=4G --network=host -it paddlepaddle/paddle:latest-dev-cuda10.1-cudnn7-gcc82 /bin/bash +``` + +You can see [DockerHub](https://hub.docker.com/r/paddlepaddle/paddle/tags/) to get the image that matches your machine. + +``` +# ctrl+P+Q to exit docker, to re-enter docker using the following command: +sudo docker exec -it ppdet /bin/bash +``` + +For more docker usage, please refer to the PaddlePaddle [document](https://www.paddlepaddle.org.cn/documentation/docs/en/install/docker/fromdocker_en.html). + +### 2. Install PaddlePaddle + +``` +# CUDA9.0 +python -m pip install paddlepaddle-gpu==2.0.1.post90 -i https://mirror.baidu.com/pypi/simple + +# CUDA10.1 +python -m pip install paddlepaddle-gpu==2.0.1.post101 -f https://mirror.baidu.com/pypi/simple + +# CPU +python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple +``` + +For more installation methods such as conda or compile with source code, please refer to the [installation document](https://www.paddlepaddle.org.cn/documentation/docs/en/install/index_en.html) + +Please make sure that your PaddlePaddle is installed successfully and the version is not lower than the required version. Use the following command to verify. + +``` +# check +>>> import paddle +>>> paddle.utils.run_check() + +# confirm the paddle's version +python -c "import paddle; print(paddle.__version__)" +``` + +**Note** + +1. If you want to use PaddleDetection on multi-GPU, please install NCCL at first. + + +### 3. Install PaddleDetection + + +``` +# Clone PaddleDetection repository +cd +git clone https://github.com/PaddlePaddle/PaddleDetection.git + +# Install other dependencies +pip install -r requirements.txt + +# Install PaddleDetection +cd PaddleDetection +python setup.py install +``` + +**Note** + +1. Because the origin version of cocoapi does not support windows, another version is used which only supports Python3: + + ```pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI``` + +After installation, make sure the tests pass: + +```shell +python ppdet/modeling/tests/test_architectures.py +``` + +If the tests are passed, the following information will be prompted: + +``` +.......... +---------------------------------------------------------------------- +Ran 12 tests in 2.480s +OK (skipped=2) +``` + + + +## Inference demo + +**Congratulation!** Now you have installed PaddleDetection successfully and try our inference demo: + +``` +# Predict an image by GPU +export CUDA_VISIBLE_DEVICES=0 +python tools/infer.py -c configs/ppyolo/ppyolo.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg +``` + +An image of the same name with the predicted result will be generated under the `output` folder. +The result is as shown below: + +![](../images/000000014439.jpg) diff --git a/docs/tutorials/INSTALL_cn.md b/docs/tutorials/INSTALL_cn.md index ceefa45ab..e9435a369 100644 --- a/docs/tutorials/INSTALL_cn.md +++ b/docs/tutorials/INSTALL_cn.md @@ -1,79 +1,129 @@ -# 安装说明 +[English](INSTALL.md) | 简体中文 ---- -## 目录 -- [安装PaddlePaddle](#安装PaddlePaddle) -- [其他依赖安装](#其他依赖安装) -- [PaddleDetection](#PaddleDetection) +# 安装文档 +本文档包含了如何安装PaddleDetection以及相关依赖 -## 安装PaddlePaddle +其他更多PaddleDetection信息,请参考[README.md](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/). -**环境需求:** +## 环境要求 -- PaddlePaddle 2.0.1 或 PaddlePaddle release/2.0分支最新编译安装包 +- PaddlePaddle 2.0.1 - OS 64位操作系统 - Python 3(3.5.1+/3.6/3.7),64位版本 - pip/pip3(9.0.1+),64位版本 - CUDA >= 9.0 - cuDNN >= 7.6 -如果需要 GPU 多卡训练,请先安装NCCL。 +## 安装说明 -## 其他依赖安装 +建议使用docker环境安装PaddleDetection并开启你的目标检测之旅。请按照如下步骤说明进行安装,如果您希望使用本机环境,可以跳过步骤1. -[COCO-API](https://github.com/cocodataset/cocoapi): +### 1. (推荐)准备docker环境 -运行需要COCO-API,安装方式如下: +已CUDA10.1, CUDNN7.6为例 - # 安装pycocotools - pip install pycocotools +```bash +# 首先拉去PaddlePaddle镜像 +sudo docker pull paddlepaddle/paddle:latest-dev-cuda10.1-cudnn7-gcc82 -**windows用户安装COCO-API方式:** +# 切换到工作目录 +cd /home/work - # 若Cython未安装,请安装Cython - pip install Cython +# 创建ppdet容器 +# 将存放数据的当前目录映射到容器中的/ppdet目录中 +sudo nvidia-docker run --name ppdet -v $PWD:/paddle --privileged --shm-size=4G --network=host -it paddlepaddle/paddle:latest-dev-cuda10.1-cudnn7-gcc82 /bin/bash +``` + +可以在[DockerHub](https://hub.docker.com/r/paddlepaddle/paddle/tags/) 中找到匹配您机器环境的镜像 + +``` +# ctrl+P+Q 退出容器, 使用如下命令重新进入docker环境: +sudo docker exec -it ppdet /bin/bash +``` + +其他更多docker用法,请参考PaddlePaddle[文档](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/docker/fromdocker.html) + + +### 安装PaddlePaddle + +``` +# CUDA9.0 +python -m pip install paddlepaddle-gpu==2.0.1.post90 -i https://mirror.baidu.com/pypi/simple + +# CUDA10.1 +python -m pip install paddlepaddle-gpu==2.0.1.post101 -f https://mirror.baidu.com/pypi/simple + +# CPU +python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple +``` - # 由于原版cocoapi不支持windows,采用第三方实现版本,该版本仅支持Python3 - pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI +更多安装方式例如conda或源码编译安装方法,请参考PaddlePaddle[安装文档](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/index_cn.html) -## PaddleDetection +请确保您的PaddlePaddle安装成功并且版本不低于需求版本。使用以下命令进行验证。 -**克隆PaddleDetection库:** +``` +# 在您的Python解释器中确认PaddlePaddle安装成功 +>>> import paddle +>>> paddle.utils.run_check() + +# 确认PaddlePaddle版本 +python -c "import paddle; print(paddle.__version__)" +``` +**注意** +1. 如果您希望在多卡环境下使用PaddleDetection,请首先安装NCCL -您可以通过以下命令克隆PaddleDetection: +### 3. 安装PaddleDetection ``` +# 克隆PaddleDetection仓库 cd git clone https://github.com/PaddlePaddle/PaddleDetection.git + +# 安装其他依赖 +pip install -r requirements.txt + +# 安装PaddleDetection +cd PaddleDetection +python setup.py install ``` -也可以通过 [https://gitee.com/paddlepaddle/PaddleDetection](https://gitee.com/paddlepaddle/PaddleDetection) 克隆。 +**注意** + +1. 由于原版cocoapi不支持windows,采用第三方实现版本,该版本仅支持Python3 + + ```pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI``` + + +安装后确认测试通过: + ``` -cd -git clone https://gitee.com/paddlepaddle/PaddleDetection +python ppdet/modeling/tests/test_architectures.py ``` -**安装PaddleDetection库:** +测试通过后会提示如下信息: ``` -cd PaddleDetection/dygraph -python setup.py install +.......... +---------------------------------------------------------------------- +Ran 12 tests in 2.480s +OK (skipped=2) ``` -**预训练模型预测** +## 快速体验 -使用预训练模型预测图像,快速体验模型预测效果: +**恭喜!**您已经成功安装了PaddleDetection,接下来快速体验目标检测效果 ``` -# use_gpu参数设置是否使用GPU -python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/dygraph/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_img=demo/000000014439.jpg +# 在GPU上预测一张图片 +export CUDA_VISIBLE_DEVICES=0 +python tools/infer.py -c configs/ppyolo/ppyolo.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg ``` 会在`output`文件夹下生成一个画有预测结果的同名图像。 结果如下图: -![demo image](../images/000000014439.jpg) +![](../images/000000014439.jpg) diff --git a/ppdet/data/source/dataset.py b/ppdet/data/source/dataset.py index 429cdc7a5..798e4dae8 100644 --- a/ppdet/data/source/dataset.py +++ b/ppdet/data/source/dataset.py @@ -125,6 +125,9 @@ class ImageFolder(DetDataset): self.roidbs = None self.sample_num = sample_num + def check_or_download_dataset(self): + return + def parse_dataset(self, ): if not self.roidbs: self.roidbs = self._load_images() diff --git a/requirements.txt b/requirements.txt index 9fcef3658..4a74e50ca 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +5,5 @@ opencv-python PyYAML shapely scipy -terminaltables \ No newline at end of file +terminaltables +pycocotools -- Gitee From 1c2a429ebd3a4cfa4c2219451b290169dad969c5 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Tue, 30 Mar 2021 16:31:01 +0800 Subject: [PATCH 06/90] fix setup.py (#2458) --- setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 5c2f365b3..7be74fce9 100644 --- a/setup.py +++ b/setup.py @@ -32,7 +32,6 @@ def parse_requirements(fname): def package_model_zoo(): - from ppdet.model_zoo import MODEL_ZOO_FILENAME cur_dir = osp.dirname(osp.realpath(__file__)) cfg_dir = osp.join(cur_dir, "configs") cfgs = glob.glob(osp.join(cfg_dir, '*/*.yml')) @@ -44,7 +43,7 @@ def package_model_zoo(): valid_cfgs.append(cfg) model_names = [osp.splitext(osp.split(cfg)[1])[0] for cfg in valid_cfgs] - model_zoo_file = osp.join(cur_dir, 'ppdet', 'model_zoo', MODEL_ZOO_FILENAME) + model_zoo_file = osp.join(cur_dir, 'ppdet', 'model_zoo', 'MODEL_ZOO') with open(model_zoo_file, 'w') as wf: for model_name in model_names: wf.write("{}\n".format(model_name)) -- Gitee From 1a503c00a61aa1a902877913a4406ae9bb2462ef Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Wed, 31 Mar 2021 09:48:13 +0800 Subject: [PATCH 07/90] support python eval in face_detection (#2470) --- .gitignore | 2 +- configs/face_detection/README.md | 32 +++++++++++++++++++++----------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 3c2169494..ad3454f03 100644 --- a/.gitignore +++ b/.gitignore @@ -26,7 +26,7 @@ __pycache__/ /lib64/ /output/ /inference_model/ -/dygraph/output_inference/ +/output_inference/ /parts/ /sdist/ /var/ diff --git a/configs/face_detection/README.md b/configs/face_detection/README.md index 7a1733fd1..8e92ac34e 100644 --- a/configs/face_detection/README.md +++ b/configs/face_detection/README.md @@ -11,7 +11,7 @@ | 网络结构 | 输入尺寸 | 图片个数/GPU | 学习率策略 | Easy/Medium/Hard Set | 预测时延(SD855)| 模型大小(MB) | 下载 | 配置文件 | |:------------:|:--------:|:----:|:-------:|:-------:|:---------:|:----------:|:---------:|:--------:| -| BlazeFace | 640 | 8 | 1000e | 0.889 / 0.859 / 0.740 | - | 0.472 |[下载链接](https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/face_detection/blazeface_1000e.yml) | +| BlazeFace | 640 | 8 | 1000e | 0.885 / 0.855 / 0.731 | - | 0.472 |[下载链接](https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/face_detection/blazeface_1000e.yml) | **注意:** - 我们使用多尺度评估策略得到`Easy/Medium/Hard Set`里的mAP。具体细节请参考[在WIDER-FACE数据集上评估](#在WIDER-FACE数据集上评估)。 @@ -54,11 +54,10 @@ cd dataset/wider_face && ./download_wider_face.sh ### 训练与评估 训练流程与评估流程方法与其他算法一致,请参考[GETTING_STARTED_cn.md](../../docs/tutorials/GETTING_STARTED_cn.md)。 -**注意:** -- 人脸检测模型目前不支持边训练边评估。 +**注意:** 人脸检测模型目前不支持边训练边评估。 #### 在WIDER-FACE数据集上评估 -评估并生成结果文件: +- 步骤一:评估并生成结果文件: ```shell python -u tools/eval.py -c configs/face_detection/blazeface_1000e.yml \ -o weights=output/blazeface_1000e/model_final \ @@ -66,20 +65,31 @@ python -u tools/eval.py -c configs/face_detection/blazeface_1000e.yml \ ``` 设置`multi_scale=True`进行多尺度评估,评估完成后,将在`output/pred`中生成txt格式的测试结果。 -- 下载官方评估脚本来评估AP指标: +- 步骤二:下载官方评估脚本和Ground Truth文件: ``` wget http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/support/eval_script/eval_tools.zip unzip eval_tools.zip && rm -f eval_tools.zip ``` -- 在`eval_tools/wider_eval.m`中修改保存结果路径和绘制曲线的名称: + +- 步骤三:开始评估 + +方法一:python评估: ``` -# Modify the folder name where the result is stored. -pred_dir = './pred'; -# Modify the name of the curve to be drawn -legend_name = 'Fluid-BlazeFace'; +git clone https://github.com/wondervictor/WiderFace-Evaluation.git +cd WiderFace-Evaluation +# 编译 +python3 setup.py build_ext --inplace +# 开始评估 +python3 evaluation.py -p /path/to/PaddleDetection/output/pred -g /path/to/eval_tools/ground_truth ``` -- `wider_eval.m` 是评估模块的主要执行程序。运行命令如下: + +方法二:MatLab评估: ``` +# 在`eval_tools/wider_eval.m`中修改保存结果路径和绘制曲线的名称: +pred_dir = './pred'; +legend_name = 'Paddle-BlazeFace'; + +`wider_eval.m` 是评估模块的主要执行程序。运行命令如下: matlab -nodesktop -nosplash -nojvm -r "run wider_eval.m;quit;" ``` -- Gitee From 8dc48d6908b95c5613444816c333204cc10c7e11 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Wed, 31 Mar 2021 11:20:05 +0800 Subject: [PATCH 08/90] [cherry-pick] refine trainer (#2436) * refine trainer --- ppdet/data/reader.py | 1 + ppdet/data/source/__init__.py | 2 ++ ppdet/{metrics => data/source}/category.py | 0 ppdet/data/source/coco.py | 10 +++++----- ppdet/data/source/dataset.py | 4 ++++ ppdet/engine/export_utils.py | 2 +- ppdet/engine/trainer.py | 15 ++++++++++++--- ppdet/metrics/__init__.py | 6 +----- ppdet/metrics/metrics.py | 6 ++++-- 9 files changed, 30 insertions(+), 16 deletions(-) rename ppdet/{metrics => data/source}/category.py (100%) diff --git a/ppdet/data/reader.py b/ppdet/data/reader.py index 084ad7b93..bc34ec51e 100644 --- a/ppdet/data/reader.py +++ b/ppdet/data/reader.py @@ -166,6 +166,7 @@ class BaseDataLoader(object): batch_sampler=None, return_list=False): self.dataset = dataset + self.dataset.check_or_download_dataset() self.dataset.parse_dataset() # get data self.dataset.set_transform(self._sample_transforms) diff --git a/ppdet/data/source/__init__.py b/ppdet/data/source/__init__.py index 60c205d14..d1d2561d5 100644 --- a/ppdet/data/source/__init__.py +++ b/ppdet/data/source/__init__.py @@ -16,7 +16,9 @@ from . import coco # TODO add voc and widerface dataset from . import voc #from . import widerface +from . import category from .coco import * from .voc import * #from .widerface import * +from .category import * diff --git a/ppdet/metrics/category.py b/ppdet/data/source/category.py similarity index 100% rename from ppdet/metrics/category.py rename to ppdet/data/source/category.py diff --git a/ppdet/data/source/coco.py b/ppdet/data/source/coco.py index 387229136..18625cfb5 100644 --- a/ppdet/data/source/coco.py +++ b/ppdet/data/source/coco.py @@ -49,10 +49,10 @@ class COCODataSet(DetDataset): records = [] ct = 0 - catid2clsid = dict({catid: i for i, catid in enumerate(cat_ids)}) - cname2cid = dict({ + self.catid2clsid = dict({catid: i for i, catid in enumerate(cat_ids)}) + self.cname2cid = dict({ coco.loadCats(catid)[0]['name']: clsid - for catid, clsid in catid2clsid.items() + for catid, clsid in self.catid2clsid.items() }) if 'annotations' not in coco.dataset: @@ -119,7 +119,7 @@ class COCODataSet(DetDataset): has_segmentation = False for i, box in enumerate(bboxes): catid = box['category_id'] - gt_class[i][0] = catid2clsid[catid] + gt_class[i][0] = self.catid2clsid[catid] gt_bbox[i, :] = box['clean_bbox'] is_crowd[i][0] = box['iscrowd'] # check RLE format @@ -163,4 +163,4 @@ class COCODataSet(DetDataset): break assert len(records) > 0, 'not found any coco record in %s' % (anno_path) logger.debug('{} samples in file {}'.format(ct, anno_path)) - self.roidbs, self.cname2cid = records, cname2cid + self.roidbs = records diff --git a/ppdet/data/source/dataset.py b/ppdet/data/source/dataset.py index 798e4dae8..14d1b5400 100644 --- a/ppdet/data/source/dataset.py +++ b/ppdet/data/source/dataset.py @@ -67,6 +67,10 @@ class DetDataset(Dataset): return self.transform(roidb) + def check_or_download_dataset(self): + self.dataset_dir = get_dataset_path(self.dataset_dir, self.anno_path, + self.image_dir) + def set_kwargs(self, **kwargs): self.mixup_epoch = kwargs.get('mixup_epoch', -1) self.cutmix_epoch = kwargs.get('cutmix_epoch', -1) diff --git a/ppdet/engine/export_utils.py b/ppdet/engine/export_utils.py index 7fa2403d5..c76add842 100644 --- a/ppdet/engine/export_utils.py +++ b/ppdet/engine/export_utils.py @@ -20,7 +20,7 @@ import os import yaml from collections import OrderedDict -from ppdet.metrics import get_categories +from ppdet.data.source.category import get_categories from ppdet.utils.logger import setup_logger logger = setup_logger('ppdet.engine') diff --git a/ppdet/engine/trainer.py b/ppdet/engine/trainer.py index 234cb1fe6..4614abdc7 100644 --- a/ppdet/engine/trainer.py +++ b/ppdet/engine/trainer.py @@ -32,7 +32,8 @@ from paddle.static import InputSpec from ppdet.core.workspace import create from ppdet.utils.checkpoint import load_weight, load_pretrain_weight from ppdet.utils.visualizer import visualize_results -from ppdet.metrics import Metric, COCOMetric, VOCMetric, WiderFaceMetric, get_categories, get_infer_results +from ppdet.metrics import Metric, COCOMetric, VOCMetric, WiderFaceMetric, get_infer_results +from ppdet.data.source.category import get_categories import ppdet.utils.stats as stats from .callbacks import Callback, ComposeCallback, LogPrinter, Checkpointer, WiferFaceEval, VisualDLWriter @@ -117,8 +118,8 @@ class Trainer(object): self._callbacks = [] self._compose_callback = None - def _init_metrics(self): - if self.mode == 'test': + def _init_metrics(self, validate=False): + if self.mode == 'test' or (self.mode == 'train' and not validate): self._metrics = [] return classwise = self.cfg['classwise'] if 'classwise' in self.cfg else False @@ -127,9 +128,12 @@ class Trainer(object): bias = self.cfg['bias'] if 'bias' in self.cfg else 0 output_eval = self.cfg['output_eval'] \ if 'output_eval' in self.cfg else None + clsid2catid = {v: k for k, v in self.dataset.catid2clsid.items()} \ + if self.mode == 'eval' else None self._metrics = [ COCOMetric( anno_file=self.dataset.get_anno(), + clsid2catid=clsid2catid, classwise=classwise, output_eval=output_eval, bias=bias) @@ -187,6 +191,11 @@ class Trainer(object): def train(self, validate=False): assert self.mode == 'train', "Model not in 'train' mode" + # if validation in training is enabled, metrics should be re-init + if validate: + self._init_metrics(validate=validate) + self._reset_metrics() + model = self.model if self.cfg.fleet: model = fleet.distributed_model(model) diff --git a/ppdet/metrics/__init__.py b/ppdet/metrics/__init__.py index fb7add57c..460b12dea 100644 --- a/ppdet/metrics/__init__.py +++ b/ppdet/metrics/__init__.py @@ -15,8 +15,4 @@ from . import metrics from .metrics import * -from . import category -from .category import * - -__all__ = metrics.__all__ \ - + category.__all__ +__all__ = metrics.__all__ diff --git a/ppdet/metrics/metrics.py b/ppdet/metrics/metrics.py index efd34c21b..cae3a2e09 100644 --- a/ppdet/metrics/metrics.py +++ b/ppdet/metrics/metrics.py @@ -22,10 +22,10 @@ import json import paddle import numpy as np -from .category import get_categories from .map_utils import prune_zero_padding, DetectionMAP from .coco_utils import get_infer_results, cocoapi_eval from .widerface_utils import face_eval_run +from ppdet.data.source.category import get_categories from ppdet.utils.logger import setup_logger logger = setup_logger(__name__) @@ -62,7 +62,9 @@ class COCOMetric(Metric): assert os.path.isfile(anno_file), \ "anno_file {} not a file".format(anno_file) self.anno_file = anno_file - self.clsid2catid, self.catid2name = get_categories('COCO', anno_file) + self.clsid2catid = kwargs.get('clsid2catid', None) + if self.clsid2catid is None: + self.clsid2catid, _ = get_categories('COCO', anno_file) self.classwise = kwargs.get('classwise', False) self.output_eval = kwargs.get('output_eval', None) # TODO: bias should be unified -- Gitee From 191a7ea7b894a24071c4fa79fdcfe0d6ec69a793 Mon Sep 17 00:00:00 2001 From: cnn Date: Wed, 31 Mar 2021 14:04:24 +0800 Subject: [PATCH 09/90] fix tensorrt bug of ssd, update doc of tensorrt, test=documet_fix (#2410) (#2455) --- deploy/TENSOR_RT.md | 15 +++++++++++++++ ppdet/engine/export_utils.py | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/deploy/TENSOR_RT.md b/deploy/TENSOR_RT.md index 593f7a325..9d97cf294 100644 --- a/deploy/TENSOR_RT.md +++ b/deploy/TENSOR_RT.md @@ -42,6 +42,13 @@ TensorRT版本<=5时,使用TensorRT预测时,只支持固定尺寸输入。 同时需要将图像预处理后的尺寸与设置车模型输入尺寸保持一致,需要设置`infer_cfg.yml`配置文件中`Resize OP`的`target_size`参数和`keep_ratio`参数。 +注意:由于TesnorRT不支持在batch维度进行slice操作,Faster RCNN 和 Mask RCNN使用固定尺寸输入预测会报错,这两个模型请使用动态尺寸输入。 + +以`YOLOv3`为例,使用动态尺寸输入预测: +``` +python python/infer.py --model_dir=../inference_model/yolov3_darknet53_270e_coco/ --image_file=../demo/000000014439_640x640.jpg --use_gpu=True --run_mode=trt_fp32 --run_benchmark=True +``` + ### 3.3 TensorRT动态尺寸预测 TensorRT版本>=6时,使用TensorRT预测时,可以支持动态尺寸输入。 @@ -59,6 +66,11 @@ Paddle预测库关于动态尺寸输入请查看[Paddle CPP预测](https://www.p **注意:`TensorRT`中动态尺寸设置是4维的,这里只设置输入图像的尺寸。** +以`Faster RCNN`为例,使用动态尺寸输入预测: +``` +python python/infer.py --model_dir=../inference_model/faster_rcnn_r50_fpn_1x_coco/ --image_file=../demo/000000014439.jpg --use_gpu=True --run_mode=trt_fp16 --run_benchmark=True --use_dynamic_shape=True --trt_max_shape=1280 --trt_min_shape=800 --trt_opt_shape=960 +``` + ## 4、常见问题QA **Q:** 提示没有`tensorrt_op`
**A:** 请检查是否使用带有TensorRT的Paddle Python包或预测库。 @@ -76,3 +88,6 @@ Paddle预测库关于动态尺寸输入请查看[Paddle CPP预测](https://www.p **Q:** 如何打开日志
**A:** 预测库默认是打开日志的,只要注释掉`config.disable_glog_info()`就可以打开日志 + +**Q:** 开启TensorRT,预测时提示Slice on batch axis is not supported in TensorRT
+**A:** 请尝试使用动态尺寸输入 diff --git a/ppdet/engine/export_utils.py b/ppdet/engine/export_utils.py index c76add842..e6fa7f5d9 100644 --- a/ppdet/engine/export_utils.py +++ b/ppdet/engine/export_utils.py @@ -28,7 +28,7 @@ logger = setup_logger('ppdet.engine') # Global dictionary TRT_MIN_SUBGRAPH = { 'YOLO': 3, - 'SSD': 40, + 'SSD': 60, 'RCNN': 40, 'RetinaNet': 40, 'EfficientDet': 40, -- Gitee From 3ecd8154389d2fb11d6f52da72e3391cb5aac780 Mon Sep 17 00:00:00 2001 From: cnn Date: Thu, 1 Apr 2021 18:00:29 +0800 Subject: [PATCH 10/90] [doc] add config annotation doc (#2451) (#2480) * add config annotation doc, test=document_fix * update doc of config * mlp_dim-->out_channel of TwoFCHead --- .../faster_rcnn_r50_fpn_1x_coco_annotation.md | 263 +++++++++++++++++ .../ppyolo_r50vd_dcn_1x_coco_annotation.md | 266 ++++++++++++++++++ 2 files changed, 529 insertions(+) create mode 100644 docs/tutorials/config_annotation/faster_rcnn_r50_fpn_1x_coco_annotation.md create mode 100644 docs/tutorials/config_annotation/ppyolo_r50vd_dcn_1x_coco_annotation.md diff --git a/docs/tutorials/config_annotation/faster_rcnn_r50_fpn_1x_coco_annotation.md b/docs/tutorials/config_annotation/faster_rcnn_r50_fpn_1x_coco_annotation.md new file mode 100644 index 000000000..460af362b --- /dev/null +++ b/docs/tutorials/config_annotation/faster_rcnn_r50_fpn_1x_coco_annotation.md @@ -0,0 +1,263 @@ +# RCNN系列模型参数配置教程 + +标签: 模型参数配置 + +以`faster_rcnn_r50_fpn_1x_coco.yml`为例,这个模型由五个子配置文件组成: + +- 数据配置文件 `coco_detection.yml` + +```yaml +# 数据评估类型 +metric: COCO +# 数据集的类别数 +num_classes: 80 + +# TrainDataset +TrainDataset: + !COCODataSet + # 图像数据路径,相对 dataset_dir 路径,os.path.join(dataset_dir, image_dir) + image_dir: train2017 + # 标注文件路径,相对 dataset_dir 路径,os.path.join(dataset_dir, anno_path) + anno_path: annotations/instances_train2017.json + # 数据文件夹 + dataset_dir: dataset/coco + # data_fields + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + # 图像数据路径,相对 dataset_dir 路径,os.path.join(dataset_dir, image_dir) + image_dir: val2017 + # 标注文件路径,相对 dataset_dir 路径,os.path.join(dataset_dir, anno_path) + anno_path: annotations/instances_val2017.json + # 数据文件夹 + dataset_dir: dataset/coco + +TestDataset: + !ImageFolder + # 标注文件路径,相对 dataset_dir 路径,os.path.join(dataset_dir, anno_path) + anno_path: annotations/instances_val2017.json +``` + +- 优化器配置文件 `optimizer_1x.yml` + +```yaml +# 总训练轮数 +epoch: 12 + +# 学习率设置 +LearningRate: + # 默认为8卡训学习率 + base_lr: 0.01 + # 学习率调整策略 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + # 学习率变化位置(轮数) + milestones: [8, 11] + - !LinearWarmup + start_factor: 0.1 + steps: 1000 + +# 优化器 +OptimizerBuilder: + # 优化器 + optimizer: + momentum: 0.9 + type: Momentum + # 正则化 + regularizer: + factor: 0.0001 + type: L2 +``` + +- 数据读取配置文件 `faster_fpn_reader.yml` + +```yaml +# 每张GPU reader进程个数 +worker_num: 2 +# 训练数据 +TrainReader: + # 训练数据transforms + sample_transforms: + - Decode: {} + - RandomResize: {target_size: [[640, 1333], [672, 1333], [704, 1333], [736, 1333], [768, 1333], [800, 1333]], interp: 2, keep_ratio: True} + - RandomFlip: {prob: 0.5} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + # 由于模型存在FPN结构,输入图片需要padding为32的倍数 + - PadBatch: {pad_to_stride: 32} + # 训练时batch_size + batch_size: 1 + # 读取数据是是否乱序 + shuffle: true + # 是否丢弃最后不能完整组成batch的数据 + drop_last: true + # 表示reader是否对gt进行组batch的操作,在rcnn系列算法中设置为false,得到的gt格式为list[Tensor] + collate_batch: false + +# 评估数据 +EvalReader: + # 评估数据transforms + sample_transforms: + - Decode: {} + - Resize: {interp: 2, target_size: [800, 1333], keep_ratio: True} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + # 由于模型存在FPN结构,输入图片需要padding为32的倍数 + - PadBatch: {pad_to_stride: 32} + # 评估时batch_size + batch_size: 1 + # 读取数据是是否乱序 + shuffle: false + # 是否丢弃最后不能完整组成batch的数据 + drop_last: false + # 是否丢弃没有标注的数据 + drop_empty: false + +# 测试数据 +TestReader: + # 测试数据transforms + sample_transforms: + - Decode: {} + - Resize: {interp: 2, target_size: [800, 1333], keep_ratio: True} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + # 由于模型存在FPN结构,输入图片需要padding为32的倍数 + - PadBatch: {pad_to_stride: 32} + # 测试时batch_size + batch_size: 1 + # 读取数据是是否乱序 + shuffle: false + # 是否丢弃最后不能完整组成batch的数据 + drop_last: false +``` + +- 模型配置文件 `faster_rcnn_r50_fpn.yml` + +```yaml +# 模型结构类型 +architecture: FasterRCNN +# 预训练模型地址 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_cos_pretrained.pdparams + +# FasterRCNN +FasterRCNN: + # backbone + backbone: ResNet + # neck + neck: FPN + # rpn_head + rpn_head: RPNHead + # bbox_head + bbox_head: BBoxHead + # post process + bbox_post_process: BBoxPostProcess + + +# backbone +ResNet: + # index 0 stands for res2 + depth: 50 + # norm_type,可设置参数:bn 或 sync_bn + norm_type: bn + # freeze_at index, 0 represent res2 + freeze_at: 0 + # return_idx + return_idx: [0,1,2,3] + # num_stages + num_stages: 4 + +# FPN +FPN: + # channel of FPN + out_channel: 256 + +# RPNHead +RPNHead: + # anchor generator + anchor_generator: + aspect_ratios: [0.5, 1.0, 2.0] + anchor_sizes: [[32], [64], [128], [256], [512]] + strides: [4, 8, 16, 32, 64] + # rpn_target_assign + rpn_target_assign: + batch_size_per_im: 256 + fg_fraction: 0.5 + negative_overlap: 0.3 + positive_overlap: 0.7 + use_random: True + # 训练时生成proposal的参数 + train_proposal: + min_size: 0.0 + nms_thresh: 0.7 + pre_nms_top_n: 2000 + post_nms_top_n: 1000 + topk_after_collect: True + # 评估时生成proposal的参数 + test_proposal: + min_size: 0.0 + nms_thresh: 0.7 + pre_nms_top_n: 1000 + post_nms_top_n: 1000 + +# BBoxHead +BBoxHead: + # TwoFCHead as BBoxHead + head: TwoFCHead + # roi align + roi_extractor: + resolution: 7 + sampling_ratio: 0 + aligned: True + # bbox_assigner + bbox_assigner: BBoxAssigner + +# BBoxAssigner +BBoxAssigner: + # batch_size_per_im + batch_size_per_im: 512 + # 背景阈值 + bg_thresh: 0.5 + # 前景阈值 + fg_thresh: 0.5 + # 前景比例 + fg_fraction: 0.25 + # 是否随机采样 + use_random: True + +# TwoFCHead +TwoFCHead: + # TwoFCHead特征维度 + out_channel: 1024 + + +# BBoxPostProcess +BBoxPostProcess: + # 解码 + decode: RCNNBox + # nms + nms: + # 使用MultiClassNMS + name: MultiClassNMS + keep_top_k: 100 + score_threshold: 0.05 + nms_threshold: 0.5 + +``` + +- 运行时置文件 `runtime.yml` + +```yaml +# 是否使用gpu +use_gpu: true +# 日志打印间隔 +log_iter: 20 +# save_dir +save_dir: output +# 模型保存间隔时间 +snapshot_epoch: 1 +``` diff --git a/docs/tutorials/config_annotation/ppyolo_r50vd_dcn_1x_coco_annotation.md b/docs/tutorials/config_annotation/ppyolo_r50vd_dcn_1x_coco_annotation.md new file mode 100644 index 000000000..9c7985fd2 --- /dev/null +++ b/docs/tutorials/config_annotation/ppyolo_r50vd_dcn_1x_coco_annotation.md @@ -0,0 +1,266 @@ +# YOLO系列模型参数配置教程 + +标签: 模型参数配置 + +以`ppyolo_r50vd_dcn_1x_coco.yml`为例,这个模型由五个子配置文件组成: + +- 数据配置文件 `coco_detection.yml` + +```yaml +# 数据评估类型 +metric: COCO +# 数据集的类别数 +num_classes: 80 + +# TrainDataset +TrainDataset: + !COCODataSet + # 图像数据路径,相对 dataset_dir 路径,os.path.join(dataset_dir, image_dir) + image_dir: train2017 + # 标注文件路径,相对 dataset_dir 路径,os.path.join(dataset_dir, anno_path) + anno_path: annotations/instances_train2017.json + # 数据文件夹 + dataset_dir: dataset/coco + # data_fields + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + # 图像数据路径,相对 dataset_dir 路径,os.path.join(dataset_dir, image_dir) + image_dir: val2017 + # 标注文件路径,相对 dataset_dir 路径,os.path.join(dataset_dir, anno_path) + anno_path: annotations/instances_val2017.json + # 数据文件夹,os.path.join(dataset_dir, anno_path) + dataset_dir: dataset/coco + +TestDataset: + !ImageFolder + # 标注文件路径,相对 dataset_dir 路径 + anno_path: annotations/instances_val2017.json +``` + +- 优化器配置文件 `optimizer_1x.yml` + +```yaml +# 总训练轮数 +epoch: 405 + +# 学习率设置 +LearningRate: + # 默认为8卡训学习率 + base_lr: 0.01 + # 学习率调整策略 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + # 学习率变化位置(轮数) + milestones: + - 243 + - 324 + # Warmup + - !LinearWarmup + start_factor: 0. + steps: 4000 + +# 优化器 +OptimizerBuilder: + # 优化器 + optimizer: + momentum: 0.9 + type: Momentum + # 正则化 + regularizer: + factor: 0.0005 + type: L2 +``` + +- 数据读取配置文件 `ppyolo_reader.yml` + +```yaml +# 每张GPU reader进程个数 +worker_num: 2 +# 训练数据 +TrainReader: + inputs_def: + num_max_boxes: 50 + # 训练数据transforms + sample_transforms: + - Decode: {} + - Mixup: {alpha: 1.5, beta: 1.5} + - RandomDistort: {} + - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} + - RandomCrop: {} + - RandomFlip: {} + # batch_transforms + batch_transforms: + - BatchRandomResize: {target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608], random_size: True, random_interp: True, keep_ratio: False} + - NormalizeBox: {} + - PadBox: {num_max_boxes: 50} + - BboxXYXY2XYWH: {} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + - Gt2YoloTarget: {anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]], anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]], downsample_ratios: [32, 16, 8]} + # 训练时batch_size + batch_size: 24 + # 读取数据是是否乱序 + shuffle: true + # 是否丢弃最后不能完整组成batch的数据 + drop_last: true + # mixup_epoch,大于最大epoch,表示训练过程一直使用mixup数据增广 + mixup_epoch: 25000 + # 是否通过共享内存进行数据读取加速,需要保证共享内存大小(如/dev/shm)满足大于1G + use_shared_memory: true + +# 评估数据 +EvalReader: + # 评估数据transforms + sample_transforms: + - Decode: {} + - Resize: {target_size: [608, 608], keep_ratio: False, interp: 2} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + # 评估时batch_size + batch_size: 8 + # 是否丢弃没有标注的数据 + drop_empty: false + +# 测试数据 +TestReader: + inputs_def: + image_shape: [3, 608, 608] + # 测试数据transforms + sample_transforms: + - Decode: {} + - Resize: {target_size: [608, 608], keep_ratio: False, interp: 2} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + # 测试时batch_size + batch_size: 1 +``` + +- 模型配置文件 `ppyolo_r50vd_dcn.yml` + +```yaml +# 模型结构类型 +architecture: YOLOv3 +# 预训练模型地址 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_pretrained.pdparams +# norm_type +norm_type: sync_bn +# 是否使用ema +use_ema: true +# ema_decay +ema_decay: 0.9998 + +# YOLOv3 +YOLOv3: + # backbone + backbone: ResNet + # neck + neck: PPYOLOFPN + # yolo_head + yolo_head: YOLOv3Head + # post_process + post_process: BBoxPostProcess + + +# backbone +ResNet: + # depth + depth: 50 + # variant + variant: d + # return_idx, 0 represent res2 + return_idx: [1, 2, 3] + # dcn_v2_stages + dcn_v2_stages: [3] + # freeze_at + freeze_at: -1 + # freeze_norm + freeze_norm: false + # norm_decay + norm_decay: 0. + +# PPYOLOFPN +PPYOLOFPN: + # 是否coord_conv + coord_conv: true + # 是否drop_block + drop_block: true + # block_size + block_size: 3 + # keep_prob + keep_prob: 0.9 + # 是否spp + spp: true + +# YOLOv3Head +YOLOv3Head: + # anchors + anchors: [[10, 13], [16, 30], [33, 23], + [30, 61], [62, 45], [59, 119], + [116, 90], [156, 198], [373, 326]] + # anchor_masks + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + # loss + loss: YOLOv3Loss + # 是否使用iou_aware + iou_aware: true + # iou_aware_factor + iou_aware_factor: 0.4 + +# YOLOv3Loss +YOLOv3Loss: + # ignore_thresh + ignore_thresh: 0.7 + # downsample + downsample: [32, 16, 8] + # 是否label_smooth + label_smooth: false + # scale_x_y + scale_x_y: 1.05 + # iou_loss + iou_loss: IouLoss + # iou_aware_loss + iou_aware_loss: IouAwareLoss + +# IouLoss +IouLoss: + loss_weight: 2.5 + loss_square: true + +# IouAwareLoss +IouAwareLoss: + loss_weight: 1.0 + +# BBoxPostProcess +BBoxPostProcess: + decode: + name: YOLOBox + conf_thresh: 0.01 + downsample_ratio: 32 + clip_bbox: true + scale_x_y: 1.05 + # nms 配置 + nms: + name: MatrixNMS + keep_top_k: 100 + score_threshold: 0.01 + post_threshold: 0.01 + nms_top_k: -1 + background_label: -1 + +``` + +- 运行时置文件 `runtime.yml` + +```yaml +# 是否使用gpu +use_gpu: true +# 日志打印间隔 +log_iter: 20 +# save_dir +save_dir: output +# 模型保存间隔时间 +snapshot_epoch: 1 +``` -- Gitee From b174b0277aec45db22270e12ed2776fb790eb6ec Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Fri, 2 Apr 2021 16:29:20 +0800 Subject: [PATCH 11/90] add coments for rcnn (#2468) Co-authored-by: Guanghua Yu <742925032@qq.com> Co-authored-by: Feng Ni --- .../_base_/cascade_mask_rcnn_r50_fpn.yml | 4 +- .../_base_/cascade_rcnn_r50_fpn.yml | 2 +- .../_base_/faster_rcnn_r50_fpn.yml | 2 +- .../cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml | 4 +- .../gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml | 2 +- configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml | 2 +- configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml | 4 +- .../hrnet/_base_/faster_rcnn_hrnetv2p_w18.yml | 2 +- configs/mask_rcnn/_base_/mask_rcnn_r50.yml | 2 +- .../mask_rcnn/_base_/mask_rcnn_r50_fpn.yml | 4 +- ppdet/modeling/heads/bbox_head.py | 84 +++++++------ ppdet/modeling/heads/cascade_head.py | 75 ++++++++---- ppdet/modeling/heads/mask_head.py | 56 ++++++--- ppdet/modeling/heads/roi_extractor.py | 25 ++++ ppdet/modeling/heads/rpn_head.py | 115 ------------------ ppdet/modeling/necks/fpn.py | 34 +++++- .../proposal_generator/anchor_generator.py | 18 +++ .../proposal_generator/proposal_generator.py | 22 ++++ ppdet/modeling/proposal_generator/rpn_head.py | 28 ++++- ppdet/modeling/proposal_generator/target.py | 7 ++ .../proposal_generator/target_layer.py | 67 +++++++++- 21 files changed, 345 insertions(+), 214 deletions(-) delete mode 100644 ppdet/modeling/heads/rpn_head.py diff --git a/configs/cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml b/configs/cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml index 8fef452e8..ea2937bab 100644 --- a/configs/cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml +++ b/configs/cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml @@ -64,7 +64,7 @@ BBoxAssigner: use_random: True CascadeTwoFCHead: - mlp_dim: 1024 + out_channel: 1024 BBoxPostProcess: decode: @@ -88,7 +88,7 @@ MaskHead: MaskFeat: num_convs: 4 - out_channels: 256 + out_channel: 256 MaskAssigner: mask_resolution: 28 diff --git a/configs/cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml b/configs/cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml index 51905687e..c5afe7743 100644 --- a/configs/cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml +++ b/configs/cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml @@ -62,7 +62,7 @@ BBoxAssigner: use_random: True CascadeTwoFCHead: - mlp_dim: 1024 + out_channel: 1024 BBoxPostProcess: decode: diff --git a/configs/faster_rcnn/_base_/faster_rcnn_r50_fpn.yml b/configs/faster_rcnn/_base_/faster_rcnn_r50_fpn.yml index aa5f5b288..38ee81def 100644 --- a/configs/faster_rcnn/_base_/faster_rcnn_r50_fpn.yml +++ b/configs/faster_rcnn/_base_/faster_rcnn_r50_fpn.yml @@ -61,7 +61,7 @@ BBoxAssigner: use_random: True TwoFCHead: - mlp_dim: 1024 + out_channel: 1024 BBoxPostProcess: diff --git a/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml b/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml index 1281148da..e2c750dfb 100644 --- a/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml +++ b/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml @@ -31,7 +31,7 @@ CascadeHead: CascadeXConvNormHead: num_convs: 4 - mlp_dim: 1024 + out_channel: 1024 norm_type: gn MaskHead: @@ -45,7 +45,7 @@ MaskHead: MaskFeat: num_convs: 4 - out_channels: 256 + out_channel: 256 norm_type: gn diff --git a/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml b/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml index 701b8306e..2706790ed 100644 --- a/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml +++ b/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml @@ -21,7 +21,7 @@ CascadeHead: CascadeXConvNormHead: num_convs: 4 - mlp_dim: 1024 + out_channel: 1024 norm_type: gn diff --git a/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml b/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml index e8eb56793..200a98b4b 100644 --- a/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml +++ b/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml @@ -29,7 +29,7 @@ BBoxHead: XConvNormHead: num_convs: 4 - mlp_dim: 1024 + out_channel: 1024 norm_type: gn diff --git a/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml b/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml index 2104fa901..70beaf585 100644 --- a/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml +++ b/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml @@ -31,7 +31,7 @@ BBoxHead: XConvNormHead: num_convs: 4 - mlp_dim: 1024 + out_channel: 1024 norm_type: gn MaskHead: @@ -45,7 +45,7 @@ MaskHead: MaskFeat: num_convs: 4 - out_channels: 256 + out_channel: 256 norm_type: gn diff --git a/configs/hrnet/_base_/faster_rcnn_hrnetv2p_w18.yml b/configs/hrnet/_base_/faster_rcnn_hrnetv2p_w18.yml index cf6645d1e..6c556f306 100644 --- a/configs/hrnet/_base_/faster_rcnn_hrnetv2p_w18.yml +++ b/configs/hrnet/_base_/faster_rcnn_hrnetv2p_w18.yml @@ -57,7 +57,7 @@ BBoxAssigner: use_random: True TwoFCHead: - mlp_dim: 1024 + out_channel: 1024 BBoxPostProcess: decode: RCNNBox diff --git a/configs/mask_rcnn/_base_/mask_rcnn_r50.yml b/configs/mask_rcnn/_base_/mask_rcnn_r50.yml index aa6e0db56..04dab6370 100644 --- a/configs/mask_rcnn/_base_/mask_rcnn_r50.yml +++ b/configs/mask_rcnn/_base_/mask_rcnn_r50.yml @@ -78,7 +78,7 @@ MaskHead: MaskFeat: num_convs: 0 - out_channels: 256 + out_channel: 256 MaskAssigner: mask_resolution: 14 diff --git a/configs/mask_rcnn/_base_/mask_rcnn_r50_fpn.yml b/configs/mask_rcnn/_base_/mask_rcnn_r50_fpn.yml index 74004b281..dd7587669 100644 --- a/configs/mask_rcnn/_base_/mask_rcnn_r50_fpn.yml +++ b/configs/mask_rcnn/_base_/mask_rcnn_r50_fpn.yml @@ -61,7 +61,7 @@ BBoxAssigner: use_random: True TwoFCHead: - mlp_dim: 1024 + out_channel: 1024 BBoxPostProcess: decode: RCNNBox @@ -82,7 +82,7 @@ MaskHead: MaskFeat: num_convs: 4 - out_channels: 256 + out_channel: 256 MaskAssigner: mask_resolution: 28 diff --git a/ppdet/modeling/heads/bbox_head.py b/ppdet/modeling/heads/bbox_head.py index a6480961c..0c75f8f1d 100644 --- a/ppdet/modeling/heads/bbox_head.py +++ b/ppdet/modeling/heads/bbox_head.py @@ -31,31 +31,40 @@ __all__ = ['TwoFCHead', 'XConvNormHead', 'BBoxHead'] @register class TwoFCHead(nn.Layer): - def __init__(self, in_dim=256, mlp_dim=1024, resolution=7): + """ + RCNN bbox head with Two fc layers to extract feature + + Args: + in_channel (int): Input channel which can be derived by from_config + out_channel (int): Output channel + resolution (int): Resolution of input feature map, default 7 + """ + + def __init__(self, in_channel=256, out_channel=1024, resolution=7): super(TwoFCHead, self).__init__() - self.in_dim = in_dim - self.mlp_dim = mlp_dim - fan = in_dim * resolution * resolution + self.in_channel = in_channel + self.out_channel = out_channel + fan = in_channel * resolution * resolution self.fc6 = nn.Linear( - in_dim * resolution * resolution, - mlp_dim, + in_channel * resolution * resolution, + out_channel, weight_attr=paddle.ParamAttr( initializer=XavierUniform(fan_out=fan))) self.fc7 = nn.Linear( - mlp_dim, - mlp_dim, + out_channel, + out_channel, weight_attr=paddle.ParamAttr(initializer=XavierUniform())) @classmethod def from_config(cls, cfg, input_shape): s = input_shape s = s[0] if isinstance(s, (list, tuple)) else s - return {'in_dim': s.channels} + return {'in_channel': s.channels} @property def out_shape(self): - return [ShapeSpec(channels=self.mlp_dim, )] + return [ShapeSpec(channels=self.out_channel, )] def forward(self, rois_feat): rois_feat = paddle.flatten(rois_feat, start_axis=1, stop_axis=-1) @@ -68,34 +77,36 @@ class TwoFCHead(nn.Layer): @register class XConvNormHead(nn.Layer): + __shared__ = ['norm_type', 'freeze_norm'] """ RCNN bbox head with serveral convolution layers + Args: - in_dim(int): num of channels for the input rois_feat - num_convs(int): num of convolution layers for the rcnn bbox head - conv_dim(int): num of channels for the conv layers - mlp_dim(int): num of channels for the fc layers - resolution(int): resolution of the rois_feat - norm_type(str): norm type, 'gn' by defalut - freeze_norm(bool): whether to freeze the norm - stage_name(str): used in CascadeXConvNormHead, '' by default + in_channel (int): Input channels which can be derived by from_config + num_convs (int): The number of conv layers + conv_dim (int): The number of channels for the conv layers + out_channel (int): Output channels + resolution (int): Resolution of input feature map + norm_type (string): Norm type, bn, gn, sync_bn are available, + default `gn` + freeze_norm (bool): Whether to freeze the norm + stage_name (string): Prefix name for conv layer, '' by default """ - __shared__ = ['norm_type', 'freeze_norm'] def __init__(self, - in_dim=256, + in_channel=256, num_convs=4, conv_dim=256, - mlp_dim=1024, + out_channel=1024, resolution=7, norm_type='gn', freeze_norm=False, stage_name=''): super(XConvNormHead, self).__init__() - self.in_dim = in_dim + self.in_channel = in_channel self.num_convs = num_convs self.conv_dim = conv_dim - self.mlp_dim = mlp_dim + self.out_channel = out_channel self.norm_type = norm_type self.freeze_norm = freeze_norm @@ -103,7 +114,7 @@ class XConvNormHead(nn.Layer): fan = conv_dim * 3 * 3 initializer = KaimingNormal(fan_in=fan) for i in range(self.num_convs): - in_c = in_dim if i == 0 else conv_dim + in_c = in_channel if i == 0 else conv_dim head_conv_name = stage_name + 'bbox_head_conv{}'.format(i) head_conv = self.add_sublayer( head_conv_name, @@ -122,7 +133,7 @@ class XConvNormHead(nn.Layer): fan = conv_dim * resolution * resolution self.fc6 = nn.Linear( conv_dim * resolution * resolution, - mlp_dim, + out_channel, weight_attr=paddle.ParamAttr( initializer=XavierUniform(fan_out=fan)), bias_attr=paddle.ParamAttr( @@ -132,11 +143,11 @@ class XConvNormHead(nn.Layer): def from_config(cls, cfg, input_shape): s = input_shape s = s[0] if isinstance(s, (list, tuple)) else s - return {'in_dim': s.channels} + return {'in_channel': s.channels} @property def out_shape(self): - return [ShapeSpec(channels=self.mlp_dim, )] + return [ShapeSpec(channels=self.out_channel, )] def forward(self, rois_feat): for i in range(self.num_convs): @@ -151,14 +162,17 @@ class BBoxHead(nn.Layer): __shared__ = ['num_classes'] __inject__ = ['bbox_assigner'] """ - head (nn.Layer): Extract feature in bbox head - in_channel (int): Input channel after RoI extractor - roi_extractor (object): The module of RoI Extractor - bbox_assigner (object): The module of Box Assigner, label and sample the - box. - with_pool (bool): Whether to use pooling for the RoI feature. - num_classes (int): The number of classes - bbox_weight (List[float]): The weight to get the decode box + RCNN bbox head + + Args: + head (nn.Layer): Extract feature in bbox head + in_channel (int): Input channel after RoI extractor + roi_extractor (object): The module of RoI Extractor + bbox_assigner (object): The module of Box Assigner, label and sample the + box. + with_pool (bool): Whether to use pooling for the RoI feature. + num_classes (int): The number of classes + bbox_weight (List[float]): The weight to get the decode box """ def __init__(self, diff --git a/ppdet/modeling/heads/cascade_head.py b/ppdet/modeling/heads/cascade_head.py index 99c43c83e..0ee23c040 100644 --- a/ppdet/modeling/heads/cascade_head.py +++ b/ppdet/modeling/heads/cascade_head.py @@ -32,32 +32,41 @@ __all__ = ['CascadeTwoFCHead', 'CascadeXConvNormHead', 'CascadeHead'] @register class CascadeTwoFCHead(nn.Layer): __shared__ = ['num_cascade_stage'] + """ + Cascade RCNN bbox head with Two fc layers to extract feature + + Args: + in_channel (int): Input channel which can be derived by from_config + out_channel (int): Output channel + resolution (int): Resolution of input feature map, default 7 + num_cascade_stage (int): The number of cascade stage, default 3 + """ def __init__(self, - in_dim=256, - mlp_dim=1024, + in_channel=256, + out_channel=1024, resolution=7, num_cascade_stage=3): super(CascadeTwoFCHead, self).__init__() - self.in_dim = in_dim - self.mlp_dim = mlp_dim + self.in_channel = in_channel + self.out_channel = out_channel self.head_list = [] for stage in range(num_cascade_stage): head_per_stage = self.add_sublayer( - str(stage), TwoFCHead(in_dim, mlp_dim, resolution)) + str(stage), TwoFCHead(in_channel, out_channel, resolution)) self.head_list.append(head_per_stage) @classmethod def from_config(cls, cfg, input_shape): s = input_shape s = s[0] if isinstance(s, (list, tuple)) else s - return {'in_dim': s.channels} + return {'in_channel': s.channels} @property def out_shape(self): - return [ShapeSpec(channels=self.mlp_dim, )] + return [ShapeSpec(channels=self.out_channel, )] def forward(self, rois_feat, stage=0): out = self.head_list[stage](rois_feat) @@ -67,29 +76,43 @@ class CascadeTwoFCHead(nn.Layer): @register class CascadeXConvNormHead(nn.Layer): __shared__ = ['norm_type', 'freeze_norm', 'num_cascade_stage'] + """ + Cascade RCNN bbox head with serveral convolution layers + + Args: + in_channel (int): Input channels which can be derived by from_config + num_convs (int): The number of conv layers + conv_dim (int): The number of channels for the conv layers + out_channel (int): Output channels + resolution (int): Resolution of input feature map + norm_type (string): Norm type, bn, gn, sync_bn are available, + default `gn` + freeze_norm (bool): Whether to freeze the norm + num_cascade_stage (int): The number of cascade stage, default 3 + """ def __init__(self, - in_dim=256, + in_channel=256, num_convs=4, conv_dim=256, - mlp_dim=1024, + out_channel=1024, resolution=7, norm_type='gn', freeze_norm=False, num_cascade_stage=3): super(CascadeXConvNormHead, self).__init__() - self.in_dim = in_dim - self.mlp_dim = mlp_dim + self.in_channel = in_channel + self.out_channel = out_channel self.head_list = [] for stage in range(num_cascade_stage): head_per_stage = self.add_sublayer( str(stage), XConvNormHead( - in_dim, + in_channel, num_convs, conv_dim, - mlp_dim, + out_channel, resolution, norm_type, freeze_norm, @@ -100,11 +123,11 @@ class CascadeXConvNormHead(nn.Layer): def from_config(cls, cfg, input_shape): s = input_shape s = s[0] if isinstance(s, (list, tuple)) else s - return {'in_dim': s.channels} + return {'in_channel': s.channels} @property def out_shape(self): - return [ShapeSpec(channels=self.mlp_dim, )] + return [ShapeSpec(channels=self.out_channel, )] def forward(self, rois_feat, stage=0): out = self.head_list[stage](rois_feat) @@ -116,16 +139,18 @@ class CascadeHead(BBoxHead): __shared__ = ['num_classes', 'num_cascade_stages'] __inject__ = ['bbox_assigner'] """ - head (nn.Layer): Extract feature in bbox head - in_channel (int): Input channel after RoI extractor - roi_extractor (object): The module of RoI Extractor - bbox_assigner (object): The module of Box Assigner, label and sample the - box. - num_classes (int): The number of classes - bbox_weight (List[List[float]]): The weight to get the decode box and the - length of weight is the number of cascade - stage - num_cascade_stages (int): THe number of stage to refine the box + Cascade RCNN bbox head + + Args: + head (nn.Layer): Extract feature in bbox head + in_channel (int): Input channel after RoI extractor + roi_extractor (object): The module of RoI Extractor + bbox_assigner (object): The module of Box Assigner, label and sample the + box. + num_classes (int): The number of classes + bbox_weight (List[List[float]]): The weight to get the decode box and the + length of weight is the number of cascade stage + num_cascade_stages (int): THe number of stage to refine the box """ def __init__(self, diff --git a/ppdet/modeling/heads/mask_head.py b/ppdet/modeling/heads/mask_head.py index dc624ff83..eea70922a 100644 --- a/ppdet/modeling/heads/mask_head.py +++ b/ppdet/modeling/heads/mask_head.py @@ -27,18 +27,29 @@ from .roi_extractor import RoIAlign @register class MaskFeat(nn.Layer): + """ + Feature extraction in Mask head + + Args: + in_channel (int): Input channels + out_channel (int): Output channels + num_convs (int): The number of conv layers, default 4 + norm_type (string | None): Norm type, bn, gn, sync_bn are available, + default None + """ + def __init__(self, + in_channel=256, + out_channel=256, num_convs=4, - in_channels=256, - out_channels=256, norm_type=None): super(MaskFeat, self).__init__() self.num_convs = num_convs - self.in_channels = in_channels - self.out_channels = out_channels + self.in_channel = in_channel + self.out_channel = out_channel self.norm_type = norm_type - fan_conv = out_channels * 3 * 3 - fan_deconv = out_channels * 2 * 2 + fan_conv = out_channel * 3 * 3 + fan_deconv = out_channel * 2 * 2 mask_conv = nn.Sequential() if norm_type == 'gn': @@ -47,8 +58,8 @@ class MaskFeat(nn.Layer): mask_conv.add_sublayer( conv_name, ConvNormLayer( - ch_in=in_channels if i == 0 else out_channels, - ch_out=out_channels, + ch_in=in_channel if i == 0 else out_channel, + ch_out=out_channel, filter_size=3, stride=1, norm_type=self.norm_type, @@ -62,8 +73,8 @@ class MaskFeat(nn.Layer): mask_conv.add_sublayer( conv_name, nn.Conv2D( - in_channels=in_channels if i == 0 else out_channels, - out_channels=out_channels, + in_channels=in_channel if i == 0 else out_channel, + out_channels=out_channel, kernel_size=3, padding=1, weight_attr=paddle.ParamAttr( @@ -72,8 +83,8 @@ class MaskFeat(nn.Layer): mask_conv.add_sublayer( 'conv5_mask', nn.Conv2DTranspose( - in_channels=self.in_channels, - out_channels=self.out_channels, + in_channels=self.in_channel, + out_channels=self.out_channel, kernel_size=2, stride=2, weight_attr=paddle.ParamAttr( @@ -85,10 +96,10 @@ class MaskFeat(nn.Layer): def from_config(cls, cfg, input_shape): if isinstance(input_shape, (list, tuple)): input_shape = input_shape[0] - return {'in_channels': input_shape.channels, } + return {'in_channel': input_shape.channels, } - def out_channel(self): - return self.out_channels + def out_channels(self): + return self.out_channel def forward(self, feats): return self.upsample(feats) @@ -98,6 +109,18 @@ class MaskFeat(nn.Layer): class MaskHead(nn.Layer): __shared__ = ['num_classes'] __inject__ = ['mask_assigner'] + """ + RCNN mask head + + Args: + head (nn.Layer): Extract feature in mask head + roi_extractor (object): The module of RoI Extractor + mask_assigner (object): The module of Mask Assigner, + label and sample the mask + num_classes (int): The number of classes + share_bbox_feat (bool): Whether to share the feature from bbox head, + default false + """ def __init__(self, head, @@ -112,7 +135,7 @@ class MaskHead(nn.Layer): if isinstance(roi_extractor, dict): self.roi_extractor = RoIAlign(**roi_extractor) self.head = head - self.in_channels = head.out_channel() + self.in_channels = head.out_channels() self.mask_assigner = mask_assigner self.share_bbox_feat = share_bbox_feat self.bbox_head = None @@ -159,7 +182,6 @@ class MaskHead(nn.Layer): rois_num (Tensor): The number of proposals for each batch inputs (dict): ground truth info """ - #assert self.bbox_head tgt_labels, _, tgt_gt_inds = targets rois, rois_num, tgt_classes, tgt_masks, mask_index, tgt_weights = self.mask_assigner( rois, tgt_labels, tgt_gt_inds, inputs) diff --git a/ppdet/modeling/heads/roi_extractor.py b/ppdet/modeling/heads/roi_extractor.py index 1e2f658a7..35c3924e3 100644 --- a/ppdet/modeling/heads/roi_extractor.py +++ b/ppdet/modeling/heads/roi_extractor.py @@ -25,6 +25,31 @@ def _to_list(v): @register class RoIAlign(object): + """ + RoI Align module + + For more details, please refer to the document of roi_align in + in ppdet/modeing/ops.py + + Args: + resolution (int): The output size, default 14 + spatial_scale (float): Multiplicative spatial scale factor to translate + ROI coords from their input scale to the scale used when pooling. + default 0.0625 + sampling_ratio (int): The number of sampling points in the interpolation + grid, default 0 + canconical_level (int): The referring level of FPN layer with + specified level. default 4 + canonical_size (int): The referring scale of FPN layer with + specified scale. default 224 + start_level (int): The start level of FPN layer to extract RoI feature, + default 0 + end_level (int): The end level of FPN layer to extract RoI feature, + default 3 + aligned (bool): Whether to add offset to rois' coord in roi_align. + default false + """ + def __init__(self, resolution=14, spatial_scale=0.0625, diff --git a/ppdet/modeling/heads/rpn_head.py b/ppdet/modeling/heads/rpn_head.py deleted file mode 100644 index 64f7acc49..000000000 --- a/ppdet/modeling/heads/rpn_head.py +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import paddle -import paddle.nn as nn -import paddle.nn.functional as F -from paddle import ParamAttr -from paddle.nn.initializer import Normal -from paddle.regularizer import L2Decay -from paddle.nn import Conv2D - -from ppdet.core.workspace import register -from ppdet.modeling import ops - - -@register -class RPNFeat(nn.Layer): - def __init__(self, feat_in=1024, feat_out=1024): - super(RPNFeat, self).__init__() - # rpn feat is shared with each level - self.rpn_conv = Conv2D( - in_channels=feat_in, - out_channels=feat_out, - kernel_size=3, - padding=1, - weight_attr=ParamAttr(initializer=Normal( - mean=0., std=0.01)), - bias_attr=ParamAttr( - learning_rate=2., regularizer=L2Decay(0.))) - - def forward(self, inputs, feats): - rpn_feats = [] - for feat in feats: - rpn_feats.append(F.relu(self.rpn_conv(feat))) - return rpn_feats - - -@register -class RPNHead(nn.Layer): - __inject__ = ['rpn_feat'] - - def __init__(self, rpn_feat, anchor_per_position=15, rpn_channel=1024): - super(RPNHead, self).__init__() - self.rpn_feat = rpn_feat - if isinstance(rpn_feat, dict): - self.rpn_feat = RPNFeat(**rpn_feat) - # rpn head is shared with each level - # rpn roi classification scores - self.rpn_rois_score = Conv2D( - in_channels=rpn_channel, - out_channels=anchor_per_position, - kernel_size=1, - padding=0, - weight_attr=ParamAttr(initializer=Normal( - mean=0., std=0.01)), - bias_attr=ParamAttr( - learning_rate=2., regularizer=L2Decay(0.))) - - # rpn roi bbox regression deltas - self.rpn_rois_delta = Conv2D( - in_channels=rpn_channel, - out_channels=4 * anchor_per_position, - kernel_size=1, - padding=0, - weight_attr=ParamAttr(initializer=Normal( - mean=0., std=0.01)), - bias_attr=ParamAttr( - learning_rate=2., regularizer=L2Decay(0.))) - - def forward(self, inputs, feats): - rpn_feats = self.rpn_feat(inputs, feats) - rpn_head_out = [] - for rpn_feat in rpn_feats: - rrs = self.rpn_rois_score(rpn_feat) - rrd = self.rpn_rois_delta(rpn_feat) - rpn_head_out.append((rrs, rrd)) - return rpn_feats, rpn_head_out - - def get_loss(self, loss_inputs): - # cls loss - score_tgt = paddle.cast( - x=loss_inputs['rpn_score_target'], dtype='float32') - score_tgt.stop_gradient = True - loss_rpn_cls = ops.sigmoid_cross_entropy_with_logits( - input=loss_inputs['rpn_score_pred'], label=score_tgt) - loss_rpn_cls = paddle.mean(loss_rpn_cls, name='loss_rpn_cls') - - # reg loss - loc_tgt = paddle.cast(x=loss_inputs['rpn_rois_target'], dtype='float32') - loc_tgt.stop_gradient = True - loss_rpn_reg = ops.smooth_l1( - input=loss_inputs['rpn_rois_pred'], - label=loc_tgt, - inside_weight=loss_inputs['rpn_rois_weight'], - outside_weight=loss_inputs['rpn_rois_weight'], - sigma=3.0, ) - loss_rpn_reg = paddle.sum(loss_rpn_reg) - score_shape = paddle.shape(score_tgt) - score_shape = paddle.cast(score_shape, dtype='float32') - norm = paddle.prod(score_shape) - norm.stop_gradient = True - loss_rpn_reg = loss_rpn_reg / norm - - return {'loss_rpn_cls': loss_rpn_cls, 'loss_rpn_reg': loss_rpn_reg} diff --git a/ppdet/modeling/necks/fpn.py b/ppdet/modeling/necks/fpn.py index 85767bb10..0b9f6a798 100644 --- a/ppdet/modeling/necks/fpn.py +++ b/ppdet/modeling/necks/fpn.py @@ -29,6 +29,34 @@ __all__ = ['FPN'] @register @serializable class FPN(nn.Layer): + """ + Feature Pyramid Network, see https://arxiv.org/abs/1612.03144 + + Args: + in_channels (list[int]): input channels of each level which can be + derived from the output shape of backbone by from_config + out_channel (list[int]): output channel of each level + spatial_scales (list[float]): the spatial scales between input feature + maps and original input image which can be derived from the output + shape of backbone by from_config + has_extra_convs (bool): whether to add extra conv to the last level. + default False + extra_stage (int): the number of extra stages added to the last level. + default 1 + use_c5 (bool): Whether to use c5 as the input of extra stage, + otherwise p5 is used. default True + norm_type (string|None): The normalization type in FPN module. If + norm_type is None, norm will not be used after conv and if + norm_type is string, bn, gn, sync_bn are available. default None + norm_decay (float): weight decay for normalization layer weights. + default 0. + freeze_norm (bool): whether to freeze normalization layer. + default False + relu_before_extra_convs (bool): whether to add relu before extra convs. + default False + + """ + def __init__(self, in_channels, out_channel, @@ -67,7 +95,7 @@ class FPN(nn.Layer): else: lateral_name = 'fpn_inner_res{}_sum_lateral'.format(i + 2) in_c = in_channels[i - st_stage] - if self.norm_type == 'gn': + if self.norm_type is not None: lateral = self.add_sublayer( lateral_name, ConvNormLayer( @@ -93,7 +121,7 @@ class FPN(nn.Layer): self.lateral_convs.append(lateral) fpn_name = 'fpn_res{}_sum'.format(i + 2) - if self.norm_type == 'gn': + if self.norm_type is not None: fpn_conv = self.add_sublayer( fpn_name, ConvNormLayer( @@ -128,7 +156,7 @@ class FPN(nn.Layer): else: in_c = out_channel extra_fpn_name = 'fpn_{}'.format(lvl + 2) - if self.norm_type == 'gn': + if self.norm_type is not None: extra_fpn_conv = self.add_sublayer( extra_fpn_name, ConvNormLayer( diff --git a/ppdet/modeling/proposal_generator/anchor_generator.py b/ppdet/modeling/proposal_generator/anchor_generator.py index 1ca0319d3..8088ffa04 100644 --- a/ppdet/modeling/proposal_generator/anchor_generator.py +++ b/ppdet/modeling/proposal_generator/anchor_generator.py @@ -25,6 +25,24 @@ from .. import ops @register class AnchorGenerator(nn.Layer): + """ + Generate anchors according to the feature maps + + Args: + anchor_sizes (list[float] | list[list[float]]): The anchor sizes at + each feature point. list[float] means all feature levels share the + same sizes. list[list[float]] means the anchor sizes for + each level. The sizes stand for the scale of input size. + aspect_ratios (list[float] | list[list[float]]): The aspect ratios at + each feature point. list[float] means all feature levels share the + same ratios. list[list[float]] means the aspect ratios for + each level. + strides (list[float]): The strides of feature maps which generate + anchors + offset (float): The offset of the coordinate of anchors, default 0. + + """ + def __init__(self, anchor_sizes=[32, 64, 128, 256, 512], aspect_ratios=[0.5, 1.0, 2.0], diff --git a/ppdet/modeling/proposal_generator/proposal_generator.py b/ppdet/modeling/proposal_generator/proposal_generator.py index 8a5df5325..12518e488 100644 --- a/ppdet/modeling/proposal_generator/proposal_generator.py +++ b/ppdet/modeling/proposal_generator/proposal_generator.py @@ -25,6 +25,28 @@ from .. import ops @register @serializable class ProposalGenerator(object): + """ + Proposal generation module + + For more details, please refer to the document of generate_proposals + in ppdet/modeing/ops.py + + Args: + pre_nms_top_n (int): Number of total bboxes to be kept per + image before NMS. default 6000 + post_nms_top_n (int): Number of total bboxes to be kept per + image after NMS. default 1000 + nms_thresh (float): Threshold in NMS. default 0.5 + min_size (flaot): Remove predicted boxes with either height or + width < min_size. default 0.1 + eta (float): Apply in adaptive NMS, if adaptive `threshold > 0.5`, + `adaptive_threshold = adaptive_threshold * eta` in each iteration. + default 1. + topk_after_collect (bool): whether to adopt topk after batch + collection. If topk_after_collect is true, box filter will not be + used after NMS at each image in proposal generation. default false + """ + def __init__(self, pre_nms_top_n=12000, post_nms_top_n=2000, diff --git a/ppdet/modeling/proposal_generator/rpn_head.py b/ppdet/modeling/proposal_generator/rpn_head.py index 6a1c980a4..2b1e6c77b 100644 --- a/ppdet/modeling/proposal_generator/rpn_head.py +++ b/ppdet/modeling/proposal_generator/rpn_head.py @@ -27,12 +27,20 @@ from .proposal_generator import ProposalGenerator class RPNFeat(nn.Layer): - def __init__(self, feat_in=1024, feat_out=1024): + """ + Feature extraction in RPN head + + Args: + in_channel (int): Input channel + out_channel (int): Output channel + """ + + def __init__(self, in_channel=1024, out_channel=1024): super(RPNFeat, self).__init__() # rpn feat is shared with each level self.rpn_conv = nn.Conv2D( - in_channels=feat_in, - out_channels=feat_out, + in_channels=in_channel, + out_channels=out_channel, kernel_size=3, padding=1, weight_attr=paddle.ParamAttr(initializer=Normal( @@ -47,6 +55,20 @@ class RPNFeat(nn.Layer): @register class RPNHead(nn.Layer): + """ + Region Proposal Network + + Args: + anchor_generator (dict): configure of anchor generation + rpn_target_assign (dict): configure of rpn targets assignment + train_proposal (dict): configure of proposals generation + at the stage of training + test_proposal (dict): configure of proposals generation + at the stage of prediction + in_channel (int): channel of input feature maps which can be + derived by from_config + """ + def __init__(self, anchor_generator=AnchorGenerator().__dict__, rpn_target_assign=RPNTargetAssign().__dict__, diff --git a/ppdet/modeling/proposal_generator/target.py b/ppdet/modeling/proposal_generator/target.py index b66f0d9cd..9b8f52d33 100644 --- a/ppdet/modeling/proposal_generator/target.py +++ b/ppdet/modeling/proposal_generator/target.py @@ -135,11 +135,15 @@ def generate_proposal_target(rpn_rois, tgt_gt_inds = [] new_rois_num = [] + # In cascade rcnn, the threshold for foreground and background + # is used from cascade_iou fg_thresh = cascade_iou if is_cascade else fg_thresh bg_thresh = cascade_iou if is_cascade else bg_thresh for i, rpn_roi in enumerate(rpn_rois): gt_bbox = gt_boxes[i] gt_class = gt_classes[i] + + # Concat RoIs and gt boxes except cascade rcnn if not is_cascade: bbox = paddle.concat([rpn_roi, gt_bbox]) else: @@ -269,9 +273,12 @@ def generate_mask_target(gt_segms, rois, labels_int32, sampled_gt_inds, rois_per_im = rois[k] gt_segms_per_im = gt_segms[k] labels_per_im = labels_int32[k] + # select rois labeled with foreground fg_inds = paddle.nonzero( paddle.logical_and(labels_per_im != -1, labels_per_im != num_classes)) + + # generate fake roi if foreground is empty if fg_inds.numel() == 0: has_fg = False fg_inds = paddle.ones([1], dtype='int32') diff --git a/ppdet/modeling/proposal_generator/target_layer.py b/ppdet/modeling/proposal_generator/target_layer.py index 4586cadf3..0b35fdff3 100644 --- a/ppdet/modeling/proposal_generator/target_layer.py +++ b/ppdet/modeling/proposal_generator/target_layer.py @@ -22,6 +22,32 @@ from .target import rpn_anchor_target, generate_proposal_target, generate_mask_t @register @serializable class RPNTargetAssign(object): + """ + RPN targets assignment module + + The assignment consists of three steps: + 1. Match anchor and ground-truth box, label the anchor with foreground + or background sample + 2. Sample anchors to keep the properly ratio between foreground and + background + 3. Generate the targets for classification and regression branch + + + Args: + batch_size_per_im (int): Total number of RPN samples per image. + default 256 + fg_fraction (float): Fraction of anchors that is labeled + foreground, default 0.5 + positive_overlap (float): Minimum overlap required between an anchor + and ground-truth box for the (anchor, gt box) pair to be + a foreground sample. default 0.7 + negative_overlap (float): Maximum overlap allowed between an anchor + and ground-truth box for the (anchor, gt box) pair to be + a background sample. default 0.3 + use_random (bool): Use random sampling to choose foreground and + background boxes, default true. + """ + def __init__(self, batch_size_per_im=256, fg_fraction=0.5, @@ -54,6 +80,33 @@ class RPNTargetAssign(object): @register class BBoxAssigner(object): __shared__ = ['num_classes'] + """ + RCNN targets assignment module + + The assignment consists of three steps: + 1. Match RoIs and ground-truth box, label the RoIs with foreground + or background sample + 2. Sample anchors to keep the properly ratio between foreground and + background + 3. Generate the targets for classification and regression branch + + Args: + batch_size_per_im (int): Total number of RoIs per image. + default 512 + fg_fraction (float): Fraction of RoIs that is labeled + foreground, default 0.25 + positive_overlap (float): Minimum overlap required between a RoI + and ground-truth box for the (roi, gt box) pair to be + a foreground sample. default 0.5 + negative_overlap (float): Maximum overlap allowed between a RoI + and ground-truth box for the (roi, gt box) pair to be + a background sample. default 0.5 + use_random (bool): Use random sampling to choose foreground and + background boxes, default true + cascade_iou (list[iou]): The list of overlap to select foreground and + background of each stage, which is only used In Cascade RCNN. + num_classes (int): The number of class. + """ def __init__(self, batch_size_per_im=512, @@ -61,7 +114,6 @@ class BBoxAssigner(object): fg_thresh=.5, bg_thresh=.5, use_random=True, - is_cls_agnostic=False, cascade_iou=[0.5, 0.6, 0.7], num_classes=80): super(BBoxAssigner, self).__init__() @@ -70,7 +122,6 @@ class BBoxAssigner(object): self.fg_thresh = fg_thresh self.bg_thresh = bg_thresh self.use_random = use_random - self.is_cls_agnostic = is_cls_agnostic self.cascade_iou = cascade_iou self.num_classes = num_classes @@ -99,6 +150,18 @@ class BBoxAssigner(object): @serializable class MaskAssigner(object): __shared__ = ['num_classes', 'mask_resolution'] + """ + Mask targets assignment module + + The assignment consists of three steps: + 1. Select RoIs labels with foreground. + 2. Encode the RoIs and corresponding gt polygons to generate + mask target + + Args: + num_classes (int): The number of class + mask_resolution (int): The resolution of mask target, default 14 + """ def __init__(self, num_classes=80, mask_resolution=14): super(MaskAssigner, self).__init__() -- Gitee From ae1b479c75a36d8a7dff1039c139d4e38d78e7d6 Mon Sep 17 00:00:00 2001 From: Feng Ni Date: Fri, 2 Apr 2021 17:52:25 +0800 Subject: [PATCH 12/90] comments for architectures post_process and data source (#2473) --- configs/cascade_rcnn/README.md | 4 +- configs/dcn/README.md | 22 ++++---- configs/faster_rcnn/README.md | 28 +++++----- configs/hrnet/README.md | 4 +- configs/mask_rcnn/README.md | 20 +++---- ppdet/data/source/category.py | 2 + ppdet/data/source/coco.py | 11 ++++ ppdet/data/source/dataset.py | 12 +++++ ppdet/data/source/voc.py | 1 + ppdet/data/source/widerface.py | 6 ++- ppdet/metrics/coco_utils.py | 16 +++--- ppdet/metrics/map_utils.py | 11 ++-- ppdet/modeling/architectures/cascade_rcnn.py | 12 +++++ ppdet/modeling/architectures/faster_rcnn.py | 17 +++--- ppdet/modeling/architectures/mask_rcnn.py | 19 ++++--- ppdet/modeling/backbones/hrnet.py | 48 ++++++++++++++++- ppdet/modeling/necks/hrfpn.py | 2 +- ppdet/modeling/post_process.py | 57 +++++++++++++++----- 18 files changed, 207 insertions(+), 85 deletions(-) diff --git a/configs/cascade_rcnn/README.md b/configs/cascade_rcnn/README.md index 887f706fd..fe2a2a7ad 100644 --- a/configs/cascade_rcnn/README.md +++ b/configs/cascade_rcnn/README.md @@ -4,8 +4,8 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | | :------------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50-FPN | Cascade Faster | 1 | 1x | ---- | 41.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | Cascade Mask | 1 | 1x | ---- | 41.8 | 36.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | Cascade Faster | 1 | 1x | ---- | 41.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | Cascade Mask | 1 | 1x | ---- | 41.8 | 36.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.yml) | **注意:** Cascade R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 diff --git a/configs/dcn/README.md b/configs/dcn/README.md index 499b9cc0a..3248a387c 100644 --- a/configs/dcn/README.md +++ b/configs/dcn/README.md @@ -2,17 +2,17 @@ | 骨架网络 | 网络类型 | 卷积 | 每张GPU图片个数 | 学习率策略 |推理时间(fps)| Box AP | Mask AP | 下载 | 配置文件 | | :------------------- | :------------- | :-----: |:--------: | :-----: | :-----------: |:----: | :-----: | :----------------------------------------------------------: | :----: | -| ResNet50-FPN | Faster | c3-c5 | 1 | 1x | - | 42.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/faster_rcnn_dcn_r50_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 42.7 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/faster_rcnn_dcn_r50_vd_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Faster | c3-c5 | 1 | 2x | - | 43.7 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/faster_rcnn_dcn_r50_vd_fpn_2x_coco.yml) | -| ResNet101-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 45.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/faster_rcnn_dcn_r101_vd_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 46.5 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) |[配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | -| ResNet50-FPN | Mask | c3-c5 | 1 | 1x | - | 42.7 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/mask_rcnn_dcn_r50_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Mask | c3-c5 | 1 | 2x | - | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/mask_rcnn_dcn_r50_vd_fpn_2x_coco.yml) | -| ResNet101-vd-FPN | Mask | c3-c5 | 1 | 1x | - | 45.6 | 40.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/mask_rcnn_dcn_r101_vd_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Mask | c3-c5 | 1 | 1x | - | 47.3 | 42.0 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | -| ResNet50-FPN | Cascade Faster | c3-c5 | 1 | 1x | - | 42.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/cascade_rcnn_dcn_r50_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Cascade Faster | c3-c5 | 1 | 1x | - | 48.8 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/dcn/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNet50-FPN | Faster | c3-c5 | 1 | 1x | - | 42.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_r50_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 42.7 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_r50_vd_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Faster | c3-c5 | 1 | 2x | - | 43.7 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_r50_vd_fpn_2x_coco.yml) | +| ResNet101-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 45.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_r101_vd_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 46.5 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) |[配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNet50-FPN | Mask | c3-c5 | 1 | 1x | - | 42.7 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/mask_rcnn_dcn_r50_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Mask | c3-c5 | 1 | 2x | - | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/mask_rcnn_dcn_r50_vd_fpn_2x_coco.yml) | +| ResNet101-vd-FPN | Mask | c3-c5 | 1 | 1x | - | 45.6 | 40.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/mask_rcnn_dcn_r101_vd_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Mask | c3-c5 | 1 | 1x | - | 47.3 | 42.0 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNet50-FPN | Cascade Faster | c3-c5 | 1 | 1x | - | 42.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/cascade_rcnn_dcn_r50_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Cascade Faster | c3-c5 | 1 | 1x | - | 48.8 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | **注意事项:** diff --git a/configs/faster_rcnn/README.md b/configs/faster_rcnn/README.md index 826b1a154..e3b5987c5 100644 --- a/configs/faster_rcnn/README.md +++ b/configs/faster_rcnn/README.md @@ -4,20 +4,20 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :------------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50 | Faster | 1 | 1x | ---- | 36.7 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r50_1x_coco.yml) | -| ResNet50-vd | Faster | 1 | 1x | ---- | 37.6 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r50_vd_1x_coco.yml) | -| ResNet101 | Faster | 1 | 1x | ---- | 39.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r101_1x_coco.yml) | -| ResNet34-FPN | Faster | 1 | 1x | ---- | 37.8 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r34_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r34_fpn_1x_coco.yml) | -| ResNet34-vd-FPN | Faster | 1 | 1x | ---- | 38.5 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r34_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r34_vd_fpn_1x_coco.yml) | -| ResNet50-FPN | Faster | 1 | 1x | ---- | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | Faster | 1 | 2x | ---- | 40.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r50_fpn_2x_coco.yml) | -| ResNet50-vd-FPN | Faster | 1 | 1x | ---- | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Faster | 1 | 2x | ---- | 40.8 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_2x_coco.yml) | -| ResNet101-FPN | Faster | 1 | 2x | ---- | 41.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r101_fpn_2x_coco.yml) | -| ResNet101-vd-FPN | Faster | 1 | 1x | ---- | 42.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_1x_coco.yml) | -| ResNet101-vd-FPN | Faster | 1 | 2x | ---- | 43.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_2x_coco.yml) | -| ResNeXt101-vd-FPN | Faster | 1 | 1x | ---- | 43.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Faster | 1 | 2x | ---- | 44.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | +| ResNet50 | Faster | 1 | 1x | ---- | 36.7 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_1x_coco.yml) | +| ResNet50-vd | Faster | 1 | 1x | ---- | 37.6 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_1x_coco.yml) | +| ResNet101 | Faster | 1 | 1x | ---- | 39.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_1x_coco.yml) | +| ResNet34-FPN | Faster | 1 | 1x | ---- | 37.8 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r34_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r34_fpn_1x_coco.yml) | +| ResNet34-vd-FPN | Faster | 1 | 1x | ---- | 38.5 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r34_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r34_vd_fpn_1x_coco.yml) | +| ResNet50-FPN | Faster | 1 | 1x | ---- | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | Faster | 1 | 2x | ---- | 40.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_fpn_2x_coco.yml) | +| ResNet50-vd-FPN | Faster | 1 | 1x | ---- | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Faster | 1 | 2x | ---- | 40.8 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_2x_coco.yml) | +| ResNet101-FPN | Faster | 1 | 2x | ---- | 41.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_fpn_2x_coco.yml) | +| ResNet101-vd-FPN | Faster | 1 | 1x | ---- | 42.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_1x_coco.yml) | +| ResNet101-vd-FPN | Faster | 1 | 2x | ---- | 43.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_2x_coco.yml) | +| ResNeXt101-vd-FPN | Faster | 1 | 1x | ---- | 43.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Faster | 1 | 2x | ---- | 44.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | **注意:** Faster R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 diff --git a/configs/hrnet/README.md b/configs/hrnet/README.md index 4e1807a39..1c6fec7bd 100644 --- a/configs/hrnet/README.md +++ b/configs/hrnet/README.md @@ -30,5 +30,5 @@ | Backbone | Type | Image/gpu | Lr schd | Inf time (fps) | Box AP | Mask AP | Download | Configs | | :---------------------- | :------------- | :-------: | :-----: | :------------: | :----: | :-----: | :----------------------------------------------------------: | :-----: | -| HRNetV2p_W18 | Faster | 1 | 1x | - | 36.8 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_hrnetv2p_w18_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/hrnet/faster_rcnn_hrnetv2p_w18_1x_coco.yml) | -| HRNetV2p_W18 | Faster | 1 | 2x | - | 39.0 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_hrnetv2p_w18_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/hrnet/faster_rcnn_hrnetv2p_w18_2x_coco.yml) | +| HRNetV2p_W18 | Faster | 1 | 1x | - | 36.8 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_hrnetv2p_w18_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/hrnet/faster_rcnn_hrnetv2p_w18_1x_coco.yml) | +| HRNetV2p_W18 | Faster | 1 | 2x | - | 39.0 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_hrnetv2p_w18_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/hrnet/faster_rcnn_hrnetv2p_w18_2x_coco.yml) | diff --git a/configs/mask_rcnn/README.md b/configs/mask_rcnn/README.md index 4b98ada65..39d15322f 100644 --- a/configs/mask_rcnn/README.md +++ b/configs/mask_rcnn/README.md @@ -4,16 +4,16 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | | :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50 | Mask | 1 | 1x | ---- | 37.4 | 32.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_r50_1x_coco.yml) | -| ResNet50 | Mask | 1 | 2x | ---- | 39.7 | 34.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_r50_2x_coco.yml) | -| ResNet50-FPN | Mask | 1 | 1x | ---- | 39.2 | 35.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | Mask | 1 | 2x | ---- | 40.5 | 36.7 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_r50_fpn_2x_coco.yml) | -| ResNet50-vd-FPN | Mask | 1 | 1x | ---- | 40.3 | 36.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Mask | 1 | 2x | ---- | 41.4 | 37.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_2x_coco.yml) | -| ResNet101-FPN | Mask | 1 | 1x | ---- | 40.6 | 36.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_r101_fpn_1x_coco.yml) | -| ResNet101-vd-FPN | Mask | 1 | 1x | ---- | 42.4 | 38.1 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_r101_vd_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Mask | 1 | 1x | ---- | 44.0 | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Mask | 1 | 2x | ---- | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | +| ResNet50 | Mask | 1 | 1x | ---- | 37.4 | 32.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_1x_coco.yml) | +| ResNet50 | Mask | 1 | 2x | ---- | 39.7 | 34.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_2x_coco.yml) | +| ResNet50-FPN | Mask | 1 | 1x | ---- | 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) | +| ResNet50-FPN | Mask | 1 | 2x | ---- | 40.5 | 36.7 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_fpn_2x_coco.yml) | +| ResNet50-vd-FPN | Mask | 1 | 1x | ---- | 40.3 | 36.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Mask | 1 | 2x | ---- | 41.4 | 37.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_2x_coco.yml) | +| ResNet101-FPN | Mask | 1 | 1x | ---- | 40.6 | 36.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r101_fpn_1x_coco.yml) | +| ResNet101-vd-FPN | Mask | 1 | 1x | ---- | 42.4 | 38.1 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r101_vd_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Mask | 1 | 1x | ---- | 44.0 | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Mask | 1 | 2x | ---- | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | **注意:** Mask R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 diff --git a/ppdet/data/source/category.py b/ppdet/data/source/category.py index fe73af7a4..06fbcccbb 100644 --- a/ppdet/data/source/category.py +++ b/ppdet/data/source/category.py @@ -32,6 +32,8 @@ def get_categories(metric_type, anno_file=None): to category name map from annotation file. Args: + metric_type (str): metric type, currently support 'coco', 'voc', 'oid' + and 'widerface'. anno_file (str): annotation file path """ if metric_type.lower() == 'coco': diff --git a/ppdet/data/source/coco.py b/ppdet/data/source/coco.py index 18625cfb5..d5691c7be 100644 --- a/ppdet/data/source/coco.py +++ b/ppdet/data/source/coco.py @@ -24,6 +24,17 @@ logger = setup_logger(__name__) @register @serializable class COCODataSet(DetDataset): + """ + Load dataset with COCO format. + + Args: + dataset_dir (str): root directory for dataset. + image_dir (str): directory for images. + anno_path (str): coco annotation file path. + data_fields (list): key name of data dictionary, at least have 'image'. + sample_num (int): number of samples to load, -1 means all. + """ + def __init__(self, dataset_dir=None, image_dir=None, diff --git a/ppdet/data/source/dataset.py b/ppdet/data/source/dataset.py index 14d1b5400..07330a6b2 100644 --- a/ppdet/data/source/dataset.py +++ b/ppdet/data/source/dataset.py @@ -27,6 +27,18 @@ import copy @serializable class DetDataset(Dataset): + """ + Load detection dataset. + + Args: + dataset_dir (str): root directory for dataset. + image_dir (str): directory for images. + anno_path (str): annotation file path. + data_fields (list): key name of data dictionary, at least have 'image'. + sample_num (int): number of samples to load, -1 means all. + use_default_label (bool): whether to load default label list. + """ + def __init__(self, dataset_dir=None, image_dir=None, diff --git a/ppdet/data/source/voc.py b/ppdet/data/source/voc.py index 00d976ce0..562366ae8 100644 --- a/ppdet/data/source/voc.py +++ b/ppdet/data/source/voc.py @@ -38,6 +38,7 @@ class VOCDataSet(DetDataset): dataset_dir (str): root directory for dataset. image_dir (str): directory for images. anno_path (str): voc annotation file path. + data_fields (list): key name of data dictionary, at least have 'image'. sample_num (int): number of samples to load, -1 means all. label_list (str): if use_default_label is False, will load mapping between category and class index. diff --git a/ppdet/data/source/widerface.py b/ppdet/data/source/widerface.py index db2b74326..b1813b0e0 100644 --- a/ppdet/data/source/widerface.py +++ b/ppdet/data/source/widerface.py @@ -31,8 +31,10 @@ class WIDERFaceDataSet(DetDataset): Args: dataset_dir (str): root directory for dataset. image_dir (str): directory for images. - anno_path (str): root directory for voc annotation data - sample_num (int): number of samples to load, -1 means all + anno_path (str): WiderFace annotation data. + data_fields (list): key name of data dictionary, at least have 'image'. + sample_num (int): number of samples to load, -1 means all. + with_lmk (bool): whether to load face landmark keypoint labels. """ def __init__(self, diff --git a/ppdet/metrics/coco_utils.py b/ppdet/metrics/coco_utils.py index 984abfbf7..9e45b1c2a 100644 --- a/ppdet/metrics/coco_utils.py +++ b/ppdet/metrics/coco_utils.py @@ -67,13 +67,13 @@ def cocoapi_eval(jsonfile, classwise=False): """ Args: - jsonfile: Evaluation json file, eg: bbox.json, mask.json. - style: COCOeval style, can be `bbox` , `segm` and `proposal`. - coco_gt: Whether to load COCOAPI through anno_file, + jsonfile (str): Evaluation json file, eg: bbox.json, mask.json. + style (str): COCOeval style, can be `bbox` , `segm` and `proposal`. + coco_gt (str): Whether to load COCOAPI through anno_file, eg: coco_gt = COCO(anno_file) - anno_file: COCO annotations file. - max_dets: COCO evaluation maxDets. - classwise: whether per-category AP and draw P-R Curve or not. + anno_file (str): COCO annotations file. + max_dets (tuple): COCO evaluation maxDets. + classwise (bool): Whether per-category AP and draw P-R Curve or not. """ assert coco_gt != None or anno_file != None from pycocotools.coco import COCO @@ -142,9 +142,7 @@ def cocoapi_eval(jsonfile, return coco_eval.stats -def json_eval_results(metric: object, - json_directory: object=None, - dataset: object=None) -> object: +def json_eval_results(metric, json_directory, dataset): """ cocoapi eval with already exists proposal.json, bbox.json or mask.json """ diff --git a/ppdet/metrics/map_utils.py b/ppdet/metrics/map_utils.py index 21c0e3922..17730bcdf 100644 --- a/ppdet/metrics/map_utils.py +++ b/ppdet/metrics/map_utils.py @@ -101,19 +101,20 @@ class DetectionMAP(object): Currently support two types: 11point and integral Args: - class_num (int): the class number. + class_num (int): The class number. overlap_thresh (float): The threshold of overlap ratio between prediction bounding box and ground truth bounding box for deciding true/false positive. Default 0.5. - map_type (str): calculation method of mean average + map_type (str): Calculation method of mean average precision, currently support '11point' and 'integral'. Default '11point'. - is_bbox_normalized (bool): whther bounding boxes + is_bbox_normalized (bool): Whether bounding boxes is normalized to range[0, 1]. Default False. - evaluate_difficult (bool): whether to evaluate + evaluate_difficult (bool): Whether to evaluate difficult bounding boxes. Default False. - classwise (bool): whether per-category AP and draw + catid2name (dict): Mapping between category id and category name. + classwise (bool): Whether per-category AP and draw P-R Curve or not. """ diff --git a/ppdet/modeling/architectures/cascade_rcnn.py b/ppdet/modeling/architectures/cascade_rcnn.py index 987d7a77a..ac29b775d 100644 --- a/ppdet/modeling/architectures/cascade_rcnn.py +++ b/ppdet/modeling/architectures/cascade_rcnn.py @@ -25,6 +25,18 @@ __all__ = ['CascadeRCNN'] @register class CascadeRCNN(BaseArch): + """ + Cascade R-CNN network, see https://arxiv.org/abs/1712.00726 + + Args: + backbone (object): backbone instance + rpn_head (object): `RPNHead` instance + bbox_head (object): `BBoxHead` instance + bbox_post_process (object): `BBoxPostProcess` instance + neck (object): 'FPN' instance + mask_head (object): `MaskHead` instance + mask_post_process (object): `MaskPostProcess` instance + """ __category__ = 'architecture' __inject__ = [ 'bbox_post_process', diff --git a/ppdet/modeling/architectures/faster_rcnn.py b/ppdet/modeling/architectures/faster_rcnn.py index b7cd9308f..26a2672d6 100644 --- a/ppdet/modeling/architectures/faster_rcnn.py +++ b/ppdet/modeling/architectures/faster_rcnn.py @@ -25,6 +25,16 @@ __all__ = ['FasterRCNN'] @register class FasterRCNN(BaseArch): + """ + Faster R-CNN network, see https://arxiv.org/abs/1506.01497 + + Args: + backbone (object): backbone instance + rpn_head (object): `RPNHead` instance + bbox_head (object): `BBoxHead` instance + bbox_post_process (object): `BBoxPostProcess` instance + neck (object): 'FPN' instance + """ __category__ = 'architecture' __inject__ = ['bbox_post_process'] @@ -34,13 +44,6 @@ class FasterRCNN(BaseArch): bbox_head, bbox_post_process, neck=None): - """ - backbone (nn.Layer): backbone instance. - rpn_head (nn.Layer): generates proposals using backbone features. - bbox_head (nn.Layer): a head that performs per-region computation. - mask_head (nn.Layer): generates mask from bbox and backbone features. - """ - super(FasterRCNN, self).__init__() self.backbone = backbone self.neck = neck diff --git a/ppdet/modeling/architectures/mask_rcnn.py b/ppdet/modeling/architectures/mask_rcnn.py index 3b5618655..071a326f4 100644 --- a/ppdet/modeling/architectures/mask_rcnn.py +++ b/ppdet/modeling/architectures/mask_rcnn.py @@ -25,6 +25,19 @@ __all__ = ['MaskRCNN'] @register class MaskRCNN(BaseArch): + """ + Mask R-CNN network, see https://arxiv.org/abs/1703.06870 + + Args: + backbone (object): backbone instance + rpn_head (object): `RPNHead` instance + bbox_head (object): `BBoxHead` instance + mask_head (object): `MaskHead` instance + bbox_post_process (object): `BBoxPostProcess` instance + mask_post_process (object): `MaskPostProcess` instance + neck (object): 'FPN' instance + """ + __category__ = 'architecture' __inject__ = [ 'bbox_post_process', @@ -39,12 +52,6 @@ class MaskRCNN(BaseArch): bbox_post_process, mask_post_process, neck=None): - """ - backbone (nn.Layer): backbone instance. - rpn_head (nn.Layer): generates proposals using backbone features. - bbox_head (nn.Layer): a head that performs per-region computation. - mask_head (nn.Layer): generates mask from bbox and backbone features. - """ super(MaskRCNN, self).__init__() self.backbone = backbone self.neck = neck diff --git a/ppdet/modeling/backbones/hrnet.py b/ppdet/modeling/backbones/hrnet.py index 4450bd9a5..f93f5fd9c 100644 --- a/ppdet/modeling/backbones/hrnet.py +++ b/ppdet/modeling/backbones/hrnet.py @@ -97,7 +97,12 @@ class ConvNormLayer(nn.Layer): class Layer1(nn.Layer): - def __init__(self, num_channels, has_se=False, freeze_norm=True, name=None): + def __init__(self, + num_channels, + has_se=False, + norm_decay=0., + freeze_norm=True, + name=None): super(Layer1, self).__init__() self.bottleneck_block_list = [] @@ -111,6 +116,7 @@ class Layer1(nn.Layer): has_se=has_se, stride=1, downsample=True if i == 0 else False, + norm_decay=norm_decay, freeze_norm=freeze_norm, name=name + '_' + str(i + 1))) self.bottleneck_block_list.append(bottleneck_block) @@ -123,7 +129,12 @@ class Layer1(nn.Layer): class TransitionLayer(nn.Layer): - def __init__(self, in_channels, out_channels, freeze_norm=True, name=None): + def __init__(self, + in_channels, + out_channels, + norm_decay=0., + freeze_norm=True, + name=None): super(TransitionLayer, self).__init__() num_in = len(in_channels) @@ -140,6 +151,7 @@ class TransitionLayer(nn.Layer): ch_in=in_channels[i], ch_out=out_channels[i], filter_size=3, + norm_decay=norm_decay, freeze_norm=freeze_norm, act='relu', name=name + '_layer_' + str(i + 1))) @@ -151,6 +163,7 @@ class TransitionLayer(nn.Layer): ch_out=out_channels[i], filter_size=3, stride=2, + norm_decay=norm_decay, freeze_norm=freeze_norm, act='relu', name=name + '_layer_' + str(i + 1))) @@ -175,6 +188,7 @@ class Branches(nn.Layer): in_channels, out_channels, has_se=False, + norm_decay=0., freeze_norm=True, name=None): super(Branches, self).__init__() @@ -190,6 +204,7 @@ class Branches(nn.Layer): num_channels=in_ch, num_filters=out_channels[i], has_se=has_se, + norm_decay=norm_decay, freeze_norm=freeze_norm, name=name + '_branch_layer_' + str(i + 1) + '_' + str(j + 1))) @@ -213,6 +228,7 @@ class BottleneckBlock(nn.Layer): has_se, stride=1, downsample=False, + norm_decay=0., freeze_norm=True, name=None): super(BottleneckBlock, self).__init__() @@ -224,6 +240,7 @@ class BottleneckBlock(nn.Layer): ch_in=num_channels, ch_out=num_filters, filter_size=1, + norm_decay=norm_decay, freeze_norm=freeze_norm, act="relu", name=name + "_conv1") @@ -232,6 +249,7 @@ class BottleneckBlock(nn.Layer): ch_out=num_filters, filter_size=3, stride=stride, + norm_decay=norm_decay, freeze_norm=freeze_norm, act="relu", name=name + "_conv2") @@ -239,6 +257,7 @@ class BottleneckBlock(nn.Layer): ch_in=num_filters, ch_out=num_filters * 4, filter_size=1, + norm_decay=norm_decay, freeze_norm=freeze_norm, act=None, name=name + "_conv3") @@ -248,6 +267,7 @@ class BottleneckBlock(nn.Layer): ch_in=num_channels, ch_out=num_filters * 4, filter_size=1, + norm_decay=norm_decay, freeze_norm=freeze_norm, act=None, name=name + "_downsample") @@ -283,6 +303,7 @@ class BasicBlock(nn.Layer): stride=1, has_se=False, downsample=False, + norm_decay=0., freeze_norm=True, name=None): super(BasicBlock, self).__init__() @@ -293,6 +314,7 @@ class BasicBlock(nn.Layer): ch_in=num_channels, ch_out=num_filters, filter_size=3, + norm_decay=norm_decay, freeze_norm=freeze_norm, stride=stride, act="relu", @@ -301,6 +323,7 @@ class BasicBlock(nn.Layer): ch_in=num_filters, ch_out=num_filters, filter_size=3, + norm_decay=norm_decay, freeze_norm=freeze_norm, stride=1, act=None, @@ -311,6 +334,7 @@ class BasicBlock(nn.Layer): ch_in=num_channels, ch_out=num_filters * 4, filter_size=1, + norm_decay=norm_decay, freeze_norm=freeze_norm, act=None, name=name + "_downsample") @@ -381,6 +405,7 @@ class Stage(nn.Layer): num_modules, num_filters, has_se=False, + norm_decay=0., freeze_norm=True, multi_scale_output=True, name=None): @@ -396,6 +421,7 @@ class Stage(nn.Layer): num_channels=num_channels, num_filters=num_filters, has_se=has_se, + norm_decay=norm_decay, freeze_norm=freeze_norm, multi_scale_output=False, name=name + '_' + str(i + 1))) @@ -406,6 +432,7 @@ class Stage(nn.Layer): num_channels=num_channels, num_filters=num_filters, has_se=has_se, + norm_decay=norm_decay, freeze_norm=freeze_norm, name=name + '_' + str(i + 1))) @@ -424,6 +451,7 @@ class HighResolutionModule(nn.Layer): num_filters, has_se=False, multi_scale_output=True, + norm_decay=0., freeze_norm=True, name=None): super(HighResolutionModule, self).__init__() @@ -432,6 +460,7 @@ class HighResolutionModule(nn.Layer): in_channels=num_channels, out_channels=num_filters, has_se=has_se, + norm_decay=norm_decay, freeze_norm=freeze_norm, name=name) @@ -439,6 +468,7 @@ class HighResolutionModule(nn.Layer): in_channels=num_filters, out_channels=num_filters, multi_scale_output=multi_scale_output, + norm_decay=norm_decay, freeze_norm=freeze_norm, name=name) @@ -453,6 +483,7 @@ class FuseLayers(nn.Layer): in_channels, out_channels, multi_scale_output=True, + norm_decay=0., freeze_norm=True, name=None): super(FuseLayers, self).__init__() @@ -473,6 +504,7 @@ class FuseLayers(nn.Layer): filter_size=1, stride=1, act=None, + norm_decay=norm_decay, freeze_norm=freeze_norm, name=name + '_layer_' + str(i + 1) + '_' + str(j + 1))) @@ -489,6 +521,7 @@ class FuseLayers(nn.Layer): ch_out=out_channels[i], filter_size=3, stride=2, + norm_decay=norm_decay, freeze_norm=freeze_norm, act=None, name=name + '_layer_' + str(i + 1) + '_' + @@ -503,6 +536,7 @@ class FuseLayers(nn.Layer): ch_out=out_channels[j], filter_size=3, stride=2, + norm_decay=norm_decay, freeze_norm=freeze_norm, act="relu", name=name + '_layer_' + str(i + 1) + '_' + @@ -544,6 +578,7 @@ class HRNet(nn.Layer): has_se (bool): whether to add SE block for each stage freeze_at (int): the stage to freeze freeze_norm (bool): whether to freeze norm in HRNet + norm_decay (float): weight decay for normalization layer weights return_idx (List): the stage to return """ @@ -586,6 +621,7 @@ class HRNet(nn.Layer): ch_out=64, filter_size=3, stride=2, + norm_decay=norm_decay, freeze_norm=freeze_norm, act='relu', name="layer1_1") @@ -595,6 +631,7 @@ class HRNet(nn.Layer): ch_out=64, filter_size=3, stride=2, + norm_decay=norm_decay, freeze_norm=freeze_norm, act='relu', name="layer1_2") @@ -602,12 +639,14 @@ class HRNet(nn.Layer): self.la1 = Layer1( num_channels=64, has_se=has_se, + norm_decay=norm_decay, freeze_norm=freeze_norm, name="layer2") self.tr1 = TransitionLayer( in_channels=[256], out_channels=channels_2, + norm_decay=norm_decay, freeze_norm=freeze_norm, name="tr1") @@ -616,12 +655,14 @@ class HRNet(nn.Layer): num_modules=num_modules_2, num_filters=channels_2, has_se=self.has_se, + norm_decay=norm_decay, freeze_norm=freeze_norm, name="st2") self.tr2 = TransitionLayer( in_channels=channels_2, out_channels=channels_3, + norm_decay=norm_decay, freeze_norm=freeze_norm, name="tr2") @@ -630,12 +671,14 @@ class HRNet(nn.Layer): num_modules=num_modules_3, num_filters=channels_3, has_se=self.has_se, + norm_decay=norm_decay, freeze_norm=freeze_norm, name="st3") self.tr3 = TransitionLayer( in_channels=channels_3, out_channels=channels_4, + norm_decay=norm_decay, freeze_norm=freeze_norm, name="tr3") self.st4 = Stage( @@ -643,6 +686,7 @@ class HRNet(nn.Layer): num_modules=num_modules_4, num_filters=channels_4, has_se=self.has_se, + norm_decay=norm_decay, freeze_norm=freeze_norm, name="st4") diff --git a/ppdet/modeling/necks/hrfpn.py b/ppdet/modeling/necks/hrfpn.py index 7afbbc0ea..4b737c9fb 100644 --- a/ppdet/modeling/necks/hrfpn.py +++ b/ppdet/modeling/necks/hrfpn.py @@ -30,8 +30,8 @@ class HRFPN(nn.Layer): in_channels (list): number of input feature channels from backbone out_channel (int): number of output feature channels share_conv (bool): whether to share conv for different layers' reduction - spatial_scales (list): feature map scaling factor extra_stage (int): add extra stage for returning HRFPN fpn_feats + spatial_scales (list): feature map scaling factor """ def __init__(self, diff --git a/ppdet/modeling/post_process.py b/ppdet/modeling/post_process.py index 2b2fc4483..bfebe98b4 100644 --- a/ppdet/modeling/post_process.py +++ b/ppdet/modeling/post_process.py @@ -24,6 +24,8 @@ try: except Exception: from collections import Sequence +__all__ = ['BBoxPostProcess', 'MaskPostProcess', 'FCOSPostProcess'] + @register class BBoxPostProcess(object): @@ -40,13 +42,17 @@ class BBoxPostProcess(object): """ Decode the bbox and do NMS if needed. + Args: + head_out (tuple): bbox_pred and cls_prob of bbox_head output. + rois (tuple): roi and rois_num of rpn_head output. + im_shape (Tensor): The shape of the input image. + scale_factor (Tensor): The scale factor of the input image. Returns: - bbox_pred(Tensor): The output is the prediction with shape [N, 6] - including labels, scores and bboxes. The size of - bboxes are corresponding to the input image and - the bboxes may be used in other brunch. - bbox_num(Tensor): The number of prediction of each batch with shape - [N, 6]. + bbox_pred (Tensor): The output prediction with shape [N, 6], including + labels, scores and bboxes. The size of bboxes are corresponding + to the input image, the bboxes may be used in other branch. + bbox_num (Tensor): The number of prediction boxes of each batch with + shape [1], and is N. """ if self.nms is not None: bboxes, score = self.decode(head_out, rois, im_shape, scale_factor) @@ -54,6 +60,9 @@ class BBoxPostProcess(object): else: bbox_pred, bbox_num = self.decode(head_out, rois, im_shape, scale_factor) + + # Prevent empty bbox_pred from decode or NMS. + # Bboxes and score before NMS may be empty due to the score threshold. if bbox_pred.shape[0] == 0: bbox_pred = paddle.to_tensor( np.array( @@ -64,16 +73,22 @@ class BBoxPostProcess(object): def get_pred(self, bboxes, bbox_num, im_shape, scale_factor): """ Rescale, clip and filter the bbox from the output of NMS to - get final prediction. + get final prediction. + + Notes: + Currently only support bs = 1. Args: - bboxes(Tensor): The output of __call__ with shape [N, 6] + bbox_pred (Tensor): The output bboxes with shape [N, 6] after decode + and NMS, including labels, scores and bboxes. + bbox_num (Tensor): The number of prediction boxes of each batch with + shape [1], and is N. + im_shape (Tensor): The shape of the input image. + scale_factor (Tensor): The scale factor of the input image. Returns: - bbox_pred(Tensor): The output is the prediction with shape [N, 6] - including labels, scores and bboxes. The size of - bboxes are corresponding to the original image. + pred_result (Tensor): The final prediction results with shape [N, 6] + including labels, scores and bboxes. """ - origin_shape = paddle.floor(im_shape / scale_factor + 0.5) origin_shape_list = [] @@ -125,7 +140,9 @@ class MaskPostProcess(object): self.binary_thresh = binary_thresh def paste_mask(self, masks, boxes, im_h, im_w): - # paste each mask on image + """ + Paste the mask prediction to the original image. + """ x0, y0, x1, y1 = paddle.split(boxes, 4, axis=1) masks = paddle.unsqueeze(masks, [0, 1]) img_y = paddle.arange(0, im_h, dtype='float32') + 0.5 @@ -148,7 +165,19 @@ class MaskPostProcess(object): def __call__(self, mask_out, bboxes, bbox_num, origin_shape): """ - Paste the mask prediction to the original image. + Decode the mask_out and paste the mask to the origin image. + + Args: + mask_out (Tensor): mask_head output with shape [N, 28, 28]. + bbox_pred (Tensor): The output bboxes with shape [N, 6] after decode + and NMS, including labels, scores and bboxes. + bbox_num (Tensor): The number of prediction boxes of each batch with + shape [1], and is N. + origin_shape (Tensor): The origin shape of the input image, the tensor + shape is [N, 2], and each row is [h, w]. + Returns: + pred_result (Tensor): The final prediction mask results with shape + [N, h, w] in binary mask style. """ num_mask = mask_out.shape[0] origin_shape = paddle.cast(origin_shape, 'int32') -- Gitee From 77eac4ab507d6dbf91facd0b789a6cd4b12fb77d Mon Sep 17 00:00:00 2001 From: cnn Date: Sat, 3 Apr 2021 14:27:52 +0800 Subject: [PATCH 13/90] [cherry-pick] fix paddle inference name proble (#2465) * [dev] fix paddle inference name problem, and update doc (#2430) * fix paddle inference name problem, and update doc * set default value * fix inference lib name in static * update deploy doc, fix build error of windows * add annotation of PADDLE_LIB_NAME * set min_subgraph_size=33 as default, fix bug of fcos_dcn_r50_fpn_1x * fix path of script, test=document_fix --- deploy/cpp/CMakeLists.txt | 40 +--- deploy/cpp/docs/Jetson_build.md | 199 ++++++++++++++++++ deploy/cpp/docs/linux_build.md | 12 +- deploy/cpp/docs/windows_vs2019_build.md | 8 +- deploy/cpp/include/preprocess_op.h | 2 +- deploy/cpp/scripts/build.sh | 13 +- deploy/cpp/src/main.cc | 3 - deploy/cpp/src/object_detector.cc | 6 +- deploy/cpp/src/preprocess_op.cc | 16 +- static/deploy/cpp/CMakeLists.txt | 49 +++-- static/deploy/cpp/docs/Jetson_build.md | 8 +- static/deploy/cpp/docs/linux_build.md | 20 +- .../deploy/cpp/docs/windows_vs2019_build.md | 13 +- static/deploy/cpp/scripts/build.sh | 23 +- static/ppdet/utils/export_utils.py | 2 +- 15 files changed, 303 insertions(+), 111 deletions(-) create mode 100644 deploy/cpp/docs/Jetson_build.md diff --git a/deploy/cpp/CMakeLists.txt b/deploy/cpp/CMakeLists.txt index 453be9bd7..0bc0be9aa 100644 --- a/deploy/cpp/CMakeLists.txt +++ b/deploy/cpp/CMakeLists.txt @@ -4,10 +4,10 @@ project(PaddleObjectDetector CXX C) option(WITH_MKL "Compile demo with MKL/OpenBlas support,defaultuseMKL." ON) option(WITH_GPU "Compile demo with GPU/CPU, default use CPU." ON) option(WITH_TENSORRT "Compile demo with TensorRT." OFF) -option(USE_PADDLE_20RC1 "Compile demo with paddle_inference_lib 2.0rc1" ON) SET(PADDLE_DIR "" CACHE PATH "Location of libraries") +SET(PADDLE_LIB_NAME "" CACHE STRING "libpaddle_inference") SET(OPENCV_DIR "" CACHE PATH "Location of libraries") SET(CUDA_LIB "" CACHE PATH "Location of libraries") SET(CUDNN_LIB "" CACHE PATH "Location of libraries") @@ -153,41 +153,23 @@ endif() if (WIN32) - if (USE_PADDLE_20RC1) - # 2.0rc1 win32 shared lib name is paddle_fluid.dll and paddle_fluid.lib - if(EXISTS "${PADDLE_DIR}/paddle/fluid/inference/paddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}") + if(EXISTS "${PADDLE_DIR}/paddle/fluid/inference/${PADDLE_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}") set(DEPS - ${PADDLE_DIR}/paddle/fluid/inference/paddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) - else() - set(DEPS - ${PADDLE_DIR}/paddle/lib/paddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() + ${PADDLE_DIR}/paddle/fluid/inference/${PADDLE_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}) else() - # before 2.0rc1 win32 shared lib name is libpaddle_fluid.dll and libpaddle_fluid.lib - if(EXISTS "${PADDLE_DIR}/paddle/fluid/inference/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}") - set(DEPS - ${PADDLE_DIR}/paddle/fluid/inference/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) - else() - set(DEPS - ${PADDLE_DIR}/paddle/lib/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() + set(DEPS + ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}) endif() endif() if (WIN32) - if (USE_PADDLE_20RC1) - # 2.0rc1 win32 shared lib name is paddle_fluid.dll and paddle_fluid.lib - set(DEPS ${PADDLE_DIR}/paddle/lib/paddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) - else() - # before 2.0rc1 win32 shared lib name is libpaddle_fluid.dll and libpaddle_fluid.lib - set(DEPS ${PADDLE_DIR}/paddle/lib/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() + set(DEPS ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}) else() - # linux shared lib name is libpaddle_fluid.so - set(DEPS ${PADDLE_DIR}/paddle/lib/libpaddle_fluid${CMAKE_SHARED_LIBRARY_SUFFIX}) + set(DEPS ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() +message("PADDLE_LIB_NAME:" ${PADDLE_LIB_NAME}) message("DEPS:" $DEPS) if (NOT WIN32) @@ -248,12 +230,12 @@ if (WIN32 AND WITH_MKL) COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/third_party/install/mklml/lib/mklml.dll ./release/mklml.dll COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/third_party/install/mklml/lib/libiomp5md.dll ./release/libiomp5md.dll COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/third_party/install/mkldnn/lib/mkldnn.dll ./release/mkldnn.dll + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}.dll ./release/${PADDLE_LIB_NAME}.dll ) endif() - -if (WIN32 AND USE_PADDLE_20RC1) +if (WIN32) add_custom_command(TARGET main POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/paddle/lib/paddle_fluid.dll ./release/paddle_fluid.dll + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}.dll ./release/${PADDLE_LIB_NAME}.dll ) endif() diff --git a/deploy/cpp/docs/Jetson_build.md b/deploy/cpp/docs/Jetson_build.md new file mode 100644 index 000000000..27130f580 --- /dev/null +++ b/deploy/cpp/docs/Jetson_build.md @@ -0,0 +1,199 @@ +# Jetson平台编译指南 + +## 说明 +`NVIDIA Jetson`设备是具有`NVIDIA GPU`的嵌入式设备,可以将目标检测算法部署到该设备上。本文档是在`Jetson`硬件上部署`PaddleDetection`模型的教程。 + +本文档以`Jetson TX2`硬件、`JetPack 4.3`版本为例进行说明。 + +`Jetson`平台的开发指南请参考[NVIDIA Jetson Linux Developer Guide](https://docs.nvidia.com/jetson/l4t/index.html). + +## Jetson环境搭建 +`Jetson`系统软件安装,请参考[NVIDIA Jetson Linux Developer Guide](https://docs.nvidia.com/jetson/l4t/index.html). + +* (1) 查看硬件系统的l4t的版本号 +``` +cat /etc/nv_tegra_release +``` +* (2) 根据硬件,选择硬件可安装的`JetPack`版本,硬件和`JetPack`版本对应关系请参考[jetpack-archive](https://developer.nvidia.com/embedded/jetpack-archive). + +* (3) 下载`JetPack`,请参考[NVIDIA Jetson Linux Developer Guide](https://docs.nvidia.com/jetson/l4t/index.html) 中的`Preparing a Jetson Developer Kit for Use`章节内容进行刷写系统镜像。 + +## 下载或编译`Paddle`预测库 +本文档使用`Paddle`在`JetPack4.3`上预先编译好的预测库,请根据硬件在[安装与编译 Linux 预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html) 中选择对应版本的`Paddle`预测库。 + +这里选择[nv_jetson_cuda10_cudnn7.6_trt6(jetpack4.3)](https://paddle-inference-lib.bj.bcebos.com/2.0.0-nv-jetson-jetpack4.3-all/paddle_inference.tgz), `Paddle`版本`2.0.0-rc0`,`CUDA`版本`10.0`,`CUDNN`版本`7.6`,`TensorRT`版本`6`。 + +若需要自己在`Jetson`平台上自定义编译`Paddle`库,请参考文档[安装与编译 Linux 预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html) 的`NVIDIA Jetson嵌入式硬件预测库源码编译`部分内容。 + +### Step1: 下载代码 + + `git clone https://github.com/PaddlePaddle/PaddleDetection.git` + +**说明**:其中`C++`预测代码在`/root/projects/PaddleDetection/deploy/cpp` 目录,该目录不依赖任何`PaddleDetection`下其他目录。 + + +### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference + +解压下载的[nv_jetson_cuda10_cudnn7.6_trt6(jetpack4.3)](https://paddle-inference-lib.bj.bcebos.com/2.0.1-nv-jetson-jetpack4.3-all/paddle_inference.tgz) 。 + +下载并解压后`/root/projects/fluid_inference`目录包含内容为: +``` +fluid_inference +├── paddle # paddle核心库和头文件 +| +├── third_party # 第三方依赖库和头文件 +| +└── version.txt # 版本和编译信息 +``` + +**注意:** 预编译库`nv-jetson-cuda10-cudnn7.6-trt6`使用的`GCC`版本是`7.5.0`,其他都是使用`GCC 4.8.5`编译的。使用高版本的GCC可能存在`ABI`兼容性问题,建议降级或[自行编译预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html)。 + + +### Step4: 编译 + +编译`cmake`的命令在`scripts/build.sh`中,请根据实际情况修改主要参数,其主要内容说明如下: + +注意,`TX2`平台的`CUDA`、`CUDNN`需要通过`JetPack`安装。 + +``` +# 是否使用GPU(即是否使用 CUDA) +WITH_GPU=ON + +# 是否使用MKL or openblas,TX2需要设置为OFF +WITH_MKL=OFF + +# 是否集成 TensorRT(仅WITH_GPU=ON 有效) +WITH_TENSORRT=ON + +# TensorRT 的include路径 +TENSORRT_INC_DIR=/usr/include/aarch64-linux-gnu + +# TensorRT 的lib路径 +TENSORRT_LIB_DIR=/usr/lib/aarch64-linux-gnu + +# Paddle 预测库路径 +PADDLE_DIR=/path/to/fluid_inference/ + +# Paddle 预测库名称 +PADDLE_LIB_NAME=paddle_inference + +# Paddle 的预测库是否使用静态库来编译 +# 使用TensorRT时,Paddle的预测库通常为动态库 +WITH_STATIC_LIB=OFF + +# CUDA 的 lib 路径 +CUDA_LIB=/usr/local/cuda-10.0/lib64 + +# CUDNN 的 lib 路径 +CUDNN_LIB=/usr/lib/aarch64-linux-gnu + +# OPENCV_DIR 的路径 +# linux平台请下载:https://bj.bcebos.com/paddleseg/deploy/opencv3.4.6gcc4.8ffmpeg.tar.gz2,并解压到deps文件夹下 +# TX2平台请下载:https://paddlemodels.bj.bcebos.com/TX2_JetPack4.3_opencv_3.4.10_gcc7.5.0.zip,并解压到deps文件夹下 +OPENCV_DIR=/path/to/opencv + +# 请检查以上各个路径是否正确 + +# 以下无需改动 +cmake .. \ + -DWITH_GPU=${WITH_GPU} \ + -DWITH_MKL=OFF \ + -DWITH_TENSORRT=${WITH_TENSORRT} \ + -DTENSORRT_DIR=${TENSORRT_DIR} \ + -DPADDLE_DIR=${PADDLE_DIR} \ + -DWITH_STATIC_LIB=${WITH_STATIC_LIB} \ + -DCUDA_LIB=${CUDA_LIB} \ + -DCUDNN_LIB=${CUDNN_LIB} \ + -DOPENCV_DIR=${OPENCV_DIR} \ + -DPADDLE_LIB_NAME={PADDLE_LIB_NAME} +make +``` + +例如设置如下: +``` +# 是否使用GPU(即是否使用 CUDA) +WITH_GPU=ON + +# 是否使用MKL or openblas +WITH_MKL=OFF + +# 是否集成 TensorRT(仅WITH_GPU=ON 有效) +WITH_TENSORRT=OFF + +# TensorRT 的include路径 +TENSORRT_INC_DIR=/usr/include/aarch64-linux-gnu + +# TensorRT 的lib路径 +TENSORRT_LIB_DIR=/usr/lib/aarch64-linux-gnu + +# Paddle 预测库路径 +PADDLE_DIR=/home/nvidia/PaddleDetection_infer/fluid_inference/ + +# Paddle 预测库名称 +PADDLE_LIB_NAME=paddle_inference + +# Paddle 的预测库是否使用静态库来编译 +# 使用TensorRT时,Paddle的预测库通常为动态库 +WITH_STATIC_LIB=OFF + +# CUDA 的 lib 路径 +CUDA_LIB=/usr/local/cuda-10.0/lib64 + +# CUDNN 的 lib 路径 +CUDNN_LIB=/usr/lib/aarch64-linux-gnu/ +``` + +修改脚本设置好主要参数后,执行`build`脚本: + ```shell + sh ./scripts/build.sh + ``` + +### Step5: 预测及可视化 +编译成功后,预测入口程序为`build/main`其主要命令参数说明如下: +| 参数 | 说明 | +| ---- | ---- | +| --model_dir | 导出的预测模型所在路径 | +| --image_path | 要预测的图片文件路径 | +| --video_path | 要预测的视频文件路径 | +| --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测)| +| --use_gpu | 是否使用 GPU 预测, 支持值为0或1(默认值为0)| +| --gpu_id | 指定进行推理的GPU device id(默认值为0)| +| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_benchmark | 是否重复预测来进行benchmark测速 | +| --output_dir | 输出图片所在的文件夹, 默认为output | + +**注意**: 如果同时设置了`video_path`和`image_path`,程序仅预测`video_path`。 + + +`样例一`: +```shell +#不使用`GPU`测试图片 `/root/projects/images/test.jpeg` +./main --model_dir=/root/projects/models/yolov3_darknet --image_path=/root/projects/images/test.jpeg +``` + +图片文件`可视化预测结果`会保存在当前目录下`output.jpg`文件中。 + + +`样例二`: +```shell +#使用 `GPU`预测视频`/root/projects/videos/test.mp4` +./main --model_dir=/root/projects/models/yolov3_darknet --video_path=/root/projects/images/test.mp4 --use_gpu=1 +``` +视频文件目前支持`.mp4`格式的预测,`可视化预测结果`会保存在当前目录下`output.mp4`文件中。 + + +## 性能测试 +测试环境为:硬件: TX2,JetPack版本: 4.3, Paddle预测库: 1.8.4,CUDA: 10.0, CUDNN: 7.5, TensorRT: 5.0. + +去掉前100轮warmup时间,测试100轮的平均时间,单位ms/image,只计算模型运行时间,不包括数据的处理和拷贝。 + + +|模型 | 输入| AnalysisPredictor(ms) | +|---|----|---| +| yolov3_mobilenet_v1 | 608*608 | 56.243858 +| faster_rcnn_r50_1x | 1333*1333 | 73.552460 +| faster_rcnn_r50_vd_fpn_2x | 1344*1344 | 87.582146 +| mask_rcnn_r50_fpn_1x | 1344*1344 | 107.317848 +| mask_rcnn_r50_vd_fpn_2x | 1344*1344 | 87.98.708122 +| ppyolo_r18vd | 320*320 | 22.876789 +| ppyolo_2x | 608*608 | 68.562050 diff --git a/deploy/cpp/docs/linux_build.md b/deploy/cpp/docs/linux_build.md index 1ddb7a150..60c609663 100644 --- a/deploy/cpp/docs/linux_build.md +++ b/deploy/cpp/docs/linux_build.md @@ -1,10 +1,10 @@ # Linux平台编译指南 ## 说明 -本文档在 `Linux`平台使用`GCC 4.8.5` 和 `GCC 4.9.4`测试过,如果需要使用更高G++版本编译使用,则需要重新编译Paddle预测库,请参考: [从源码编译Paddle预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html)。本文档使用的预置的opencv库是在ubuntu 16.04上用gcc4.8编译的,如果需要在ubuntu 16.04以外的系统环境编译,那么需自行编译opencv库。 +本文档在 `Linux`平台使用`GCC 8.2`测试过,如果需要使用其他G++版本编译使用,则需要重新编译Paddle预测库,请参考: [从源码编译Paddle预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html)。本文档使用的预置的opencv库是在ubuntu 16.04上用gcc4.8编译的,如果需要在ubuntu 16.04以外的系统环境编译,那么需自行编译opencv库。 ## 前置条件 -* G++ 4.8.2 ~ 4.9.4 +* G++ 8.2 * CUDA 9.0 / CUDA 10.0, cudnn 7+ (仅在使用GPU版本的预测库时需要) * CMake 3.0+ @@ -19,7 +19,7 @@ ### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference -PaddlePaddle C++ 预测库针对不同的`CPU`和`CUDA`版本提供了不同的预编译版本,请根据实际情况下载: [C++预测库下载列表](https://www.paddlepaddle.org.cn/documentation/docs/zh/2.0-rc1/guides/05_inference_deployment/inference/build_and_install_lib_cn.html) +PaddlePaddle C++ 预测库针对不同的`CPU`和`CUDA`版本提供了不同的预编译版本,请根据实际情况下载: [C++预测库下载列表](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html) 下载并解压后`/root/projects/fluid_inference`目录包含内容为: @@ -58,6 +58,9 @@ TENSORRT_LIB_DIR=/path/to/TensorRT/lib # Paddle 预测库路径 PADDLE_DIR=/path/to/fluid_inference +# Paddle 预测库名称 +PADDLE_LIB_NAME=paddle_inference + # CUDA 的 lib 路径 CUDA_LIB=/path/to/cuda/lib @@ -76,7 +79,8 @@ cmake .. \ -DPADDLE_DIR=${PADDLE_DIR} \ -DCUDA_LIB=${CUDA_LIB} \ -DCUDNN_LIB=${CUDNN_LIB} \ - -DOPENCV_DIR=${OPENCV_DIR} + -DOPENCV_DIR=${OPENCV_DIR} \ + -DPADDLE_LIB_NAME={PADDLE_LIB_NAME} make ``` diff --git a/deploy/cpp/docs/windows_vs2019_build.md b/deploy/cpp/docs/windows_vs2019_build.md index 7cfb63a62..aca5d3ab9 100644 --- a/deploy/cpp/docs/windows_vs2019_build.md +++ b/deploy/cpp/docs/windows_vs2019_build.md @@ -24,7 +24,7 @@ git clone https://github.com/PaddlePaddle/PaddleDetection.git ### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference -PaddlePaddle C++ 预测库针对不同的`CPU`和`CUDA`版本提供了不同的预编译版本,请根据实际情况下载: [C++预测库下载列表](https://www.paddlepaddle.org.cn/documentation/docs/zh/2.0-rc1/guides/05_inference_deployment/inference/windows_cpp_inference.html) +PaddlePaddle C++ 预测库针对不同的`CPU`和`CUDA`版本提供了不同的预编译版本,请根据实际情况下载: [C++预测库下载列表](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/windows_cpp_inference.html) 解压后`D:\projects\fluid_inference`目录包含内容为: ``` @@ -62,18 +62,18 @@ cd D:\projects\PaddleDetection\deploy\cpp | *CUDNN_LIB | CUDNN的库路径 | | OPENCV_DIR | OpenCV的安装路径, | | PADDLE_DIR | Paddle预测库的路径 | -| USE_PADDLE_20RC1 | 是否使用2.0rc1预测库。如果使用2.0rc1,在windows环境下预测库名称发生变化,且仅支持动态库方式编译 | +| PADDLE_LIB_NAME | Paddle 预测库名称 | **注意:** 1. 使用`CPU`版预测库,请把`WITH_GPU`的勾去掉 2. 如果使用的是`openblas`版本,请把`WITH_MKL`勾去掉 执行如下命令项目文件: ``` -cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=path_to_cuda_lib -DCUDNN_LIB=path_to_cudnn_lib -DPADDLE_DIR=path_to_paddle_lib -DOPENCV_DIR=path_to_opencv +cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=path_to_cuda_lib -DCUDNN_LIB=path_to_cudnn_lib -DPADDLE_DIR=path_to_paddle_lib -DPADDLE_LIB_NAME=paddle_inference -DOPENCV_DIR=path_to_opencv ``` 例如: ``` -cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=D:\projects\packages\cuda10_0\lib\x64 -DCUDNN_LIB=D:\projects\packages\cuda10_0\lib\x64 -DPADDLE_DIR=D:\projects\packages\fluid_inference -DOPENCV_DIR=D:\projects\packages\opencv3_4_6 +cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=D:\projects\packages\cuda10_0\lib\x64 -DCUDNN_LIB=D:\projects\packages\cuda10_0\lib\x64 -DPADDLE_DIR=D:\projects\packages\fluid_inference -DPADDLE_LIB_NAME=paddle_inference -DOPENCV_DIR=D:\projects\packages\opencv3_4_6 ``` 3. 编译 diff --git a/deploy/cpp/include/preprocess_op.h b/deploy/cpp/include/preprocess_op.h index e48639b55..26a91cc9e 100644 --- a/deploy/cpp/include/preprocess_op.h +++ b/deploy/cpp/include/preprocess_op.h @@ -38,7 +38,7 @@ class ImageBlob { // Buffer for image data after preprocessing std::vector im_data_; // in net data shape(after pad) - std::vector in_net_shape_; + std::vector in_net_shape_; // Evaluation image width and height //std::vector eval_im_size_f_; // Scale factor for image size to origin image size diff --git a/deploy/cpp/scripts/build.sh b/deploy/cpp/scripts/build.sh index a32b1d383..ed901d014 100644 --- a/deploy/cpp/scripts/build.sh +++ b/deploy/cpp/scripts/build.sh @@ -7,17 +7,17 @@ WITH_MKL=ON # 是否集成 TensorRT(仅WITH_GPU=ON 有效) WITH_TENSORRT=OFF -# 是否使用2.0rc1预测库 -USE_PADDLE_20RC1=ON +# paddle 预测库lib名称,由于不同平台不同版本预测库lib名称不同,请查看所下载的预测库中`paddle_inference/lib/`文件夹下`lib`的名称 +PADDLE_LIB_NAME=libpaddle_inference # TensorRT 的include路径 -TENSORRT_INC_DIR=/path/to/tensorrt/lib +TENSORRT_INC_DIR=/path/to/tensorrt/include # TensorRT 的lib路径 -TENSORRT_LIB_DIR=/path/to/tensorrt/include +TENSORRT_LIB_DIR=/path/to/tensorrt/lib # Paddle 预测库路径 -PADDLE_DIR=/path/to/fluid_inference/ +PADDLE_DIR=/path/to/paddle_inference # CUDA 的 lib 路径 CUDA_LIB=/path/to/cuda/lib @@ -72,7 +72,8 @@ cmake .. \ -DWITH_STATIC_LIB=${WITH_STATIC_LIB} \ -DCUDA_LIB=${CUDA_LIB} \ -DCUDNN_LIB=${CUDNN_LIB} \ - -DOPENCV_DIR=${OPENCV_DIR} + -DOPENCV_DIR=${OPENCV_DIR} \ + -DPADDLE_LIB_NAME=${PADDLE_LIB_NAME} make echo "make finished!" diff --git a/deploy/cpp/src/main.cc b/deploy/cpp/src/main.cc index 6fb497692..00dd32568 100644 --- a/deploy/cpp/src/main.cc +++ b/deploy/cpp/src/main.cc @@ -207,9 +207,6 @@ int main(int argc, char** argv) { return -1; } // Load model and create a object detector - const std::vector trt_min_shape = {1, FLAGS_trt_min_shape, FLAGS_trt_min_shape}; - const std::vector trt_max_shape = {1, FLAGS_trt_max_shape, FLAGS_trt_max_shape}; - const std::vector trt_opt_shape = {1, FLAGS_trt_opt_shape, FLAGS_trt_opt_shape}; PaddleDetection::ObjectDetector det(FLAGS_model_dir, FLAGS_use_gpu, FLAGS_run_mode, FLAGS_gpu_id, FLAGS_use_dynamic_shape, FLAGS_trt_min_shape, FLAGS_trt_max_shape, FLAGS_trt_opt_shape); diff --git a/deploy/cpp/src/object_detector.cc b/deploy/cpp/src/object_detector.cc index 969425dce..95b8dbb22 100644 --- a/deploy/cpp/src/object_detector.cc +++ b/deploy/cpp/src/object_detector.cc @@ -68,9 +68,9 @@ void ObjectDetector::LoadModel(const std::string& model_dir, // set use dynamic shape if (use_dynamic_shape) { // set DynamicShsape for image tensor - const std::vector min_input_shape = {1, trt_min_shape, trt_min_shape}; - const std::vector max_input_shape = {1, trt_max_shape, trt_max_shape}; - const std::vector opt_input_shape = {1, trt_opt_shape, trt_opt_shape}; + const std::vector min_input_shape = {1, 3, trt_min_shape, trt_min_shape}; + const std::vector max_input_shape = {1, 3, trt_max_shape, trt_max_shape}; + const std::vector opt_input_shape = {1, 3, trt_opt_shape, trt_opt_shape}; const std::map> map_min_input_shape = {{"image", min_input_shape}}; const std::map> map_max_input_shape = {{"image", max_input_shape}}; const std::map> map_opt_input_shape = {{"image", opt_input_shape}}; diff --git a/deploy/cpp/src/preprocess_op.cc b/deploy/cpp/src/preprocess_op.cc index 8edd3eb1f..6a2be4179 100644 --- a/deploy/cpp/src/preprocess_op.cc +++ b/deploy/cpp/src/preprocess_op.cc @@ -26,8 +26,8 @@ void InitInfo::Run(cv::Mat* im, ImageBlob* data) { }; data->scale_factor_ = {1., 1.}; data->in_net_shape_ = { - static_cast(im->rows), - static_cast(im->cols) + static_cast(im->rows), + static_cast(im->cols) }; } @@ -63,12 +63,12 @@ void Permute::Run(cv::Mat* im, ImageBlob* data) { void Resize::Run(cv::Mat* im, ImageBlob* data) { auto resize_scale = GenerateScale(*im); data->im_shape_ = { - static_cast(im->cols * resize_scale.first), - static_cast(im->rows * resize_scale.second) + static_cast(im->cols * resize_scale.first), + static_cast(im->rows * resize_scale.second) }; data->in_net_shape_ = { - static_cast(im->cols * resize_scale.first), - static_cast(im->rows * resize_scale.second) + static_cast(im->cols * resize_scale.first), + static_cast(im->rows * resize_scale.second) }; cv::resize( *im, *im, cv::Size(), resize_scale.first, resize_scale.second, interp_); @@ -126,8 +126,8 @@ void PadStride::Run(cv::Mat* im, ImageBlob* data) { cv::BORDER_CONSTANT, cv::Scalar(0)); data->in_net_shape_ = { - static_cast(im->rows), - static_cast(im->cols), + static_cast(im->rows), + static_cast(im->cols), }; } diff --git a/static/deploy/cpp/CMakeLists.txt b/static/deploy/cpp/CMakeLists.txt index 051782579..0bc0be9aa 100644 --- a/static/deploy/cpp/CMakeLists.txt +++ b/static/deploy/cpp/CMakeLists.txt @@ -3,10 +3,11 @@ project(PaddleObjectDetector CXX C) option(WITH_MKL "Compile demo with MKL/OpenBlas support,defaultuseMKL." ON) option(WITH_GPU "Compile demo with GPU/CPU, default use CPU." ON) -option(WITH_STATIC_LIB "Compile demo with static/shared library, default use static." ON) -option(WITH_TENSORRT "Compile demo with TensorRT." OFF) +option(WITH_TENSORRT "Compile demo with TensorRT." OFF) + SET(PADDLE_DIR "" CACHE PATH "Location of libraries") +SET(PADDLE_LIB_NAME "" CACHE STRING "libpaddle_inference") SET(OPENCV_DIR "" CACHE PATH "Location of libraries") SET(CUDA_LIB "" CACHE PATH "Location of libraries") SET(CUDNN_LIB "" CACHE PATH "Location of libraries") @@ -36,6 +37,7 @@ endif() if (NOT DEFINED PADDLE_DIR OR ${PADDLE_DIR} STREQUAL "") message(FATAL_ERROR "please set PADDLE_DIR with -DPADDLE_DIR=/path/paddle_influence_dir") endif() +message("PADDLE_DIR IS:"${PADDLE_DIR}) if (NOT DEFINED OPENCV_DIR OR ${OPENCV_DIR} STREQUAL "") message(FATAL_ERROR "please set OPENCV_DIR with -DOPENCV_DIR=/path/opencv") @@ -70,6 +72,8 @@ link_directories("${PADDLE_DIR}/third_party/install/xxhash/lib") link_directories("${PADDLE_DIR}/paddle/lib/") link_directories("${CMAKE_CURRENT_BINARY_DIR}") + + if (WIN32) include_directories("${PADDLE_DIR}/paddle/fluid/inference") include_directories("${PADDLE_DIR}/paddle/include") @@ -89,10 +93,6 @@ if (WIN32) set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /bigobj /MT") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj /MTd") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /bigobj /MT") - if (WITH_STATIC_LIB) - safe_set_static_flag() - add_definitions(-DSTATIC_LIB) - endif() else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -o2 -fopenmp -std=c++11") set(CMAKE_STATIC_LIBRARY_PREFIX "") @@ -113,8 +113,8 @@ endif() if (NOT WIN32) if (WITH_TENSORRT AND WITH_GPU) - include_directories("${TENSORRT_INC_DIR}") - link_directories("${TENSORRT_LIB_DIR}") + include_directories("${TENSORRT_INC_DIR}/") + link_directories("${TENSORRT_LIB_DIR}/") endif() endif(NOT WIN32) @@ -148,31 +148,30 @@ if(WITH_MKL) endif () endif() else() - if (WIN32) - set(MATH_LIB ${PADDLE_DIR}/third_party/install/openblas/lib/openblas${CMAKE_STATIC_LIBRARY_SUFFIX}) - else() - set(MATH_LIB ${PADDLE_DIR}/third_party/install/openblas/lib/libopenblas${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() + set(MATH_LIB ${PADDLE_DIR}/third_party/install/openblas/lib/libopenblas${CMAKE_STATIC_LIBRARY_SUFFIX}) endif() + if (WIN32) - if(EXISTS "${PADDLE_DIR}/paddle/fluid/inference/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}") + if(EXISTS "${PADDLE_DIR}/paddle/fluid/inference/${PADDLE_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}") set(DEPS - ${PADDLE_DIR}/paddle/fluid/inference/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) + ${PADDLE_DIR}/paddle/fluid/inference/${PADDLE_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}) else() set(DEPS - ${PADDLE_DIR}/paddle/lib/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) + ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}) endif() endif() -if(WITH_STATIC_LIB) - set(DEPS - ${PADDLE_DIR}/paddle/lib/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX}) + +if (WIN32) + set(DEPS ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}) else() - set(DEPS - ${PADDLE_DIR}/paddle/lib/libpaddle_fluid${CMAKE_SHARED_LIBRARY_SUFFIX}) + set(DEPS ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() +message("PADDLE_LIB_NAME:" ${PADDLE_LIB_NAME}) +message("DEPS:" $DEPS) + if (NOT WIN32) set(DEPS ${DEPS} ${MATH_LIB} ${MKLDNN_LIB} @@ -220,6 +219,7 @@ endif() set(DEPS ${DEPS} ${OpenCV_LIBS}) add_executable(main src/main.cc src/preprocess_op.cc src/object_detector.cc) ADD_DEPENDENCIES(main ext-yaml-cpp) +message("DEPS:" $DEPS) target_link_libraries(main ${DEPS}) if (WIN32 AND WITH_MKL) @@ -230,5 +230,12 @@ if (WIN32 AND WITH_MKL) COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/third_party/install/mklml/lib/mklml.dll ./release/mklml.dll COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/third_party/install/mklml/lib/libiomp5md.dll ./release/libiomp5md.dll COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/third_party/install/mkldnn/lib/mkldnn.dll ./release/mkldnn.dll + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}.dll ./release/${PADDLE_LIB_NAME}.dll + ) +endif() + +if (WIN32) + add_custom_command(TARGET main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_DIR}/paddle/lib/${PADDLE_LIB_NAME}.dll ./release/${PADDLE_LIB_NAME}.dll ) endif() diff --git a/static/deploy/cpp/docs/Jetson_build.md b/static/deploy/cpp/docs/Jetson_build.md index 0262ffbd1..14850700e 100644 --- a/static/deploy/cpp/docs/Jetson_build.md +++ b/static/deploy/cpp/docs/Jetson_build.md @@ -34,7 +34,7 @@ cat /etc/nv_tegra_release ### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference -解压下载的[nv_jetson_cuda10_cudnn7.6_trt6(jetpack4.3)](https://paddle-inference-lib.bj.bcebos.com/2.0.0-nv-jetson-jetpack4.3-all/paddle_inference.tgz) 。 +解压下载的[nv_jetson_cuda10_cudnn7.6_trt6(jetpack4.3)](https://paddle-inference-lib.bj.bcebos.com/2.0.1-nv-jetson-jetpack4.3-all/paddle_inference.tgz) 。 下载并解压后`/root/projects/fluid_inference`目录包含内容为: ``` @@ -74,6 +74,9 @@ TENSORRT_LIB_DIR=/usr/lib/aarch64-linux-gnu # Paddle 预测库路径 PADDLE_DIR=/path/to/fluid_inference/ +# Paddle 预测库名称 +PADDLE_LIB_NAME=paddle_inference + # Paddle 的预测库是否使用静态库来编译 # 使用TensorRT时,Paddle的预测库通常为动态库 WITH_STATIC_LIB=OFF @@ -101,7 +104,8 @@ cmake .. \ -DWITH_STATIC_LIB=${WITH_STATIC_LIB} \ -DCUDA_LIB=${CUDA_LIB} \ -DCUDNN_LIB=${CUDNN_LIB} \ - -DOPENCV_DIR=${OPENCV_DIR} + -DOPENCV_DIR=${OPENCV_DIR} \ + -DPADDLE_LIB_NAME={PADDLE_LIB_NAME} make ``` diff --git a/static/deploy/cpp/docs/linux_build.md b/static/deploy/cpp/docs/linux_build.md index ab95dc786..60c609663 100644 --- a/static/deploy/cpp/docs/linux_build.md +++ b/static/deploy/cpp/docs/linux_build.md @@ -1,10 +1,10 @@ # Linux平台编译指南 ## 说明 -本文档在 `Linux`平台使用`GCC 4.8.5` 和 `GCC 4.9.4`测试过,如果需要使用更高G++版本编译使用,则需要重新编译Paddle预测库,请参考: [从源码编译Paddle预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html#zhijiexiazaianzhuang) 。本文档使用的预置的opencv库是在ubuntu 16.04上用gcc4.8编译的,如果需要在ubuntu 16.04以外的系统环境编译,那么需自行编译opencv库。 +本文档在 `Linux`平台使用`GCC 8.2`测试过,如果需要使用其他G++版本编译使用,则需要重新编译Paddle预测库,请参考: [从源码编译Paddle预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html)。本文档使用的预置的opencv库是在ubuntu 16.04上用gcc4.8编译的,如果需要在ubuntu 16.04以外的系统环境编译,那么需自行编译opencv库。 ## 前置条件 -* G++ 4.8.2 ~ 4.9.4 +* G++ 8.2 * CUDA 9.0 / CUDA 10.0, cudnn 7+ (仅在使用GPU版本的预测库时需要) * CMake 3.0+ @@ -19,7 +19,7 @@ ### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference -PaddlePaddle C++ 预测库针对不同的`CPU`和`CUDA`版本提供了不同的预编译版本,请根据实际情况下载: [C++预测库下载列表](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html#linux) +PaddlePaddle C++ 预测库针对不同的`CPU`和`CUDA`版本提供了不同的预编译版本,请根据实际情况下载: [C++预测库下载列表](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html) 下载并解压后`/root/projects/fluid_inference`目录包含内容为: @@ -58,9 +58,8 @@ TENSORRT_LIB_DIR=/path/to/TensorRT/lib # Paddle 预测库路径 PADDLE_DIR=/path/to/fluid_inference -# Paddle 的预测库是否使用静态库来编译 -# 使用TensorRT时,Paddle的预测库通常为动态库 -WITH_STATIC_LIB=OFF +# Paddle 预测库名称 +PADDLE_LIB_NAME=paddle_inference # CUDA 的 lib 路径 CUDA_LIB=/path/to/cuda/lib @@ -68,10 +67,6 @@ CUDA_LIB=/path/to/cuda/lib # CUDNN 的 lib 路径 CUDNN_LIB=/path/to/cudnn/lib -# 修改脚本设置好主要参数后,执行`build`脚本: -sh ./scripts/build.sh - - # 请检查以上各个路径是否正确 # 以下无需改动 @@ -82,10 +77,10 @@ cmake .. \ -DTENSORRT_LIB_DIR=${TENSORRT_LIB_DIR} \ -DTENSORRT_INC_DIR=${TENSORRT_INC_DIR} \ -DPADDLE_DIR=${PADDLE_DIR} \ - -DWITH_STATIC_LIB=${WITH_STATIC_LIB} \ -DCUDA_LIB=${CUDA_LIB} \ -DCUDNN_LIB=${CUDNN_LIB} \ - -DOPENCV_DIR=${OPENCV_DIR} + -DOPENCV_DIR=${OPENCV_DIR} \ + -DPADDLE_LIB_NAME={PADDLE_LIB_NAME} make ``` @@ -94,6 +89,7 @@ make ```shell sh ./scripts/build.sh ``` + **注意**: OPENCV依赖OPENBLAS,Ubuntu用户需确认系统是否已存在`libopenblas.so`。如未安装,可执行apt-get install libopenblas-dev进行安装。 ### Step5: 预测及可视化 diff --git a/static/deploy/cpp/docs/windows_vs2019_build.md b/static/deploy/cpp/docs/windows_vs2019_build.md index 7b8dcff07..aca5d3ab9 100644 --- a/static/deploy/cpp/docs/windows_vs2019_build.md +++ b/static/deploy/cpp/docs/windows_vs2019_build.md @@ -24,7 +24,7 @@ git clone https://github.com/PaddlePaddle/PaddleDetection.git ### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference -PaddlePaddle C++ 预测库针对不同的`CPU`和`CUDA`版本提供了不同的预编译版本,请根据实际情况下载: [C++预测库下载列表](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/windows_cpp_inference.html#windows) +PaddlePaddle C++ 预测库针对不同的`CPU`和`CUDA`版本提供了不同的预编译版本,请根据实际情况下载: [C++预测库下载列表](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/windows_cpp_inference.html) 解压后`D:\projects\fluid_inference`目录包含内容为: ``` @@ -62,18 +62,23 @@ cd D:\projects\PaddleDetection\deploy\cpp | *CUDNN_LIB | CUDNN的库路径 | | OPENCV_DIR | OpenCV的安装路径, | | PADDLE_DIR | Paddle预测库的路径 | +| PADDLE_LIB_NAME | Paddle 预测库名称 | +**注意:** 1. 使用`CPU`版预测库,请把`WITH_GPU`的勾去掉 2. 如果使用的是`openblas`版本,请把`WITH_MKL`勾去掉 + +执行如下命令项目文件: ``` -cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=path_to_cuda_lib -DCUDNN_LIB=path_to_cudnn_lib -DPADDLE_DIR=path_to_paddle_lib -DOPENCV_DIR=path_to_opencv +cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=path_to_cuda_lib -DCUDNN_LIB=path_to_cudnn_lib -DPADDLE_DIR=path_to_paddle_lib -DPADDLE_LIB_NAME=paddle_inference -DOPENCV_DIR=path_to_opencv ``` 例如: ``` -cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=D:\projects\packages\cuda10_0\lib\x64 -DCUDNN_LIB=D:\projects\packages\cuda10_0\lib\x64 -DPADDLE_DIR=D:\projects\packages\fluid_inference -DOPENCV_DIR=D:\projects\packages\opencv3_4_6 +cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=D:\projects\packages\cuda10_0\lib\x64 -DCUDNN_LIB=D:\projects\packages\cuda10_0\lib\x64 -DPADDLE_DIR=D:\projects\packages\fluid_inference -DPADDLE_LIB_NAME=paddle_inference -DOPENCV_DIR=D:\projects\packages\opencv3_4_6 ``` 3. 编译 -用`Visual Studio 16 2019`打开`cpp`文件夹下的`PaddleObjectDetector.sln`,点击`生成`->`全部生成` +用`Visual Studio 16 2019`打开`cpp`文件夹下的`PaddleObjectDetector.sln`,将编译模式设置为`Release`,点击`生成`->`全部生成 + ### Step5: 预测及可视化 diff --git a/static/deploy/cpp/scripts/build.sh b/static/deploy/cpp/scripts/build.sh index fb6ca625e..ed901d014 100644 --- a/static/deploy/cpp/scripts/build.sh +++ b/static/deploy/cpp/scripts/build.sh @@ -7,21 +7,17 @@ WITH_MKL=ON # 是否集成 TensorRT(仅WITH_GPU=ON 有效) WITH_TENSORRT=OFF -# 是否使用2.0rc1预测库 -USE_PADDLE_20RC1=OFF +# paddle 预测库lib名称,由于不同平台不同版本预测库lib名称不同,请查看所下载的预测库中`paddle_inference/lib/`文件夹下`lib`的名称 +PADDLE_LIB_NAME=libpaddle_inference # TensorRT 的include路径 -TENSORRT_INC_DIR=/path/to/tensorrt/lib +TENSORRT_INC_DIR=/path/to/tensorrt/include # TensorRT 的lib路径 -TENSORRT_LIB_DIR=/path/to/tensorrt/include +TENSORRT_LIB_DIR=/path/to/tensorrt/lib # Paddle 预测库路径 -PADDLE_DIR=/path/to/fluid_inference/ - -# Paddle 的预测库是否使用静态库来编译 -# 使用TensorRT时,Paddle的预测库通常为动态库 -WITH_STATIC_LIB=OFF +PADDLE_DIR=/path/to/paddle_inference # CUDA 的 lib 路径 CUDA_LIB=/path/to/cuda/lib @@ -39,11 +35,11 @@ then echo "set OPENCV_DIR for x86_64" # linux系统通过以下命令下载预编译的opencv mkdir -p $(pwd)/deps && cd $(pwd)/deps - wget -c https://bj.bcebos.com/paddleseg/deploy/opencv3.4.6gcc4.8ffmpeg.tar.gz2 - tar xvfj opencv3.4.6gcc4.8ffmpeg.tar.gz2 && cd .. + wget -c https://paddledet.bj.bcebos.com/data/opencv3.4.6gcc8.2ffmpeg.zip + unzip opencv3.4.6gcc8.2ffmpeg.zip && cd .. # set OPENCV_DIR - OPENCV_DIR=$(pwd)/deps/opencv3.4.6gcc4.8ffmpeg/ + OPENCV_DIR=$(pwd)/deps/opencv3.4.6gcc8.2ffmpeg elif [ "$MACHINE_TYPE" = "aarch64" ] then @@ -76,7 +72,8 @@ cmake .. \ -DWITH_STATIC_LIB=${WITH_STATIC_LIB} \ -DCUDA_LIB=${CUDA_LIB} \ -DCUDNN_LIB=${CUDNN_LIB} \ - -DOPENCV_DIR=${OPENCV_DIR} + -DOPENCV_DIR=${OPENCV_DIR} \ + -DPADDLE_LIB_NAME=${PADDLE_LIB_NAME} make echo "make finished!" diff --git a/static/ppdet/utils/export_utils.py b/static/ppdet/utils/export_utils.py index 1904e7cfd..3579ddb49 100644 --- a/static/ppdet/utils/export_utils.py +++ b/static/ppdet/utils/export_utils.py @@ -37,7 +37,7 @@ TRT_MIN_SUBGRAPH = { 'EfficientDet': 40, 'Face': 3, 'TTFNet': 3, - 'FCOS': 3, + 'FCOS': 33, 'SOLOv2': 60, } RESIZE_SCALE_SET = { -- Gitee From f202ab1a55351abeeaf8e14207a06af92fb01bc9 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Sat, 3 Apr 2021 14:33:21 +0800 Subject: [PATCH 14/90] fix COCO error in validation in train (#2484) --- ppdet/engine/trainer.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ppdet/engine/trainer.py b/ppdet/engine/trainer.py index 4614abdc7..f6b10b144 100644 --- a/ppdet/engine/trainer.py +++ b/ppdet/engine/trainer.py @@ -128,11 +128,23 @@ class Trainer(object): bias = self.cfg['bias'] if 'bias' in self.cfg else 0 output_eval = self.cfg['output_eval'] \ if 'output_eval' in self.cfg else None + + # pass clsid2catid info to metric instance to avoid multiple loading + # annotation file clsid2catid = {v: k for k, v in self.dataset.catid2clsid.items()} \ if self.mode == 'eval' else None + + # when do validation in train, annotation file should be get from + # EvalReader instead of self.dataset(which is TrainReader) + anno_file = self.dataset.get_anno() + if self.mode == 'train' and validate: + eval_dataset = self.cfg['EvalDataset'] + eval_dataset.check_or_download_dataset() + anno_file = eval_dataset.get_anno() + self._metrics = [ COCOMetric( - anno_file=self.dataset.get_anno(), + anno_file=anno_file, clsid2catid=clsid2catid, classwise=classwise, output_eval=output_eval, -- Gitee From cee456e51f8f143f638aeb7b8eaa6d78f4c0e78d Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Tue, 6 Apr 2021 15:33:23 +0800 Subject: [PATCH 15/90] [cherry-pick] update files (#2524) * update files * update for ci-travis --- .travis.yml | 2 +- ppdet/__init__.py | 2 +- ppdet/metrics/coco_utils.py | 2 +- ppdet/{py_op => metrics}/post_process.py | 0 ppdet/py_op/__init__.py | 1 - tools/x2coco.py | 449 +++++++++++++++++++++++ 6 files changed, 452 insertions(+), 4 deletions(-) rename ppdet/{py_op => metrics}/post_process.py (100%) delete mode 100644 ppdet/py_op/__init__.py create mode 100644 tools/x2coco.py diff --git a/.travis.yml b/.travis.yml index 91789d5f6..1cf4a2f2b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,7 @@ addons: before_install: - sudo pip install -U virtualenv pre-commit pip - docker pull paddlepaddle/paddle:latest - - git pull https://github.com/PaddlePaddle/PaddleDetection master + - git pull https://github.com/PaddlePaddle/PaddleDetection release/2.0 script: - exit_code=0 diff --git a/ppdet/__init__.py b/ppdet/__init__.py index 1d5bd814b..56b687dd9 100644 --- a/ppdet/__init__.py +++ b/ppdet/__init__.py @@ -13,4 +13,4 @@ # limitations under the License. from . import (core, data, engine, modeling, model_zoo, optimizer, metrics, - py_op, utils, slim) + utils, slim) diff --git a/ppdet/metrics/coco_utils.py b/ppdet/metrics/coco_utils.py index 9e45b1c2a..b2ae487e1 100644 --- a/ppdet/metrics/coco_utils.py +++ b/ppdet/metrics/coco_utils.py @@ -21,7 +21,7 @@ import sys import numpy as np import itertools -from ppdet.py_op.post_process import get_det_res, get_seg_res, get_solov2_segm_res +from ppdet.metrics.post_process import get_det_res, get_seg_res, get_solov2_segm_res from ppdet.metrics.map_utils import draw_pr_curve from ppdet.utils.logger import setup_logger diff --git a/ppdet/py_op/post_process.py b/ppdet/metrics/post_process.py similarity index 100% rename from ppdet/py_op/post_process.py rename to ppdet/metrics/post_process.py diff --git a/ppdet/py_op/__init__.py b/ppdet/py_op/__init__.py deleted file mode 100644 index d48118906..000000000 --- a/ppdet/py_op/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .post_process import * diff --git a/tools/x2coco.py b/tools/x2coco.py new file mode 100644 index 000000000..ef2f0d717 --- /dev/null +++ b/tools/x2coco.py @@ -0,0 +1,449 @@ +#!/usr/bin/env python +# coding: utf-8 +# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import argparse +import glob +import json +import os +import os.path as osp +import sys +import shutil +import xml.etree.ElementTree as ET +from tqdm import tqdm +import re + +import numpy as np +import PIL.ImageDraw + +label_to_num = {} +categories_list = [] +labels_list = [] + + +class MyEncoder(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, np.integer): + return int(obj) + elif isinstance(obj, np.floating): + return float(obj) + elif isinstance(obj, np.ndarray): + return obj.tolist() + else: + return super(MyEncoder, self).default(obj) + + +def images_labelme(data, num): + image = {} + image['height'] = data['imageHeight'] + image['width'] = data['imageWidth'] + image['id'] = num + 1 + if '\\' in data['imagePath']: + image['file_name'] = data['imagePath'].split('\\')[-1] + else: + image['file_name'] = data['imagePath'].split('/')[-1] + return image + + +def images_cityscape(data, num, img_file): + image = {} + image['height'] = data['imgHeight'] + image['width'] = data['imgWidth'] + image['id'] = num + 1 + image['file_name'] = img_file + return image + + +def categories(label, labels_list): + category = {} + category['supercategory'] = 'component' + category['id'] = len(labels_list) + 1 + category['name'] = label + return category + + +def annotations_rectangle(points, label, image_num, object_num, label_to_num): + annotation = {} + seg_points = np.asarray(points).copy() + seg_points[1, :] = np.asarray(points)[2, :] + seg_points[2, :] = np.asarray(points)[1, :] + annotation['segmentation'] = [list(seg_points.flatten())] + annotation['iscrowd'] = 0 + annotation['image_id'] = image_num + 1 + annotation['bbox'] = list( + map(float, [ + points[0][0], points[0][1], points[1][0] - points[0][0], points[1][ + 1] - points[0][1] + ])) + annotation['area'] = annotation['bbox'][2] * annotation['bbox'][3] + annotation['category_id'] = label_to_num[label] + annotation['id'] = object_num + 1 + return annotation + + +def annotations_polygon(height, width, points, label, image_num, object_num, + label_to_num): + annotation = {} + annotation['segmentation'] = [list(np.asarray(points).flatten())] + annotation['iscrowd'] = 0 + annotation['image_id'] = image_num + 1 + annotation['bbox'] = list(map(float, get_bbox(height, width, points))) + annotation['area'] = annotation['bbox'][2] * annotation['bbox'][3] + annotation['category_id'] = label_to_num[label] + annotation['id'] = object_num + 1 + return annotation + + +def get_bbox(height, width, points): + polygons = points + mask = np.zeros([height, width], dtype=np.uint8) + mask = PIL.Image.fromarray(mask) + xy = list(map(tuple, polygons)) + PIL.ImageDraw.Draw(mask).polygon(xy=xy, outline=1, fill=1) + mask = np.array(mask, dtype=bool) + index = np.argwhere(mask == 1) + rows = index[:, 0] + clos = index[:, 1] + left_top_r = np.min(rows) + left_top_c = np.min(clos) + right_bottom_r = np.max(rows) + right_bottom_c = np.max(clos) + return [ + left_top_c, left_top_r, right_bottom_c - left_top_c, + right_bottom_r - left_top_r + ] + + +def deal_json(ds_type, img_path, json_path): + data_coco = {} + images_list = [] + annotations_list = [] + image_num = -1 + object_num = -1 + for img_file in os.listdir(img_path): + img_label = os.path.splitext(img_file)[0] + if img_file.split('.')[ + -1] not in ['bmp', 'jpg', 'jpeg', 'png', 'JPEG', 'JPG', 'PNG']: + continue + label_file = osp.join(json_path, img_label + '.json') + print('Generating dataset from:', label_file) + image_num = image_num + 1 + with open(label_file) as f: + data = json.load(f) + if ds_type == 'labelme': + images_list.append(images_labelme(data, image_num)) + elif ds_type == 'cityscape': + images_list.append(images_cityscape(data, image_num, img_file)) + if ds_type == 'labelme': + for shapes in data['shapes']: + object_num = object_num + 1 + label = shapes['label'] + if label not in labels_list: + categories_list.append(categories(label, labels_list)) + labels_list.append(label) + label_to_num[label] = len(labels_list) + p_type = shapes['shape_type'] + if p_type == 'polygon': + points = shapes['points'] + annotations_list.append( + annotations_polygon(data['imageHeight'], data[ + 'imageWidth'], points, label, image_num, + object_num, label_to_num)) + + if p_type == 'rectangle': + (x1, y1), (x2, y2) = shapes['points'] + x1, x2 = sorted([x1, x2]) + y1, y2 = sorted([y1, y2]) + points = [[x1, y1], [x2, y2], [x1, y2], [x2, y1]] + annotations_list.append( + annotations_rectangle(points, label, image_num, + object_num, label_to_num)) + elif ds_type == 'cityscape': + for shapes in data['objects']: + object_num = object_num + 1 + label = shapes['label'] + if label not in labels_list: + categories_list.append(categories(label, labels_list)) + labels_list.append(label) + label_to_num[label] = len(labels_list) + points = shapes['polygon'] + annotations_list.append( + annotations_polygon(data['imgHeight'], data[ + 'imgWidth'], points, label, image_num, object_num, + label_to_num)) + data_coco['images'] = images_list + data_coco['categories'] = categories_list + data_coco['annotations'] = annotations_list + return data_coco + + +def voc_get_label_anno(ann_dir_path, ann_ids_path, labels_path): + with open(labels_path, 'r') as f: + labels_str = f.read().split() + labels_ids = list(range(1, len(labels_str) + 1)) + + with open(ann_ids_path, 'r') as f: + ann_ids = f.read().split() + ann_paths = [] + for aid in ann_ids: + if aid.endswith('xml'): + ann_path = os.path.join(ann_dir_path, aid) + else: + ann_path = os.path.join(ann_dir_path, aid + '.xml') + ann_paths.append(ann_path) + + return dict(zip(labels_str, labels_ids)), ann_paths + + +def voc_get_image_info(annotation_root, im_id): + filename = annotation_root.findtext('filename') + assert filename is not None + img_name = os.path.basename(filename) + + size = annotation_root.find('size') + width = float(size.findtext('width')) + height = float(size.findtext('height')) + + image_info = { + 'file_name': filename, + 'height': height, + 'width': width, + 'id': im_id + } + return image_info + + +def voc_get_coco_annotation(obj, label2id): + label = obj.findtext('name') + assert label in label2id, "label is not in label2id." + category_id = label2id[label] + bndbox = obj.find('bndbox') + xmin = float(bndbox.findtext('xmin')) + ymin = float(bndbox.findtext('ymin')) + xmax = float(bndbox.findtext('xmax')) + ymax = float(bndbox.findtext('ymax')) + assert xmax > xmin and ymax > ymin, "Box size error." + o_width = xmax - xmin + o_height = ymax - ymin + anno = { + 'area': o_width * o_height, + 'iscrowd': 0, + 'bbox': [xmin, ymin, o_width, o_height], + 'category_id': category_id, + 'ignore': 0, + } + return anno + + +def voc_xmls_to_cocojson(annotation_paths, label2id, output_dir, output_file): + output_json_dict = { + "images": [], + "type": "instances", + "annotations": [], + "categories": [] + } + bnd_id = 1 # bounding box start id + im_id = 0 + print('Start converting !') + for a_path in tqdm(annotation_paths): + # Read annotation xml + ann_tree = ET.parse(a_path) + ann_root = ann_tree.getroot() + + img_info = voc_get_image_info(ann_root, im_id) + output_json_dict['images'].append(img_info) + + for obj in ann_root.findall('object'): + ann = voc_get_coco_annotation(obj=obj, label2id=label2id) + ann.update({'image_id': im_id, 'id': bnd_id}) + output_json_dict['annotations'].append(ann) + bnd_id = bnd_id + 1 + im_id += 1 + + for label, label_id in label2id.items(): + category_info = {'supercategory': 'none', 'id': label_id, 'name': label} + output_json_dict['categories'].append(category_info) + output_file = os.path.join(output_dir, output_file) + with open(output_file, 'w') as f: + output_json = json.dumps(output_json_dict) + f.write(output_json) + + +def main(): + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser.add_argument( + '--dataset_type', + help='the type of dataset, can be `voc`, `labelme` or `cityscape`') + parser.add_argument('--json_input_dir', help='input annotated directory') + parser.add_argument('--image_input_dir', help='image directory') + parser.add_argument( + '--output_dir', help='output dataset directory', default='./') + parser.add_argument( + '--train_proportion', + help='the proportion of train dataset', + type=float, + default=1.0) + parser.add_argument( + '--val_proportion', + help='the proportion of validation dataset', + type=float, + default=0.0) + parser.add_argument( + '--test_proportion', + help='the proportion of test dataset', + type=float, + default=0.0) + parser.add_argument( + '--voc_anno_dir', + help='In Voc format dataset, path to annotation files directory.', + type=str, + default=None) + parser.add_argument( + '--voc_anno_list', + help='In Voc format dataset, path to annotation files ids list.', + type=str, + default=None) + parser.add_argument( + '--voc_label_list', + help='In Voc format dataset, path to label list. The content of each line is a category.', + type=str, + default=None) + parser.add_argument( + '--voc_out_name', + type=str, + default='voc.json', + help='In Voc format dataset, path to output json file') + args = parser.parse_args() + try: + assert args.dataset_type in ['voc', 'labelme', 'cityscape'] + except AssertionError as e: + print( + 'Now only support the voc, cityscape dataset and labelme dataset!!') + os._exit(0) + + if args.dataset_type == 'voc': + assert args.voc_anno_dir and args.voc_anno_list and args.voc_label_list + label2id, ann_paths = voc_get_label_anno( + args.voc_anno_dir, args.voc_anno_list, args.voc_label_list) + voc_xmls_to_cocojson( + annotation_paths=ann_paths, + label2id=label2id, + output_dir=args.output_dir, + output_file=args.voc_out_name) + else: + try: + assert os.path.exists(args.json_input_dir) + except AssertionError as e: + print('The json folder does not exist!') + os._exit(0) + try: + assert os.path.exists(args.image_input_dir) + except AssertionError as e: + print('The image folder does not exist!') + os._exit(0) + try: + assert abs(args.train_proportion + args.val_proportion \ + + args.test_proportion - 1.0) < 1e-5 + except AssertionError as e: + print( + 'The sum of pqoportion of training, validation and test datase must be 1!' + ) + os._exit(0) + + # Allocate the dataset. + total_num = len(glob.glob(osp.join(args.json_input_dir, '*.json'))) + if args.train_proportion != 0: + train_num = int(total_num * args.train_proportion) + out_dir = args.output_dir + '/train' + if not os.path.exists(out_dir): + os.makedirs(out_dir) + else: + train_num = 0 + if args.val_proportion == 0.0: + val_num = 0 + test_num = total_num - train_num + out_dir = args.output_dir + '/test' + if args.test_proportion != 0.0 and not os.path.exists(out_dir): + os.makedirs(out_dir) + else: + val_num = int(total_num * args.val_proportion) + test_num = total_num - train_num - val_num + val_out_dir = args.output_dir + '/val' + if not os.path.exists(val_out_dir): + os.makedirs(val_out_dir) + test_out_dir = args.output_dir + '/test' + if args.test_proportion != 0.0 and not os.path.exists(test_out_dir): + os.makedirs(test_out_dir) + count = 1 + for img_name in os.listdir(args.image_input_dir): + if count <= train_num: + if osp.exists(args.output_dir + '/train/'): + shutil.copyfile( + osp.join(args.image_input_dir, img_name), + osp.join(args.output_dir + '/train/', img_name)) + else: + if count <= train_num + val_num: + if osp.exists(args.output_dir + '/val/'): + shutil.copyfile( + osp.join(args.image_input_dir, img_name), + osp.join(args.output_dir + '/val/', img_name)) + else: + if osp.exists(args.output_dir + '/test/'): + shutil.copyfile( + osp.join(args.image_input_dir, img_name), + osp.join(args.output_dir + '/test/', img_name)) + count = count + 1 + + # Deal with the json files. + if not os.path.exists(args.output_dir + '/annotations'): + os.makedirs(args.output_dir + '/annotations') + if args.train_proportion != 0: + train_data_coco = deal_json(args.dataset_type, + args.output_dir + '/train', + args.json_input_dir) + train_json_path = osp.join(args.output_dir + '/annotations', + 'instance_train.json') + json.dump( + train_data_coco, + open(train_json_path, 'w'), + indent=4, + cls=MyEncoder) + if args.val_proportion != 0: + val_data_coco = deal_json(args.dataset_type, + args.output_dir + '/val', + args.json_input_dir) + val_json_path = osp.join(args.output_dir + '/annotations', + 'instance_val.json') + json.dump( + val_data_coco, + open(val_json_path, 'w'), + indent=4, + cls=MyEncoder) + if args.test_proportion != 0: + test_data_coco = deal_json(args.dataset_type, + args.output_dir + '/test', + args.json_input_dir) + test_json_path = osp.join(args.output_dir + '/annotations', + 'instance_test.json') + json.dump( + test_data_coco, + open(test_json_path, 'w'), + indent=4, + cls=MyEncoder) + + +if __name__ == '__main__': + main() -- Gitee From 79906929a3f113ba066695367d680841f510e15f Mon Sep 17 00:00:00 2001 From: cnn Date: Tue, 6 Apr 2021 21:10:40 +0800 Subject: [PATCH 16/90] [cherry-pick] add doc of benchmark (#2505) (#2513) * [doc] add doc of benchmark (#2505) * add benchmark, test=document_fix * update style of number, test=document_fix * add difference of dynamic shape and fix shape * update for ci-travis, test=document_fix --- README.md | 3 +- deploy/BENCHMARK_INFER.md | 56 +++++++++++++++++++++++++ deploy/cpp/docs/Jetson_build.md | 15 +------ deploy/cpp/docs/linux_build.md | 3 ++ deploy/cpp/docs/windows_vs2019_build.md | 16 +------ 5 files changed, 63 insertions(+), 30 deletions(-) create mode 100644 deploy/BENCHMARK_INFER.md diff --git a/README.md b/README.md index e67afc245..38e5d725e 100644 --- a/README.md +++ b/README.md @@ -137,11 +137,12 @@ PaddleDetection模块化地实现了多种主流目标检测算法,提供了 ### 进阶教程 - [模型压缩](configs/slim) -- [推理部署](deploy) +- [推理部署](deploy/README.md) - [模型导出教程](deploy/EXPORT_MODEL.md) - [Python端推理部署](deploy/python) - [C++端推理部署](deploy/cpp) - [服务端部署](deploy/serving) + - [推理benchmark](deploy/BENCHMARK_INFER.md) ## 模型库 diff --git a/deploy/BENCHMARK_INFER.md b/deploy/BENCHMARK_INFER.md new file mode 100644 index 000000000..46f00bd6d --- /dev/null +++ b/deploy/BENCHMARK_INFER.md @@ -0,0 +1,56 @@ +# 推理Benchmark + +## 环境准备 +- 测试环境: + - CUDA 10.1 + - CUDNN 7.6 + - TensorRT-6.0.1 + - PaddlePaddle v2.0.1 + - GPU分别为: Tesla V100和Windows 1080Ti和TX2 +- 测试方式: + - 为了方便比较不同模型的推理速度,输入采用同样大小的图片,为 3x640x640,采用 `demo/000000014439_640x640.jpg` 图片。 + - Batch Size=1 + - 去掉前100轮warmup时间,测试100轮的平均时间,单位ms/image,包括网络计算时间、数据拷贝至CPU的时间。 + - 采用Fluid C++预测引擎: 包含Fluid C++预测、Fluid-TensorRT预测,下面同时测试了Float32 (FP32) 和Float16 (FP16)的推理速度。 + +**注意:**TensorRT中固定尺寸和动态尺寸区别请参考文档[TENSOR教程](TENSOR_RT.md)。由于固定尺寸下对两阶段模型支持不完善,所以faster rcnn模型采用动态尺寸测试。固定尺寸和动态尺寸支持融合的OP不完全一样,因此同一个模型在固定尺寸和动态尺寸下测试的性能可能会有一点差异。 + +## 推理速度 + +### V100 + +| 模型 | 是否固定尺寸 | 入网尺寸 | paddle\_inference | trt\_fp32 | trt\_fp16 | +| ------------------------------------------ | ------ | -------- | ---------- | ---------- | ---------- | +| ppyolo\_r50vd\_dcn\_1x\_coco | 是 | 608x608 | 20.77 | 18.40443 | 13.532618 | +| yolov3\_mobilenet\_v1\_270e\_coco | 是 | 608x608 | 9.74 | 8.607459 | 6.275342 | +| ssd\_mobilenet\_v1\_300\_120e\_voc | 是 | 300x300 | 5.17 | 4.428614 | 4.292153 | +| ttfnet\_darknet53\_1x\_coco | 是 | 512x512 | 10.14 | 8.708397 | 5.551765 | +| fcos\_dcn\_r50\_fpn\_1x\_coco | 是 | 640x640 | 35.47 | 35.023315 | 34.24144 | +| faster\_rcnn\_r50\_fpn\_1x\_coco | 否 | 640x640 | 27.99 | 26.151001 | 21.922865 | +| yolov3\_darknet53\_270e\_coco | 是 | 608x608 | 17.84 | 15.431566 | 9.861447 | +| faster\_rcnn\_r50\_fpn\_1x\_coco(800x1312) | 否 | 800x1312 | 32.49 | 25.536572 | 21.696611 | + + +### Windows 1080Ti +| 模型 | 是否固定尺寸 | 入网尺寸 | paddle\_inference | trt\_fp32 | trt\_fp16 | +| ------------------------------------------ | ------ | -------- | ---------- | ---------- | --------- | +| ppyolo\_r50vd\_dcn\_1x\_coco | 是 | 608x608 | 38.06 | 31.401291 | 31.939096 | +| yolov3\_mobilenet\_v1\_270e\_coco | 是 | 608x608 | 14.51 | 11.22542 | 11.125602 | +| ssd\_mobilenet\_v1\_300\_120e\_voc | 是 | 300x300 | 16.47 | 13.874813 | 13.761724 | +| ttfnet\_darknet53\_1x\_coco | 是 | 512x512 | 21.83 | 17.144808 | 17.092379 | +| fcos\_dcn\_r50\_fpn\_1x\_coco | 是 | 640x640 | 71.88 | 69.930206 | 69.523048 | +| faster\_rcnn\_r50\_fpn\_1x\_coco | 否 | 640x640 | 50.74 | 57.172909 | 62.081978 | +| yolov3\_darknet53\_270e\_coco | 是 | 608x608 | 30.26 | 23.915573 | 24.019217 | +| faster\_rcnn\_r50\_fpn\_1x\_coco(800x1312) | 否 | 800x1312 | 50.31 | 57.613659 | 62.050724 | + +### nv jetson +| 模型 | 是否固定尺寸 | 入网尺寸 | paddle\_inference | trt\_fp32 | trt\_fp16 | +| ------------------------------------------ | ------ | -------- | ---------- | ---------- | ---------- | +| ppyolo\_r50vd\_dcn\_1x\_coco | 是 | 608x608 | 111.80 | 99.40332 | 48.047401 | +| yolov3\_mobilenet\_v1\_270e\_coco | 是 | 608x608 | 48.76 | 43.832623 | 18.410919 | +| ssd\_mobilenet\_v1\_300\_120e\_voc | 是 | 300x300 | 10.52 | 8.840097 | 8.765652 | +| ttfnet\_darknet53\_1x\_coco | 是 | 512x512 | 73.77 | 64.025124 | 31.464737 | +| fcos\_dcn\_r50\_fpn\_1x\_coco | 是 | 640x640 | 217.11 | 214.381866 | 205.783844 | +| faster\_rcnn\_r50\_fpn\_1x\_coco | 否 | 640x640 | 169.45 | 158.919266 | 119.253937 | +| yolov3\_darknet53\_270e\_coco | 是 | 608x608 | 121.61 | 110.29866 | 42.379051 | +| faster\_rcnn\_r50\_fpn\_1x\_coco(800x1312) | 否 | 800x1312 | 228.07 | 156.393372 | 117.026932 | diff --git a/deploy/cpp/docs/Jetson_build.md b/deploy/cpp/docs/Jetson_build.md index 27130f580..78ad81797 100644 --- a/deploy/cpp/docs/Jetson_build.md +++ b/deploy/cpp/docs/Jetson_build.md @@ -183,17 +183,4 @@ CUDNN_LIB=/usr/lib/aarch64-linux-gnu/ ## 性能测试 -测试环境为:硬件: TX2,JetPack版本: 4.3, Paddle预测库: 1.8.4,CUDA: 10.0, CUDNN: 7.5, TensorRT: 5.0. - -去掉前100轮warmup时间,测试100轮的平均时间,单位ms/image,只计算模型运行时间,不包括数据的处理和拷贝。 - - -|模型 | 输入| AnalysisPredictor(ms) | -|---|----|---| -| yolov3_mobilenet_v1 | 608*608 | 56.243858 -| faster_rcnn_r50_1x | 1333*1333 | 73.552460 -| faster_rcnn_r50_vd_fpn_2x | 1344*1344 | 87.582146 -| mask_rcnn_r50_fpn_1x | 1344*1344 | 107.317848 -| mask_rcnn_r50_vd_fpn_2x | 1344*1344 | 87.98.708122 -| ppyolo_r18vd | 320*320 | 22.876789 -| ppyolo_2x | 608*608 | 68.562050 +benchmark请查看[BENCHMARK_INFER](../../BENCHMARK_INFER.md) diff --git a/deploy/cpp/docs/linux_build.md b/deploy/cpp/docs/linux_build.md index 60c609663..059802ada 100644 --- a/deploy/cpp/docs/linux_build.md +++ b/deploy/cpp/docs/linux_build.md @@ -124,3 +124,6 @@ make ./build/main --model_dir=/root/projects/models/yolov3_darknet --video_path=/root/projects/images/test.mp4 --use_gpu=1 ``` 视频文件目前支持`.mp4`格式的预测,`可视化预测结果`会保存在当前目录下`output.mp4`文件中。 + +## 性能测试 +benchmark请查看[BENCHMARK_INFER](../../BENCHMARK_INFER.md) diff --git a/deploy/cpp/docs/windows_vs2019_build.md b/deploy/cpp/docs/windows_vs2019_build.md index aca5d3ab9..9fdd23aef 100644 --- a/deploy/cpp/docs/windows_vs2019_build.md +++ b/deploy/cpp/docs/windows_vs2019_build.md @@ -125,18 +125,4 @@ cd D:\projects\PaddleDetection\deploy\cpp\out\build\x64-Release ## 性能测试 -测试环境为:系统: Windows 10专业版系统,CPU: I9-9820X, GPU: GTX 2080 Ti,Paddle预测库: 1.8.4,CUDA: 10.0, CUDNN: 7.4. - -去掉前100轮warmup时间,测试100轮的平均时间,单位ms/image,只计算模型运行时间,不包括数据的处理和拷贝。 - - -|模型 | AnalysisPredictor(ms) | 输入| -|---|----|---| -| YOLOv3-MobileNetv1 | 41.51 | 608*608 -| faster_rcnn_r50_1x | 194.47 | 1333*1333 -| faster_rcnn_r50_vd_fpn_2x | 43.35 | 1344*1344 -| mask_rcnn_r50_fpn_1x | 96.96 | 1344*1344 -| mask_rcnn_r50_vd_fpn_2x | 97.66 | 1344*1344 -| ppyolo_r18vd | 5.54 | 320*320 -| ppyolo_2x | 56.93 | 608*608 -| ttfnet_darknet | 36.17 | 512*512 +benchmark请查看[BENCHMARK_INFER](../../BENCHMARK_INFER.md) -- Gitee From 61da05363a38240e110af9557bdf1421343d953b Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Wed, 7 Apr 2021 15:40:17 +0800 Subject: [PATCH 17/90] [cherry-pick] refine ppdet file name (#2533) * refine ppdet file name * unify bbox_utils --- ppdet/metrics/coco_utils.py | 2 +- .../{post_process.py => json_results.py} | 0 ppdet/modeling/__init__.py | 2 - ppdet/modeling/bbox_utils.py | 134 +++++++ ppdet/modeling/losses/iou_aware_loss.py | 2 +- ppdet/modeling/losses/iou_loss.py | 2 +- ppdet/modeling/losses/yolo_loss.py | 2 +- ppdet/modeling/utils/__init__.py | 17 - ppdet/modeling/utils/bbox_util.py | 143 -------- ppdet/utils/bbox_utils.py | 81 ----- ppdet/utils/post_process.py | 326 ------------------ 11 files changed, 138 insertions(+), 573 deletions(-) rename ppdet/metrics/{post_process.py => json_results.py} (100%) delete mode 100644 ppdet/modeling/utils/__init__.py delete mode 100644 ppdet/modeling/utils/bbox_util.py delete mode 100644 ppdet/utils/bbox_utils.py delete mode 100644 ppdet/utils/post_process.py diff --git a/ppdet/metrics/coco_utils.py b/ppdet/metrics/coco_utils.py index b2ae487e1..82d5cc856 100644 --- a/ppdet/metrics/coco_utils.py +++ b/ppdet/metrics/coco_utils.py @@ -21,7 +21,7 @@ import sys import numpy as np import itertools -from ppdet.metrics.post_process import get_det_res, get_seg_res, get_solov2_segm_res +from ppdet.metrics.json_results import get_det_res, get_seg_res, get_solov2_segm_res from ppdet.metrics.map_utils import draw_pr_curve from ppdet.utils.logger import setup_logger diff --git a/ppdet/metrics/post_process.py b/ppdet/metrics/json_results.py similarity index 100% rename from ppdet/metrics/post_process.py rename to ppdet/metrics/json_results.py diff --git a/ppdet/modeling/__init__.py b/ppdet/modeling/__init__.py index 5171d205c..8e8d41fa4 100644 --- a/ppdet/modeling/__init__.py +++ b/ppdet/modeling/__init__.py @@ -7,7 +7,6 @@ from . import losses from . import architectures from . import post_process from . import layers -from . import utils from .ops import * from .backbones import * @@ -18,4 +17,3 @@ from .losses import * from .architectures import * from .post_process import * from .layers import * -from .utils import * diff --git a/ppdet/modeling/bbox_utils.py b/ppdet/modeling/bbox_utils.py index 9d90831b6..3308684aa 100644 --- a/ppdet/modeling/bbox_utils.py +++ b/ppdet/modeling/bbox_utils.py @@ -14,6 +14,8 @@ import math import paddle +import paddle.nn.functional as F +import math def bbox2delta(src_boxes, tgt_boxes, weights): @@ -111,6 +113,16 @@ def bbox_area(boxes): def bbox_overlaps(boxes1, boxes2): + """ + Calculate overlaps between boxes1 and boxes2 + + Args: + boxes1 (Tensor): boxes with shape [M, 4] + boxes2 (Tensor): boxes with shape [N, 4] + + Return: + overlaps (Tensor): overlaps between boxes1 and boxes2 with shape [M, N] + """ area1 = bbox_area(boxes1) area2 = bbox_area(boxes2) @@ -126,3 +138,125 @@ def bbox_overlaps(boxes1, boxes2): (paddle.unsqueeze(area1, 1) + area2 - inter), paddle.zeros_like(inter)) return overlaps + + +def xywh2xyxy(box): + x, y, w, h = box + x1 = x - w * 0.5 + y1 = y - h * 0.5 + x2 = x + w * 0.5 + y2 = y + h * 0.5 + return [x1, y1, x2, y2] + + +def make_grid(h, w, dtype): + yv, xv = paddle.meshgrid([paddle.arange(h), paddle.arange(w)]) + return paddle.stack((xv, yv), 2).cast(dtype=dtype) + + +def decode_yolo(box, anchor, downsample_ratio): + """decode yolo box + + Args: + box (list): [x, y, w, h], all have the shape [b, na, h, w, 1] + anchor (list): anchor with the shape [na, 2] + downsample_ratio (int): downsample ratio, default 32 + scale (float): scale, default 1. + + Return: + box (list): decoded box, [x, y, w, h], all have the shape [b, na, h, w, 1] + """ + x, y, w, h = box + na, grid_h, grid_w = x.shape[1:4] + grid = make_grid(grid_h, grid_w, x.dtype).reshape((1, 1, grid_h, grid_w, 2)) + x1 = (x + grid[:, :, :, :, 0:1]) / grid_w + y1 = (y + grid[:, :, :, :, 1:2]) / grid_h + + anchor = paddle.to_tensor(anchor) + anchor = paddle.cast(anchor, x.dtype) + anchor = anchor.reshape((1, na, 1, 1, 2)) + w1 = paddle.exp(w) * anchor[:, :, :, :, 0:1] / (downsample_ratio * grid_w) + h1 = paddle.exp(h) * anchor[:, :, :, :, 1:2] / (downsample_ratio * grid_h) + + return [x1, y1, w1, h1] + + +def iou_similarity(box1, box2, eps=1e-9): + """Calculate iou of box1 and box2 + + Args: + box1 (Tensor): box with the shape [N, M1, 4] + box2 (Tensor): box with the shape [N, M2, 4] + + Return: + iou (Tensor): iou between box1 and box2 with the shape [N, M1, M2] + """ + box1 = box1.unsqueeze(2) # [N, M1, 4] -> [N, M1, 1, 4] + box2 = box2.unsqueeze(1) # [N, M2, 4] -> [N, 1, M2, 4] + px1y1, px2y2 = box1[:, :, :, 0:2], box1[:, :, :, 2:4] + gx1y1, gx2y2 = box2[:, :, :, 0:2], box2[:, :, :, 2:4] + x1y1 = paddle.maximum(px1y1, gx1y1) + x2y2 = paddle.minimum(px2y2, gx2y2) + overlap = (x2y2 - x1y1).clip(0).prod(-1) + area1 = (px2y2 - px1y1).clip(0).prod(-1) + area2 = (gx2y2 - gx1y1).clip(0).prod(-1) + union = area1 + area2 - overlap + eps + return overlap / union + + +def bbox_iou(box1, box2, giou=False, diou=False, ciou=False, eps=1e-9): + """calculate the iou of box1 and box2 + + Args: + box1 (list): [x, y, w, h], all have the shape [b, na, h, w, 1] + box2 (list): [x, y, w, h], all have the shape [b, na, h, w, 1] + giou (bool): whether use giou or not, default False + diou (bool): whether use diou or not, default False + ciou (bool): whether use ciou or not, default False + eps (float): epsilon to avoid divide by zero + + Return: + iou (Tensor): iou of box1 and box1, with the shape [b, na, h, w, 1] + """ + px1, py1, px2, py2 = box1 + gx1, gy1, gx2, gy2 = box2 + x1 = paddle.maximum(px1, gx1) + y1 = paddle.maximum(py1, gy1) + x2 = paddle.minimum(px2, gx2) + y2 = paddle.minimum(py2, gy2) + + overlap = ((x2 - x1).clip(0)) * ((y2 - y1).clip(0)) + + area1 = (px2 - px1) * (py2 - py1) + area1 = area1.clip(0) + + area2 = (gx2 - gx1) * (gy2 - gy1) + area2 = area2.clip(0) + + union = area1 + area2 - overlap + eps + iou = overlap / union + + if giou or ciou or diou: + # convex w, h + cw = paddle.maximum(px2, gx2) - paddle.minimum(px1, gx1) + ch = paddle.maximum(py2, gy2) - paddle.minimum(py1, gy1) + if giou: + c_area = cw * ch + eps + return iou - (c_area - union) / c_area + else: + # convex diagonal squared + c2 = cw**2 + ch**2 + eps + # center distance + rho2 = ((px1 + px2 - gx1 - gx2)**2 + (py1 + py2 - gy1 - gy2)**2) / 4 + if diou: + return iou - rho2 / c2 + else: + w1, h1 = px2 - px1, py2 - py1 + eps + w2, h2 = gx2 - gx1, gy2 - gy1 + eps + delta = paddle.atan(w1 / h1) - paddle.atan(w2 / h2) + v = (4 / math.pi**2) * paddle.pow(delta, 2) + alpha = v / (1 + eps - iou + v) + alpha.stop_gradient = True + return iou - (rho2 / c2 + v * alpha) + else: + return iou diff --git a/ppdet/modeling/losses/iou_aware_loss.py b/ppdet/modeling/losses/iou_aware_loss.py index 2cc6f2a2c..f5599588c 100644 --- a/ppdet/modeling/losses/iou_aware_loss.py +++ b/ppdet/modeling/losses/iou_aware_loss.py @@ -20,7 +20,7 @@ import paddle import paddle.nn.functional as F from ppdet.core.workspace import register, serializable from .iou_loss import IouLoss -from ..utils import xywh2xyxy, bbox_iou, decode_yolo +from ..bbox_utils import xywh2xyxy, bbox_iou @register diff --git a/ppdet/modeling/losses/iou_loss.py b/ppdet/modeling/losses/iou_loss.py index 72613297d..df1ef2160 100644 --- a/ppdet/modeling/losses/iou_loss.py +++ b/ppdet/modeling/losses/iou_loss.py @@ -19,7 +19,7 @@ from __future__ import print_function import paddle import paddle.nn.functional as F from ppdet.core.workspace import register, serializable -from ..utils import xywh2xyxy, bbox_iou, decode_yolo +from ..bbox_utils import xywh2xyxy, bbox_iou __all__ = ['IouLoss', 'GIoULoss'] diff --git a/ppdet/modeling/losses/yolo_loss.py b/ppdet/modeling/losses/yolo_loss.py index 149139989..e460d2e28 100644 --- a/ppdet/modeling/losses/yolo_loss.py +++ b/ppdet/modeling/losses/yolo_loss.py @@ -21,7 +21,7 @@ import paddle.nn as nn import paddle.nn.functional as F from ppdet.core.workspace import register -from ..utils import decode_yolo, xywh2xyxy, iou_similarity +from ..bbox_utils import decode_yolo, xywh2xyxy, iou_similarity __all__ = ['YOLOv3Loss'] diff --git a/ppdet/modeling/utils/__init__.py b/ppdet/modeling/utils/__init__.py deleted file mode 100644 index e27f26a6f..000000000 --- a/ppdet/modeling/utils/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from . import bbox_util - -from .bbox_util import * diff --git a/ppdet/modeling/utils/bbox_util.py b/ppdet/modeling/utils/bbox_util.py deleted file mode 100644 index 6ea3682b4..000000000 --- a/ppdet/modeling/utils/bbox_util.py +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function - -import paddle -import paddle.nn.functional as F -import math - - -def xywh2xyxy(box): - x, y, w, h = box - x1 = x - w * 0.5 - y1 = y - h * 0.5 - x2 = x + w * 0.5 - y2 = y + h * 0.5 - return [x1, y1, x2, y2] - - -def make_grid(h, w, dtype): - yv, xv = paddle.meshgrid([paddle.arange(h), paddle.arange(w)]) - return paddle.stack((xv, yv), 2).cast(dtype=dtype) - - -def decode_yolo(box, anchor, downsample_ratio): - """decode yolo box - - Args: - box (list): [x, y, w, h], all have the shape [b, na, h, w, 1] - anchor (list): anchor with the shape [na, 2] - downsample_ratio (int): downsample ratio, default 32 - scale (float): scale, default 1. - - Return: - box (list): decoded box, [x, y, w, h], all have the shape [b, na, h, w, 1] - """ - x, y, w, h = box - na, grid_h, grid_w = x.shape[1:4] - grid = make_grid(grid_h, grid_w, x.dtype).reshape((1, 1, grid_h, grid_w, 2)) - x1 = (x + grid[:, :, :, :, 0:1]) / grid_w - y1 = (y + grid[:, :, :, :, 1:2]) / grid_h - - anchor = paddle.to_tensor(anchor) - anchor = paddle.cast(anchor, x.dtype) - anchor = anchor.reshape((1, na, 1, 1, 2)) - w1 = paddle.exp(w) * anchor[:, :, :, :, 0:1] / (downsample_ratio * grid_w) - h1 = paddle.exp(h) * anchor[:, :, :, :, 1:2] / (downsample_ratio * grid_h) - - return [x1, y1, w1, h1] - - -def iou_similarity(box1, box2, eps=1e-9): - """Calculate iou of box1 and box2 - - Args: - box1 (Tensor): box with the shape [N, M1, 4] - box2 (Tensor): box with the shape [N, M2, 4] - - Return: - iou (Tensor): iou between box1 and box2 with the shape [N, M1, M2] - """ - box1 = box1.unsqueeze(2) # [N, M1, 4] -> [N, M1, 1, 4] - box2 = box2.unsqueeze(1) # [N, M2, 4] -> [N, 1, M2, 4] - px1y1, px2y2 = box1[:, :, :, 0:2], box1[:, :, :, 2:4] - gx1y1, gx2y2 = box2[:, :, :, 0:2], box2[:, :, :, 2:4] - x1y1 = paddle.maximum(px1y1, gx1y1) - x2y2 = paddle.minimum(px2y2, gx2y2) - overlap = (x2y2 - x1y1).clip(0).prod(-1) - area1 = (px2y2 - px1y1).clip(0).prod(-1) - area2 = (gx2y2 - gx1y1).clip(0).prod(-1) - union = area1 + area2 - overlap + eps - return overlap / union - - -def bbox_iou(box1, box2, giou=False, diou=False, ciou=False, eps=1e-9): - """calculate the iou of box1 and box2 - - Args: - box1 (list): [x, y, w, h], all have the shape [b, na, h, w, 1] - box2 (list): [x, y, w, h], all have the shape [b, na, h, w, 1] - giou (bool): whether use giou or not, default False - diou (bool): whether use diou or not, default False - ciou (bool): whether use ciou or not, default False - eps (float): epsilon to avoid divide by zero - - Return: - iou (Tensor): iou of box1 and box1, with the shape [b, na, h, w, 1] - """ - px1, py1, px2, py2 = box1 - gx1, gy1, gx2, gy2 = box2 - x1 = paddle.maximum(px1, gx1) - y1 = paddle.maximum(py1, gy1) - x2 = paddle.minimum(px2, gx2) - y2 = paddle.minimum(py2, gy2) - - overlap = ((x2 - x1).clip(0)) * ((y2 - y1).clip(0)) - - area1 = (px2 - px1) * (py2 - py1) - area1 = area1.clip(0) - - area2 = (gx2 - gx1) * (gy2 - gy1) - area2 = area2.clip(0) - - union = area1 + area2 - overlap + eps - iou = overlap / union - - if giou or ciou or diou: - # convex w, h - cw = paddle.maximum(px2, gx2) - paddle.minimum(px1, gx1) - ch = paddle.maximum(py2, gy2) - paddle.minimum(py1, gy1) - if giou: - c_area = cw * ch + eps - return iou - (c_area - union) / c_area - else: - # convex diagonal squared - c2 = cw**2 + ch**2 + eps - # center distance - rho2 = ((px1 + px2 - gx1 - gx2)**2 + (py1 + py2 - gy1 - gy2)**2) / 4 - if diou: - return iou - rho2 / c2 - else: - w1, h1 = px2 - px1, py2 - py1 + eps - w2, h2 = gx2 - gx1, gy2 - gy1 + eps - delta = paddle.atan(w1 / h1) - paddle.atan(w2 / h2) - v = (4 / math.pi**2) * paddle.pow(delta, 2) - alpha = v / (1 + eps - iou + v) - alpha.stop_gradient = True - return iou - (rho2 / c2 + v * alpha) - else: - return iou diff --git a/ppdet/utils/bbox_utils.py b/ppdet/utils/bbox_utils.py deleted file mode 100644 index 63c93976c..000000000 --- a/ppdet/utils/bbox_utils.py +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function - -import numpy as np - -from .logger import setup_logger -logger = setup_logger(__name__) - -__all__ = ["bbox_overlaps", "box_to_delta"] - - -def bbox_overlaps(boxes_1, boxes_2): - ''' - bbox_overlaps - boxes_1: x1, y, x2, y2 - boxes_2: x1, y, x2, y2 - ''' - assert boxes_1.shape[1] == 4 and boxes_2.shape[1] == 4 - - num_1 = boxes_1.shape[0] - num_2 = boxes_2.shape[0] - - x1_1 = boxes_1[:, 0:1] - y1_1 = boxes_1[:, 1:2] - x2_1 = boxes_1[:, 2:3] - y2_1 = boxes_1[:, 3:4] - area_1 = (x2_1 - x1_1 + 1) * (y2_1 - y1_1 + 1) - - x1_2 = boxes_2[:, 0].transpose() - y1_2 = boxes_2[:, 1].transpose() - x2_2 = boxes_2[:, 2].transpose() - y2_2 = boxes_2[:, 3].transpose() - area_2 = (x2_2 - x1_2 + 1) * (y2_2 - y1_2 + 1) - - xx1 = np.maximum(x1_1, x1_2) - yy1 = np.maximum(y1_1, y1_2) - xx2 = np.minimum(x2_1, x2_2) - yy2 = np.minimum(y2_1, y2_2) - - w = np.maximum(0.0, xx2 - xx1 + 1) - h = np.maximum(0.0, yy2 - yy1 + 1) - inter = w * h - - ovr = inter / (area_1 + area_2 - inter) - return ovr - - -def box_to_delta(ex_boxes, gt_boxes, weights): - """ box_to_delta """ - ex_w = ex_boxes[:, 2] - ex_boxes[:, 0] + 1 - ex_h = ex_boxes[:, 3] - ex_boxes[:, 1] + 1 - ex_ctr_x = ex_boxes[:, 0] + 0.5 * ex_w - ex_ctr_y = ex_boxes[:, 1] + 0.5 * ex_h - - gt_w = gt_boxes[:, 2] - gt_boxes[:, 0] + 1 - gt_h = gt_boxes[:, 3] - gt_boxes[:, 1] + 1 - gt_ctr_x = gt_boxes[:, 0] + 0.5 * gt_w - gt_ctr_y = gt_boxes[:, 1] + 0.5 * gt_h - - dx = (gt_ctr_x - ex_ctr_x) / ex_w / weights[0] - dy = (gt_ctr_y - ex_ctr_y) / ex_h / weights[1] - dw = (np.log(gt_w / ex_w)) / weights[2] - dh = (np.log(gt_h / ex_h)) / weights[3] - - targets = np.vstack([dx, dy, dw, dh]).transpose() - return targets diff --git a/ppdet/utils/post_process.py b/ppdet/utils/post_process.py deleted file mode 100644 index 45f9f9908..000000000 --- a/ppdet/utils/post_process.py +++ /dev/null @@ -1,326 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function - -import numpy as np -import cv2 - -from .logger import setup_logger -logger = setup_logger(__name__) - -__all__ = ['nms'] - - -def box_flip(boxes, im_shape): - im_width = im_shape[0][1] - flipped_boxes = boxes.copy() - - flipped_boxes[:, 0::4] = im_width - boxes[:, 2::4] - 1 - flipped_boxes[:, 2::4] = im_width - boxes[:, 0::4] - 1 - return flipped_boxes - - -def nms(dets, thresh): - """Apply classic DPM-style greedy NMS.""" - if dets.shape[0] == 0: - return dets[[], :] - scores = dets[:, 0] - x1 = dets[:, 1] - y1 = dets[:, 2] - x2 = dets[:, 3] - y2 = dets[:, 4] - - areas = (x2 - x1 + 1) * (y2 - y1 + 1) - order = scores.argsort()[::-1] - - ndets = dets.shape[0] - suppressed = np.zeros((ndets), dtype=np.int) - - # nominal indices - # _i, _j - # sorted indices - # i, j - # temp variables for box i's (the box currently under consideration) - # ix1, iy1, ix2, iy2, iarea - - # variables for computing overlap with box j (lower scoring box) - # xx1, yy1, xx2, yy2 - # w, h - # inter, ovr - - for _i in range(ndets): - i = order[_i] - if suppressed[i] == 1: - continue - ix1 = x1[i] - iy1 = y1[i] - ix2 = x2[i] - iy2 = y2[i] - iarea = areas[i] - for _j in range(_i + 1, ndets): - j = order[_j] - if suppressed[j] == 1: - continue - xx1 = max(ix1, x1[j]) - yy1 = max(iy1, y1[j]) - xx2 = min(ix2, x2[j]) - yy2 = min(iy2, y2[j]) - w = max(0.0, xx2 - xx1 + 1) - h = max(0.0, yy2 - yy1 + 1) - inter = w * h - ovr = inter / (iarea + areas[j] - inter) - if ovr >= thresh: - suppressed[j] = 1 - keep = np.where(suppressed == 0)[0] - dets = dets[keep, :] - return dets - - -def soft_nms(dets, sigma, thres): - dets_final = [] - while len(dets) > 0: - maxpos = np.argmax(dets[:, 0]) - dets_final.append(dets[maxpos].copy()) - ts, tx1, ty1, tx2, ty2 = dets[maxpos] - scores = dets[:, 0] - # force remove bbox at maxpos - scores[maxpos] = -1 - x1 = dets[:, 1] - y1 = dets[:, 2] - x2 = dets[:, 3] - y2 = dets[:, 4] - areas = (x2 - x1 + 1) * (y2 - y1 + 1) - xx1 = np.maximum(tx1, x1) - yy1 = np.maximum(ty1, y1) - xx2 = np.minimum(tx2, x2) - yy2 = np.minimum(ty2, y2) - w = np.maximum(0.0, xx2 - xx1 + 1) - h = np.maximum(0.0, yy2 - yy1 + 1) - inter = w * h - ovr = inter / (areas + areas[maxpos] - inter) - weight = np.exp(-(ovr * ovr) / sigma) - scores = scores * weight - idx_keep = np.where(scores >= thres) - dets[:, 0] = scores - dets = dets[idx_keep] - dets_final = np.array(dets_final).reshape(-1, 5) - return dets_final - - -def bbox_area(box): - w = box[2] - box[0] + 1 - h = box[3] - box[1] + 1 - return w * h - - -def bbox_overlaps(x, y): - N = x.shape[0] - K = y.shape[0] - overlaps = np.zeros((N, K), dtype=np.float32) - for k in range(K): - y_area = bbox_area(y[k]) - for n in range(N): - iw = min(x[n, 2], y[k, 2]) - max(x[n, 0], y[k, 0]) + 1 - if iw > 0: - ih = min(x[n, 3], y[k, 3]) - max(x[n, 1], y[k, 1]) + 1 - if ih > 0: - x_area = bbox_area(x[n]) - ua = x_area + y_area - iw * ih - overlaps[n, k] = iw * ih / ua - return overlaps - - -def box_voting(nms_dets, dets, vote_thresh): - top_dets = nms_dets.copy() - top_boxes = nms_dets[:, 1:] - all_boxes = dets[:, 1:] - all_scores = dets[:, 0] - top_to_all_overlaps = bbox_overlaps(top_boxes, all_boxes) - for k in range(nms_dets.shape[0]): - inds_to_vote = np.where(top_to_all_overlaps[k] >= vote_thresh)[0] - boxes_to_vote = all_boxes[inds_to_vote, :] - ws = all_scores[inds_to_vote] - top_dets[k, 1:] = np.average(boxes_to_vote, axis=0, weights=ws) - - return top_dets - - -def get_nms_result(boxes, - scores, - config, - num_classes, - background_label=0, - labels=None): - has_labels = labels is not None - cls_boxes = [[] for _ in range(num_classes)] - start_idx = 1 if background_label == 0 else 0 - for j in range(start_idx, num_classes): - inds = np.where(labels == j)[0] if has_labels else np.where( - scores[:, j] > config['score_thresh'])[0] - scores_j = scores[inds] if has_labels else scores[inds, j] - boxes_j = boxes[inds, :] if has_labels else boxes[inds, j * 4:(j + 1) * - 4] - dets_j = np.hstack((scores_j[:, np.newaxis], boxes_j)).astype( - np.float32, copy=False) - if config.get('use_soft_nms', False): - nms_dets = soft_nms(dets_j, config['sigma'], config['nms_thresh']) - else: - nms_dets = nms(dets_j, config['nms_thresh']) - if config.get('enable_voting', False): - nms_dets = box_voting(nms_dets, dets_j, config['vote_thresh']) - #add labels - label = np.array([j for _ in range(len(nms_dets))]) - nms_dets = np.hstack((label[:, np.newaxis], nms_dets)).astype( - np.float32, copy=False) - cls_boxes[j] = nms_dets - # Limit to max_per_image detections **over all classes** - image_scores = np.hstack( - [cls_boxes[j][:, 1] for j in range(start_idx, num_classes)]) - if len(image_scores) > config['detections_per_im']: - image_thresh = np.sort(image_scores)[-config['detections_per_im']] - for j in range(start_idx, num_classes): - keep = np.where(cls_boxes[j][:, 1] >= image_thresh)[0] - cls_boxes[j] = cls_boxes[j][keep, :] - - im_results = np.vstack( - [cls_boxes[j] for j in range(start_idx, num_classes)]) - return im_results - - -def mstest_box_post_process(result, config, num_classes): - """ - Multi-scale Test - Only available for batch_size=1 now. - """ - post_bbox = {} - use_flip = False - ms_boxes = [] - ms_scores = [] - im_shape = result['im_shape'][0] - for k in result.keys(): - if 'bbox' in k: - boxes = result[k][0] - boxes = np.reshape(boxes, (-1, 4 * num_classes)) - scores = result['score' + k[4:]][0] - if 'flip' in k: - boxes = box_flip(boxes, im_shape) - use_flip = True - ms_boxes.append(boxes) - ms_scores.append(scores) - - ms_boxes = np.concatenate(ms_boxes) - ms_scores = np.concatenate(ms_scores) - bbox_pred = get_nms_result(ms_boxes, ms_scores, config, num_classes) - post_bbox.update({'bbox': (bbox_pred, [[len(bbox_pred)]])}) - if use_flip: - bbox = bbox_pred[:, 2:] - bbox_flip = np.append( - bbox_pred[:, :2], box_flip(bbox, im_shape), axis=1) - post_bbox.update({'bbox_flip': (bbox_flip, [[len(bbox_flip)]])}) - return post_bbox - - -def mstest_mask_post_process(result, cfg): - mask_list = [] - im_shape = result['im_shape'][0] - M = cfg.FPNRoIAlign['mask_resolution'] - for k in result.keys(): - if 'mask' in k: - masks = result[k][0] - if len(masks.shape) != 4: - masks = np.zeros((0, M, M)) - mask_list.append(masks) - continue - if 'flip' in k: - masks = masks[:, :, :, ::-1] - mask_list.append(masks) - - mask_pred = np.mean(mask_list, axis=0) - return {'mask': (mask_pred, [[len(mask_pred)]])} - - -def mask_encode(results, resolution, thresh_binarize=0.5): - import pycocotools.mask as mask_util - from ppdet.utils.coco_eval import expand_boxes - scale = (resolution + 2.0) / resolution - bboxes = results['bbox'][0] - masks = results['mask'][0] - lengths = results['mask'][1][0] - im_shapes = results['im_shape'][0] - segms = [] - if bboxes.shape == (1, 1) or bboxes is None: - return segms - if len(bboxes.tolist()) == 0: - return segms - - s = 0 - # for each sample - for i in range(len(lengths)): - num = lengths[i] - im_shape = im_shapes[i] - - bbox = bboxes[s:s + num][:, 2:] - clsid_scores = bboxes[s:s + num][:, 0:2] - mask = masks[s:s + num] - s += num - - im_h = int(im_shape[0]) - im_w = int(im_shape[1]) - expand_bbox = expand_boxes(bbox, scale) - expand_bbox = expand_bbox.astype(np.int32) - padded_mask = np.zeros( - (resolution + 2, resolution + 2), dtype=np.float32) - - for j in range(num): - xmin, ymin, xmax, ymax = expand_bbox[j].tolist() - clsid, score = clsid_scores[j].tolist() - clsid = int(clsid) - padded_mask[1:-1, 1:-1] = mask[j, clsid, :, :] - - w = xmax - xmin + 1 - h = ymax - ymin + 1 - w = np.maximum(w, 1) - h = np.maximum(h, 1) - resized_mask = cv2.resize(padded_mask, (w, h)) - resized_mask = np.array( - resized_mask > thresh_binarize, dtype=np.uint8) - im_mask = np.zeros((im_h, im_w), dtype=np.uint8) - - x0 = min(max(xmin, 0), im_w) - x1 = min(max(xmax + 1, 0), im_w) - y0 = min(max(ymin, 0), im_h) - y1 = min(max(ymax + 1, 0), im_h) - - im_mask[y0:y1, x0:x1] = resized_mask[(y0 - ymin):(y1 - ymin), ( - x0 - xmin):(x1 - xmin)] - segm = mask_util.encode( - np.array( - im_mask[:, :, np.newaxis], order='F'))[0] - segms.append(segm) - return segms - - -def corner_post_process(results, config, num_classes): - detections = results['bbox'][0] - keep_inds = (detections[:, 1] > -1) - detections = detections[keep_inds] - labels = detections[:, 0] - scores = detections[:, 1] - boxes = detections[:, 2:6] - cls_boxes = get_nms_result( - boxes, scores, config, num_classes, background_label=-1, labels=labels) - results.update({'bbox': (cls_boxes, [[len(cls_boxes)]])}) -- Gitee From 395d07d3647001ab29ee549cf049da5f720e1fcb Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Wed, 7 Apr 2021 16:56:51 +0800 Subject: [PATCH 18/90] [cherry-pick]add docs for custom dataset, reader and model technical (#2538) * add docs for custom dataset, reader and model technical * modify docs according to review, test=document_fix * modify READER.md, test=document_fix --- README.md | 3 + docs/advanced_tutorials/MODEL_TECHNICAL.md | 407 +++++++++++++++++++++ docs/advanced_tutorials/READER.md | 328 +++++++++++++++++ docs/images/model_figure.png | Bin 0 -> 151313 bytes docs/images/reader_figure.png | Bin 0 -> 199679 bytes docs/tutorials/PrepareDataSet.md | 4 +- ppdet/data/tools/x2coco.py | 306 ---------------- 7 files changed, 740 insertions(+), 308 deletions(-) create mode 100644 docs/advanced_tutorials/MODEL_TECHNICAL.md create mode 100644 docs/advanced_tutorials/READER.md create mode 100644 docs/images/model_figure.png create mode 100644 docs/images/reader_figure.png delete mode 100644 ppdet/data/tools/x2coco.py diff --git a/README.md b/README.md index 38e5d725e..4cd16570b 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,9 @@ PaddleDetection模块化地实现了多种主流目标检测算法,提供了 - [C++端推理部署](deploy/cpp) - [服务端部署](deploy/serving) - [推理benchmark](deploy/BENCHMARK_INFER.md) +- [进阶开发] + - [数据处理模块](docs/advanced_tutorials/READER.md) + - [新增检测模型](docs/advanced_tutorials/MODEL_TECHNICAL.md) ## 模型库 diff --git a/docs/advanced_tutorials/MODEL_TECHNICAL.md b/docs/advanced_tutorials/MODEL_TECHNICAL.md new file mode 100644 index 000000000..614f0985e --- /dev/null +++ b/docs/advanced_tutorials/MODEL_TECHNICAL.md @@ -0,0 +1,407 @@ +# 新增模型算法 +为了让用户更好的使用PaddleDetection,本文档中,我们将介绍PaddleDetection的主要模型技术细节及应用 + +## 目录 +- [1.简介](#1.简介) +- [2.新增模型](#2.新增模型) + - [2.1新增网络结构](#2.1新增网络结构) + - [2.1.1新增Backbone](#2.1.1新增Backbone) + - [2.1.2新增Neck](#2.1.2新增Neck) + - [2.1.3新增Head](#2.1.3新增Head) + - [2.1.4新增Loss](#2.1.4新增Loss) + - [2.1.5新增后处理模块](#2.1.5新增后处理模块) + - [2.1.6新增Architecture](#2.1.6新增Architecture) + - [2.2新增配置文件](#2.2新增配置文件) + - [2.2.1网络结构配置文件](#2.2.1网络结构配置文件) + - [2.2.2优化器配置文件](#2.2.2优化器配置文件) + - [2.2.3Reader配置文件](#2.2.3Reader配置文件) + +### 1.简介 +PaddleDetecion中的每一种模型对应一个文件夹,以yolov3为例,yolov3系列的模型对应于`configs/yolov3`文件夹,其中yolov3_darknet的总配置文件`configs/yolov3/yolov3_darknet53_270e_coco.yml`的内容如下: +``` +_BASE_: [ + '../datasets/coco_detection.yml', # 数据集配置文件,所有模型共用 + '../runtime.yml', # 运行时相关配置 + '_base_/optimizer_270e.yml', # 优化器相关配置 + '_base_/yolov3_darknet53.yml', # yolov3网络结构配置文件 + '_base_/yolov3_reader.yml', # yolov3 Reader模块配置 +] + +# 定义在此处的相关配置可以覆盖上述文件中的同名配置 +snapshot_epoch: 5 +weights: output/yolov3_darknet53_270e_coco/model_final +``` +可以看到,配置文件中的模块进行了清晰的划分,除了公共的数据集配置以及运行时配置,其他配置被划分为优化器,网络结构以及Reader模块。PaddleDetection中支持丰富的优化器,学习率调整策略,预处理算子等,因此大多数情况下不需要编写优化器以及Reader相关的代码,而只需要在配置文件中配置即可。因此,新增一个模型的主要在于搭建网络结构。 + +PaddleDetection网络结构的代码在`ppdet/modeling/`中,所有网络结构以组件的形式进行定义与组合,网络结构的主要构成如下所示: +``` + ppdet/modeling/ + ├── architectures + │ ├── faster_rcnn.py # Faster Rcnn模型 + │ ├── ssd.py # SSD模型 + │ ├── yolo.py # YOLOv3模型 + │ │ ... + ├── heads # 检测头模块 + │ ├── xxx_head.py # 定义各类检测头 + │ ├── roi_extractor.py #检测感兴趣区域提取 + ├── backbones # 基干网络模块 + │ ├── resnet.py # ResNet网络 + │ ├── mobilenet.py # MobileNet网络 + │ │ ... + ├── losses # 损失函数模块 + │ ├── xxx_loss.py # 定义注册各类loss函数 + ├── necks # 特征融合模块 + │ ├── xxx_fpn.py # 定义各种FPN模块 + ├── proposal_generator # anchor & proposal生成与匹配模块 + │ ├── anchor_generator.py # anchor生成模块 + │ ├── proposal_generator.py # proposal生成模块 + │ ├── target.py # anchor & proposal的匹配函数 + │ ├── target_layer.py # anchor & proposal的匹配模块 + ├── tests # 单元测试模块 + │ ├── test_xxx.py # 对网络中的算子以及模块结构进行单元测试 + ├── ops.py # 封装各类PaddlePaddle物体检测相关公共检测组件/算子 + ├── layers.py # 封装及注册各类PaddlePaddle物体检测相关公共检测组件/算子 + ├── bbox_utils.py # 封装检测框相关的函数 + ├── post_process.py # 封装及注册后处理相关模块 + ├── shape_spec.py # 定义模块输出shape的类 +``` + +![](../images/model_figure.png) + +### 2.新增模型 +接下来,以单阶段检测器YOLOv3为例,对建立模型过程进行详细描述,按照此思路您可以快速搭建新的模型。 + +#### 2.1新增网络结构 + +##### 2.1.1新增Backbone + +PaddleDetection中现有所有Backbone网络代码都放置在`ppdet/modeling/backbones`目录下,所以我们在其中新建`darknet.py`如下: +```python +import paddle.nn as nn +from ppdet.core.workspace import register, serializable + +@register +@serializable +class DarkNet(nn.Layer): + + __shared__ = ['norm_type'] + + def __init__(self, + depth=53, + return_idx=[2, 3, 4], + norm_type='bn', + norm_decay=0.): + super(DarkNet, self).__init__() + # 省略内容 + + def forward(self, inputs): + # 省略处理逻辑 + pass + + @property + def out_shape(self): + # 省略内容 + pass +``` +然后在`backbones/__init__.py`中加入引用: +```python +from . import darknet +from .darknet import * +``` +**几点说明:** +- 为了在yaml配置文件中灵活配置网络,所有Backbone需要利用`ppdet.core.workspace`里的`register`进行注册,形式请参考如上示例。此外,可以使用`serializable`以使backbone支持序列化; +- 所有的Backbone需继承`paddle.nn.Layer`类,并实现forward函数。此外,还需实现out_shape属性定义输出的feature map的channel信息,具体可参见源码; +- `__shared__`为了实现一些参数的配置全局共享,这些参数可以被backbone, neck,head,loss等所有注册模块共享。 + +##### 2.1.2新增Neck +特征融合模块放置在`ppdet/modeling/necks`目录下,我们在其中新建`yolo_fpn.py`如下: + +``` python +import paddle.nn as nn +from ppdet.core.workspace import register, serializable + +@register +@serializable +class YOLOv3FPN(nn.Layer): + __shared__ = ['norm_type'] + + def __init__(self, + in_channels=[256, 512, 1024], + norm_type='bn'): + super(YOLOv3FPN, self).__init__() + # 省略内容 + + def forward(self, blocks): + # 省略内容 + pass + + @classmethod + def from_config(cls, cfg, input_shape): + # 省略内容 + pass + + @property + def out_shape(self): + # 省略内容 + pass +``` +然后在`necks/__init__.py`中加入引用: +```python +from . import yolo_fpn +from .yolo_fpn import * +``` +**几点说明:** +- neck模块需要使用`register`进行注册,可以使用`serializable`进行序列化; +- neck模块需要继承`paddle.nn.Layer`类,并实现forward函数。除此之外,还需要实现`out_shape`属性,用于定义输出的feature map的channel信息,还需要实现类函数`from_config`用于在配置文件中推理出输入channel,并用于`YOLOv3FPN`的初始化; +- neck模块可以使用`__shared__`实现一些参数的配置全局共享。 + +##### 2.1.3新增Head +Head模块全部存放在`ppdet/modeling/heads`目录下,我们在其中新建`yolo_head.py`如下 +``` python +import paddle.nn as nn +from ppdet.core.workspace import register + +@register +class YOLOv3Head(nn.Layer): + __shared__ = ['num_classes'] + __inject__ = ['loss'] + + def __init__(self, + anchors=[[10, 13], [16, 30], [33, 23], + [30, 61], [62, 45],[59, 119], + [116, 90], [156, 198], [373, 326]], + anchor_masks=[[6, 7, 8], [3, 4, 5], [0, 1, 2]], + num_classes=80, + loss='YOLOv3Loss', + iou_aware=False, + iou_aware_factor=0.4): + super(YOLOv3Head, self).__init__() + # 省略内容 + + def forward(self, feats, targets=None): + # 省略内容 + pass +``` +然后在`heads/__init__.py`中加入引用: +```python +from . import yolo_head +from .yolo_head import * +``` +**几点说明:** +- Head模块需要使用`register`进行注册; +- Head模块需要继承`paddle.nn.Layer`类,并实现forward函数。 +- `__inject__`表示引入全局字典中已经封装好的模块。如loss等。 + +##### 2.1.4新增Loss +Loss模块全部存放在`ppdet/modeling/losses`目录下,我们在其中新建`yolo_loss.py`下 +```python +import paddle.nn as nn +from ppdet.core.workspace import register + +@register +class YOLOv3Loss(nn.Layer): + + __inject__ = ['iou_loss', 'iou_aware_loss'] + __shared__ = ['num_classes'] + + def __init__(self, + num_classes=80, + ignore_thresh=0.7, + label_smooth=False, + downsample=[32, 16, 8], + scale_x_y=1., + iou_loss=None, + iou_aware_loss=None): + super(YOLOv3Loss, self).__init__() + # 省略内容 + + def forward(self, inputs, targets, anchors): + # 省略内容 + pass +``` +然后在`losses/__init__.py`中加入引用: +```python +from . import yolo_loss +from .yolo_loss import * +``` +**几点说明:** +- loss模块需要使用`register`进行注册; +- loss模块需要继承`paddle.nn.Layer`类,并实现forward函数。 +- 可以使用`__inject__`表示引入全局字典中已经封装好的模块,使用`__shared__`可以实现一些参数的配置全局共享。 + +##### 2.1.5新增后处理模块 +后处理模块定义在`ppdet/modeling/post_process.py`中,其中定义了`BBoxPostProcess`类来进行后处理操作,如下所示: +``` python +from ppdet.core.workspace import register + +@register +class BBoxPostProcess(object): + __shared__ = ['num_classes'] + __inject__ = ['decode', 'nms'] + + def __init__(self, num_classes=80, decode=None, nms=None): + # 省略内容 + pass + + def __call__(self, head_out, rois, im_shape, scale_factor): + # 省略内容 + pass +``` +**几点说明:** +- 后处理模块需要使用`register`进行注册 +- `__inject__`注入了全局字典中封装好的模块,如decode和nms等。decode和nms定义在`ppdet/modeling/layers.py`中。 + +##### 2.1.6新增Architecture + +所有architecture网络代码都放置在`ppdet/modeling/architectures`目录下,`meta_arch.py`中定义了`BaseArch`类,代码如下: +``` python +import paddle.nn as nn +from ppdet.core.workspace import register + +@register +class BaseArch(nn.Layer): + def __init__(self): + super(BaseArch, self).__init__() + + def forward(self, inputs): + self.inputs = inputs + self.model_arch() + + if self.training: + out = self.get_loss() + else: + out = self.get_pred() + return out + + def model_arch(self, ): + pass + + def get_loss(self, ): + raise NotImplementedError("Should implement get_loss method!") + + def get_pred(self, ): + raise NotImplementedError("Should implement get_pred method!") +``` +所有的architecture需要继承`BaseArch`类,如`yolo.py`中的`YOLOv3`定义如下: +``` python +@register +class YOLOv3(BaseArch): + __category__ = 'architecture' + __inject__ = ['post_process'] + + def __init__(self, + backbone='DarkNet', + neck='YOLOv3FPN', + yolo_head='YOLOv3Head', + post_process='BBoxPostProcess'): + super(YOLOv3, self).__init__() + self.backbone = backbone + self.neck = neck + self.yolo_head = yolo_head + self.post_process = post_process + + @classmethod + def from_config(cls, cfg, *args, **kwargs): + # 省略内容 + pass + + def get_loss(self): + # 省略内容 + pass + + def get_pred(self): + # 省略内容 + pass +``` + +**几点说明:** +- 所有的architecture需要使用`register`进行注册 +- 在组建一个完整的网络时必须要设定`__category__ = 'architecture'`来表示一个完整的物体检测模型; +- backbone, neck, yolo_head以及post_process等检测组件传入到architecture中组成最终的网络。像这样将检测模块化,提升了检测模型的复用性,可以通过组合不同的检测组件得到多个模型。 +- from_config类函数实现了模块间组合时channel的自动配置。 + +#### 2.2新增配置文件 + +##### 2.2.1网络结构配置文件 +上面详细地介绍了如何新增一个architecture,接下来演示如何配置一个模型,yolov3关于网络结构的配置在`configs/yolov3/_base_/`文件夹中定义,如`yolov3_darknet53.yml`定义了yolov3_darknet的网络结构,其定义如下: +``` +architecture: YOLOv3 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/DarkNet53_pretrained.pdparams +norm_type: sync_bn + +YOLOv3: + backbone: DarkNet + neck: YOLOv3FPN + yolo_head: YOLOv3Head + post_process: BBoxPostProcess + +DarkNet: + depth: 53 + return_idx: [2, 3, 4] + +# use default config +# YOLOv3FPN: + +YOLOv3Head: + anchors: [[10, 13], [16, 30], [33, 23], + [30, 61], [62, 45], [59, 119], + [116, 90], [156, 198], [373, 326]] + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + loss: YOLOv3Loss + +YOLOv3Loss: + ignore_thresh: 0.7 + downsample: [32, 16, 8] + label_smooth: false + +BBoxPostProcess: + decode: + name: YOLOBox + conf_thresh: 0.005 + downsample_ratio: 32 + clip_bbox: true + nms: + name: MultiClassNMS + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.45 + nms_top_k: 1000 + +``` +可以看到在配置文件中,首先需要指定网络的architecture,pretrain_weights指定训练模型的url或者路径,norm_type等可以作为全局参数共享。模型的定义自上而下依次在文件中定义,与上节中的模型组件一一对应。对于一些模型组件,如果采用默认 +的参数,可以不用配置,如上文中的`yolo_fpn`。通过改变相关配置,我们可以轻易地组合出另一个模型,比如`configs/yolov3/_base_/yolov3_mobilenet_v1.yml`将backbone从Darknet切换成MobileNet。 + +##### 2.2.2优化器配置文件 +优化器配置文件定义模型使用的优化器以及学习率的调度策略,目前PaddleDetection中已经集成了多种多样的优化器和学习率策略,具体可参见代码`ppdet/optimizer.py`。比如,yolov3的优化器配置文件定义在`configs/yolov3/_base_/optimizer_270e.yml`,其定义如下: +``` +epoch: 270 + +LearningRate: + base_lr: 0.001 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + # epoch数目 + - 216 + - 243 + - !LinearWarmup + start_factor: 0. + steps: 4000 + +OptimizerBuilder: + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0005 + type: L2 +``` +**几点说明:** +- 可以通过OptimizerBuilder.optimizer指定优化器的类型及参数,目前支持的优化可以参考[PaddlePaddle官方文档](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/optimizer/Overview_cn.html) +- 可以设置LearningRate.schedulers设置不同学习率调整策略的组合,PaddlePaddle目前支持多种学习率调整策略,具体也可参考[PaddlePaddle官方文档](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/optimizer/Overview_cn.html)。需要注意的是,你需要对于PaddlePaddle中的学习率调整策略进行简单的封装,具体可参考源码`ppdet/optimizer.py`。 + +##### 2.2.3Reader配置文件 +关于Reader的配置可以参考[Reader配置文档](./READER.md#5.配置及运行)。 + +> 看过此文档,您应该对PaddleDetection中模型搭建与配置有了一定经验,结合源码会理解的更加透彻。关于模型技术,如您有其他问题或建议,请给我们提issue,我们非常欢迎您的反馈。 diff --git a/docs/advanced_tutorials/READER.md b/docs/advanced_tutorials/READER.md new file mode 100644 index 000000000..32df651c7 --- /dev/null +++ b/docs/advanced_tutorials/READER.md @@ -0,0 +1,328 @@ +# 数据处理模块 + +## 目录 +- [1.简介](#1.简介) +- [2.数据集](#2.数据集) + - [2.1COCO数据集](#2.1COCO数据集) + - [2.2Pascal VOC数据集](#2.2Pascal-VOC数据集) + - [2.3自定义数据集](#2.3自定义数据集) +- [3.数据预处理](#3.数据预处理) + - [3.1数据增强算子](#3.1数据增强算子) + - [3.2自定义数据增强算子](#3.2自定义数据增强算子) +- [4.Raeder](#4.Reader) +- [5.配置及运行](#5.配置及运行) + - [5.1配置](#5.1配置) + - [5.2运行](#5.2运行) + +### 1.简介 +PaddleDetection的数据处理模块的所有代码逻辑在`ppdet/data/`中,数据处理模块用于加载数据并将其转换成适用于物体检测模型的训练、评估、推理所需要的格式。 +数据处理模块的主要构成如下架构所示: +```bash + ppdet/data/ + ├── reader.py # 基于Dataloader封装的Reader模块 + ├── source # 数据源管理模块 + │ ├── dataset.py # 定义数据源基类,各类数据集继承于此 + │ ├── coco.py # COCO数据集解析与格式化数据 + │ ├── voc.py # Pascal VOC数据集解析与格式化数据 + │ ├── widerface.py # WIDER-FACE数据集解析与格式化数据 + │ ├── category.py # 相关数据集的类别信息 + ├── transform # 数据预处理模块 + │ ├── batch_operators.py # 定义各类基于批量数据的预处理算子 + │ ├── op_helper.py # 预处理算子的辅助函数 + │ ├── operators.py # 定义各类基于单张图片的预处理算子 + │ ├── gridmask_utils.py # GridMask数据增强函数 + │ ├── autoaugment_utils.py # AutoAugment辅助函数 + ├── shm_utils.py # 用于使用共享内存的辅助函数 + ``` + + +### 2.数据集 +数据集定义在`source`目录下,其中`dataset.py`中定义了数据集的基类`DetDataSet`, 所有的数据集均继承于基类,`DetDataset`基类里定义了如下等方法: + +| 方法 | 输入 | 输出 | 备注 | +| :------------------------: | :----: | :------------: | :--------------: | +| \_\_len\_\_ | 无 | int, 数据集中样本的数量 | 过滤掉了无标注的样本 | +| \_\_getitem\_\_ | int, 样本的索引idx | dict, 索引idx对应的样本roidb | 得到transform之后的样本roidb | +| check_or_download_dataset | 无 | 无 | 检查数据集是否存在,如果不存在则下载,目前支持COCO, VOC,widerface等数据集 | +| set_kwargs | 可选参数,以键值对的形式给出 | 无 | 目前用于支持接收mixup, cutmix等参数的设置 | +| set_transform | 一系列的transform函数 | 无 | 设置数据集的transform函数 | +| set_epoch | int, 当前的epoch | 无 | 用于dataset与训练过程的交互 | +| parse_dataset | 无 | 无 | 用于从数据中读取所有的样本 | +| get_anno | 无 | 无 | 用于获取标注文件的路径 | + +当一个数据集类继承自`DetDataSet`,那么它只需要实现parse_dataset函数即可。parse_dataset根据数据集设置的数据集根路径dataset_dir,图片文件夹image_dir, 标注文件路径anno_path取出所有的样本,并将其保存在一个列表roidbs中,每一个列表中的元素为一个样本xxx_rec(比如coco_rec或者voc_rec),用dict表示,dict中包含样本的image, gt_bbox, gt_class等字段。COCO和Pascal-VOC数据集中的xxx_rec的数据结构定义如下: + ```python + xxx_rec = { + 'im_file': im_fname, # 一张图像的完整路径 + 'im_id': np.array([img_id]), # 一张图像的ID序号 + 'h': im_h, # 图像高度 + 'w': im_w, # 图像宽度 + 'is_crowd': is_crowd, # 是否是群落对象, 默认为0 (VOC中无此字段) + 'gt_class': gt_class, # 标注框标签名称的ID序号 + 'gt_bbox': gt_bbox, # 标注框坐标(xmin, ymin, xmax, ymax) + 'gt_poly': gt_poly, # 分割掩码,此字段只在coco_rec中出现,默认为None + 'difficult': difficult # 是否是困难样本,此字段只在voc_rec中出现,默认为0 + } + ``` + +xxx_rec中的内容也可以通过`DetDataSet`的data_fields参数来控制,即可以过滤掉一些不需要的字段,但大多数情况下不需要修改,按照`configs/dataset`中的默认配置即可。 + +此外,在parse_dataset函数中,保存了类别名到id的映射的一个字典`cname2cid`。在coco数据集中,会利用[COCO API](https://github.com/cocodataset/cocoapi)从标注文件中加载数据集的类别名,并设置此字典。在voc数据集中,如果设置`use_default_label=False`,将从`label_list.txt`中读取类别列表,反之将使用voc默认的类别列表。 + +#### 2.1COCO数据集 +COCO数据集目前分为COCO2014和COCO2017,主要由json文件和image文件组成,其组织结构如下所示: + + ``` + dataset/coco/ + ├── annotations + │ ├── instances_train2014.json + │ ├── instances_train2017.json + │ ├── instances_val2014.json + │ ├── instances_val2017.json + │ │ ... + ├── train2017 + │ ├── 000000000009.jpg + │ ├── 000000580008.jpg + │ │ ... + ├── val2017 + │ ├── 000000000139.jpg + │ ├── 000000000285.jpg + │ │ ... + ``` + +在`source/coco.py`中定义并注册了`COCODataSet`数据集类,其继承自`DetDataSet`,并实现了parse_dataset方法,调用[COCO API](https://github.com/cocodataset/cocoapi)加载并解析COCO格式数据源`roidbs`和`cname2cid`,具体可参见`source/coco.py`源码。将其他数据集转换成COCO格式可以参考[用户数据转成COCO数据](../tutorials/PrepareDataSet.md#用户数据转成COCO数据) + +#### 2.2Pascal VOC数据集 +该数据集目前分为VOC2007和VOC2012,主要由xml文件和image文件组成,其组织结构如下所示: +``` + dataset/voc/ + ├── trainval.txt + ├── test.txt + ├── label_list.txt (optional) + ├── VOCdevkit/VOC2007 + │ ├── Annotations + │ ├── 001789.xml + │ │ ... + │ ├── JPEGImages + │ ├── 001789.jpg + │ │ ... + │ ├── ImageSets + │ | ... + ├── VOCdevkit/VOC2012 + │ ├── Annotations + │ ├── 2011_003876.xml + │ │ ... + │ ├── JPEGImages + │ ├── 2011_003876.jpg + │ │ ... + │ ├── ImageSets + │ │ ... + ``` +在`source/voc.py`中定义并注册了`VOCDataSet`数据集,它继承自`DetDataSet`基类,并重写了`parse_dataset`方法,解析VOC数据集中xml格式标注文件,更新`roidbs`和`cname2cid`。将其他数据集转换成VOC格式可以参考[用户数据转成VOC数据](../tutorials/PrepareDataSet.md#用户数据转成VOC数据) + +#### 2.3自定义数据集 +如果COCODataSet和VOCDataSet不能满足你的需求,可以通过自定义数据集的方式来加载你的数据集。只需要以下两步即可实现自定义数据集 + +1. 新建`source/xxx.py`,定义类`XXXDataSet`继承自`DetDataSet`基类,完成注册与序列化,并重写`parse_dataset`方法对`roidbs`与`cname2cid`更新: + ```python + from ppdet.core.workspace import register, serializable + + #注册并序列化 + @register + @serializable + class XXXDataSet(DetDataSet): + def __init__(self, + dataset_dir=None, + image_dir=None, + anno_path=None, + ... + ): + self.roidbs = None + self.cname2cid = None + ... + + def parse_dataset(self): + ... + 省略具体解析数据逻辑 + ... + self.roidbs, self.cname2cid = records, cname2cid + ``` + +2. 在`source/__init__.py`中添加引用: + ```python + from . import xxx + from .xxx import * + ``` +完成以上两步就将新的数据源`XXXDataSet`添加好了,你可以参考[配置及运行](#配置及运行)实现自定义数据集的使用。 + +### 3.数据预处理 + +#### 3.1数据增强算子 +PaddleDetection中支持了种类丰富的数据增强算子,有单图像数据增强算子与批数据增强算子两种方式,您可选取合适的算子组合使用。单图像数据增强算子定义在`transform/operators.py`中,已支持的单图像数据增强算子详见下表: + +| 名称 | 作用 | +| :---------------------: | :--------------: | +| Decode | 从图像文件或内存buffer中加载图像,格式为RGB格式 | +| Permute | 假如输入是HWC顺序变成CHW | +| RandomErasingImage | 对图像进行随机擦除 | +| NormalizeImage | 对图像像素值进行归一化,如果设置is_scale=True,则先将像素值除以255.0, 再进行归一化。 | +| GridMask | GridMask数据增广 | +| RandomDistort | 随机扰动图片亮度、对比度、饱和度和色相 | +| AutoAugment | AutoAugment数据增广,包含一系列数据增强方法 | +| RandomFlip | 随机水平翻转图像 | +| Resize | 对于图像进行resize,并对标注进行相应的变换 | +| MultiscaleTestResize | 将图像重新缩放为多尺度list的每个尺寸 | +| RandomResize | 对于图像进行随机Resize,可以Resize到不同的尺寸以及使用不同的插值策略 | +| RandomExpand | 将原始图片放入用像素均值填充的扩张图中,对此图进行裁剪、缩放和翻转 | +| CropWithSampling | 根据缩放比例、长宽比例生成若干候选框,再依据这些候选框和标注框的面积交并比(IoU)挑选出符合要求的裁剪结果 | +| CropImageWithDataAchorSampling | 基于CropImage,在人脸检测中,随机将图片尺度变换到一定范围的尺度,大大增强人脸的尺度变化 | +| RandomCrop | 原理同CropImage,以随机比例与IoU阈值进行处理 | +| RandomScaledCrop | 根据长边对图像进行随机裁剪,并对标注做相应的变换 | +| Cutmix | Cutmix数据增强,对两张图片做拼接 | +| Mixup | Mixup数据增强,按比例叠加两张图像 | +| NormalizeBox | 对bounding box进行归一化 | +| PadBox | 如果bounding box的数量少于num_max_boxes,则将零填充到bbox | +| BboxXYXY2XYWH | 将bounding box从(xmin,ymin,xmax,ymin)形式转换为(xmin,ymin,width,height)格式 | +| Pad | 将图片Pad某一个数的整数倍或者指定的size,并支持指定Pad的方式 | +| Poly2Mask | Poly2Mask数据增强 | + +批数据增强算子定义在`transform/batch_operators.py`中, 目前支持的算子列表如下: +| 名称 | 作用 | +| :---------------------: | :--------------: | +| PadBatch | 随机对每个batch的数据图片进行Pad操作,使得batch中的图片具有相同的shape | +| BatchRandomResize | 对一个batch的图片进行resize,使得batch中的图片随机缩放到相同的尺寸 | +| Gt2YoloTarget | 通过gt数据生成YOLO系列模型的目标 | +| Gt2FCOSTarget | 通过gt数据生成FCOS模型的目标 | +| Gt2TTFTarget | 通过gt数据生成TTFNet模型的目标 | +| Gt2Solov2Target | 通过gt数据生成SOLOv2模型的目标 | + +**几点说明:** +- 数据增强算子的输入为sample或者samples,每一个sample对应上文所说的`DetDataSet`输出的roidbs中的一个样本,如coco_rec或者voc_rec +- 单图像数据增强算子(Mixup, Cutmix等除外)也可用于批数据处理中。但是,单图像处理算子和批图像处理算子仍有一些差异,以RandomResize和BatchRandomResize为例,RandomResize会将一个Batch中的每张图片进行随机缩放,但是每一张图像Resize之后的形状不尽相同,BatchRandomResize则会将一个Batch中的所有图片随机缩放到相同的形状。 +- 除BatchRandomResize外,定义在`transform/batch_operators.py`的批数据增强算子接收的输入图像均为CHW形式,所以使用这些批数据增强算子前请先使用Permute进行处理。如果用到Gt2xxxTarget算子,需要将其放置在靠后的位置。NormalizeBox算子建议放置在Gt2xxxTarget之前。将这些限制条件总结下来,推荐的预处理算子的顺序为 + ``` + - XXX: {} + - ... + - BatchRandomResize: {...} # 如果不需要,可以移除,如果需要,放置在Permute之前 + - Permute: {} # 必须项 + - NormalizeBox: {} # 如果需要,建议放在Gt2XXXTarget之前 + - PadBatch: {...} # 如果不需要可移除,如果需要,建议放置在Permute之后 + - Gt2XXXTarget: {...} # 建议与PadBatch放置在最后的位置 + ``` + +#### 3.2自定义数据增强算子 +如果需要自定义数据增强算子,那么您需要了解下数据增强算子的相关逻辑。数据增强算子基类为定义在`transform/operators.py`中的`BaseOperator`类,单图像数据增强算子与批数据增强算子均继承自这个基类。完整定义参考源码,以下代码显示了`BaseOperator`类的关键函数: apply和__call__方法 + ``` python + class BaseOperator(object): + + ... + + def apply(self, sample, context=None): + return sample + + def __call__(self, sample, context=None): + if isinstance(sample, Sequence): + for i in range(len(sample)): + sample[i] = self.apply(sample[i], context) + else: + sample = self.apply(sample, context) + return sample + ``` +__call__方法为`BaseOperator`的调用入口,接收一个sample(单图像)或者多个sample(多图像)作为输入,并调用apply函数对一个或者多个sample进行处理。大多数情况下,你只需要继承`BaseOperator`重写apply方法或者重写__call__方法即可,如下所示,定义了一个XXXOp继承自BaseOperator,并注册: + ```python + @register_op + class XXXOp(BaseOperator): + def __init__(self,...): + + super(XXXImage, self).__init__() + ... + + # 大多数情况下只需要重写apply方法 + def apply(self, sample, context=None): + ... + 省略对输入的sample具体操作 + ... + return sample + + # 如果有需要,可以重写__call__方法,如Mixup, Gt2XXXTarget等 + # def __call__(self, sample, context=None): + # ... + # 省略对输入的sample具体操作 + # ... + # return sample + ``` +大多数情况下,只需要重写apply方法即可,如`transform/operators.py`中除Mixup和Cutmix外的预处理算子。对于批处理的情况一般需要重写__call__方法,如`transform/batch_operators.py`的预处理算子。 + +### 4.Reader +Reader相关的类定义在`reader.py`, 其中定义了`BaseDataLoader`类。`BaseDataLoader`在`paddle.io.DataLoader`的基础上封装了一层,其具备`paddle.io.DataLoader`的所有功能,并能够实现不同模型对于`DetDataset`的不同需求,如可以通过对Reader进行设置,以控制`DetDataset`支持Mixup, Cutmix等操作。除此之外,数据预处理算子通过`Compose`类和`BatchCompose`类组合起来分别传入`DetDataset`和`paddle.io.DataLoader`中。 +所有的Reader类都继承自`BaseDataLoader`类,具体可参见源码。 + +### 5.配置及运行 + +#### 5.1配置 + +与数据预处理相关的模块的配置文件包含所有模型公用的Datas set的配置文件以及不同模型专用的Reader的配置文件。关于Dataset的配置文件存在于`configs/datasets`文件夹。比如COCO数据集的配置文件如下: +``` +metric: COCO # 目前支持COCO, VOC, OID, WiderFace等评估标准 +num_classes: 80 # num_classes数据集的类别数,不包含背景类 + +TrainDataset: + !COCODataSet + image_dir: train2017 # 训练集的图片所在文件相对于dataset_dir的路径 + anno_path: annotations/instances_train2017.json # 训练集的标注文件相对于dataset_dir的路径 + dataset_dir: dataset/coco #数据集所在路径,相对于PaddleDetection路径 + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] # 控制dataset输出的sample所包含的字段 + +EvalDataset: + !COCODataSet + image_dir: val2017 # 验证集的图片所在文件夹相对于dataset_dir的路径 + anno_path: annotations/instances_val2017.json # 验证集的标注文件相对于dataset_dir的路径 + dataset_dir: dataset/coco # 数据集所在路径,相对于PaddleDetection路径 + +TestDataset: + !ImageFolder + anno_path: dataset/coco/annotations/instances_val2017.json # 验证集的标注文件所在路径,相对于PaddleDetection的路径 +``` +在PaddleDetection的yml配置文件中,使用`!`直接序列化模块实例(可以是函数,实例等),上述的配置文件均使用Dataset进行了序列化。 +不同模型专用的Reader定义在每一个模型的文件夹下,如yolov3的Reader配置文件定义在`configs/yolov3/_base_/yolov3_reader.yml`。一个Reader的示例配置如下: +``` +worker_num: 2 +TrainReader: + sample_transforms: + - Decode: {} + ... + batch_transforms: + ... + batch_size: 8 + shuffle: true + drop_last: true + use_shared_memory: true + +EvalReader: + sample_transforms: + - Decode: {} + ... + batch_size: 1 + drop_empty: false + +TestReader: + inputs_def: + image_shape: [3, 608, 608] + sample_transforms: + - Decode: {} + ... + batch_size: 1 +``` +你可以在Reader中定义不同的预处理算子,每张卡的batch_size以及DataLoader的worker_num等。 + +#### 5.2运行 +在PaddleDetection的训练、评估和测试运行程序中,都通过创建Reader迭代器。Reader在`ppdet/engine/trainer.py`中创建。下面的代码展示了如何创建训练时的Reader +``` python +from ppdet.core.workspace import create +# build data loader +self.dataset = cfg['TrainDataset'] +self.loader = create('TrainReader')(selfdataset, cfg.worker_num) +``` +相应的预测以及评估时的Reader与之类似,具体可参考`ppdet/engine/trainer.py`源码。 + +> 关于数据处理模块,如您有其他问题或建议,请给我们提issue,我们非常欢迎您的反馈。 diff --git a/docs/images/model_figure.png b/docs/images/model_figure.png new file mode 100644 index 0000000000000000000000000000000000000000..72ec8cdad23a49e948f39fe3091c26f7a94d74a4 GIT binary patch literal 151313 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 z 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 zÐ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 U+b>;+9l%THnt@jFRqH4J2Z5*Se*gdg literal 0 HcmV?d00001 diff --git a/docs/images/reader_figure.png b/docs/images/reader_figure.png new file mode 100644 index 0000000000000000000000000000000000000000..68441a20cd5bc14349bfea01a3ffa66a31ac1793 GIT binary patch literal 199679 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

~G;3sx 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

-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%0AGq6oi-Q`(kofUpC}8(NVfeIJ4~nvG45YPPjH$# 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 literal 0 HcmV?d00001 diff --git a/docs/tutorials/PrepareDataSet.md b/docs/tutorials/PrepareDataSet.md index e1d363d84..0926913ac 100644 --- a/docs/tutorials/PrepareDataSet.md +++ b/docs/tutorials/PrepareDataSet.md @@ -289,7 +289,7 @@ classname2 ... ``` -##### 用户数据转成COCO +##### 用户数据转成COCO数据 在`./tools/`中提供了`x2coco.py`用于将VOC数据集、labelme标注的数据集或cityscape数据集转换为COCO数据,例如: (1)labelme数据转换为COCO数据: @@ -328,7 +328,7 @@ dataset/xxx/ ``` ##### 用户数据自定义reader -如果数据集有新的数据需要添加进PaddleDetection中,您可参考数据处理文档中的[添加新数据源](../advanced_tutorials/READER.md#添加新数据源)文档部分,开发相应代码完成新的数据源支持,同时数据处理具体代码解析等可阅读[数据处理文档](../advanced_tutorials/READER.md) +如果数据集有新的数据需要添加进PaddleDetection中,您可参考数据处理文档中的[添加新数据源](../advanced_tutorials/READER.md#2.3自定义数据集)文档部分,开发相应代码完成新的数据源支持,同时数据处理具体代码解析等可阅读[数据处理文档](../advanced_tutorials/READER.md) #### 用户数据数据转换示例 diff --git a/ppdet/data/tools/x2coco.py b/ppdet/data/tools/x2coco.py deleted file mode 100644 index 53faa3f5c..000000000 --- a/ppdet/data/tools/x2coco.py +++ /dev/null @@ -1,306 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import argparse -import glob -import json -import os -import os.path as osp -import sys -import shutil - -import numpy as np -import PIL.ImageDraw - -label_to_num = {} -categories_list = [] -labels_list = [] - - -class MyEncoder(json.JSONEncoder): - def default(self, obj): - if isinstance(obj, np.integer): - return int(obj) - elif isinstance(obj, np.floating): - return float(obj) - elif isinstance(obj, np.ndarray): - return obj.tolist() - else: - return super(MyEncoder, self).default(obj) - - -def getbbox(self, points): - polygons = points - mask = self.polygons_to_mask([self.height, self.width], polygons) - return self.mask2box(mask) - - -def images_labelme(data, num): - image = {} - image['height'] = data['imageHeight'] - image['width'] = data['imageWidth'] - image['id'] = num + 1 - image['file_name'] = data['imagePath'].split('/')[-1] - return image - - -def images_cityscape(data, num, img_file): - image = {} - image['height'] = data['imgHeight'] - image['width'] = data['imgWidth'] - image['id'] = num + 1 - image['file_name'] = img_file - return image - - -def categories(label, labels_list): - category = {} - category['supercategory'] = 'component' - category['id'] = len(labels_list) + 1 - category['name'] = label - return category - - -def annotations_rectangle(points, label, image_num, object_num, label_to_num): - annotation = {} - seg_points = np.asarray(points).copy() - seg_points[1, :] = np.asarray(points)[2, :] - seg_points[2, :] = np.asarray(points)[1, :] - annotation['segmentation'] = [list(seg_points.flatten())] - annotation['iscrowd'] = 0 - annotation['image_id'] = image_num + 1 - annotation['bbox'] = list( - map(float, [ - points[0][0], points[0][1], points[1][0] - points[0][0], points[1][ - 1] - points[0][1] - ])) - annotation['area'] = annotation['bbox'][2] * annotation['bbox'][3] - annotation['category_id'] = label_to_num[label] - annotation['id'] = object_num + 1 - return annotation - - -def annotations_polygon(height, width, points, label, image_num, object_num, - label_to_num): - annotation = {} - annotation['segmentation'] = [list(np.asarray(points).flatten())] - annotation['iscrowd'] = 0 - annotation['image_id'] = image_num + 1 - annotation['bbox'] = list(map(float, get_bbox(height, width, points))) - annotation['area'] = annotation['bbox'][2] * annotation['bbox'][3] - annotation['category_id'] = label_to_num[label] - annotation['id'] = object_num + 1 - return annotation - - -def get_bbox(height, width, points): - polygons = points - mask = np.zeros([height, width], dtype=np.uint8) - mask = PIL.Image.fromarray(mask) - xy = list(map(tuple, polygons)) - PIL.ImageDraw.Draw(mask).polygon(xy=xy, outline=1, fill=1) - mask = np.array(mask, dtype=bool) - index = np.argwhere(mask == 1) - rows = index[:, 0] - clos = index[:, 1] - left_top_r = np.min(rows) - left_top_c = np.min(clos) - right_bottom_r = np.max(rows) - right_bottom_c = np.max(clos) - return [ - left_top_c, left_top_r, right_bottom_c - left_top_c, - right_bottom_r - left_top_r - ] - - -def deal_json(ds_type, img_path, json_path): - data_coco = {} - images_list = [] - annotations_list = [] - image_num = -1 - object_num = -1 - for img_file in os.listdir(img_path): - img_label = os.path.splitext(img_file)[0] - if img_file.split('.')[ - -1] not in ['bmp', 'jpg', 'jpeg', 'png', 'JPEG', 'JPG', 'PNG']: - continue - label_file = osp.join(json_path, img_label + '.json') - print('Generating dataset from:', label_file) - image_num = image_num + 1 - with open(label_file) as f: - data = json.load(f) - if ds_type == 'labelme': - images_list.append(images_labelme(data, image_num)) - elif ds_type == 'cityscape': - images_list.append(images_cityscape(data, image_num, img_file)) - if ds_type == 'labelme': - for shapes in data['shapes']: - object_num = object_num + 1 - label = shapes['label'] - if label not in labels_list: - categories_list.append(categories(label, labels_list)) - labels_list.append(label) - label_to_num[label] = len(labels_list) - points = shapes['points'] - p_type = shapes['shape_type'] - if p_type == 'polygon': - annotations_list.append( - annotations_polygon(data['imageHeight'], data[ - 'imageWidth'], points, label, image_num, - object_num, label_to_num)) - - if p_type == 'rectangle': - points.append([points[0][0], points[1][1]]) - points.append([points[1][0], points[0][1]]) - annotations_list.append( - annotations_rectangle(points, label, image_num, - object_num, label_to_num)) - elif ds_type == 'cityscape': - for shapes in data['objects']: - object_num = object_num + 1 - label = shapes['label'] - if label not in labels_list: - categories_list.append(categories(label, labels_list)) - labels_list.append(label) - label_to_num[label] = len(labels_list) - points = shapes['polygon'] - annotations_list.append( - annotations_polygon(data['imgHeight'], data[ - 'imgWidth'], points, label, image_num, object_num, - label_to_num)) - data_coco['images'] = images_list - data_coco['categories'] = categories_list - data_coco['annotations'] = annotations_list - return data_coco - - -def main(): - parser = argparse.ArgumentParser( - formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument('--dataset_type', help='the type of dataset') - parser.add_argument('--json_input_dir', help='input annotated directory') - parser.add_argument('--image_input_dir', help='image directory') - parser.add_argument( - '--output_dir', help='output dataset directory', default='../../../') - parser.add_argument( - '--train_proportion', - help='the proportion of train dataset', - type=float, - default=1.0) - parser.add_argument( - '--val_proportion', - help='the proportion of validation dataset', - type=float, - default=0.0) - parser.add_argument( - '--test_proportion', - help='the proportion of test dataset', - type=float, - default=0.0) - args = parser.parse_args() - try: - assert args.dataset_type in ['labelme', 'cityscape'] - except AssertionError as e: - print('Now only support the cityscape dataset and labelme dataset!!') - os._exit(0) - try: - assert os.path.exists(args.json_input_dir) - except AssertionError as e: - print('The json folder does not exist!') - os._exit(0) - try: - assert os.path.exists(args.image_input_dir) - except AssertionError as e: - print('The image folder does not exist!') - os._exit(0) - try: - assert abs(args.train_proportion + args.val_proportion \ - + args.test_proportion - 1.0) < 1e-5 - except AssertionError as e: - print( - 'The sum of pqoportion of training, validation and test datase must be 1!' - ) - os._exit(0) - - # Allocate the dataset. - total_num = len(glob.glob(osp.join(args.json_input_dir, '*.json'))) - if args.train_proportion != 0: - train_num = int(total_num * args.train_proportion) - os.makedirs(args.output_dir + '/train') - else: - train_num = 0 - if args.val_proportion == 0.0: - val_num = 0 - test_num = total_num - train_num - if args.test_proportion != 0.0: - os.makedirs(args.output_dir + '/test') - else: - val_num = int(total_num * args.val_proportion) - test_num = total_num - train_num - val_num - os.makedirs(args.output_dir + '/val') - if args.test_proportion != 0.0: - os.makedirs(args.output_dir + '/test') - count = 1 - for img_name in os.listdir(args.image_input_dir): - if count <= train_num: - if osp.exists(args.output_dir + '/train/'): - shutil.copyfile( - osp.join(args.image_input_dir, img_name), - osp.join(args.output_dir + '/train/', img_name)) - else: - if count <= train_num + val_num: - if osp.exists(args.output_dir + '/val/'): - shutil.copyfile( - osp.join(args.image_input_dir, img_name), - osp.join(args.output_dir + '/val/', img_name)) - else: - if osp.exists(args.output_dir + '/test/'): - shutil.copyfile( - osp.join(args.image_input_dir, img_name), - osp.join(args.output_dir + '/test/', img_name)) - count = count + 1 - - # Deal with the json files. - if not os.path.exists(args.output_dir + '/annotations'): - os.makedirs(args.output_dir + '/annotations') - if args.train_proportion != 0: - train_data_coco = deal_json( - args.dataset_type, args.output_dir + '/train', args.json_input_dir) - train_json_path = osp.join(args.output_dir + '/annotations', - 'instance_train.json') - json.dump( - train_data_coco, - open(train_json_path, 'w'), - indent=4, - cls=MyEncoder) - if args.val_proportion != 0: - val_data_coco = deal_json(args.dataset_type, args.output_dir + '/val', - args.json_input_dir) - val_json_path = osp.join(args.output_dir + '/annotations', - 'instance_val.json') - json.dump( - val_data_coco, open(val_json_path, 'w'), indent=4, cls=MyEncoder) - if args.test_proportion != 0: - test_data_coco = deal_json(args.dataset_type, args.output_dir + '/test', - args.json_input_dir) - test_json_path = osp.join(args.output_dir + '/annotations', - 'instance_test.json') - json.dump( - test_data_coco, open(test_json_path, 'w'), indent=4, cls=MyEncoder) - - -if __name__ == '__main__': - main() -- Gitee From 91609c992f338eb4ab060ae30e37be1be6368bc6 Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Thu, 8 Apr 2021 09:57:43 +0800 Subject: [PATCH 19/90] [cherry-pcik]add Distill model and refactor slim (#2541) * add Distill model * add distill+prune --- configs/slim/README.md | 81 +++++++++---- configs/slim/distill/README.md | 18 +++ .../yolov3_mobilenet_v1_coco_distill.yml | 12 ++ ...yolov3_mobilenet_v1_coco_distill_prune.yml | 24 ++++ configs/slim/prune/yolov3_prune_fpgm.yml | 12 +- configs/slim/prune/yolov3_prune_l1_norm.yml | 12 +- configs/yolov3/README.md | 35 +++--- configs/yolov3/_base_/yolov3_r34.yml | 41 +++++++ configs/yolov3/yolov3_r34_270e_coco.yml | 10 ++ ppdet/engine/callbacks.py | 12 +- ppdet/engine/trainer.py | 28 +++-- ppdet/modeling/backbones/darknet.py | 1 - ppdet/modeling/backbones/mobilenet_v1.py | 13 +-- ppdet/modeling/backbones/resnet.py | 10 +- ppdet/modeling/heads/yolo_head.py | 4 +- ppdet/modeling/losses/fcos_loss.py | 18 +-- ppdet/modeling/losses/yolo_loss.py | 3 + ppdet/modeling/ops.py | 8 +- ppdet/slim/__init__.py | 41 +++++++ ppdet/slim/distill.py | 110 ++++++++++++++++++ ppdet/utils/checkpoint.py | 32 +++++ tools/eval.py | 11 +- tools/export_model.py | 7 +- tools/infer.py | 10 +- tools/train.py | 13 ++- 25 files changed, 439 insertions(+), 127 deletions(-) create mode 100644 configs/slim/distill/README.md create mode 100644 configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml create mode 100644 configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml create mode 100644 configs/yolov3/_base_/yolov3_r34.yml create mode 100644 configs/yolov3/yolov3_r34_270e_coco.yml create mode 100644 ppdet/slim/distill.py diff --git a/configs/slim/README.md b/configs/slim/README.md index 728c2f376..67ba71585 100755 --- a/configs/slim/README.md +++ b/configs/slim/README.md @@ -4,33 +4,11 @@ - [剪裁](prune) - [量化](quant) +- [蒸馏](distill) +- [联合策略](extensions) 推荐您使用剪裁和蒸馏联合训练,或者使用剪裁和量化,进行检测模型压缩。 下面以YOLOv3为例,进行剪裁、蒸馏和量化实验。 -## Benchmark - -### 剪裁 - -#### Pascal VOC上benchmark - -| 模型 | 压缩策略 | 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/master/dygraph/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/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/slim/prune/yolov3_prune_l1_norm.yml) | - -### 量化 - -#### COCO上benchmark - -| 模型 | 压缩策略 | 输入尺寸 | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | -| ------------------ | ------------ | -------- | :---------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | -| YOLOv3-MobileNetV1 | baseline | 608 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | -| YOLOv3-MobileNetV1 | 普通在线量化 | 608 | 27.5 (-1.3) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/slim/quant/yolov3_mobilenet_v1_qat.yml) | -| 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/master/dygraph/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | - | -| YOLOv3-MobileNetV3 | PACT在线量化 | 608 | 29.0 (-2.4) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v3_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/slim/quant/yolov3_mobilenet_v3_qat.yml) | - -- SD855预测时延为使用PaddleLite部署,使用arm8架构并使用4线程(4 Threads)推理时延 - ## 实验环境 - Python 3.7+ @@ -39,6 +17,8 @@ - CUDA 9.0+ - cuDNN >=7.5 +**注意:** 量化训练需要依赖Paddle develop分支,可在[PaddlePaddle每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)中下载安装合适的PaddlePaddle版本。 + ## 快速开始 ### 训练 @@ -84,3 +64,56 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ - `-c`: 指定模型配置文件。 - `--slim_config`: 指定压缩策略配置文件。 - `-o weights`: 指定压缩算法训好的模型路径。 + + +## Benchmark + +### 剪裁 + +#### Pascal VOC上benchmark + +| 模型 | 压缩策略 | 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/slim/prune/yolov3_prune_l1_norm.yml) | + +- 目前剪裁支持YOLO系列、SSD、TTFNet、BlazeFace,其余模型正在开发支持中。 +- SD855预测时延为使用PaddleLite部署,使用arm8架构并使用4线程(4 Threads)推理时延。 + +### 量化 + +#### COCO上benchmark + +| 模型 | 压缩策略 | 输入尺寸 | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | +| ------------------ | ------------ | -------- | :---------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | +| YOLOv3-MobileNetV1 | baseline | 608 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | +| YOLOv3-MobileNetV1 | 普通在线量化 | 608 | 30.3 (+1.5) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/yolov3_mobilenet_v1_qat.yml) | +| 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.5 (-1.9) | [下载链接](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) | +| 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 | 73.1(-0.7) | [下载链接](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) | - | +| Mask-ResNet50-FPN | 普通在线量化 | (800, 1333) | 39.7(+0.5)/35.9(+0.3) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/mask_rcnn_r50_fpn_1x_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml) | + + +### 蒸馏 + +#### COCO上benchmark + +| 模型 | 压缩策略 | 输入尺寸 | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | +| ------------------ | ------------ | -------- | :---------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | +| YOLOv3-MobileNetV1 | baseline | 608 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | +| YOLOv3-MobileNetV1 | 蒸馏 | 608 | 29.0 | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml) | + +- 具体蒸馏方法请参考[蒸馏策略文档](distill/README.md) + +### 蒸馏剪裁联合策略 + +#### COCO上benchmark + +| 模型 | 压缩策略 | 输入尺寸 | GFLOPs | 模型体积(MB) | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | +| ------------------ | ------------ | -------- | :---------: |:---------: | :---------: |:----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | +| YOLOv3-MobileNetV1 | baseline | 608 | 24.65 | 94.6 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | +| YOLOv3-MobileNetV1 | 蒸馏+剪裁 | 608 | 7.54(-69.4%) | 32.0(-66.0%) | 28.7(-0.1) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml) | diff --git a/configs/slim/distill/README.md b/configs/slim/distill/README.md new file mode 100644 index 000000000..da5795764 --- /dev/null +++ b/configs/slim/distill/README.md @@ -0,0 +1,18 @@ +# Distillation(蒸馏) + +## YOLOv3模型蒸馏 +以YOLOv3-MobileNetV1为例,使用YOLOv3-ResNet34作为蒸馏训练的teacher网络, 对YOLOv3-MobileNetV1结构的student网络进行蒸馏。 +COCO数据集作为目标检测任务的训练目标难度更大,意味着teacher网络会预测出更多的背景bbox,如果直接用teacher的预测输出作为student学习的`soft label`会有严重的类别不均衡问题。解决这个问题需要引入新的方法,详细背景请参考论文:[Object detection at 200 Frames Per Second](https://arxiv.org/abs/1805.06361)。 +为了确定蒸馏的对象,我们首先需要找到student和teacher网络得到的`x,y,w,h,cls,objness`等Tensor,用teacher得到的结果指导student训练。具体实现可参考[代码](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/ppdet/slim/distill.py) + +## Citations +``` +@article{mehta2018object, + title={Object detection at 200 Frames Per Second}, + author={Rakesh Mehta and Cemalettin Ozturk}, + year={2018}, + eprint={1805.06361}, + archivePrefix={arXiv}, + primaryClass={cs.CV} +} +``` diff --git a/configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml b/configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml new file mode 100644 index 000000000..9998dec56 --- /dev/null +++ b/configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml @@ -0,0 +1,12 @@ +_BASE_: [ + '../../yolov3/yolov3_r34_270e_coco.yml', +] + +pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams + + +slim: Distill +distill_loss: DistillYOLOv3Loss + +DistillYOLOv3Loss: + weight: 1000 diff --git a/configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml b/configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml new file mode 100644 index 000000000..f86fac5e9 --- /dev/null +++ b/configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml @@ -0,0 +1,24 @@ +_BASE_: [ + '../../yolov3/yolov3_r34_270e_coco.yml', +] + +pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams + +slim: DistillPrune + +distill_loss: DistillYOLOv3Loss + +DistillYOLOv3Loss: + weight: 1000 + +pruner: Pruner + +Pruner: + criterion: l1_norm + pruned_params: ['conv2d_27.w_0', 'conv2d_28.w_0', 'conv2d_29.w_0', + 'conv2d_30.w_0', 'conv2d_31.w_0', 'conv2d_32.w_0', + 'conv2d_34.w_0', 'conv2d_35.w_0', 'conv2d_36.w_0', + 'conv2d_37.w_0', 'conv2d_38.w_0', 'conv2d_39.w_0', + 'conv2d_41.w_0', 'conv2d_42.w_0', 'conv2d_43.w_0', + 'conv2d_44.w_0', 'conv2d_45.w_0', 'conv2d_46.w_0'] + pruned_ratios: [0.5,0.5,0.5,0.5,0.5,0.5,0.7,0.7,0.7,0.7,0.7,0.7,0.8,0.8,0.8,0.8,0.8,0.8] diff --git a/configs/slim/prune/yolov3_prune_fpgm.yml b/configs/slim/prune/yolov3_prune_fpgm.yml index ed9495a73..8d99997ef 100644 --- a/configs/slim/prune/yolov3_prune_fpgm.yml +++ b/configs/slim/prune/yolov3_prune_fpgm.yml @@ -5,11 +5,11 @@ slim: Pruner Pruner: criterion: fpgm - pruned_params: ['yolo_block.0.0.0.conv.weights', 'yolo_block.0.0.1.conv.weights', 'yolo_block.0.1.0.conv.weights', - 'yolo_block.0.1.1.conv.weights', 'yolo_block.0.2.conv.weights', 'yolo_block.0.tip.conv.weights', - 'yolo_block.1.0.0.conv.weights', 'yolo_block.1.0.1.conv.weights', 'yolo_block.1.1.0.conv.weights', - 'yolo_block.1.1.1.conv.weights', 'yolo_block.1.2.conv.weights', 'yolo_block.1.tip.conv.weights', - 'yolo_block.2.0.0.conv.weights', 'yolo_block.2.0.1.conv.weights', 'yolo_block.2.1.0.conv.weights', - 'yolo_block.2.1.1.conv.weights', 'yolo_block.2.2.conv.weights', 'yolo_block.2.tip.conv.weights'] + pruned_params: ['conv2d_27.w_0', 'conv2d_28.w_0', 'conv2d_29.w_0', + 'conv2d_30.w_0', 'conv2d_31.w_0', 'conv2d_32.w_0', + 'conv2d_34.w_0', 'conv2d_35.w_0', 'conv2d_36.w_0', + 'conv2d_37.w_0', 'conv2d_38.w_0', 'conv2d_39.w_0', + 'conv2d_41.w_0', 'conv2d_42.w_0', 'conv2d_43.w_0', + 'conv2d_44.w_0', 'conv2d_45.w_0', 'conv2d_46.w_0'] pruned_ratios: [0.1,0.2,0.2,0.2,0.2,0.1,0.2,0.3,0.3,0.3,0.2,0.1,0.3,0.4,0.4,0.4,0.4,0.3] print_params: False diff --git a/configs/slim/prune/yolov3_prune_l1_norm.yml b/configs/slim/prune/yolov3_prune_l1_norm.yml index db2a616da..757117e38 100644 --- a/configs/slim/prune/yolov3_prune_l1_norm.yml +++ b/configs/slim/prune/yolov3_prune_l1_norm.yml @@ -5,11 +5,11 @@ slim: Pruner Pruner: criterion: l1_norm - pruned_params: ['yolo_block.0.0.0.conv.weights', 'yolo_block.0.0.1.conv.weights', 'yolo_block.0.1.0.conv.weights', - 'yolo_block.0.1.1.conv.weights', 'yolo_block.0.2.conv.weights', 'yolo_block.0.tip.conv.weights', - 'yolo_block.1.0.0.conv.weights', 'yolo_block.1.0.1.conv.weights', 'yolo_block.1.1.0.conv.weights', - 'yolo_block.1.1.1.conv.weights', 'yolo_block.1.2.conv.weights', 'yolo_block.1.tip.conv.weights', - 'yolo_block.2.0.0.conv.weights', 'yolo_block.2.0.1.conv.weights', 'yolo_block.2.1.0.conv.weights', - 'yolo_block.2.1.1.conv.weights', 'yolo_block.2.2.conv.weights', 'yolo_block.2.tip.conv.weights'] + pruned_params: ['conv2d_27.w_0', 'conv2d_28.w_0', 'conv2d_29.w_0', + 'conv2d_30.w_0', 'conv2d_31.w_0', 'conv2d_32.w_0', + 'conv2d_34.w_0', 'conv2d_35.w_0', 'conv2d_36.w_0', + 'conv2d_37.w_0', 'conv2d_38.w_0', 'conv2d_39.w_0', + 'conv2d_41.w_0', 'conv2d_42.w_0', 'conv2d_43.w_0', + 'conv2d_44.w_0', 'conv2d_45.w_0', 'conv2d_46.w_0'] pruned_ratios: [0.1,0.2,0.2,0.2,0.2,0.1,0.2,0.3,0.3,0.3,0.2,0.1,0.3,0.4,0.4,0.4,0.4,0.3] print_params: False diff --git a/configs/yolov3/README.md b/configs/yolov3/README.md index 974652715..b27673d9c 100644 --- a/configs/yolov3/README.md +++ b/configs/yolov3/README.md @@ -9,27 +9,30 @@ | DarkNet53(paper) | 608 | 8 | 270e | ---- | 33.0 | - | - | | DarkNet53(paper) | 416 | 8 | 270e | ---- | 31.0 | - | - | | DarkNet53(paper) | 320 | 8 | 270e | ---- | 28.2 | - | - | -| DarkNet53 | 608 | 8 | 270e | ---- | 39.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml) | -| DarkNet53 | 416 | 8 | 270e | ---- | 37.5 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml) | -| DarkNet53 | 320 | 8 | 270e | ---- | 34.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml) | -| ResNet50_vd | 608 | 8 | 270e | ---- | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | -| MobileNet-V1 | 608 | 8 | 270e | ---- | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | -| MobileNet-V1 | 416 | 8 | 270e | ---- | 28.7 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | -| MobileNet-V1 | 320 | 8 | 270e | ---- | 26.5 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | -| MobileNet-V3 | 608 | 8 | 270e | ---- | 31.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | -| MobileNet-V3 | 416 | 8 | 270e | ---- | 29.7 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | -| MobileNet-V3 | 320 | 8 | 270e | ---- | 26.9 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | +| DarkNet53 | 608 | 8 | 270e | ---- | 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) | +| DarkNet53 | 416 | 8 | 270e | ---- | 37.5 | [下载链接](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) | +| DarkNet53 | 320 | 8 | 270e | ---- | 34.6 | [下载链接](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) | +| ResNet50_vd | 608 | 8 | 270e | ---- | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | +| ResNet34 | 608 | 8 | 270e | ---- | 36.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | +| ResNet34 | 416 | 8 | 270e | ---- | 34.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | +| ResNet34 | 320 | 8 | 270e | ---- | 31.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | +| MobileNet-V1 | 608 | 8 | 270e | ---- | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V1 | 416 | 8 | 270e | ---- | 28.7 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V1 | 320 | 8 | 270e | ---- | 26.5 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V3 | 608 | 8 | 270e | ---- | 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) | +| MobileNet-V3 | 416 | 8 | 270e | ---- | 29.7 | [下载链接](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) | +| MobileNet-V3 | 320 | 8 | 270e | ---- | 26.9 | [下载链接](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 on Pasacl VOC | 骨架网络 | 输入尺寸 | 每张GPU图片个数 | 学习率策略 |推理时间(fps)| Box AP | 下载 | 配置文件 | | :----------- | :--: | :-----: | :-----: |:------------: |:----: | :-------: | :----: | -| MobileNet-V1 | 608 | 8 | 270e | - | 75.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | -| MobileNet-V1 | 416 | 8 | 270e | - | 76.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | -| MobileNet-V1 | 320 | 8 | 270e | - | 73.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | -| MobileNet-V3 | 608 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | -| MobileNet-V3 | 416 | 8 | 270e | - | 78.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | -| MobileNet-V3 | 320 | 8 | 270e | - | 76.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | +| MobileNet-V1 | 608 | 8 | 270e | - | 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) | +| MobileNet-V1 | 416 | 8 | 270e | - | 76.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) | +| MobileNet-V1 | 320 | 8 | 270e | - | 73.6 | [下载链接](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) | +| MobileNet-V3 | 608 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | +| MobileNet-V3 | 416 | 8 | 270e | - | 78.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | +| MobileNet-V3 | 320 | 8 | 270e | - | 76.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | **注意:** YOLOv3均使用8GPU训练,训练270个epoch diff --git a/configs/yolov3/_base_/yolov3_r34.yml b/configs/yolov3/_base_/yolov3_r34.yml new file mode 100644 index 000000000..c2d1489f0 --- /dev/null +++ b/configs/yolov3/_base_/yolov3_r34.yml @@ -0,0 +1,41 @@ +architecture: YOLOv3 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet34_pretrained.pdparams +norm_type: sync_bn + +YOLOv3: + backbone: ResNet + neck: YOLOv3FPN + yolo_head: YOLOv3Head + post_process: BBoxPostProcess + +ResNet: + depth: 34 + return_idx: [1, 2, 3] + freeze_at: -1 + freeze_norm: false + norm_decay: 0. + +YOLOv3Head: + anchors: [[10, 13], [16, 30], [33, 23], + [30, 61], [62, 45], [59, 119], + [116, 90], [156, 198], [373, 326]] + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + loss: YOLOv3Loss + +YOLOv3Loss: + ignore_thresh: 0.7 + downsample: [32, 16, 8] + label_smooth: false + +BBoxPostProcess: + decode: + name: YOLOBox + conf_thresh: 0.005 + downsample_ratio: 32 + clip_bbox: true + nms: + name: MultiClassNMS + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.45 + nms_top_k: 1000 diff --git a/configs/yolov3/yolov3_r34_270e_coco.yml b/configs/yolov3/yolov3_r34_270e_coco.yml new file mode 100644 index 000000000..8653b0616 --- /dev/null +++ b/configs/yolov3/yolov3_r34_270e_coco.yml @@ -0,0 +1,10 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '_base_/optimizer_270e.yml', + '_base_/yolov3_r34.yml', + '_base_/yolov3_reader.yml', +] + +snapshot_epoch: 5 +weights: output/yolov3_r34_270e_coco/model_final diff --git a/ppdet/engine/callbacks.py b/ppdet/engine/callbacks.py index ca4ad6136..410de7744 100644 --- a/ppdet/engine/callbacks.py +++ b/ppdet/engine/callbacks.py @@ -146,13 +146,17 @@ class Checkpointer(Callback): self.use_ema = ('use_ema' in cfg and cfg['use_ema']) self.save_dir = os.path.join(self.model.cfg.save_dir, self.model.cfg.filename) + if hasattr(self.model.model, 'student_model'): + self.weight = self.model.model.student_model + else: + self.weight = self.model.model if self.use_ema: self.ema = ModelEMA( - cfg['ema_decay'], self.model.model, use_thres_step=True) + cfg['ema_decay'], self.weight, use_thres_step=True) def on_step_end(self, status): if self.use_ema: - self.ema.update(self.model.model) + self.ema.update(self.weight) def on_epoch_end(self, status): # Checkpointer only performed during training @@ -169,7 +173,7 @@ class Checkpointer(Callback): if self.use_ema: weight = self.ema.apply() else: - weight = self.model.model + weight = self.weight elif mode == 'eval': if 'save_best_model' in status and status['save_best_model']: for metric in self.model._metrics: @@ -181,7 +185,7 @@ class Checkpointer(Callback): if self.use_ema: weight = self.ema.apply() else: - weight = self.model.model + weight = self.weight logger.info("Best test {} ap is {:0.3f}.".format( key, self.best_ap)) if weight: diff --git a/ppdet/engine/trainer.py b/ppdet/engine/trainer.py index f6b10b144..be2c14e68 100644 --- a/ppdet/engine/trainer.py +++ b/ppdet/engine/trainer.py @@ -52,17 +52,14 @@ class Trainer(object): "mode should be 'train', 'eval' or 'test'" self.mode = mode.lower() self.optimizer = None - self.slim = None + self.is_loaded_weights = False # build model - self.model = create(cfg.architecture) - - # model slim build - if 'slim' in cfg and cfg.slim: - if self.mode == 'train': - self.load_weights(cfg.pretrain_weights) - self.slim = create(cfg.slim) - self.slim(self.model) + if 'model' not in self.cfg: + self.model = create(cfg.architecture) + else: + self.model = self.cfg.model + self.is_loaded_weights = True # build data loader self.dataset = cfg['{}Dataset'.format(self.mode.capitalize())] @@ -192,12 +189,19 @@ class Trainer(object): self._metrics.extend(metrics) def load_weights(self, weights): + if self.is_loaded_weights: + return self.start_epoch = 0 load_pretrain_weight(self.model, weights) logger.debug("Load weights {} to start training".format(weights)) def resume_weights(self, weights): - self.start_epoch = load_weight(self.model, weights, self.optimizer) + # support Distill resume weights + if hasattr(self.model, 'student_model'): + self.start_epoch = load_weight(self.model.student_model, weights, + self.optimizer) + else: + self.start_epoch = load_weight(self.model, weights, self.optimizer) logger.debug("Resume weights of epoch {}".format(self.start_epoch)) def train(self, validate=False): @@ -419,7 +423,7 @@ class Trainer(object): }] # dy2st and save model - if self.slim is None or self.cfg['slim'] != 'QAT': + if 'slim' not in self.cfg or self.cfg['slim'] != 'QAT': static_model = paddle.jit.to_static( self.model, input_spec=input_spec) # NOTE: dy2st do not pruned program, but jit.save will prune program @@ -433,7 +437,7 @@ class Trainer(object): input_spec=pruned_input_spec) logger.info("Export model and saved in {}".format(save_dir)) else: - self.slim.save_quantized_model( + self.cfg.slim.save_quantized_model( self.model, os.path.join(save_dir, 'model'), input_spec=input_spec) diff --git a/ppdet/modeling/backbones/darknet.py b/ppdet/modeling/backbones/darknet.py index 7981306a9..ab748c66b 100755 --- a/ppdet/modeling/backbones/darknet.py +++ b/ppdet/modeling/backbones/darknet.py @@ -46,7 +46,6 @@ class ConvBNLayer(nn.Layer): stride=stride, padding=padding, groups=groups, - weight_attr=ParamAttr(name=name + '.conv.weights'), data_format=data_format, bias_attr=False) self.batch_norm = batch_norm( diff --git a/ppdet/modeling/backbones/mobilenet_v1.py b/ppdet/modeling/backbones/mobilenet_v1.py index 5b4d12878..cecc6a5b5 100644 --- a/ppdet/modeling/backbones/mobilenet_v1.py +++ b/ppdet/modeling/backbones/mobilenet_v1.py @@ -55,14 +55,11 @@ class ConvBNLayer(nn.Layer): weight_attr=ParamAttr( learning_rate=conv_lr, initializer=KaimingNormal(), - regularizer=L2Decay(conv_decay), - name=name + "_weights"), + regularizer=L2Decay(conv_decay)), bias_attr=False) - param_attr = ParamAttr( - name=name + "_bn_scale", regularizer=L2Decay(norm_decay)) - bias_attr = ParamAttr( - name=name + "_bn_offset", regularizer=L2Decay(norm_decay)) + param_attr = ParamAttr(regularizer=L2Decay(norm_decay)) + bias_attr = ParamAttr(regularizer=L2Decay(norm_decay)) if norm_type == 'sync_bn': self._batch_norm = nn.SyncBatchNorm( out_channels, weight_attr=param_attr, bias_attr=bias_attr) @@ -72,9 +69,7 @@ class ConvBNLayer(nn.Layer): act=None, param_attr=param_attr, bias_attr=bias_attr, - use_global_stats=False, - moving_mean_name=name + '_bn_mean', - moving_variance_name=name + '_bn_variance') + use_global_stats=False) def forward(self, x): x = self._conv(x) diff --git a/ppdet/modeling/backbones/resnet.py b/ppdet/modeling/backbones/resnet.py index e59f17614..f642764ad 100755 --- a/ppdet/modeling/backbones/resnet.py +++ b/ppdet/modeling/backbones/resnet.py @@ -64,7 +64,7 @@ class ConvNormLayer(nn.Layer): padding=(filter_size - 1) // 2, groups=groups, weight_attr=paddle.ParamAttr( - learning_rate=lr, name=name + "_weights"), + learning_rate=lr, ), bias_attr=False) else: self.conv = DeformableConvV2( @@ -75,7 +75,7 @@ class ConvNormLayer(nn.Layer): padding=(filter_size - 1) // 2, groups=groups, weight_attr=paddle.ParamAttr( - learning_rate=lr, name=name + '_weights'), + learning_rate=lr, ), bias_attr=False, name=name) @@ -84,12 +84,10 @@ class ConvNormLayer(nn.Layer): param_attr = paddle.ParamAttr( learning_rate=norm_lr, regularizer=L2Decay(norm_decay), - name=bn_name + "_scale", trainable=False if freeze_norm else True) bias_attr = paddle.ParamAttr( learning_rate=norm_lr, regularizer=L2Decay(norm_decay), - name=bn_name + "_offset", trainable=False if freeze_norm else True) global_stats = True if freeze_norm else False @@ -102,9 +100,7 @@ class ConvNormLayer(nn.Layer): act=None, param_attr=param_attr, bias_attr=bias_attr, - use_global_stats=global_stats, - moving_mean_name=bn_name + '_mean', - moving_variance_name=bn_name + '_variance') + use_global_stats=global_stats) norm_params = self.norm.parameters() if freeze_norm: diff --git a/ppdet/modeling/heads/yolo_head.py b/ppdet/modeling/heads/yolo_head.py index 723bf4fc6..3516da410 100644 --- a/ppdet/modeling/heads/yolo_head.py +++ b/ppdet/modeling/heads/yolo_head.py @@ -56,9 +56,7 @@ class YOLOv3Head(nn.Layer): stride=1, padding=0, data_format=data_format, - weight_attr=ParamAttr(name=name + '.conv.weights'), - bias_attr=ParamAttr( - name=name + '.conv.bias', regularizer=L2Decay(0.)))) + bias_attr=ParamAttr(regularizer=L2Decay(0.)))) self.yolo_outputs.append(yolo_output) def parse_anchor(self, anchors, anchor_masks): diff --git a/ppdet/modeling/losses/fcos_loss.py b/ppdet/modeling/losses/fcos_loss.py index 350011acc..201786c9a 100644 --- a/ppdet/modeling/losses/fcos_loss.py +++ b/ppdet/modeling/losses/fcos_loss.py @@ -20,6 +20,7 @@ import paddle import paddle.nn as nn import paddle.nn.functional as F from ppdet.core.workspace import register +from ppdet.modeling import ops INF = 1e8 __all__ = ['FCOSLoss'] @@ -44,19 +45,6 @@ def flatten_tensor(inputs, channel_first=False): return output_channel_last -def sigmoid_cross_entropy_with_logits_loss(inputs, - label, - ignore_index=-100, - normalize=False): - output = F.binary_cross_entropy_with_logits(inputs, label, reduction='none') - mask_tensor = paddle.cast(label != ignore_index, 'float32') - output = paddle.multiply(output, mask_tensor) - if normalize: - sum_valid_mask = paddle.sum(mask_tensor) - output = output / sum_valid_mask - return output - - @register class FCOSLoss(nn.Layer): """ @@ -226,8 +214,8 @@ class FCOSLoss(nn.Layer): # 3. centerness: sigmoid_cross_entropy_with_logits_loss centerness_flatten = paddle.squeeze(centerness_flatten, axis=-1) - ctn_loss = sigmoid_cross_entropy_with_logits_loss(centerness_flatten, - tag_center_flatten) + ctn_loss = ops.sigmoid_cross_entropy_with_logits(centerness_flatten, + tag_center_flatten) ctn_loss = ctn_loss * mask_positive_float / num_positive_fp32 loss_all = { diff --git a/ppdet/modeling/losses/yolo_loss.py b/ppdet/modeling/losses/yolo_loss.py index e460d2e28..9579acf9f 100644 --- a/ppdet/modeling/losses/yolo_loss.py +++ b/ppdet/modeling/losses/yolo_loss.py @@ -54,6 +54,7 @@ class YOLOv3Loss(nn.Layer): self.scale_x_y = scale_x_y self.iou_loss = iou_loss self.iou_aware_loss = iou_aware_loss + self.distill_pairs = [] def obj_loss(self, pbox, gbox, pobj, tobj, anchor, downsample): # pbox @@ -108,6 +109,7 @@ class YOLOv3Loss(nn.Layer): x, y = p[:, :, :, :, 0:1], p[:, :, :, :, 1:2] w, h = p[:, :, :, :, 2:3], p[:, :, :, :, 3:4] obj, pcls = p[:, :, :, :, 4:5], p[:, :, :, :, 5:] + self.distill_pairs.append([x, y, w, h, obj, pcls]) t = t.transpose((0, 1, 3, 4, 2)) tx, ty = t[:, :, :, :, 0:1], t[:, :, :, :, 1:2] @@ -173,6 +175,7 @@ class YOLOv3Loss(nn.Layer): gt_targets = [targets['target{}'.format(i)] for i in range(np)] gt_box = targets['gt_bbox'] yolo_losses = dict() + self.distill_pairs.clear() for x, t, anchor, downsample in zip(inputs, gt_targets, anchors, self.downsample): yolo_loss = self.yolov3_loss(x, t, gt_box, anchor, downsample, diff --git a/ppdet/modeling/ops.py b/ppdet/modeling/ops.py index ef961dd1c..cbef3d6b4 100644 --- a/ppdet/modeling/ops.py +++ b/ppdet/modeling/ops.py @@ -59,11 +59,8 @@ def batch_norm(ch, return batch_norm( ch, weight_attr=ParamAttr( - name=bn_name + '.scale', - initializer=initializer, - regularizer=L2Decay(norm_decay)), - bias_attr=ParamAttr( - name=bn_name + '.offset', regularizer=L2Decay(norm_decay)), + initializer=initializer, regularizer=L2Decay(norm_decay)), + bias_attr=ParamAttr(regularizer=L2Decay(norm_decay)), data_format=data_format) @@ -1558,7 +1555,6 @@ def sigmoid_cross_entropy_with_logits(input, output = F.binary_cross_entropy_with_logits(input, label, reduction='none') mask_tensor = paddle.cast(label != ignore_index, 'float32') output = paddle.multiply(output, mask_tensor) - output = paddle.reshape(output, shape=[output.shape[0], -1]) if normalize: sum_valid_mask = paddle.sum(mask_tensor) output = output / sum_valid_mask diff --git a/ppdet/slim/__init__.py b/ppdet/slim/__init__.py index 7a58bf591..ebd64c0e5 100644 --- a/ppdet/slim/__init__.py +++ b/ppdet/slim/__init__.py @@ -14,6 +14,47 @@ from . import prune from . import quant +from . import distill from .prune import * from .quant import * +from .distill import * + +import yaml +from ppdet.core.workspace import load_config +from ppdet.utils.checkpoint import load_pretrain_weight + + +def build_slim_model(cfg, slim_cfg, mode='train'): + with open(slim_cfg) as f: + slim_load_cfg = yaml.load(f, Loader=yaml.Loader) + if mode != 'train' and slim_load_cfg['slim'] == 'Distill': + return cfg + + if slim_load_cfg['slim'] == 'Distill': + model = DistillModel(cfg, slim_cfg) + cfg['model'] = model + elif slim_load_cfg['slim'] == 'DistillPrune': + if mode == 'train': + model = DistillModel(cfg, slim_cfg) + pruner = create(cfg.pruner) + pruner(model.student_model) + else: + model = create(cfg.architecture) + weights = cfg.weights + load_config(slim_cfg) + pruner = create(cfg.pruner) + model = pruner(model) + load_pretrain_weight(model, weights) + cfg['model'] = model + else: + load_config(slim_cfg) + model = create(cfg.architecture) + if mode == 'train': + load_pretrain_weight(model, cfg.pretrain_weights) + slim = create(cfg.slim) + cfg['model'] = slim(model) + if mode != 'train': + load_pretrain_weight(cfg['model'], cfg.weights) + + return cfg diff --git a/ppdet/slim/distill.py b/ppdet/slim/distill.py new file mode 100644 index 000000000..d5c9d7266 --- /dev/null +++ b/ppdet/slim/distill.py @@ -0,0 +1,110 @@ +# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import paddle +import paddle.nn as nn +import paddle.nn.functional as F + +from ppdet.core.workspace import register, serializable, load_config +from ppdet.core.workspace import create +from ppdet.utils.logger import setup_logger +from ppdet.modeling import ops +from ppdet.utils.checkpoint import load_pretrain_weight +from ppdet.modeling.losses import YOLOv3Loss +logger = setup_logger(__name__) + + +class DistillModel(nn.Layer): + def __init__(self, cfg, slim_cfg): + super(DistillModel, self).__init__() + + self.student_model = create(cfg.architecture) + logger.debug('Load student model pretrain_weights:{}'.format( + cfg.pretrain_weights)) + load_pretrain_weight(self.student_model, cfg.pretrain_weights) + + slim_cfg = load_config(slim_cfg) + self.teacher_model = create(slim_cfg.architecture) + self.distill_loss = create(slim_cfg.distill_loss) + logger.debug('Load teacher model pretrain_weights:{}'.format( + slim_cfg.pretrain_weights)) + load_pretrain_weight(self.teacher_model, slim_cfg.pretrain_weights) + + for param in self.teacher_model.parameters(): + param.trainable = False + + def parameters(self): + return self.student_model.parameters() + + def forward(self, inputs): + if self.training: + teacher_loss = self.teacher_model(inputs) + student_loss = self.student_model(inputs) + loss = self.distill_loss(self.teacher_model, self.student_model) + student_loss['distill_loss'] = loss + student_loss['teacher_loss'] = teacher_loss['loss'] + student_loss['loss'] += student_loss['distill_loss'] + return student_loss + else: + return self.student_model(inputs) + + +@register +class DistillYOLOv3Loss(nn.Layer): + def __init__(self, weight=1000): + super(DistillYOLOv3Loss, self).__init__() + self.weight = weight + + def obj_weighted_reg(self, sx, sy, sw, sh, tx, ty, tw, th, tobj): + loss_x = ops.sigmoid_cross_entropy_with_logits(sx, F.sigmoid(tx)) + loss_y = ops.sigmoid_cross_entropy_with_logits(sy, F.sigmoid(ty)) + loss_w = paddle.abs(sw - tw) + loss_h = paddle.abs(sh - th) + loss = paddle.add_n([loss_x, loss_y, loss_w, loss_h]) + weighted_loss = paddle.mean(loss * F.sigmoid(tobj)) + return weighted_loss + + def obj_weighted_cls(self, scls, tcls, tobj): + loss = ops.sigmoid_cross_entropy_with_logits(scls, F.sigmoid(tcls)) + weighted_loss = paddle.mean(paddle.multiply(loss, F.sigmoid(tobj))) + return weighted_loss + + def obj_loss(self, sobj, tobj): + obj_mask = paddle.cast(tobj > 0., dtype="float32") + obj_mask.stop_gradient = True + loss = paddle.mean( + ops.sigmoid_cross_entropy_with_logits(sobj, obj_mask)) + return loss + + def forward(self, teacher_model, student_model): + teacher_distill_pairs = teacher_model.yolo_head.loss.distill_pairs + student_distill_pairs = student_model.yolo_head.loss.distill_pairs + distill_reg_loss, distill_cls_loss, distill_obj_loss = [], [], [] + for s_pair, t_pair in zip(student_distill_pairs, teacher_distill_pairs): + distill_reg_loss.append( + self.obj_weighted_reg(s_pair[0], s_pair[1], s_pair[2], s_pair[ + 3], t_pair[0], t_pair[1], t_pair[2], t_pair[3], t_pair[4])) + distill_cls_loss.append( + self.obj_weighted_cls(s_pair[5], t_pair[5], t_pair[4])) + distill_obj_loss.append(self.obj_loss(s_pair[4], t_pair[4])) + distill_reg_loss = paddle.add_n(distill_reg_loss) + distill_cls_loss = paddle.add_n(distill_cls_loss) + distill_obj_loss = paddle.add_n(distill_obj_loss) + loss = (distill_reg_loss + distill_cls_loss + distill_obj_loss + ) * self.weight + return loss diff --git a/ppdet/utils/checkpoint.py b/ppdet/utils/checkpoint.py index f70cad4fc..d491976f5 100644 --- a/ppdet/utils/checkpoint.py +++ b/ppdet/utils/checkpoint.py @@ -178,6 +178,38 @@ 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/eval.py b/tools/eval.py index 21ee29d16..3025dd822 100755 --- a/tools/eval.py +++ b/tools/eval.py @@ -33,6 +33,7 @@ from ppdet.utils.check import check_gpu, check_version, check_config from ppdet.utils.cli import ArgsParser from ppdet.engine import Trainer, init_parallel_env from ppdet.metrics.coco_utils import json_eval_results +from ppdet.slim import build_slim_model from ppdet.utils.logger import setup_logger logger = setup_logger('eval') @@ -100,22 +101,22 @@ def run(FLAGS, cfg): def main(): FLAGS = parse_args() - cfg = load_config(FLAGS.config) # TODO: bias should be unified cfg['bias'] = 1 if FLAGS.bias else 0 cfg['classwise'] = True if FLAGS.classwise else False cfg['output_eval'] = FLAGS.output_eval merge_config(FLAGS.opt) + + place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') + if FLAGS.slim_config: - slim_cfg = load_config(FLAGS.slim_config) - merge_config(slim_cfg) + cfg = build_slim_model(cfg, FLAGS.slim_config, mode='eval') + check_config(cfg) check_gpu(cfg.use_gpu) check_version() - place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') - run(FLAGS, cfg) diff --git a/tools/export_model.py b/tools/export_model.py index d04422873..8cf3885c8 100644 --- a/tools/export_model.py +++ b/tools/export_model.py @@ -31,6 +31,7 @@ from ppdet.core.workspace import load_config, merge_config from ppdet.utils.check import check_gpu, check_version, check_config from ppdet.utils.cli import ArgsParser from ppdet.engine import Trainer +from ppdet.slim import build_slim_model from ppdet.utils.logger import setup_logger logger = setup_logger('export_model') @@ -84,15 +85,15 @@ def run(FLAGS, cfg): def main(): paddle.set_device("cpu") FLAGS = parse_args() - cfg = load_config(FLAGS.config) # TODO: to be refined in the future if 'norm_type' in cfg and cfg['norm_type'] == 'sync_bn': FLAGS.opt['norm_type'] = 'bn' merge_config(FLAGS.opt) + if FLAGS.slim_config: - slim_cfg = load_config(FLAGS.slim_config) - merge_config(slim_cfg) + cfg = build_slim_model(cfg, FLAGS.slim_config, mode='test') + check_config(cfg) check_gpu(cfg.use_gpu) check_version() diff --git a/tools/infer.py b/tools/infer.py index a2507680b..19d7b36f6 100755 --- a/tools/infer.py +++ b/tools/infer.py @@ -31,6 +31,7 @@ from ppdet.core.workspace import load_config, merge_config from ppdet.engine import Trainer from ppdet.utils.check import check_gpu, check_version, check_config from ppdet.utils.cli import ArgsParser +from ppdet.slim import build_slim_model from ppdet.utils.logger import setup_logger logger = setup_logger('train') @@ -127,19 +128,20 @@ def run(FLAGS, cfg): def main(): FLAGS = parse_args() - cfg = load_config(FLAGS.config) cfg['use_vdl'] = FLAGS.use_vdl cfg['vdl_log_dir'] = FLAGS.vdl_log_dir merge_config(FLAGS.opt) + + place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') + if FLAGS.slim_config: - slim_cfg = load_config(FLAGS.slim_config) - merge_config(slim_cfg) + cfg = build_slim_model(cfg, FLAGS.slim_config, mode='test') + check_config(cfg) check_gpu(cfg.use_gpu) check_version() - place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') run(FLAGS, cfg) diff --git a/tools/train.py b/tools/train.py index cdbe87ab2..565ba8e90 100755 --- a/tools/train.py +++ b/tools/train.py @@ -33,6 +33,7 @@ import paddle from ppdet.core.workspace import load_config, merge_config, create from ppdet.utils.checkpoint import load_weight, load_pretrain_weight from ppdet.engine import Trainer, init_parallel_env, set_random_seed, init_fleet_env +from ppdet.slim import build_slim_model import ppdet.utils.cli as cli import ppdet.utils.check as check @@ -98,7 +99,7 @@ def run(FLAGS, cfg): # load weights if FLAGS.resume is not None: trainer.resume_weights(FLAGS.resume) - elif not FLAGS.slim_config and 'pretrain_weights' in cfg and cfg.pretrain_weights: + elif 'pretrain_weights' in cfg and cfg.pretrain_weights: trainer.load_weights(cfg.pretrain_weights) # training @@ -107,22 +108,22 @@ def run(FLAGS, cfg): def main(): FLAGS = parse_args() - cfg = load_config(FLAGS.config) cfg['fp16'] = FLAGS.fp16 cfg['fleet'] = FLAGS.fleet cfg['use_vdl'] = FLAGS.use_vdl cfg['vdl_log_dir'] = FLAGS.vdl_log_dir merge_config(FLAGS.opt) + + place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') + if FLAGS.slim_config: - slim_cfg = load_config(FLAGS.slim_config) - merge_config(slim_cfg) + cfg = build_slim_model(cfg, FLAGS.slim_config) + check.check_config(cfg) check.check_gpu(cfg.use_gpu) check.check_version() - place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') - run(FLAGS, cfg) -- Gitee From d59c0ebfbbc1b2198511328d56e347270d90d172 Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Thu, 8 Apr 2021 10:26:20 +0800 Subject: [PATCH 20/90] [chery-pick]update slim model (#2428) * update slim model * fix slim readme --- configs/slim/README.md | 6 ++-- .../slim/quant/mask_rcnn_r50_fpn_1x_qat.yml | 22 +++++++++++++ configs/slim/quant/ssd_mobilenet_v1_qat.yml | 9 ++++++ configs/slim/quant/yolov3_darknet_qat.yml | 31 +++++++++++++++++++ .../slim/quant/yolov3_mobilenet_v1_qat.yml | 1 - .../slim/quant/yolov3_mobilenet_v3_qat.yml | 14 ++++++++- 6 files changed, 78 insertions(+), 5 deletions(-) create mode 100644 configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml create mode 100644 configs/slim/quant/ssd_mobilenet_v1_qat.yml create mode 100644 configs/slim/quant/yolov3_darknet_qat.yml diff --git a/configs/slim/README.md b/configs/slim/README.md index 67ba71585..c314f52b6 100755 --- a/configs/slim/README.md +++ b/configs/slim/README.md @@ -87,13 +87,13 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ | 模型 | 压缩策略 | 输入尺寸 | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | | ------------------ | ------------ | -------- | :---------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | | YOLOv3-MobileNetV1 | baseline | 608 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | -| YOLOv3-MobileNetV1 | 普通在线量化 | 608 | 30.3 (+1.5) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/yolov3_mobilenet_v1_qat.yml) | +| YOLOv3-MobileNetV1 | 普通在线量化 | 608 | 30.5 (+1.7) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/yolov3_mobilenet_v1_qat.yml) | | 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.5 (-1.9) | [下载链接](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-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) | | 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 | 73.1(-0.7) | [下载链接](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) | +| 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) | - | | Mask-ResNet50-FPN | 普通在线量化 | (800, 1333) | 39.7(+0.5)/35.9(+0.3) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/mask_rcnn_r50_fpn_1x_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml) | diff --git a/configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml b/configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml new file mode 100644 index 000000000..7363b4e55 --- /dev/null +++ b/configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml @@ -0,0 +1,22 @@ +pretrain_weights: https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_1x_coco.pdparams +slim: QAT + +QAT: + quant_config: { + 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', + 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, + 'quantizable_layer_type': ['Conv2D', 'Linear']} + print_model: True + + +epoch: 5 + +LearningRate: + base_lr: 0.001 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [3, 4] + - !LinearWarmup + start_factor: 0.001 + steps: 100 diff --git a/configs/slim/quant/ssd_mobilenet_v1_qat.yml b/configs/slim/quant/ssd_mobilenet_v1_qat.yml new file mode 100644 index 000000000..05e068368 --- /dev/null +++ b/configs/slim/quant/ssd_mobilenet_v1_qat.yml @@ -0,0 +1,9 @@ +pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/dygraph/ssd_mobilenet_v1_300_120e_voc.pdparams +slim: QAT + +QAT: + quant_config: { + 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', + 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, + 'quantizable_layer_type': ['Conv2D', 'Linear']} + print_model: True diff --git a/configs/slim/quant/yolov3_darknet_qat.yml b/configs/slim/quant/yolov3_darknet_qat.yml new file mode 100644 index 000000000..281b53418 --- /dev/null +++ b/configs/slim/quant/yolov3_darknet_qat.yml @@ -0,0 +1,31 @@ +pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams +slim: QAT + +QAT: + quant_config: { + 'weight_quantize_type': 'channel_wise_abs_max', 'activation_quantize_type': 'moving_average_abs_max', + 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, + 'quantizable_layer_type': ['Conv2D', 'Linear']} + print_model: True + +epoch: 50 + +LearningRate: + base_lr: 0.0001 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 30 + - 45 + - !LinearWarmup + start_factor: 0. + steps: 1000 + +OptimizerBuilder: + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0005 + type: L2 diff --git a/configs/slim/quant/yolov3_mobilenet_v1_qat.yml b/configs/slim/quant/yolov3_mobilenet_v1_qat.yml index dfa365c10..d14520829 100644 --- a/configs/slim/quant/yolov3_mobilenet_v1_qat.yml +++ b/configs/slim/quant/yolov3_mobilenet_v1_qat.yml @@ -1,6 +1,5 @@ # Weights of yolov3_mobilenet_v1_coco pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams -weight_type: resume slim: QAT QAT: diff --git a/configs/slim/quant/yolov3_mobilenet_v3_qat.yml b/configs/slim/quant/yolov3_mobilenet_v3_qat.yml index 288e72a10..812690908 100644 --- a/configs/slim/quant/yolov3_mobilenet_v3_qat.yml +++ b/configs/slim/quant/yolov3_mobilenet_v3_qat.yml @@ -1,6 +1,5 @@ # Weights of yolov3_mobilenet_v3_coco pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams -weight_type: resume slim: QAT QAT: @@ -10,3 +9,16 @@ QAT: 'weight_bits': 8, 'activation_bits': 8, 'dtype': 'int8', 'window_size': 10000, 'moving_rate': 0.9, 'quantizable_layer_type': ['Conv2D', 'Linear']} print_model: True + +epoch: 30 +LearningRate: + base_lr: 0.0001 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 25 + - 28 + - !LinearWarmup + start_factor: 0. + steps: 2000 -- Gitee From 4f04730990985e23738301287276e8e3e87cee6c Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Thu, 8 Apr 2021 15:43:39 +0800 Subject: [PATCH 21/90] yolo annotations (#2554) --- ppdet/modeling/architectures/yolo.py | 10 ++++ ppdet/modeling/backbones/darknet.py | 66 ++++++++++++++++++++++++++ ppdet/modeling/heads/yolo_head.py | 12 +++++ ppdet/modeling/losses/yolo_loss.py | 12 +++++ ppdet/modeling/necks/yolo_fpn.py | 70 ++++++++++++++++++++++++++++ 5 files changed, 170 insertions(+) diff --git a/ppdet/modeling/architectures/yolo.py b/ppdet/modeling/architectures/yolo.py index bf6c19ecf..6c0444480 100644 --- a/ppdet/modeling/architectures/yolo.py +++ b/ppdet/modeling/architectures/yolo.py @@ -20,6 +20,16 @@ class YOLOv3(BaseArch): yolo_head='YOLOv3Head', post_process='BBoxPostProcess', data_format='NCHW'): + """ + YOLOv3 network, see https://arxiv.org/abs/1804.02767 + + Args: + backbone (nn.Layer): backbone instance + neck (nn.Layer): neck instance + yolo_head (nn.Layer): anchor_head instance + bbox_post_process (object): `BBoxPostProcess` instance + data_format (str): data format, NCHW or NHWC + """ super(YOLOv3, self).__init__(data_format=data_format) self.backbone = backbone self.neck = neck diff --git a/ppdet/modeling/backbones/darknet.py b/ppdet/modeling/backbones/darknet.py index ab748c66b..9bf0cdaa9 100755 --- a/ppdet/modeling/backbones/darknet.py +++ b/ppdet/modeling/backbones/darknet.py @@ -37,6 +37,22 @@ class ConvBNLayer(nn.Layer): act="leaky", name=None, data_format='NCHW'): + """ + conv + bn + activation layer + + Args: + ch_in (int): input channel + ch_out (int): output channel + filter_size (int): filter size, default 3 + stride (int): stride, default 1 + groups (int): number of groups of conv layer, default 1 + padding (int): padding size, default 0 + norm_type (str): batch norm type, default bn + norm_decay (str): decay for weight and bias of batch norm layer, default 0. + act (str): activation function type, default 'leaky', which means leaky_relu + name (str): layer name + data_format (str): data format, NCHW or NHWC + """ super(ConvBNLayer, self).__init__() self.conv = nn.Conv2D( @@ -75,6 +91,20 @@ class DownSample(nn.Layer): norm_decay=0., name=None, data_format='NCHW'): + """ + downsample layer + + Args: + ch_in (int): input channel + ch_out (int): output channel + filter_size (int): filter size, default 3 + stride (int): stride, default 2 + padding (int): padding size, default 1 + norm_type (str): batch norm type, default bn + norm_decay (str): decay for weight and bias of batch norm layer, default 0. + name (str): layer name + data_format (str): data format, NCHW or NHWC + """ super(DownSample, self).__init__() @@ -103,6 +133,18 @@ class BasicBlock(nn.Layer): norm_decay=0., name=None, data_format='NCHW'): + """ + BasicBlock layer of DarkNet + + Args: + ch_in (int): input channel + ch_out (int): output channel + norm_type (str): batch norm type, default bn + norm_decay (str): decay for weight and bias of batch norm layer, default 0. + name (str): layer name + data_format (str): data format, NCHW or NHWC + """ + super(BasicBlock, self).__init__() self.conv1 = ConvBNLayer( @@ -142,6 +184,18 @@ class Blocks(nn.Layer): norm_decay=0., name=None, data_format='NCHW'): + """ + Blocks layer, which consist of some BaickBlock layers + + Args: + ch_in (int): input channel + ch_out (int): output channel + count (int): number of BasicBlock layer + norm_type (str): batch norm type, default bn + norm_decay (str): decay for weight and bias of batch norm layer, default 0. + name (str): layer name + data_format (str): data format, NCHW or NHWC + """ super(Blocks, self).__init__() self.basicblock0 = BasicBlock( @@ -189,6 +243,18 @@ class DarkNet(nn.Layer): norm_type='bn', norm_decay=0., data_format='NCHW'): + """ + Darknet, see https://pjreddie.com/darknet/yolo/ + + Args: + depth (int): depth of network + freeze_at (int): freeze the backbone at which stage + filter_size (int): filter size, default 3 + return_idx (list): index of stages whose feature maps are returned + norm_type (str): batch norm type, default bn + norm_decay (str): decay for weight and bias of batch norm layer, default 0. + data_format (str): data format, NCHW or NHWC + """ super(DarkNet, self).__init__() self.depth = depth self.freeze_at = freeze_at diff --git a/ppdet/modeling/heads/yolo_head.py b/ppdet/modeling/heads/yolo_head.py index 3516da410..fa8f95797 100644 --- a/ppdet/modeling/heads/yolo_head.py +++ b/ppdet/modeling/heads/yolo_head.py @@ -28,6 +28,18 @@ class YOLOv3Head(nn.Layer): iou_aware=False, iou_aware_factor=0.4, data_format='NCHW'): + """ + Head for YOLOv3 network + + Args: + num_classes (int): number of foreground classes + anchors (list): anchors + anchor_masks (list): anchor masks + loss (object): YOLOv3Loss instance + iou_aware (bool): whether to use iou_aware + iou_aware_factor (float): iou aware factor + data_format (str): data format, NCHW or NHWC + """ super(YOLOv3Head, self).__init__() self.num_classes = num_classes self.loss = loss diff --git a/ppdet/modeling/losses/yolo_loss.py b/ppdet/modeling/losses/yolo_loss.py index 9579acf9f..657959cd7 100644 --- a/ppdet/modeling/losses/yolo_loss.py +++ b/ppdet/modeling/losses/yolo_loss.py @@ -46,6 +46,18 @@ class YOLOv3Loss(nn.Layer): scale_x_y=1., iou_loss=None, iou_aware_loss=None): + """ + YOLOv3Loss layer + + Args: + num_calsses (int): number of foreground classes + ignore_thresh (float): threshold to ignore confidence loss + label_smooth (bool): whether to use label smoothing + downsample (list): downsample ratio for each detection block + scale_x_y (float): scale_x_y factor + iou_loss (object): IoULoss instance + iou_aware_loss (object): IouAwareLoss instance + """ super(YOLOv3Loss, self).__init__() self.num_classes = num_classes self.ignore_thresh = ignore_thresh diff --git a/ppdet/modeling/necks/yolo_fpn.py b/ppdet/modeling/necks/yolo_fpn.py index 456bfae20..9b8a6d40a 100644 --- a/ppdet/modeling/necks/yolo_fpn.py +++ b/ppdet/modeling/necks/yolo_fpn.py @@ -27,6 +27,16 @@ __all__ = ['YOLOv3FPN', 'PPYOLOFPN'] class YoloDetBlock(nn.Layer): def __init__(self, ch_in, channel, norm_type, name, data_format='NCHW'): + """ + YOLODetBlock layer for yolov3, see https://arxiv.org/abs/1804.02767 + + Args: + ch_in (int): input channel + channel (int): base channel + norm_type (str): batch norm type + name (str): layer name + data_format (str): data format, NCHW or NHWC + """ super(YoloDetBlock, self).__init__() self.ch_in = ch_in self.channel = channel @@ -78,6 +88,17 @@ class SPP(nn.Layer): norm_type, name, data_format='NCHW'): + """ + SPP layer, which consist of four pooling layer follwed by conv layer + + Args: + ch_in (int): input channel of conv layer + ch_out (int): output channel of conv layer + k (int): kernel size of conv layer + norm_type (str): batch norm type + name (str): layer name + data_format (str): data format, NCHW or NHWC + """ super(SPP, self).__init__() self.pool = [] for size in pool_size: @@ -110,6 +131,15 @@ class SPP(nn.Layer): class DropBlock(nn.Layer): def __init__(self, block_size, keep_prob, name, data_format='NCHW'): + """ + DropBlock layer, see https://arxiv.org/abs/1810.12890 + + Args: + block_size (int): block size + keep_prob (int): keep probability + name (str): layer name + data_format (str): data format, NCHW or NHWC + """ super(DropBlock, self).__init__() self.block_size = block_size self.keep_prob = keep_prob @@ -149,6 +179,19 @@ class CoordConv(nn.Layer): norm_type, name, data_format='NCHW'): + """ + CoordConv layer + + Args: + ch_in (int): input channel + ch_out (int): output channel + filter_size (int): filter size, default 3 + padding (int): padding size, default 0 + norm_type (str): batch norm type, default bn + name (str): layer name + data_format (str): data format, NCHW or NHWC + + """ super(CoordConv, self).__init__() self.conv = ConvBNLayer( ch_in + 2, @@ -193,6 +236,14 @@ class CoordConv(nn.Layer): class PPYOLODetBlock(nn.Layer): def __init__(self, cfg, name, data_format='NCHW'): + """ + PPYOLODetBlock layer + + Args: + cfg (list): layer configs for this block + name (str): block name + data_format (str): data format, NCHW or NHWC + """ super(PPYOLODetBlock, self).__init__() self.conv_module = nn.Sequential() for idx, (conv_name, layer, args, kwargs) in enumerate(cfg[:-1]): @@ -220,6 +271,15 @@ class YOLOv3FPN(nn.Layer): in_channels=[256, 512, 1024], norm_type='bn', data_format='NCHW'): + """ + YOLOv3FPN layer + + Args: + in_channels (list): input channels for fpn + norm_type (str): batch norm type, default bn + data_format (str): data format, NCHW or NHWC + + """ super(YOLOv3FPN, self).__init__() assert len(in_channels) > 0, "in_channels length should > 0" self.in_channels = in_channels @@ -300,6 +360,16 @@ class PPYOLOFPN(nn.Layer): norm_type='bn', data_format='NCHW', **kwargs): + """ + PPYOLOFPN layer + + Args: + in_channels (list): input channels for fpn + norm_type (str): batch norm type, default bn + data_format (str): data format, NCHW or NHWC + kwargs: extra key-value pairs, such as parameter of DropBlock and spp + + """ super(PPYOLOFPN, self).__init__() assert len(in_channels) > 0, "in_channels length should > 0" self.in_channels = in_channels -- Gitee From 7f405a484bb2bb815ada3e185f38f280f5711538 Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Sat, 10 Apr 2021 16:10:06 +0800 Subject: [PATCH 22/90] fix COCODataset while eval without annotations (#2572) --- ppdet/data/source/coco.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ppdet/data/source/coco.py b/ppdet/data/source/coco.py index d5691c7be..53e31714d 100644 --- a/ppdet/data/source/coco.py +++ b/ppdet/data/source/coco.py @@ -90,6 +90,13 @@ class COCODataSet(DetDataset): im_w, im_h, img_id)) continue + coco_rec = { + 'im_file': im_path, + 'im_id': np.array([img_id]), + 'h': im_h, + 'w': im_w, + } if 'image' in self.data_fields else {} + if not self.load_image_only: ins_anno_ids = coco.getAnnIds(imgIds=[img_id], iscrowd=False) instances = coco.loadAnns(ins_anno_ids) @@ -143,13 +150,6 @@ class COCODataSet(DetDataset): if has_segmentation and not any(gt_poly): continue - coco_rec = { - 'im_file': im_path, - 'im_id': np.array([img_id]), - 'h': im_h, - 'w': im_w, - } if 'image' in self.data_fields else {} - gt_rec = { 'is_crowd': is_crowd, 'gt_class': gt_class, -- Gitee From dee470e827c7587305b8e58f8393f8351d3e5424 Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Mon, 12 Apr 2021 11:09:12 +0800 Subject: [PATCH 23/90] [cherry-pick] add senet (#2550) * add senet * add annotations according to review --- ...ade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml | 1 - ...ter_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml | 1 - ...ask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml | 1 - .../faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml | 1 - .../faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml | 1 - .../mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml | 1 - .../mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml | 1 - ppdet/modeling/backbones/__init__.py | 2 + ppdet/modeling/backbones/resnet.py | 258 ++++++++++-------- ppdet/modeling/backbones/senet.py | 140 ++++++++++ ppdet/modeling/layers.py | 15 +- ppdet/modeling/necks/ttf_fpn.py | 3 +- 12 files changed, 287 insertions(+), 138 deletions(-) create mode 100644 ppdet/modeling/backbones/senet.py diff --git a/configs/dcn/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml b/configs/dcn/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml index 19c5ad811..4180919ed 100644 --- a/configs/dcn/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml +++ b/configs/dcn/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml @@ -8,7 +8,6 @@ ResNet: depth: 101 groups: 64 base_width: 4 - base_channels: 64 variant: d norm_type: bn freeze_at: 0 diff --git a/configs/dcn/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml b/configs/dcn/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml index 2b09c7e15..68fef482b 100644 --- a/configs/dcn/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml +++ b/configs/dcn/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml @@ -9,7 +9,6 @@ ResNet: depth: 101 groups: 64 base_width: 4 - base_channels: 64 variant: d norm_type: bn freeze_at: 0 diff --git a/configs/dcn/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml b/configs/dcn/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml index 933e21f3f..8e7857c59 100644 --- a/configs/dcn/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml +++ b/configs/dcn/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml @@ -10,7 +10,6 @@ ResNet: variant: d groups: 64 base_width: 4 - base_channels: 64 norm_type: bn freeze_at: 0 return_idx: [0,1,2,3] diff --git a/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml b/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml index 20e38b762..317d3741e 100644 --- a/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml +++ b/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml @@ -10,7 +10,6 @@ ResNet: depth: 101 groups: 64 base_width: 4 - base_channels: 64 variant: d norm_type: bn freeze_at: 0 diff --git a/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml b/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml index 82e0b39f2..939878f24 100644 --- a/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml +++ b/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml @@ -10,7 +10,6 @@ ResNet: depth: 101 groups: 64 base_width: 4 - base_channels: 64 variant: d norm_type: bn freeze_at: 0 diff --git a/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml b/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml index c318e1d2a..238750294 100644 --- a/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml +++ b/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml @@ -11,7 +11,6 @@ ResNet: variant: d groups: 64 base_width: 4 - base_channels: 64 norm_type: bn freeze_at: 0 return_idx: [0,1,2,3] diff --git a/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml b/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml index 501c618a6..6a0d0f789 100644 --- a/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml +++ b/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml @@ -11,7 +11,6 @@ ResNet: variant: d groups: 64 base_width: 4 - base_channels: 64 norm_type: bn freeze_at: 0 return_idx: [0,1,2,3] diff --git a/ppdet/modeling/backbones/__init__.py b/ppdet/modeling/backbones/__init__.py index d027c323c..4937c9b8d 100644 --- a/ppdet/modeling/backbones/__init__.py +++ b/ppdet/modeling/backbones/__init__.py @@ -20,6 +20,7 @@ from . import mobilenet_v3 from . import hrnet from . import blazenet from . import ghostnet +from . import senet from .vgg import * from .resnet import * @@ -29,3 +30,4 @@ from .mobilenet_v3 import * from .hrnet import * from .blazenet import * from .ghostnet import * +from .senet import * diff --git a/ppdet/modeling/backbones/resnet.py b/ppdet/modeling/backbones/resnet.py index f642764ad..db65e55a2 100755 --- a/ppdet/modeling/backbones/resnet.py +++ b/ppdet/modeling/backbones/resnet.py @@ -20,11 +20,12 @@ import paddle.nn as nn import paddle.nn.functional as F from ppdet.core.workspace import register, serializable from paddle.regularizer import L2Decay +from paddle.nn.initializer import Uniform from ppdet.modeling.layers import DeformableConvV2 from .name_adapter import NameAdapter from ..shape_spec import ShapeSpec -__all__ = ['ResNet', 'Res5Head'] +__all__ = ['ResNet', 'Res5Head', 'Blocks', 'BasicBlock', 'BottleNeck'] ResNet_cfg = { 18: [2, 2, 2, 2], @@ -41,15 +42,13 @@ class ConvNormLayer(nn.Layer): ch_out, filter_size, stride, - name_adapter, groups=1, act=None, norm_type='bn', norm_decay=0., freeze_norm=True, lr=1.0, - dcn_v2=False, - name=None): + dcn_v2=False): super(ConvNormLayer, self).__init__() assert norm_type in ['bn', 'sync_bn'] self.norm_type = norm_type @@ -63,8 +62,7 @@ class ConvNormLayer(nn.Layer): stride=stride, padding=(filter_size - 1) // 2, groups=groups, - weight_attr=paddle.ParamAttr( - learning_rate=lr, ), + weight_attr=paddle.ParamAttr(learning_rate=lr), bias_attr=False) else: self.conv = DeformableConvV2( @@ -74,12 +72,9 @@ class ConvNormLayer(nn.Layer): stride=stride, padding=(filter_size - 1) // 2, groups=groups, - weight_attr=paddle.ParamAttr( - learning_rate=lr, ), - bias_attr=False, - name=name) + weight_attr=paddle.ParamAttr(learning_rate=lr), + bias_attr=False) - bn_name = name_adapter.fix_conv_norm_name(name) norm_lr = 0. if freeze_norm else lr param_attr = paddle.ParamAttr( learning_rate=norm_lr, @@ -116,24 +111,58 @@ class ConvNormLayer(nn.Layer): return out +class SELayer(nn.Layer): + def __init__(self, ch, reduction_ratio=16): + super(SELayer, self).__init__() + self.pool = nn.AdaptiveAvgPool2D(1) + stdv = 1.0 / math.sqrt(ch) + c_ = ch // reduction_ratio + self.squeeze = nn.Linear( + ch, + c_, + weight_attr=paddle.ParamAttr(initializer=Uniform(-stdv, stdv)), + bias_attr=True) + + stdv = 1.0 / math.sqrt(c_) + self.extract = nn.Linear( + c_, + ch, + weight_attr=paddle.ParamAttr(initializer=Uniform(-stdv, stdv)), + bias_attr=True) + + def forward(self, inputs): + out = self.pool(inputs) + out = paddle.squeeze(out, axis=[2, 3]) + out = self.squeeze(out) + out = F.relu(out) + out = self.extract(out) + out = F.sigmoid(out) + out = paddle.unsqueeze(out, axis=[2, 3]) + scale = out * inputs + return scale + + class BasicBlock(nn.Layer): + + expansion = 1 + def __init__(self, ch_in, ch_out, stride, shortcut, - name_adapter, - name, variant='b', + groups=1, + base_width=64, lr=1.0, norm_type='bn', norm_decay=0., freeze_norm=True, - dcn_v2=False): + dcn_v2=False, + std_senet=False): super(BasicBlock, self).__init__() assert dcn_v2 is False, "Not implemented yet." - conv_name1, conv_name2, shortcut_name = name_adapter.fix_basicblock_name( - name) + assert groups == 1 and base_width == 64, 'BasicBlock only supports groups=1 and base_width=64' self.shortcut = shortcut if not shortcut: @@ -150,54 +179,52 @@ class BasicBlock(nn.Layer): ch_out=ch_out, filter_size=1, stride=1, - name_adapter=name_adapter, norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=lr, - name=shortcut_name)) + lr=lr)) else: self.short = ConvNormLayer( ch_in=ch_in, ch_out=ch_out, filter_size=1, stride=stride, - name_adapter=name_adapter, norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=lr, - name=shortcut_name) + lr=lr) self.branch2a = ConvNormLayer( ch_in=ch_in, ch_out=ch_out, filter_size=3, stride=stride, - name_adapter=name_adapter, act='relu', norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=lr, - name=conv_name1) + lr=lr) self.branch2b = ConvNormLayer( ch_in=ch_out, ch_out=ch_out, filter_size=3, stride=1, - name_adapter=name_adapter, act=None, norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=lr, - name=conv_name2) + lr=lr) + + self.std_senet = std_senet + if self.std_senet: + self.se = SELayer(ch_out) def forward(self, inputs): out = self.branch2a(inputs) out = self.branch2b(out) + if self.std_senet: + out = self.se(out) if self.shortcut: short = inputs @@ -211,22 +238,23 @@ class BasicBlock(nn.Layer): class BottleNeck(nn.Layer): + + expansion = 4 + def __init__(self, ch_in, ch_out, stride, shortcut, - name_adapter, - name, variant='b', groups=1, base_width=4, - base_channels=64, lr=1.0, norm_type='bn', norm_decay=0., freeze_norm=True, - dcn_v2=False): + dcn_v2=False, + std_senet=False): super(BottleNeck, self).__init__() if variant == 'a': stride1, stride2 = stride, 1 @@ -234,15 +262,7 @@ class BottleNeck(nn.Layer): stride1, stride2 = 1, stride # ResNeXt - if groups == 1: - width = ch_out - else: - width = int( - math.floor(ch_out * (base_width * 1.0 / base_channels)) * - groups) - - conv_name1, conv_name2, conv_name3, \ - shortcut_name = name_adapter.fix_bottleneck_name(name) + width = int(ch_out * (base_width / 64.)) * groups self.shortcut = shortcut if not shortcut: @@ -256,75 +276,73 @@ class BottleNeck(nn.Layer): 'conv', ConvNormLayer( ch_in=ch_in, - ch_out=ch_out * 4, + ch_out=ch_out * self.expansion, filter_size=1, stride=1, - name_adapter=name_adapter, norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=lr, - name=shortcut_name)) + lr=lr)) else: self.short = ConvNormLayer( ch_in=ch_in, - ch_out=ch_out * 4, + ch_out=ch_out * self.expansion, filter_size=1, stride=stride, - name_adapter=name_adapter, norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=lr, - name=shortcut_name) + lr=lr) self.branch2a = ConvNormLayer( ch_in=ch_in, ch_out=width, filter_size=1, stride=stride1, - name_adapter=name_adapter, groups=1, act='relu', norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=lr, - name=conv_name1) + lr=lr) self.branch2b = ConvNormLayer( ch_in=width, ch_out=width, filter_size=3, stride=stride2, - name_adapter=name_adapter, groups=groups, act='relu', norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, lr=lr, - dcn_v2=dcn_v2, - name=conv_name2) + dcn_v2=dcn_v2) self.branch2c = ConvNormLayer( ch_in=width, - ch_out=ch_out * 4, + ch_out=ch_out * self.expansion, filter_size=1, stride=1, - name_adapter=name_adapter, groups=1, norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=lr, - name=conv_name3) + lr=lr) + + self.std_senet = std_senet + if self.std_senet: + self.se = SELayer(ch_out * self.expansion) def forward(self, inputs): out = self.branch2a(inputs) out = self.branch2b(out) out = self.branch2c(out) + + if self.std_senet: + out = self.se(out) + if self.shortcut: short = inputs else: @@ -338,7 +356,7 @@ class BottleNeck(nn.Layer): class Blocks(nn.Layer): def __init__(self, - depth, + block, ch_in, ch_out, count, @@ -346,55 +364,37 @@ class Blocks(nn.Layer): stage_num, variant='b', groups=1, - base_width=-1, - base_channels=-1, + base_width=64, lr=1.0, norm_type='bn', norm_decay=0., freeze_norm=True, - dcn_v2=False): + dcn_v2=False, + std_senet=False): super(Blocks, self).__init__() self.blocks = [] for i in range(count): conv_name = name_adapter.fix_layer_warp_name(stage_num, count, i) - if depth >= 50: - block = self.add_sublayer( - conv_name, - BottleNeck( - ch_in=ch_in if i == 0 else ch_out * 4, - ch_out=ch_out, - stride=2 if i == 0 and stage_num != 2 else 1, - shortcut=False if i == 0 else True, - name_adapter=name_adapter, - name=conv_name, - variant=variant, - groups=groups, - base_width=base_width, - base_channels=base_channels, - lr=lr, - norm_type=norm_type, - norm_decay=norm_decay, - freeze_norm=freeze_norm, - dcn_v2=dcn_v2)) - else: - ch_in = ch_in // 4 if i > 0 else ch_in - block = self.add_sublayer( - conv_name, - BasicBlock( - ch_in=ch_in if i == 0 else ch_out, - ch_out=ch_out, - stride=2 if i == 0 and stage_num != 2 else 1, - shortcut=False if i == 0 else True, - name_adapter=name_adapter, - name=conv_name, - variant=variant, - lr=lr, - norm_type=norm_type, - norm_decay=norm_decay, - freeze_norm=freeze_norm, - dcn_v2=dcn_v2)) - self.blocks.append(block) + layer = self.add_sublayer( + conv_name, + block( + ch_in=ch_in, + ch_out=ch_out, + stride=2 if i == 0 and stage_num != 2 else 1, + shortcut=False if i == 0 else True, + variant=variant, + groups=groups, + base_width=base_width, + lr=lr, + norm_type=norm_type, + norm_decay=norm_decay, + freeze_norm=freeze_norm, + dcn_v2=dcn_v2, + std_senet=std_senet)) + self.blocks.append(layer) + if i == 0: + ch_in = ch_out * block.expansion def forward(self, inputs): block_out = inputs @@ -410,23 +410,47 @@ class ResNet(nn.Layer): def __init__(self, depth=50, + ch_in=64, variant='b', lr_mult_list=[1.0, 1.0, 1.0, 1.0], groups=1, - base_width=-1, - base_channels=-1, + base_width=64, norm_type='bn', norm_decay=0, freeze_norm=True, freeze_at=0, return_idx=[0, 1, 2, 3], dcn_v2_stages=[-1], - num_stages=4): + num_stages=4, + std_senet=False): + """ + Residual Network, see https://arxiv.org/abs/1512.03385 + + Args: + depth (int): ResNet depth, should be 18, 34, 50, 101, 152. + ch_in (int): output channel of first stage, default 64 + variant (str): ResNet variant, supports 'a', 'b', 'c', 'd' currently + lr_mult_list (list): learning rate ratio of different resnet stages(2,3,4,5), + lower learning rate ratio is need for pretrained model + got using distillation(default as [1.0, 1.0, 1.0, 1.0]). + groups (int): group convolution cardinality + base_width (int): base width of each group convolution + norm_type (str): normalization type, 'bn', 'sync_bn' or 'affine_channel' + norm_decay (float): weight decay for normalization layer weights + freeze_norm (bool): freeze normalization layers + freeze_at (int): freeze the backbone at which stage + return_idx (list): index of the stages whose feature maps are returned + dcn_v2_stages (list): index of stages who select deformable conv v2 + num_stages (int): total num of stages + std_senet (bool): whether use senet, default True + """ super(ResNet, self).__init__() self._model_type = 'ResNet' if groups == 1 else 'ResNeXt' assert num_stages >= 1 and num_stages <= 4 self.depth = depth self.variant = variant + self.groups = groups + self.base_width = base_width self.norm_type = norm_type self.norm_decay = norm_decay self.freeze_norm = freeze_norm @@ -456,12 +480,12 @@ class ResNet(nn.Layer): conv1_name = na.fix_c1_stage_name() if variant in ['c', 'd']: conv_def = [ - [3, 32, 3, 2, "conv1_1"], - [32, 32, 3, 1, "conv1_2"], - [32, 64, 3, 1, "conv1_3"], + [3, ch_in // 2, 3, 2, "conv1_1"], + [ch_in // 2, ch_in // 2, 3, 1, "conv1_2"], + [ch_in // 2, ch_in, 3, 1, "conv1_3"], ] else: - conv_def = [[3, 64, 7, 2, conv1_name]] + conv_def = [[3, ch_in, 7, 2, conv1_name]] self.conv1 = nn.Sequential() for (c_in, c_out, k, s, _name) in conv_def: self.conv1.add_sublayer( @@ -471,20 +495,18 @@ class ResNet(nn.Layer): ch_out=c_out, filter_size=k, stride=s, - name_adapter=na, groups=1, act='relu', norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - lr=1.0, - name=_name)) + lr=1.0)) - ch_in_list = [64, 256, 512, 1024] + self.ch_in = ch_in ch_out_list = [64, 128, 256, 512] - self.expansion = 4 if depth >= 50 else 1 + block = BottleNeck if depth >= 50 else BasicBlock - self._out_channels = [self.expansion * v for v in ch_out_list] + self._out_channels = [block.expansion * v for v in ch_out_list] self._out_strides = [4, 8, 16, 32] self.res_layers = [] @@ -495,9 +517,8 @@ class ResNet(nn.Layer): res_layer = self.add_sublayer( res_name, Blocks( - depth, - ch_in_list[i] // 4 - if i > 0 and depth < 50 else ch_in_list[i], + block, + self.ch_in, ch_out_list[i], count=block_nums[i], name_adapter=na, @@ -505,13 +526,14 @@ class ResNet(nn.Layer): variant=variant, groups=groups, base_width=base_width, - base_channels=base_channels, lr=lr_mult, norm_type=norm_type, norm_decay=norm_decay, freeze_norm=freeze_norm, - dcn_v2=(i in self.dcn_v2_stages))) + dcn_v2=(i in self.dcn_v2_stages), + std_senet=std_senet)) self.res_layers.append(res_layer) + self.ch_in = self._out_channels[i] @property def out_shape(self): diff --git a/ppdet/modeling/backbones/senet.py b/ppdet/modeling/backbones/senet.py new file mode 100644 index 000000000..a621c69b9 --- /dev/null +++ b/ppdet/modeling/backbones/senet.py @@ -0,0 +1,140 @@ +# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import paddle +import paddle.nn as nn +import paddle.nn.functional as F +from ppdet.core.workspace import register, serializable +from .resnet import ResNet, Blocks, BasicBlock, BottleNeck + +__all__ = ['SENet', 'SERes5Head'] + + +@register +@serializable +class SENet(ResNet): + __shared__ = ['norm_type'] + + def __init__(self, + depth=50, + variant='b', + lr_mult_list=[1.0, 1.0, 1.0, 1.0], + groups=1, + base_width=64, + norm_type='bn', + norm_decay=0, + freeze_norm=True, + freeze_at=0, + return_idx=[0, 1, 2, 3], + dcn_v2_stages=[-1], + std_senet=True, + num_stages=4): + """ + Squeeze-and-Excitation Networks, see https://arxiv.org/abs/1709.01507 + + Args: + depth (int): SENet depth, should be 50, 101, 152 + variant (str): ResNet variant, supports 'a', 'b', 'c', 'd' currently + lr_mult_list (list): learning rate ratio of different resnet stages(2,3,4,5), + lower learning rate ratio is need for pretrained model + got using distillation(default as [1.0, 1.0, 1.0, 1.0]). + groups (int): group convolution cardinality + base_width (int): base width of each group convolution + norm_type (str): normalization type, 'bn', 'sync_bn' or 'affine_channel' + norm_decay (float): weight decay for normalization layer weights + freeze_norm (bool): freeze normalization layers + freeze_at (int): freeze the backbone at which stage + return_idx (list): index of the stages whose feature maps are returned + dcn_v2_stages (list): index of stages who select deformable conv v2 + std_senet (bool): whether use senet, default True + num_stages (int): total num of stages + """ + + super(SENet, self).__init__( + depth=depth, + variant=variant, + lr_mult_list=lr_mult_list, + ch_in=128, + groups=groups, + base_width=base_width, + norm_type=norm_type, + norm_decay=norm_decay, + freeze_norm=freeze_norm, + freeze_at=freeze_at, + return_idx=return_idx, + dcn_v2_stages=dcn_v2_stages, + std_senet=std_senet, + num_stages=num_stages) + + +@register +class SERes5Head(nn.Layer): + def __init__(self, + depth=50, + variant='b', + lr_mult=1.0, + groups=1, + base_width=64, + norm_type='bn', + norm_decay=0, + dcn_v2=False, + freeze_norm=False, + std_senet=True): + """ + SERes5Head layer + + Args: + depth (int): SENet depth, should be 50, 101, 152 + variant (str): ResNet variant, supports 'a', 'b', 'c', 'd' currently + lr_mult (list): learning rate ratio of SERes5Head, default as 1.0. + groups (int): group convolution cardinality + base_width (int): base width of each group convolution + norm_type (str): normalization type, 'bn', 'sync_bn' or 'affine_channel' + norm_decay (float): weight decay for normalization layer weights + dcn_v2_stages (list): index of stages who select deformable conv v2 + std_senet (bool): whether use senet, default True + + """ + super(SERes5Head, self).__init__() + ch_out = 512 + ch_in = 256 if depth < 50 else 1024 + na = NameAdapter(self) + block = BottleNeck if depth >= 50 else BasicBlock + self.res5 = Blocks( + block, + ch_in, + ch_out, + count=3, + name_adapter=na, + stage_num=5, + variant=variant, + groups=groups, + base_width=base_width, + lr=lr_mult, + norm_type=norm_type, + norm_decay=norm_decay, + freeze_norm=freeze_norm, + dcn_v2=dcn_v2, + std_senet=std_senet) + self.ch_out = ch_out * block.expansion + + @property + def out_shape(self): + return [ShapeSpec( + channels=self.ch_out, + stride=16, )] + + def forward(self, roi_feat): + y = self.res5(roi_feat) + return y diff --git a/ppdet/modeling/layers.py b/ppdet/modeling/layers.py index a35bc6273..19874b3ff 100644 --- a/ppdet/modeling/layers.py +++ b/ppdet/modeling/layers.py @@ -51,37 +51,30 @@ class DeformableConvV2(nn.Layer): weight_attr=None, bias_attr=None, lr_scale=1, - regularizer=None, - name=None): + regularizer=None): super(DeformableConvV2, self).__init__() self.offset_channel = 2 * kernel_size**2 self.mask_channel = kernel_size**2 if lr_scale == 1 and regularizer is None: - offset_bias_attr = ParamAttr( - initializer=Constant(0.), - name='{}._conv_offset.bias'.format(name)) + offset_bias_attr = ParamAttr(initializer=Constant(0.)) else: offset_bias_attr = ParamAttr( initializer=Constant(0.), learning_rate=lr_scale, - regularizer=regularizer, - name='{}._conv_offset.bias'.format(name)) + regularizer=regularizer) self.conv_offset = nn.Conv2D( in_channels, 3 * kernel_size**2, kernel_size, stride=stride, padding=(kernel_size - 1) // 2, - weight_attr=ParamAttr( - initializer=Constant(0.0), - name='{}._conv_offset.weight'.format(name)), + weight_attr=ParamAttr(initializer=Constant(0.0)), bias_attr=offset_bias_attr) if bias_attr: # in FCOS-DCN head, specifically need learning_rate and regularizer dcn_bias_attr = ParamAttr( - name=name + "_bias", initializer=Constant(value=0), regularizer=L2Decay(0.), learning_rate=2.) diff --git a/ppdet/modeling/necks/ttf_fpn.py b/ppdet/modeling/necks/ttf_fpn.py index 16f808240..c3e48e031 100644 --- a/ppdet/modeling/necks/ttf_fpn.py +++ b/ppdet/modeling/necks/ttf_fpn.py @@ -46,8 +46,7 @@ class Upsample(nn.Layer): regularizer=L2Decay(0.), learning_rate=2.), lr_scale=2., - regularizer=L2Decay(0.), - name=name) + regularizer=L2Decay(0.)) self.bn = batch_norm( ch_out, norm_type='bn', initializer=Constant(1.), name=name) -- Gitee From 0bcb3fd8ad7878ae8c4f913e05e0bb6251910af5 Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Mon, 12 Apr 2021 11:09:59 +0800 Subject: [PATCH 24/90] fix gridmask op and modify some comments (#2559) --- ppdet/data/transform/gridmask_utils.py | 2 +- ppdet/data/transform/operators.py | 5 +++-- static/ppdet/data/transform/gridmask_utils.py | 2 +- static/ppdet/data/transform/operators.py | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ppdet/data/transform/gridmask_utils.py b/ppdet/data/transform/gridmask_utils.py index a23e69b20..115cb1e9d 100644 --- a/ppdet/data/transform/gridmask_utils.py +++ b/ppdet/data/transform/gridmask_utils.py @@ -45,7 +45,7 @@ class GridMask(object): self.prob = self.st_prob * min(1, 1.0 * curr_iter / self.upper_iter) if np.random.rand() > self.prob: return x - _, h, w = x.shape + h, w, _ = x.shape hh = int(1.5 * h) ww = int(1.5 * w) d = np.random.randint(2, h) diff --git a/ppdet/data/transform/operators.py b/ppdet/data/transform/operators.py index b07ee0cba..fabdf859c 100644 --- a/ppdet/data/transform/operators.py +++ b/ppdet/data/transform/operators.py @@ -165,7 +165,7 @@ class Permute(BaseOperator): @register_op class Lighting(BaseOperator): """ - Lighting the imagen by eigenvalues and eigenvectors + Lighting the image by eigenvalues and eigenvectors Args: eigval (list): eigenvalues eigvec (list): eigenvectors @@ -1774,12 +1774,13 @@ class Pad(BaseOperator): offsets=None, fill_value=(127.5, 127.5, 127.5)): """ - Pad image to a specified size or multiple of size_divisor. random target_size and interpolation method + Pad image to a specified size or multiple of size_divisor. Args: size (int, Sequence): image target size, if None, pad to multiple of size_divisor, default None size_divisor (int): size divisor, default 32 pad_mode (int): pad mode, currently only supports four modes [-1, 0, 1, 2]. if -1, use specified offsets if 0, only pad to right and bottom. if 1, pad according to center. if 2, only pad left and top + offsets (list): [offset_x, offset_y], specify offset while padding, only supported pad_mode=-1 fill_value (bool): rgb value of pad area, default (127.5, 127.5, 127.5) """ super(Pad, self).__init__() diff --git a/static/ppdet/data/transform/gridmask_utils.py b/static/ppdet/data/transform/gridmask_utils.py index a23e69b20..115cb1e9d 100644 --- a/static/ppdet/data/transform/gridmask_utils.py +++ b/static/ppdet/data/transform/gridmask_utils.py @@ -45,7 +45,7 @@ class GridMask(object): self.prob = self.st_prob * min(1, 1.0 * curr_iter / self.upper_iter) if np.random.rand() > self.prob: return x - _, h, w = x.shape + h, w, _ = x.shape hh = int(1.5 * h) ww = int(1.5 * w) d = np.random.randint(2, h) diff --git a/static/ppdet/data/transform/operators.py b/static/ppdet/data/transform/operators.py index 4646e2582..78ae281e9 100644 --- a/static/ppdet/data/transform/operators.py +++ b/static/ppdet/data/transform/operators.py @@ -626,7 +626,7 @@ class GridMaskOp(BaseOperator): sample['curr_iter']) if not batch_input: samples = samples[0] - return sample + return samples @register_op @@ -2100,7 +2100,7 @@ class BboxXYXY2XYWH(BaseOperator): @register_op class Lighting(BaseOperator): """ - Lighting the imagen by eigenvalues and eigenvectors + Lighting the image by eigenvalues and eigenvectors Args: eigval (list): eigenvalues eigvec (list): eigenvectors -- Gitee From d6a02b882e6df7b72de8b0a3a1c4977e97a093d6 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Mon, 12 Apr 2021 14:12:10 +0800 Subject: [PATCH 25/90] [Cherry pick] fix warning (#2536) * fix warning --- ppdet/modeling/__init__.py | 6 ++++++ requirements.txt | 1 + tools/eval.py | 4 ---- tools/export_model.py | 4 ---- tools/infer.py | 3 --- tools/train.py | 3 --- 6 files changed, 7 insertions(+), 14 deletions(-) diff --git a/ppdet/modeling/__init__.py b/ppdet/modeling/__init__.py index 8e8d41fa4..01968ba3c 100644 --- a/ppdet/modeling/__init__.py +++ b/ppdet/modeling/__init__.py @@ -1,3 +1,9 @@ +# OP docs may contains math formula which may cause +# DeprecationWarning in string parsing +import warnings +warnings.filterwarnings( + action='ignore', category=DeprecationWarning, module='ops') + from . import ops from . import backbones from . import necks diff --git a/requirements.txt b/requirements.txt index 4a74e50ca..8ce34b5f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,4 @@ shapely scipy terminaltables pycocotools +setuptools>=42.0.0 diff --git a/tools/eval.py b/tools/eval.py index 3025dd822..56e350d92 100755 --- a/tools/eval.py +++ b/tools/eval.py @@ -22,10 +22,6 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) -# ignore warning log -import warnings -warnings.filterwarnings('ignore') - import paddle from ppdet.core.workspace import load_config, merge_config diff --git a/tools/export_model.py b/tools/export_model.py index 8cf3885c8..6665d2bf9 100644 --- a/tools/export_model.py +++ b/tools/export_model.py @@ -21,10 +21,6 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) -# ignore warning log -import warnings -warnings.filterwarnings('ignore') - import paddle from ppdet.core.workspace import load_config, merge_config diff --git a/tools/infer.py b/tools/infer.py index 19d7b36f6..c33d7a438 100755 --- a/tools/infer.py +++ b/tools/infer.py @@ -21,9 +21,6 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) -# ignore warning log -import warnings -warnings.filterwarnings('ignore') import glob import paddle diff --git a/tools/train.py b/tools/train.py index 565ba8e90..0ae86da07 100755 --- a/tools/train.py +++ b/tools/train.py @@ -22,9 +22,6 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) -# ignore warning log -import warnings -warnings.filterwarnings('ignore') import random import numpy as np -- Gitee From 4fcb1a6fe0296b5f661c5d285e2b437c439067be Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Mon, 12 Apr 2021 16:01:25 +0800 Subject: [PATCH 26/90] [cherry pick] add static notice (#2535) * add static notice --- static/slim/distillation/distill.py | 36 +++++++++++----- .../distill_pruned_model.py | 36 +++++++++++----- static/slim/nas/train_nas.py | 42 ++++++++++++------ static/slim/prune/eval.py | 31 +++++++++---- static/slim/prune/export_model.py | 30 +++++++++---- static/slim/prune/prune.py | 33 +++++++++----- static/slim/quantization/eval.py | 31 +++++++++---- static/slim/quantization/export_model.py | 32 ++++++++++---- static/slim/quantization/infer.py | 32 ++++++++++---- static/slim/quantization/train.py | 35 ++++++++++----- static/tools/anchor_cluster.py | 28 +++++++++--- static/tools/configure.py | 22 +++++++++- static/tools/eval.py | 31 +++++++++---- static/tools/export_model.py | 24 ++++++++--- static/tools/export_serving_model.py | 26 ++++++++--- static/tools/face_eval.py | 27 +++++++++--- static/tools/infer.py | 33 +++++++++----- static/tools/train.py | 35 ++++++++++----- static/tools/train_multi_machine.py | 43 ++++++++++++------- 19 files changed, 435 insertions(+), 172 deletions(-) diff --git a/static/slim/distillation/distill.py b/static/slim/distillation/distill.py index 5e186fffa..d19ef2eb4 100644 --- a/static/slim/distillation/distill.py +++ b/static/slim/distillation/distill.py @@ -22,24 +22,38 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 3))) if parent_path not in sys.path: sys.path.append(parent_path) +import logging +FORMAT = '%(asctime)s-%(levelname)s: %(message)s' +logging.basicConfig(level=logging.INFO, format=FORMAT) +logger = logging.getLogger(__name__) + import numpy as np from collections import OrderedDict from paddleslim.dist.single_distiller import merge, l2_loss import paddle from paddle import fluid -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.data.reader import create_reader -from ppdet.utils.eval_utils import parse_fetches, eval_results, eval_run -from ppdet.utils.stats import TrainingStats -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -import ppdet.utils.checkpoint as checkpoint -import logging -FORMAT = '%(asctime)s-%(levelname)s: %(message)s' -logging.basicConfig(level=logging.INFO, format=FORMAT) -logger = logging.getLogger(__name__) +try: + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.data.reader import create_reader + from ppdet.utils.eval_utils import parse_fetches, eval_results, eval_run + from ppdet.utils.stats import TrainingStats + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + import ppdet.utils.checkpoint as checkpoint +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e def l2_distill(pairs, weight): diff --git a/static/slim/extensions/distill_pruned_model/distill_pruned_model.py b/static/slim/extensions/distill_pruned_model/distill_pruned_model.py index 19516ce93..9824024b4 100644 --- a/static/slim/extensions/distill_pruned_model/distill_pruned_model.py +++ b/static/slim/extensions/distill_pruned_model/distill_pruned_model.py @@ -23,6 +23,11 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 4))) if parent_path not in sys.path: sys.path.append(parent_path) +import logging +FORMAT = '%(asctime)s-%(levelname)s: %(message)s' +logging.basicConfig(level=logging.INFO, format=FORMAT) +logger = logging.getLogger(__name__) + import numpy as np from collections import OrderedDict from paddleslim.dist.single_distiller import merge, l2_loss @@ -31,18 +36,27 @@ from paddleslim.analysis import flops import paddle from paddle import fluid -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.data.reader import create_reader -from ppdet.utils.eval_utils import parse_fetches, eval_results, eval_run -from ppdet.utils.stats import TrainingStats -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -import ppdet.utils.checkpoint as checkpoint -import logging -FORMAT = '%(asctime)s-%(levelname)s: %(message)s' -logging.basicConfig(level=logging.INFO, format=FORMAT) -logger = logging.getLogger(__name__) +try: + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.data.reader import create_reader + from ppdet.utils.eval_utils import parse_fetches, eval_results, eval_run + from ppdet.utils.stats import TrainingStats + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + import ppdet.utils.checkpoint as checkpoint +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e def split_distill(split_output_names, weight, target_number): diff --git a/static/slim/nas/train_nas.py b/static/slim/nas/train_nas.py index df9198a61..12709c82d 100644 --- a/static/slim/nas/train_nas.py +++ b/static/slim/nas/train_nas.py @@ -30,25 +30,39 @@ from collections import deque import paddle from paddle import fluid -from ppdet.experimental import mixed_precision_context -from ppdet.core.workspace import load_config, merge_config, create, register -from ppdet.data.reader import create_reader - -from ppdet.utils import dist_utils -from ppdet.utils.eval_utils import parse_fetches, eval_run -from ppdet.utils.stats import TrainingStats -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -import ppdet.utils.checkpoint as checkpoint -from paddleslim.analysis import flops, TableLatencyEvaluator -from paddleslim.nas import SANAS -import search_space - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.experimental import mixed_precision_context + from ppdet.core.workspace import load_config, merge_config, create, register + from ppdet.data.reader import create_reader + + from ppdet.utils import dist_utils + from ppdet.utils.eval_utils import parse_fetches, eval_run + from ppdet.utils.stats import TrainingStats + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + import ppdet.utils.checkpoint as checkpoint +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + +from paddleslim.analysis import flops, TableLatencyEvaluator +from paddleslim.nas import SANAS +import search_space + @register class Constraint(object): diff --git a/static/slim/prune/eval.py b/static/slim/prune/eval.py index 6dae100b1..fa76ac8bb 100644 --- a/static/slim/prune/eval.py +++ b/static/slim/prune/eval.py @@ -28,20 +28,33 @@ import paddle.fluid as fluid from paddleslim.prune import Pruner from paddleslim.analysis import flops -from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results, json_eval_results -import ppdet.utils.checkpoint as checkpoint -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode - -from ppdet.data.reader import create_reader - -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.cli import ArgsParser - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results, json_eval_results + import ppdet.utils.checkpoint as checkpoint + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + + from ppdet.data.reader import create_reader + + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.utils.cli import ArgsParser +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + def main(): """ diff --git a/static/slim/prune/export_model.py b/static/slim/prune/export_model.py index 342182878..d8fcdb8fc 100644 --- a/static/slim/prune/export_model.py +++ b/static/slim/prune/export_model.py @@ -25,19 +25,33 @@ if parent_path not in sys.path: import paddle from paddle import fluid -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.cli import ArgsParser -import ppdet.utils.checkpoint as checkpoint -from ppdet.utils.export_utils import save_infer_model, dump_infer_config -from ppdet.utils.check import check_config, check_version, enable_static_mode -from paddleslim.prune import Pruner -from paddleslim.analysis import flops - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.utils.cli import ArgsParser + import ppdet.utils.checkpoint as checkpoint + from ppdet.utils.export_utils import save_infer_model, dump_infer_config + from ppdet.utils.check import check_config, check_version, enable_static_mode +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + +from paddleslim.prune import Pruner +from paddleslim.analysis import flops + def main(): cfg = load_config(FLAGS.config) diff --git a/static/slim/prune/prune.py b/static/slim/prune/prune.py index bb260fcaf..52b0b0c7c 100644 --- a/static/slim/prune/prune.py +++ b/static/slim/prune/prune.py @@ -32,21 +32,34 @@ from paddleslim.analysis import flops import paddle from paddle import fluid -from ppdet.experimental import mixed_precision_context -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.data.reader import create_reader -from ppdet.utils import dist_utils -from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results -from ppdet.utils.stats import TrainingStats -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -import ppdet.utils.checkpoint as checkpoint - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.experimental import mixed_precision_context + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.data.reader import create_reader + from ppdet.utils import dist_utils + from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results + from ppdet.utils.stats import TrainingStats + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + import ppdet.utils.checkpoint as checkpoint +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + def main(): env = os.environ diff --git a/static/slim/quantization/eval.py b/static/slim/quantization/eval.py index 04142c982..b16d8007d 100644 --- a/static/slim/quantization/eval.py +++ b/static/slim/quantization/eval.py @@ -26,20 +26,33 @@ if parent_path not in sys.path: import paddle import paddle.fluid as fluid -from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results, json_eval_results -import ppdet.utils.checkpoint as checkpoint -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode - -from ppdet.data.reader import create_reader - -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.cli import ArgsParser - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results, json_eval_results + import ppdet.utils.checkpoint as checkpoint + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + + from ppdet.data.reader import create_reader + + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.utils.cli import ArgsParser +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + # import paddleslim from paddleslim.quant import quant_aware, convert diff --git a/static/slim/quantization/export_model.py b/static/slim/quantization/export_model.py index 41585c883..067c21c37 100644 --- a/static/slim/quantization/export_model.py +++ b/static/slim/quantization/export_model.py @@ -22,19 +22,33 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 3))) if parent_path not in sys.path: sys.path.append(parent_path) -import paddle -from paddle import fluid - -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.cli import ArgsParser -import ppdet.utils.checkpoint as checkpoint -from ppdet.utils.export_utils import save_infer_model, dump_infer_config -from ppdet.utils.check import check_config, check_version, enable_static_mode - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) + +import paddle +from paddle import fluid + +try: + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.utils.cli import ArgsParser + import ppdet.utils.checkpoint as checkpoint + from ppdet.utils.export_utils import save_infer_model, dump_infer_config + from ppdet.utils.check import check_config, check_version, enable_static_mode +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + from paddleslim.quant import quant_aware, convert diff --git a/static/slim/quantization/infer.py b/static/slim/quantization/infer.py index 1051043e4..58c1dac71 100644 --- a/static/slim/quantization/infer.py +++ b/static/slim/quantization/infer.py @@ -29,19 +29,33 @@ from PIL import Image import paddle from paddle import fluid -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.eval_utils import parse_fetches -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -from ppdet.utils.visualizer import visualize_results -import ppdet.utils.checkpoint as checkpoint - -from ppdet.data.reader import create_reader -from tools.infer import get_test_images, get_save_image_name import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) + +try: + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.utils.eval_utils import parse_fetches + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + from ppdet.utils.visualizer import visualize_results + import ppdet.utils.checkpoint as checkpoint + from ppdet.data.reader import create_reader + from tools.infer import get_test_images, get_save_image_name +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + from paddleslim.quant import quant_aware, convert diff --git a/static/slim/quantization/train.py b/static/slim/quantization/train.py index b9fe27580..12ed7ef50 100644 --- a/static/slim/quantization/train.py +++ b/static/slim/quantization/train.py @@ -31,21 +31,36 @@ import shutil import paddle from paddle import fluid -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.data.reader import create_reader -from ppdet.utils import dist_utils -from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results -from ppdet.utils.stats import TrainingStats -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -import ppdet.utils.checkpoint as checkpoint -from paddleslim.quant import quant_aware, convert -from pact import pact, get_optimizer import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.data.reader import create_reader + from ppdet.utils import dist_utils + from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results + from ppdet.utils.stats import TrainingStats + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + import ppdet.utils.checkpoint as checkpoint +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + +from paddleslim.quant import quant_aware, convert +from pact import pact, get_optimizer + def save_checkpoint(exe, prog, path, train_prog): if os.path.isdir(path): diff --git a/static/tools/anchor_cluster.py b/static/tools/anchor_cluster.py index 5ec26355c..67ad2d9cd 100644 --- a/static/tools/anchor_cluster.py +++ b/static/tools/anchor_cluster.py @@ -23,18 +23,32 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) +import logging +FORMAT = '%(asctime)s-%(levelname)s: %(message)s' +logging.basicConfig(level=logging.INFO, format=FORMAT) +logger = logging.getLogger(__name__) + from scipy.cluster.vq import kmeans import random import numpy as np from tqdm import tqdm -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config -from ppdet.core.workspace import load_config, merge_config, create -import logging -FORMAT = '%(asctime)s-%(levelname)s: %(message)s' -logging.basicConfig(level=logging.INFO, format=FORMAT) -logger = logging.getLogger(__name__) +try: + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config + from ppdet.core.workspace import load_config, merge_config, create +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e class BaseAnchorCluster(object): diff --git a/static/tools/configure.py b/static/tools/configure.py index fdf826a55..64ff575b4 100644 --- a/static/tools/configure.py +++ b/static/tools/configure.py @@ -23,10 +23,28 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) +import logging +FORMAT = '%(asctime)s-%(levelname)s: %(message)s' +logging.basicConfig(level=logging.INFO, format=FORMAT) +logger = logging.getLogger(__name__) + import yaml -from ppdet.core.workspace import get_registered_modules, load_config, dump_value -from ppdet.utils.cli import ColorTTY, print_total_cfg +try: + from ppdet.core.workspace import get_registered_modules, load_config, dump_value + from ppdet.utils.cli import ColorTTY, print_total_cfg +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e color_tty = ColorTTY() diff --git a/static/tools/eval.py b/static/tools/eval.py index 6b54f87a9..dfaf70dfe 100644 --- a/static/tools/eval.py +++ b/static/tools/eval.py @@ -25,20 +25,33 @@ if parent_path not in sys.path: import paddle import paddle.fluid as fluid -from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results, json_eval_results -import ppdet.utils.checkpoint as checkpoint -from ppdet.utils.check import check_gpu, check_xpu, check_version, check_config, enable_static_mode - -from ppdet.data.reader import create_reader - -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.cli import ArgsParser - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results, json_eval_results + import ppdet.utils.checkpoint as checkpoint + from ppdet.utils.check import check_gpu, check_xpu, check_version, check_config, enable_static_mode + + from ppdet.data.reader import create_reader + + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.utils.cli import ArgsParser +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + def main(): """ diff --git a/static/tools/export_model.py b/static/tools/export_model.py index 6827b6fe1..d6f6013b7 100644 --- a/static/tools/export_model.py +++ b/static/tools/export_model.py @@ -26,16 +26,30 @@ if parent_path not in sys.path: import paddle from paddle import fluid -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.cli import ArgsParser -import ppdet.utils.checkpoint as checkpoint -from ppdet.utils.export_utils import save_infer_model, dump_infer_config -from ppdet.utils.check import check_config, check_version, check_py_func, enable_static_mode import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.utils.cli import ArgsParser + import ppdet.utils.checkpoint as checkpoint + from ppdet.utils.export_utils import save_infer_model, dump_infer_config + from ppdet.utils.check import check_config, check_version, check_py_func, enable_static_mode +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + def main(): cfg = load_config(FLAGS.config) diff --git a/static/tools/export_serving_model.py b/static/tools/export_serving_model.py index 368ee1575..ae11a60ca 100644 --- a/static/tools/export_serving_model.py +++ b/static/tools/export_serving_model.py @@ -22,20 +22,34 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) +import yaml import paddle from paddle import fluid -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_config, check_version, enable_static_mode -import ppdet.utils.checkpoint as checkpoint -import yaml import logging -from ppdet.utils.export_utils import dump_infer_config, prune_feed_vars FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_config, check_version, enable_static_mode + import ppdet.utils.checkpoint as checkpoint + from ppdet.utils.export_utils import dump_infer_config, prune_feed_vars +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + def save_serving_model(FLAGS, exe, feed_vars, test_fetches, infer_prog): cfg_name = os.path.basename(FLAGS.config).split('.')[0] diff --git a/static/tools/face_eval.py b/static/tools/face_eval.py index 3ee0e3041..e47ded267 100644 --- a/static/tools/face_eval.py +++ b/static/tools/face_eval.py @@ -29,18 +29,31 @@ import numpy as np import cv2 from collections import OrderedDict -import ppdet.utils.checkpoint as checkpoint -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -from ppdet.utils.widerface_eval_utils import get_shrink, bbox_vote, \ - save_widerface_bboxes, save_fddb_bboxes, to_chw_bgr -from ppdet.core.workspace import load_config, merge_config, create - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + import ppdet.utils.checkpoint as checkpoint + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + from ppdet.utils.widerface_eval_utils import get_shrink, bbox_vote, \ + save_widerface_bboxes, save_fddb_bboxes, to_chw_bgr + from ppdet.core.workspace import load_config, merge_config, create +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + def face_img_process(image, mean=[104., 117., 123.], diff --git a/static/tools/infer.py b/static/tools/infer.py index bd26650bb..df831fd54 100644 --- a/static/tools/infer.py +++ b/static/tools/infer.py @@ -30,21 +30,34 @@ from PIL import Image, ImageOps import paddle from paddle import fluid -from ppdet.core.workspace import load_config, merge_config, create - -from ppdet.utils.eval_utils import parse_fetches -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -from ppdet.utils.visualizer import visualize_results -import ppdet.utils.checkpoint as checkpoint - -from ppdet.data.reader import create_reader - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.core.workspace import load_config, merge_config, create + + from ppdet.utils.eval_utils import parse_fetches + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + from ppdet.utils.visualizer import visualize_results + import ppdet.utils.checkpoint as checkpoint + + from ppdet.data.reader import create_reader +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + def get_save_image_name(output_dir, image_path): """ diff --git a/static/tools/train.py b/static/tools/train.py index 104946167..4417a9d9b 100644 --- a/static/tools/train.py +++ b/static/tools/train.py @@ -35,22 +35,35 @@ from paddle import fluid from paddle.fluid.layers.learning_rate_scheduler import _decay_step_counter from paddle.fluid.optimizer import ExponentialMovingAverage -from ppdet.experimental import mixed_precision_context -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.data.reader import create_reader - -from ppdet.utils import dist_utils -from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results -from ppdet.utils.stats import TrainingStats -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_xpu, check_version, check_config, enable_static_mode -import ppdet.utils.checkpoint as checkpoint - import logging FORMAT = '%(asctime)s-%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(__name__) +try: + from ppdet.experimental import mixed_precision_context + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.data.reader import create_reader + + from ppdet.utils import dist_utils + from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results + from ppdet.utils.stats import TrainingStats + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_xpu, check_version, check_config, enable_static_mode + import ppdet.utils.checkpoint as checkpoint +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e + def main(): env = os.environ diff --git a/static/tools/train_multi_machine.py b/static/tools/train_multi_machine.py index 1ac4901a6..31a7f706a 100644 --- a/static/tools/train_multi_machine.py +++ b/static/tools/train_multi_machine.py @@ -22,6 +22,11 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) +import logging +FORMAT = '%(asctime)s-%(levelname)s: %(message)s' +logging.basicConfig(level=logging.INFO, format=FORMAT) +logger = logging.getLogger(__name__) + import time import numpy as np import random @@ -35,24 +40,32 @@ from paddle import fluid from paddle.fluid.layers.learning_rate_scheduler import _decay_step_counter from paddle.fluid.optimizer import ExponentialMovingAverage -from ppdet.experimental import mixed_precision_context -from ppdet.core.workspace import load_config, merge_config, create -from ppdet.data.reader import create_reader - -from ppdet.utils import dist_utils -from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results -from ppdet.utils.stats import TrainingStats -from ppdet.utils.cli import ArgsParser -from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode -import ppdet.utils.checkpoint as checkpoint - from paddle.fluid.incubate.fleet.collective import fleet, DistributedStrategy # new line 1 from paddle.fluid.incubate.fleet.base import role_maker # new line 2 -import logging -FORMAT = '%(asctime)s-%(levelname)s: %(message)s' -logging.basicConfig(level=logging.INFO, format=FORMAT) -logger = logging.getLogger(__name__) +try: + from ppdet.experimental import mixed_precision_context + from ppdet.core.workspace import load_config, merge_config, create + from ppdet.data.reader import create_reader + + from ppdet.utils import dist_utils + from ppdet.utils.eval_utils import parse_fetches, eval_run, eval_results + from ppdet.utils.stats import TrainingStats + from ppdet.utils.cli import ArgsParser + from ppdet.utils.check import check_gpu, check_version, check_config, enable_static_mode + import ppdet.utils.checkpoint as checkpoint +except ImportError as e: + if sys.argv[0].find('static') >= 0: + logger.error("Importing ppdet failed when running static model " + "with error: {}\n" + "please try:\n" + "\t1. run static model under PaddleDetection/static " + "directory\n" + "\t2. run 'pip uninstall ppdet' to uninstall ppdet " + "dynamic version firstly.".format(e)) + sys.exit(-1) + else: + raise e def main(): -- Gitee From dc2ca7de53f0ea6a94c5b58682cca7d8ceab6a4f Mon Sep 17 00:00:00 2001 From: shangliang Xu Date: Mon, 12 Apr 2021 16:56:02 +0800 Subject: [PATCH 27/90] add ssd comments test=develop (#2581) --- configs/ssd/README.md | 4 ++-- ppdet/modeling/architectures/ssd.py | 9 +++++++++ ppdet/modeling/heads/ssd_head.py | 14 ++++++++++++++ ppdet/modeling/losses/ssd_loss.py | 15 +++++++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/configs/ssd/README.md b/configs/ssd/README.md index 9340e7e81..1ebc45866 100644 --- a/configs/ssd/README.md +++ b/configs/ssd/README.md @@ -6,8 +6,8 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| VGG | SSD | 8 | 240e | ---- | 77.8 | [下载链接](https://paddledet.bj.bcebos.com/models/ssd_vgg16_300_240e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ssd/ssd_vgg16_300_240e_voc.yml) | -| MobileNet v1 | SSD | 32 | 120e | ---- | 73.8 | [下载链接](https://paddledet.bj.bcebos.com/models/ssd_mobilenet_v1_300_120e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml) | +| VGG | SSD | 8 | 240e | ---- | 77.8 | [下载链接](https://paddledet.bj.bcebos.com/models/ssd_vgg16_300_240e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssd/ssd_vgg16_300_240e_voc.yml) | +| MobileNet v1 | SSD | 32 | 120e | ---- | 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-VGG使用4GPU在总batch size为32下训练240个epoch。SSD-MobileNetv1使用2GPU在总batch size为64下训练120周期。 diff --git a/ppdet/modeling/architectures/ssd.py b/ppdet/modeling/architectures/ssd.py index 49b01bde0..136e34fd5 100644 --- a/ppdet/modeling/architectures/ssd.py +++ b/ppdet/modeling/architectures/ssd.py @@ -24,6 +24,15 @@ __all__ = ['SSD'] @register class SSD(BaseArch): + """ + Single Shot MultiBox Detector, see https://arxiv.org/abs/1512.02325 + + Args: + backbone (nn.Layer): backbone instance + ssd_head (nn.Layer): `SSDHead` instance + post_process (object): `BBoxPostProcess` instance + """ + __category__ = 'architecture' __inject__ = ['post_process'] diff --git a/ppdet/modeling/heads/ssd_head.py b/ppdet/modeling/heads/ssd_head.py index a280c0143..8cbbe0a46 100644 --- a/ppdet/modeling/heads/ssd_head.py +++ b/ppdet/modeling/heads/ssd_head.py @@ -68,6 +68,20 @@ class SepConvLayer(nn.Layer): @register class SSDHead(nn.Layer): + """ + SSDHead + + Args: + num_classes (int): Number of classes + in_channels (list): Number of channels per input feature + anchor_generator (dict): Configuration of 'AnchorGeneratorSSD' instance + kernel_size (int): Conv kernel size + padding (int): Conv padding + use_sepconv (bool): Use SepConvLayer if true + conv_decay (float): Conv regularization coeff + loss (object): 'SSDLoss' instance + """ + __shared__ = ['num_classes'] __inject__ = ['anchor_generator', 'loss'] diff --git a/ppdet/modeling/losses/ssd_loss.py b/ppdet/modeling/losses/ssd_loss.py index 04ba75b64..961a8c4e8 100644 --- a/ppdet/modeling/losses/ssd_loss.py +++ b/ppdet/modeling/losses/ssd_loss.py @@ -28,6 +28,21 @@ __all__ = ['SSDLoss'] @register class SSDLoss(nn.Layer): + """ + SSDLoss + + Args: + match_type (str): The type of matching method, should be + 'bipartite' or 'per_prediction'. None ('bipartite') by default. + overlap_threshold (float32, optional): If `match_type` is 'per_prediction', + this threshold is to determine the extra matching bboxes based + on the maximum distance, 0.5 by default. + neg_pos_ratio (float): The ratio of negative samples / positive samples. + neg_overlap (float): The overlap threshold of negative samples. + loc_loss_weight (float): The weight of loc_loss. + conf_loss_weight (float): The weight of conf_loss. + """ + def __init__(self, match_type='per_prediction', overlap_threshold=0.5, -- Gitee From 1072e9f77d968504aca22018e45fac298647b48e Mon Sep 17 00:00:00 2001 From: Feng Ni Date: Mon, 12 Apr 2021 21:17:41 +0800 Subject: [PATCH 28/90] [cherry-pick] fix name of pretrain weights in backbone for dcn (#2584) * fix name of pretrain weights * format, test=document_fix --- ppdet/modeling/backbones/resnet.py | 41 ++++++++++++++++++++++++------ ppdet/utils/checkpoint.py | 10 ++++++-- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/ppdet/modeling/backbones/resnet.py b/ppdet/modeling/backbones/resnet.py index db65e55a2..bdc714e07 100755 --- a/ppdet/modeling/backbones/resnet.py +++ b/ppdet/modeling/backbones/resnet.py @@ -21,7 +21,9 @@ import paddle.nn.functional as F from ppdet.core.workspace import register, serializable from paddle.regularizer import L2Decay from paddle.nn.initializer import Uniform -from ppdet.modeling.layers import DeformableConvV2 +from paddle import ParamAttr +from paddle.nn.initializer import Constant +from paddle.vision.ops import DeformConv2D from .name_adapter import NameAdapter from ..shape_spec import ShapeSpec @@ -53,8 +55,9 @@ class ConvNormLayer(nn.Layer): assert norm_type in ['bn', 'sync_bn'] self.norm_type = norm_type self.act = act + self.dcn_v2 = dcn_v2 - if not dcn_v2: + if not self.dcn_v2: self.conv = nn.Conv2D( in_channels=ch_in, out_channels=ch_out, @@ -62,25 +65,37 @@ class ConvNormLayer(nn.Layer): stride=stride, padding=(filter_size - 1) // 2, groups=groups, - weight_attr=paddle.ParamAttr(learning_rate=lr), + weight_attr=ParamAttr(learning_rate=lr), bias_attr=False) else: - self.conv = DeformableConvV2( + self.offset_channel = 2 * filter_size**2 + self.mask_channel = filter_size**2 + + self.conv_offset = nn.Conv2D( + in_channels=ch_in, + out_channels=3 * filter_size**2, + kernel_size=filter_size, + stride=stride, + padding=(filter_size - 1) // 2, + weight_attr=ParamAttr(initializer=Constant(0.)), + bias_attr=ParamAttr(initializer=Constant(0.))) + self.conv = DeformConv2D( in_channels=ch_in, out_channels=ch_out, kernel_size=filter_size, stride=stride, padding=(filter_size - 1) // 2, + dilation=1, groups=groups, - weight_attr=paddle.ParamAttr(learning_rate=lr), + weight_attr=ParamAttr(learning_rate=lr), bias_attr=False) norm_lr = 0. if freeze_norm else lr - param_attr = paddle.ParamAttr( + param_attr = ParamAttr( learning_rate=norm_lr, regularizer=L2Decay(norm_decay), trainable=False if freeze_norm else True) - bias_attr = paddle.ParamAttr( + bias_attr = ParamAttr( learning_rate=norm_lr, regularizer=L2Decay(norm_decay), trainable=False if freeze_norm else True) @@ -103,7 +118,17 @@ class ConvNormLayer(nn.Layer): param.stop_gradient = True def forward(self, inputs): - out = self.conv(inputs) + if not self.dcn_v2: + out = self.conv(inputs) + else: + offset_mask = self.conv_offset(inputs) + offset, mask = paddle.split( + offset_mask, + num_or_sections=[self.offset_channel, self.mask_channel], + axis=1) + mask = F.sigmoid(mask) + out = self.conv(inputs, offset, mask=mask) + if self.norm_type in ['bn', 'sync_bn']: out = self.norm(out) if self.act: diff --git a/ppdet/utils/checkpoint.py b/ppdet/utils/checkpoint.py index d491976f5..ba6587e74 100644 --- a/ppdet/utils/checkpoint.py +++ b/ppdet/utils/checkpoint.py @@ -157,7 +157,7 @@ def load_pretrain_weight(model, pretrain_weight): weights_path = path + '.pdparams' param_state_dict = paddle.load(weights_path) - ignore_set = set() + lack_backbone_weights_cnt = 0 lack_modules = set() for name, weight in model_dict.items(): if name in param_state_dict.keys(): @@ -168,7 +168,13 @@ def load_pretrain_weight(model, pretrain_weight): param_state_dict.pop(name, None) else: lack_modules.add(name.split('.')[0]) - logger.debug('Lack weights: {}'.format(name)) + if name.find('backbone') >= 0: + logger.info('Lack backbone weights: {}'.format(name)) + lack_backbone_weights_cnt += 1 + + if lack_backbone_weights_cnt > 0: + logger.info('Lack {} weights in backbone.'.format( + lack_backbone_weights_cnt)) if len(lack_modules) > 0: logger.info('Lack weights of modules: {}'.format(', '.join( -- Gitee From 519b57afbb2a97d7e68eac2a9e414b6c530c9f4c Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Tue, 13 Apr 2021 14:42:45 +0800 Subject: [PATCH 29/90] add pssdet model (#2592) * add pssdet model --- configs/rcnn_enhance/README.md | 12 + .../_base_/faster_rcnn_enhance.yml | 81 +++++ .../_base_/faster_rcnn_enhance_reader.yml | 41 +++ configs/rcnn_enhance/_base_/optimizer_3x.yml | 19 ++ .../faster_rcnn_enhance_3x_coco.yml | 8 + ppdet/data/transform/autoaugment_utils.py | 12 +- ppdet/modeling/heads/bbox_head.py | 49 ++- ppdet/modeling/losses/iou_loss.py | 75 ++++- ppdet/modeling/proposal_generator/target.py | 284 ++++++++++++++++++ .../proposal_generator/target_layer.py | 86 +++++- 10 files changed, 648 insertions(+), 19 deletions(-) create mode 100644 configs/rcnn_enhance/README.md create mode 100644 configs/rcnn_enhance/_base_/faster_rcnn_enhance.yml create mode 100644 configs/rcnn_enhance/_base_/faster_rcnn_enhance_reader.yml create mode 100644 configs/rcnn_enhance/_base_/optimizer_3x.yml create mode 100644 configs/rcnn_enhance/faster_rcnn_enhance_3x_coco.yml diff --git a/configs/rcnn_enhance/README.md b/configs/rcnn_enhance/README.md new file mode 100644 index 000000000..a9e2250d9 --- /dev/null +++ b/configs/rcnn_enhance/README.md @@ -0,0 +1,12 @@ +## 服务器端实用目标检测方案 + +### 简介 + +* 近年来,学术界和工业界广泛关注图像中目标检测任务。基于[PaddleClas](https://github.com/PaddlePaddle/PaddleClas)中SSLD蒸馏方案训练得到的ResNet50_vd预训练模型(ImageNet1k验证集上Top1 Acc为82.39%),结合PaddleDetection中的丰富算子,飞桨提供了一种面向服务器端实用的目标检测方案PSS-DET(Practical Server Side Detection)。基于COCO2017目标检测数据集,V100单卡预测速度为为61FPS时,COCO mAP可达41.2%。 + + +### 模型库 + +| 骨架网络 | 网络类型 | 每张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) | diff --git a/configs/rcnn_enhance/_base_/faster_rcnn_enhance.yml b/configs/rcnn_enhance/_base_/faster_rcnn_enhance.yml new file mode 100644 index 000000000..d47fd2c98 --- /dev/null +++ b/configs/rcnn_enhance/_base_/faster_rcnn_enhance.yml @@ -0,0 +1,81 @@ +architecture: FasterRCNN +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams + +FasterRCNN: + backbone: ResNet + neck: FPN + rpn_head: RPNHead + bbox_head: BBoxHead + # post process + bbox_post_process: BBoxPostProcess + + +ResNet: + # index 0 stands for res2 + depth: 50 + norm_type: bn + variant: d + freeze_at: 0 + return_idx: [0,1,2,3] + num_stages: 4 + dcn_v2_stages: [1,2,3] + lr_mult_list: [0.05, 0.05, 0.1, 0.15] + +FPN: + in_channels: [256, 512, 1024, 2048] + out_channel: 64 + +RPNHead: + anchor_generator: + aspect_ratios: [0.5, 1.0, 2.0] + anchor_sizes: [[32], [64], [128], [256], [512]] + strides: [4, 8, 16, 32, 64] + rpn_target_assign: + batch_size_per_im: 256 + fg_fraction: 0.5 + negative_overlap: 0.3 + positive_overlap: 0.7 + use_random: True + train_proposal: + min_size: 0.0 + nms_thresh: 0.7 + pre_nms_top_n: 2000 + post_nms_top_n: 2000 + topk_after_collect: True + test_proposal: + min_size: 0.0 + nms_thresh: 0.7 + pre_nms_top_n: 500 + post_nms_top_n: 300 + + +BBoxHead: + head: TwoFCHead + roi_extractor: + resolution: 7 + sampling_ratio: 0 + aligned: True + bbox_assigner: BBoxLibraAssigner + bbox_loss: DIouLoss + +TwoFCHead: + out_channel: 1024 + +BBoxLibraAssigner: + batch_size_per_im: 512 + bg_thresh: 0.5 + fg_thresh: 0.5 + fg_fraction: 0.25 + use_random: True + +DIouLoss: + loss_weight: 10.0 + use_complete_iou_loss: true + +BBoxPostProcess: + decode: RCNNBox + nms: + name: MultiClassNMS + keep_top_k: 100 + score_threshold: 0.05 + nms_threshold: 0.5 diff --git a/configs/rcnn_enhance/_base_/faster_rcnn_enhance_reader.yml b/configs/rcnn_enhance/_base_/faster_rcnn_enhance_reader.yml new file mode 100644 index 000000000..da6ce65da --- /dev/null +++ b/configs/rcnn_enhance/_base_/faster_rcnn_enhance_reader.yml @@ -0,0 +1,41 @@ +worker_num: 2 +TrainReader: + sample_transforms: + - Decode: {} + - RandomResize: {target_size: [[384,1000], [416,1000], [448,1000], [480,1000], [512,1000], [544,1000], [576,1000], [608,1000], [640,1000], [672,1000]], interp: 2, keep_ratio: True} + - RandomFlip: {prob: 0.5} + - AutoAugment: {autoaug_type: v1} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + - PadBatch: {pad_to_stride: 32, pad_gt: true} + batch_size: 2 + shuffle: true + drop_last: true + + +EvalReader: + sample_transforms: + - Decode: {} + - Resize: {interp: 2, target_size: [640, 640], keep_ratio: True} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + - PadBatch: {pad_to_stride: 32, pad_gt: false} + batch_size: 1 + shuffle: false + drop_last: false + drop_empty: false + + +TestReader: + sample_transforms: + - Decode: {} + - Resize: {interp: 2, target_size: [640, 640], keep_ratio: True} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + - PadBatch: {pad_to_stride: 32, pad_gt: false} + batch_size: 1 + shuffle: false + drop_last: false diff --git a/configs/rcnn_enhance/_base_/optimizer_3x.yml b/configs/rcnn_enhance/_base_/optimizer_3x.yml new file mode 100644 index 000000000..8bd85fae3 --- /dev/null +++ b/configs/rcnn_enhance/_base_/optimizer_3x.yml @@ -0,0 +1,19 @@ +epoch: 36 + +LearningRate: + base_lr: 0.02 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [24, 33] + - !LinearWarmup + start_factor: 0. + steps: 1000 + +OptimizerBuilder: + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0001 + type: L2 diff --git a/configs/rcnn_enhance/faster_rcnn_enhance_3x_coco.yml b/configs/rcnn_enhance/faster_rcnn_enhance_3x_coco.yml new file mode 100644 index 000000000..a49f245f2 --- /dev/null +++ b/configs/rcnn_enhance/faster_rcnn_enhance_3x_coco.yml @@ -0,0 +1,8 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '_base_/optimizer_3x.yml', + '_base_/faster_rcnn_enhance.yml', + '_base_/faster_rcnn_enhance_reader.yml', +] +weights: output/faster_rcnn_enhance_r50_3x_coco/model_final diff --git a/ppdet/data/transform/autoaugment_utils.py b/ppdet/data/transform/autoaugment_utils.py index 0cd8a04ee..78e3bb36b 100644 --- a/ppdet/data/transform/autoaugment_utils.py +++ b/ppdet/data/transform/autoaugment_utils.py @@ -1453,19 +1453,19 @@ def _parse_policy_info(name, prob, level, replace_value, augmentation_hparams): # Check to see if prob is passed into function. This is used for operations # where we alter bboxes independently. # pytype:disable=wrong-arg-types - if 'prob' in inspect.getargspec(func)[0]: + if 'prob' in inspect.getfullargspec(func)[0]: args = tuple([prob] + list(args)) # pytype:enable=wrong-arg-types # Add in replace arg if it is required for the function that is being called. - if 'replace' in inspect.getargspec(func)[0]: + if 'replace' in inspect.getfullargspec(func)[0]: # Make sure replace is the final argument - assert 'replace' == inspect.getargspec(func)[0][-1] + assert 'replace' == inspect.getfullargspec(func)[0][-1] args = tuple(list(args) + [replace_value]) # Add bboxes as the second positional argument for the function if it does # not already exist. - if 'bboxes' not in inspect.getargspec(func)[0]: + if 'bboxes' not in inspect.getfullargspec(func)[0]: func = bbox_wrapper(func) return (func, prob, args) @@ -1473,11 +1473,11 @@ def _parse_policy_info(name, prob, level, replace_value, augmentation_hparams): def _apply_func_with_prob(func, image, args, prob, bboxes): """Apply `func` to image w/ `args` as input with probability `prob`.""" assert isinstance(args, tuple) - assert 'bboxes' == inspect.getargspec(func)[0][1] + assert 'bboxes' == inspect.getfullargspec(func)[0][1] # If prob is a function argument, then this randomness is being handled # inside the function, so make sure it is always called. - if 'prob' in inspect.getargspec(func)[0]: + if 'prob' in inspect.getfullargspec(func)[0]: prob = 1.0 # Apply the function with probability `prob`. diff --git a/ppdet/modeling/heads/bbox_head.py b/ppdet/modeling/heads/bbox_head.py index 0c75f8f1d..26b81d18e 100644 --- a/ppdet/modeling/heads/bbox_head.py +++ b/ppdet/modeling/heads/bbox_head.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +import numpy as np + import paddle import paddle.nn as nn import paddle.nn.functional as F @@ -160,7 +162,7 @@ class XConvNormHead(nn.Layer): @register class BBoxHead(nn.Layer): __shared__ = ['num_classes'] - __inject__ = ['bbox_assigner'] + __inject__ = ['bbox_assigner', 'bbox_loss'] """ RCNN bbox head @@ -182,7 +184,8 @@ class BBoxHead(nn.Layer): bbox_assigner='BboxAssigner', with_pool=False, num_classes=80, - bbox_weight=[10., 10., 5., 5.]): + bbox_weight=[10., 10., 5., 5.], + bbox_loss=None): super(BBoxHead, self).__init__() self.head = head self.roi_extractor = roi_extractor @@ -193,6 +196,7 @@ class BBoxHead(nn.Layer): self.with_pool = with_pool self.num_classes = num_classes self.bbox_weight = bbox_weight + self.bbox_loss = bbox_loss self.bbox_score = nn.Linear( in_channel, @@ -307,14 +311,51 @@ class BBoxHead(nn.Layer): reg_target = paddle.gather(reg_target, fg_inds) reg_target.stop_gradient = True - loss_bbox_reg = paddle.abs(reg_delta - reg_target).sum( - ) / tgt_labels.shape[0] + if self.bbox_loss is not None: + reg_delta = self.bbox_transform(reg_delta) + reg_target = self.bbox_transform(reg_target) + loss_bbox_reg = self.bbox_loss( + reg_delta, reg_target).sum() / tgt_labels.shape[0] + loss_bbox_reg *= self.num_classes + else: + loss_bbox_reg = paddle.abs(reg_delta - reg_target).sum( + ) / tgt_labels.shape[0] loss_bbox[cls_name] = loss_bbox_cls * loss_weight loss_bbox[reg_name] = loss_bbox_reg * loss_weight return loss_bbox + def bbox_transform(self, deltas, weights=[0.1, 0.1, 0.2, 0.2]): + wx, wy, ww, wh = weights + + deltas = paddle.reshape(deltas, shape=(0, -1, 4)) + + dx = paddle.slice(deltas, axes=[2], starts=[0], ends=[1]) * wx + dy = paddle.slice(deltas, axes=[2], starts=[1], ends=[2]) * wy + dw = paddle.slice(deltas, axes=[2], starts=[2], ends=[3]) * ww + dh = paddle.slice(deltas, axes=[2], starts=[3], ends=[4]) * wh + + dw = paddle.clip(dw, -1.e10, np.log(1000. / 16)) + dh = paddle.clip(dh, -1.e10, np.log(1000. / 16)) + + pred_ctr_x = dx + pred_ctr_y = dy + pred_w = paddle.exp(dw) + pred_h = paddle.exp(dh) + + x1 = pred_ctr_x - 0.5 * pred_w + y1 = pred_ctr_y - 0.5 * pred_h + x2 = pred_ctr_x + 0.5 * pred_w + y2 = pred_ctr_y + 0.5 * pred_h + + x1 = paddle.reshape(x1, shape=(-1, )) + y1 = paddle.reshape(y1, shape=(-1, )) + x2 = paddle.reshape(x2, shape=(-1, )) + y2 = paddle.reshape(y2, shape=(-1, )) + + return paddle.concat([x1, y1, x2, y2]) + def get_prediction(self, score, delta): bbox_prob = F.softmax(score) return delta, bbox_prob diff --git a/ppdet/modeling/losses/iou_loss.py b/ppdet/modeling/losses/iou_loss.py index df1ef2160..3ac857b9c 100644 --- a/ppdet/modeling/losses/iou_loss.py +++ b/ppdet/modeling/losses/iou_loss.py @@ -16,12 +16,14 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function +import numpy as np + import paddle import paddle.nn.functional as F from ppdet.core.workspace import register, serializable from ..bbox_utils import xywh2xyxy, bbox_iou -__all__ = ['IouLoss', 'GIoULoss'] +__all__ = ['IouLoss', 'GIoULoss', 'DIouLoss'] @register @@ -129,3 +131,74 @@ class GIoULoss(object): else: loss = paddle.mean(giou * iou_weight) return loss * self.loss_weight + + +@register +@serializable +class DIouLoss(GIoULoss): + """ + Distance-IoU Loss, see https://arxiv.org/abs/1911.08287 + Args: + loss_weight (float): giou loss weight, default as 1 + eps (float): epsilon to avoid divide by zero, default as 1e-10 + use_complete_iou_loss (bool): whether to use complete iou loss + """ + + def __init__(self, loss_weight=1., eps=1e-10, use_complete_iou_loss=True): + super(DIouLoss, self).__init__(loss_weight=loss_weight, eps=eps) + self.use_complete_iou_loss = use_complete_iou_loss + + def __call__(self, pbox, gbox, iou_weight=1.): + x1, y1, x2, y2 = paddle.split(pbox, num_or_sections=4, axis=-1) + x1g, y1g, x2g, y2g = paddle.split(gbox, num_or_sections=4, axis=-1) + cx = (x1 + x2) / 2 + cy = (y1 + y2) / 2 + w = x2 - x1 + h = y2 - y1 + + cxg = (x1g + x2g) / 2 + cyg = (y1g + y2g) / 2 + wg = x2g - x1g + hg = y2g - y1g + + x2 = paddle.maximum(x1, x2) + y2 = paddle.maximum(y1, y2) + + # A and B + xkis1 = paddle.maximum(x1, x1g) + ykis1 = paddle.maximum(y1, y1g) + xkis2 = paddle.minimum(x2, x2g) + ykis2 = paddle.minimum(y2, y2g) + + # A or B + xc1 = paddle.minimum(x1, x1g) + yc1 = paddle.minimum(y1, y1g) + xc2 = paddle.maximum(x2, x2g) + yc2 = paddle.maximum(y2, y2g) + + intsctk = (xkis2 - xkis1) * (ykis2 - ykis1) + intsctk = intsctk * paddle.greater_than( + xkis2, xkis1) * paddle.greater_than(ykis2, ykis1) + unionk = (x2 - x1) * (y2 - y1) + (x2g - x1g) * (y2g - y1g + ) - intsctk + self.eps + iouk = intsctk / unionk + + # DIOU term + dist_intersection = (cx - cxg) * (cx - cxg) + (cy - cyg) * (cy - cyg) + dist_union = (xc2 - xc1) * (xc2 - xc1) + (yc2 - yc1) * (yc2 - yc1) + diou_term = (dist_intersection + self.eps) / (dist_union + self.eps) + + # CIOU term + ciou_term = 0 + if self.use_complete_iou_loss: + ar_gt = wg / hg + ar_pred = w / h + arctan = paddle.atan(ar_gt) - paddle.atan(ar_pred) + ar_loss = 4. / np.pi / np.pi * arctan * arctan + alpha = ar_loss / (1 - iouk + ar_loss + self.eps) + alpha.stop_gradient = True + ciou_term = alpha * ar_loss + + diou = paddle.mean((1 - iouk + ciou_term + diou_term) * iou_weight) + + return diou * self.loss_weight diff --git a/ppdet/modeling/proposal_generator/target.py b/ppdet/modeling/proposal_generator/target.py index 9b8f52d33..8e45ef3c0 100644 --- a/ppdet/modeling/proposal_generator/target.py +++ b/ppdet/modeling/proposal_generator/target.py @@ -320,3 +320,287 @@ def generate_mask_target(gt_segms, rois, labels_int32, sampled_gt_inds, tgt_weights = paddle.concat(tgt_weights, axis=0) return mask_rois, mask_rois_num, tgt_classes, tgt_masks, mask_index, tgt_weights + + +def libra_sample_pos(max_overlaps, max_classes, pos_inds, num_expected): + if len(pos_inds) <= num_expected: + return pos_inds + else: + unique_gt_inds = np.unique(max_classes[pos_inds]) + num_gts = len(unique_gt_inds) + num_per_gt = int(round(num_expected / float(num_gts)) + 1) + + sampled_inds = [] + for i in unique_gt_inds: + inds = np.nonzero(max_classes == i)[0] + before_len = len(inds) + inds = list(set(inds) & set(pos_inds)) + after_len = len(inds) + if len(inds) > num_per_gt: + inds = np.random.choice(inds, size=num_per_gt, replace=False) + sampled_inds.extend(list(inds)) # combine as a new sampler + if len(sampled_inds) < num_expected: + num_extra = num_expected - len(sampled_inds) + extra_inds = np.array(list(set(pos_inds) - set(sampled_inds))) + assert len(sampled_inds) + len(extra_inds) == len(pos_inds), \ + "sum of sampled_inds({}) and extra_inds({}) length must be equal with pos_inds({})!".format( + len(sampled_inds), len(extra_inds), len(pos_inds)) + if len(extra_inds) > num_extra: + extra_inds = np.random.choice( + extra_inds, size=num_extra, replace=False) + sampled_inds.extend(extra_inds.tolist()) + elif len(sampled_inds) > num_expected: + sampled_inds = np.random.choice( + sampled_inds, size=num_expected, replace=False) + return paddle.to_tensor(sampled_inds) + + +def libra_sample_via_interval(max_overlaps, full_set, num_expected, floor_thr, + num_bins, bg_thresh): + max_iou = max_overlaps.max() + iou_interval = (max_iou - floor_thr) / num_bins + per_num_expected = int(num_expected / num_bins) + + sampled_inds = [] + for i in range(num_bins): + start_iou = floor_thr + i * iou_interval + end_iou = floor_thr + (i + 1) * iou_interval + + tmp_set = set( + np.where( + np.logical_and(max_overlaps >= start_iou, max_overlaps < + end_iou))[0]) + tmp_inds = list(tmp_set & full_set) + + if len(tmp_inds) > per_num_expected: + tmp_sampled_set = np.random.choice( + tmp_inds, size=per_num_expected, replace=False) + else: + tmp_sampled_set = np.array(tmp_inds, dtype=np.int) + sampled_inds.append(tmp_sampled_set) + + sampled_inds = np.concatenate(sampled_inds) + if len(sampled_inds) < num_expected: + num_extra = num_expected - len(sampled_inds) + extra_inds = np.array(list(full_set - set(sampled_inds))) + assert len(sampled_inds) + len(extra_inds) == len(full_set), \ + "sum of sampled_inds({}) and extra_inds({}) length must be equal with full_set({})!".format( + len(sampled_inds), len(extra_inds), len(full_set)) + + if len(extra_inds) > num_extra: + extra_inds = np.random.choice(extra_inds, num_extra, replace=False) + sampled_inds = np.concatenate([sampled_inds, extra_inds]) + + return sampled_inds + + +def libra_sample_neg(max_overlaps, + max_classes, + neg_inds, + num_expected, + floor_thr=-1, + floor_fraction=0, + num_bins=3, + bg_thresh=0.5): + if len(neg_inds) <= num_expected: + return neg_inds + else: + # balance sampling for negative samples + neg_set = set(neg_inds.tolist()) + if floor_thr > 0: + floor_set = set( + np.where( + np.logical_and(max_overlaps >= 0, max_overlaps < floor_thr)) + [0]) + iou_sampling_set = set(np.where(max_overlaps >= floor_thr)[0]) + elif floor_thr == 0: + floor_set = set(np.where(max_overlaps == 0)[0]) + iou_sampling_set = set(np.where(max_overlaps > floor_thr)[0]) + else: + floor_set = set() + iou_sampling_set = set(np.where(max_overlaps > floor_thr)[0]) + floor_thr = 0 + + floor_neg_inds = list(floor_set & neg_set) + iou_sampling_neg_inds = list(iou_sampling_set & neg_set) + + num_expected_iou_sampling = int(num_expected * (1 - floor_fraction)) + if len(iou_sampling_neg_inds) > num_expected_iou_sampling: + if num_bins >= 2: + iou_sampled_inds = libra_sample_via_interval( + max_overlaps, + set(iou_sampling_neg_inds), num_expected_iou_sampling, + floor_thr, num_bins, bg_thresh) + else: + iou_sampled_inds = np.random.choice( + iou_sampling_neg_inds, + size=num_expected_iou_sampling, + replace=False) + else: + iou_sampled_inds = np.array(iou_sampling_neg_inds, dtype=np.int) + num_expected_floor = num_expected - len(iou_sampled_inds) + if len(floor_neg_inds) > num_expected_floor: + sampled_floor_inds = np.random.choice( + floor_neg_inds, size=num_expected_floor, replace=False) + else: + sampled_floor_inds = np.array(floor_neg_inds, dtype=np.int) + sampled_inds = np.concatenate((sampled_floor_inds, iou_sampled_inds)) + if len(sampled_inds) < num_expected: + num_extra = num_expected - len(sampled_inds) + extra_inds = np.array(list(neg_set - set(sampled_inds))) + if len(extra_inds) > num_extra: + extra_inds = np.random.choice( + extra_inds, size=num_extra, replace=False) + sampled_inds = np.concatenate((sampled_inds, extra_inds)) + return paddle.to_tensor(sampled_inds) + + +def libra_label_box(anchors, gt_boxes, gt_classes, positive_overlap, + negative_overlap, num_classes): + # TODO: use paddle API to speed up + gt_classes = gt_classes.numpy() + gt_overlaps = np.zeros((anchors.shape[0], num_classes)) + matches = np.zeros((anchors.shape[0]), dtype=np.int32) + if len(gt_boxes) > 0: + proposal_to_gt_overlaps = bbox_overlaps(anchors, gt_boxes).numpy() + overlaps_argmax = proposal_to_gt_overlaps.argmax(axis=1) + overlaps_max = proposal_to_gt_overlaps.max(axis=1) + # Boxes which with non-zero overlap with gt boxes + overlapped_boxes_ind = np.where(overlaps_max > 0)[0] + overlapped_boxes_gt_classes = gt_classes[overlaps_argmax[ + overlapped_boxes_ind]] + + for idx in range(len(overlapped_boxes_ind)): + gt_overlaps[overlapped_boxes_ind[idx], overlapped_boxes_gt_classes[ + idx]] = overlaps_max[overlapped_boxes_ind[idx]] + matches[overlapped_boxes_ind[idx]] = overlaps_argmax[ + overlapped_boxes_ind[idx]] + + gt_overlaps = paddle.to_tensor(gt_overlaps) + matches = paddle.to_tensor(matches) + + matched_vals = paddle.max(gt_overlaps, axis=1) + match_labels = paddle.full(matches.shape, -1, dtype='int32') + match_labels = paddle.where(matched_vals < negative_overlap, + paddle.zeros_like(match_labels), match_labels) + match_labels = paddle.where(matched_vals >= positive_overlap, + paddle.ones_like(match_labels), match_labels) + + return matches, match_labels, matched_vals + + +def libra_sample_bbox(matches, + match_labels, + matched_vals, + gt_classes, + batch_size_per_im, + num_classes, + fg_fraction, + fg_thresh, + bg_thresh, + num_bins, + use_random=True, + is_cascade_rcnn=False): + rois_per_image = int(batch_size_per_im) + fg_rois_per_im = int(np.round(fg_fraction * rois_per_image)) + bg_rois_per_im = rois_per_image - fg_rois_per_im + + if is_cascade_rcnn: + fg_inds = paddle.nonzero(matched_vals >= fg_thresh) + bg_inds = paddle.nonzero(matched_vals < bg_thresh) + else: + matched_vals_np = matched_vals.numpy() + match_labels_np = match_labels.numpy() + + # sample fg + fg_inds = paddle.nonzero(matched_vals >= fg_thresh).flatten() + fg_nums = int(np.minimum(fg_rois_per_im, fg_inds.shape[0])) + if (fg_inds.shape[0] > fg_nums) and use_random: + fg_inds = libra_sample_pos(matched_vals_np, match_labels_np, + fg_inds.numpy(), fg_rois_per_im) + fg_inds = fg_inds[:fg_nums] + + # sample bg + bg_inds = paddle.nonzero(matched_vals < bg_thresh).flatten() + bg_nums = int(np.minimum(rois_per_image - fg_nums, bg_inds.shape[0])) + if (bg_inds.shape[0] > bg_nums) and use_random: + bg_inds = libra_sample_neg( + matched_vals_np, + match_labels_np, + bg_inds.numpy(), + bg_rois_per_im, + num_bins=num_bins, + bg_thresh=bg_thresh) + bg_inds = bg_inds[:bg_nums] + + sampled_inds = paddle.concat([fg_inds, bg_inds]) + + gt_classes = paddle.gather(gt_classes, matches) + gt_classes = paddle.where(match_labels == 0, + paddle.ones_like(gt_classes) * num_classes, + gt_classes) + gt_classes = paddle.where(match_labels == -1, + paddle.ones_like(gt_classes) * -1, gt_classes) + sampled_gt_classes = paddle.gather(gt_classes, sampled_inds) + + return sampled_inds, sampled_gt_classes + + +def libra_generate_proposal_target(rpn_rois, + gt_classes, + gt_boxes, + batch_size_per_im, + fg_fraction, + fg_thresh, + bg_thresh, + num_classes, + use_random=True, + is_cascade_rcnn=False, + max_overlaps=None, + num_bins=3): + + rois_with_gt = [] + tgt_labels = [] + tgt_bboxes = [] + sampled_max_overlaps = [] + tgt_gt_inds = [] + new_rois_num = [] + + for i, rpn_roi in enumerate(rpn_rois): + max_overlap = max_overlaps[i] if is_cascade_rcnn else None + gt_bbox = gt_boxes[i] + gt_class = gt_classes[i] + if is_cascade_rcnn: + rpn_roi = filter_roi(rpn_roi, max_overlap) + bbox = paddle.concat([rpn_roi, gt_bbox]) + + # Step1: label bbox + matches, match_labels, matched_vals = libra_label_box( + bbox, gt_bbox, gt_class, fg_thresh, bg_thresh, num_classes) + + # Step2: sample bbox + sampled_inds, sampled_gt_classes = libra_sample_bbox( + matches, match_labels, matched_vals, gt_class, batch_size_per_im, + num_classes, fg_fraction, fg_thresh, bg_thresh, num_bins, + use_random, is_cascade_rcnn) + + # Step3: make output + rois_per_image = paddle.gather(bbox, sampled_inds) + sampled_gt_ind = paddle.gather(matches, sampled_inds) + sampled_bbox = paddle.gather(gt_bbox, sampled_gt_ind) + sampled_overlap = paddle.gather(matched_vals, sampled_inds) + + rois_per_image.stop_gradient = True + sampled_gt_ind.stop_gradient = True + sampled_bbox.stop_gradient = True + sampled_overlap.stop_gradient = True + + tgt_labels.append(sampled_gt_classes) + tgt_bboxes.append(sampled_bbox) + rois_with_gt.append(rois_per_image) + sampled_max_overlaps.append(sampled_overlap) + tgt_gt_inds.append(sampled_gt_ind) + new_rois_num.append(paddle.shape(sampled_inds)[0]) + new_rois_num = paddle.concat(new_rois_num) + # rois_with_gt, tgt_labels, tgt_bboxes, tgt_gt_inds, new_rois_num + return rois_with_gt, tgt_labels, tgt_bboxes, tgt_gt_inds, new_rois_num diff --git a/ppdet/modeling/proposal_generator/target_layer.py b/ppdet/modeling/proposal_generator/target_layer.py index 0b35fdff3..272de2ff0 100644 --- a/ppdet/modeling/proposal_generator/target_layer.py +++ b/ppdet/modeling/proposal_generator/target_layer.py @@ -15,8 +15,7 @@ import paddle from ppdet.core.workspace import register, serializable - -from .target import rpn_anchor_target, generate_proposal_target, generate_mask_target +from .target import rpn_anchor_target, generate_proposal_target, generate_mask_target, libra_generate_proposal_target @register @@ -95,15 +94,15 @@ class BBoxAssigner(object): default 512 fg_fraction (float): Fraction of RoIs that is labeled foreground, default 0.25 - positive_overlap (float): Minimum overlap required between a RoI - and ground-truth box for the (roi, gt box) pair to be + fg_thresh (float): Minimum overlap required between a RoI + and ground-truth box for the (roi, gt box) pair to be a foreground sample. default 0.5 - negative_overlap (float): Maximum overlap allowed between a RoI - and ground-truth box for the (roi, gt box) pair to be + bg_thresh (float): Maximum overlap allowed between a RoI + and ground-truth box for the (roi, gt box) pair to be a background sample. default 0.5 - use_random (bool): Use random sampling to choose foreground and + use_random (bool): Use random sampling to choose foreground and background boxes, default true - cascade_iou (list[iou]): The list of overlap to select foreground and + cascade_iou (list[iou]): The list of overlap to select foreground and background of each stage, which is only used In Cascade RCNN. num_classes (int): The number of class. """ @@ -146,6 +145,77 @@ class BBoxAssigner(object): return rois, rois_num, targets +@register +class BBoxLibraAssigner(object): + __shared__ = ['num_classes'] + """ + Libra-RCNN targets assignment module + + The assignment consists of three steps: + 1. Match RoIs and ground-truth box, label the RoIs with foreground + or background sample + 2. Sample anchors to keep the properly ratio between foreground and + background + 3. Generate the targets for classification and regression branch + + Args: + batch_size_per_im (int): Total number of RoIs per image. + default 512 + fg_fraction (float): Fraction of RoIs that is labeled + foreground, default 0.25 + fg_thresh (float): Minimum overlap required between a RoI + and ground-truth box for the (roi, gt box) pair to be + a foreground sample. default 0.5 + bg_thresh (float): Maximum overlap allowed between a RoI + and ground-truth box for the (roi, gt box) pair to be + a background sample. default 0.5 + use_random (bool): Use random sampling to choose foreground and + background boxes, default true + cascade_iou (list[iou]): The list of overlap to select foreground and + background of each stage, which is only used In Cascade RCNN. + num_classes (int): The number of class. + num_bins (int): The number of libra_sample. + """ + + def __init__(self, + batch_size_per_im=512, + fg_fraction=.25, + fg_thresh=.5, + bg_thresh=.5, + use_random=True, + cascade_iou=[0.5, 0.6, 0.7], + num_classes=80, + num_bins=3): + super(BBoxLibraAssigner, self).__init__() + self.batch_size_per_im = batch_size_per_im + self.fg_fraction = fg_fraction + self.fg_thresh = fg_thresh + self.bg_thresh = bg_thresh + self.use_random = use_random + self.cascade_iou = cascade_iou + self.num_classes = num_classes + self.num_bins = num_bins + + def __call__(self, + rpn_rois, + rpn_rois_num, + inputs, + stage=0, + is_cascade=False): + gt_classes = inputs['gt_class'] + gt_boxes = inputs['gt_bbox'] + # rois, tgt_labels, tgt_bboxes, tgt_gt_inds + outs = libra_generate_proposal_target( + rpn_rois, gt_classes, gt_boxes, self.batch_size_per_im, + self.fg_fraction, self.fg_thresh, self.bg_thresh, self.num_classes, + self.use_random, is_cascade, self.cascade_iou[stage], self.num_bins) + rois = outs[0] + rois_num = outs[-1] + # tgt_labels, tgt_bboxes, tgt_gt_inds + targets = outs[1:4] + return rois, rois_num, targets + + @register @serializable class MaskAssigner(object): -- Gitee From f587da549ae092335f5d4fe4ab843f03818cb961 Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Tue, 13 Apr 2021 20:01:01 +0800 Subject: [PATCH 30/90] fix quant export_model (#2607) --- ppdet/slim/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ppdet/slim/__init__.py b/ppdet/slim/__init__.py index ebd64c0e5..ab286647d 100644 --- a/ppdet/slim/__init__.py +++ b/ppdet/slim/__init__.py @@ -54,6 +54,7 @@ def build_slim_model(cfg, slim_cfg, mode='train'): load_pretrain_weight(model, cfg.pretrain_weights) slim = create(cfg.slim) cfg['model'] = slim(model) + cfg['slim'] = slim if mode != 'train': load_pretrain_weight(cfg['model'], cfg.weights) -- Gitee From d572c6566ac891a27a9b183ff210f89f91fb998b Mon Sep 17 00:00:00 2001 From: cnn Date: Tue, 13 Apr 2021 21:04:34 +0800 Subject: [PATCH 31/90] [cherry-pick]add s2anet (#2596) * add s2anet --- configs/datasets/dota.yml | 20 + configs/dota/README.md | 120 +++ configs/dota/_base_/s2anet.yml | 55 ++ configs/dota/_base_/s2anet_optimizer_1x.yml | 20 + configs/dota/_base_/s2anet_reader.yml | 42 + configs/dota/s2anet_1x_dota.yml | 8 + configs/dota/s2anet_conv_1x_dota.yml | 21 + demo/P0072__1.0__0___0.png | Bin 0 -> 1680618 bytes demo/P0861__1.0__1154___824.png | Bin 0 -> 1256871 bytes docs/tutorials/GETTING_STARTED_cn.md | 1 + ppdet/data/source/coco.py | 46 +- ppdet/data/transform/batch_operators.py | 116 ++- ppdet/data/transform/operators.py | 53 ++ ppdet/engine/export_utils.py | 1 + ppdet/engine/trainer.py | 12 +- ppdet/ext_op/README.md | 38 + ppdet/ext_op/rbox_iou_op.cc | 46 + ppdet/ext_op/rbox_iou_op.cu | 507 ++++++++++ ppdet/ext_op/setup.py | 6 + ppdet/ext_op/test.py | 154 ++++ ppdet/metrics/coco_utils.py | 10 +- ppdet/metrics/json_results.py | 48 + ppdet/modeling/architectures/__init__.py | 2 + ppdet/modeling/architectures/s2anet.py | 100 ++ ppdet/modeling/bbox_utils.py | 266 ++++++ ppdet/modeling/heads/__init__.py | 2 + ppdet/modeling/heads/s2anet_head.py | 872 ++++++++++++++++++ ppdet/modeling/post_process.py | 88 +- .../proposal_generator/target_layer.py | 174 +++- ppdet/utils/visualizer.py | 49 +- tools/infer.py | 8 +- 31 files changed, 2850 insertions(+), 35 deletions(-) create mode 100644 configs/datasets/dota.yml create mode 100644 configs/dota/README.md create mode 100644 configs/dota/_base_/s2anet.yml create mode 100644 configs/dota/_base_/s2anet_optimizer_1x.yml create mode 100644 configs/dota/_base_/s2anet_reader.yml create mode 100644 configs/dota/s2anet_1x_dota.yml create mode 100644 configs/dota/s2anet_conv_1x_dota.yml create mode 100644 demo/P0072__1.0__0___0.png create mode 100644 demo/P0861__1.0__1154___824.png create mode 100644 ppdet/ext_op/README.md create mode 100644 ppdet/ext_op/rbox_iou_op.cc create mode 100644 ppdet/ext_op/rbox_iou_op.cu create mode 100644 ppdet/ext_op/setup.py create mode 100644 ppdet/ext_op/test.py create mode 100644 ppdet/modeling/architectures/s2anet.py create mode 100644 ppdet/modeling/heads/s2anet_head.py diff --git a/configs/datasets/dota.yml b/configs/datasets/dota.yml new file mode 100644 index 000000000..2953a7994 --- /dev/null +++ b/configs/datasets/dota.yml @@ -0,0 +1,20 @@ +metric: COCO +num_classes: 15 + +TrainDataset: + !COCODataSet + image_dir: trainval_split/images + anno_path: trainval_split/s2anet_trainval_paddle_coco.json + dataset_dir: dataset/DOTA_1024_s2anet + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd', 'gt_rbox'] + +EvalDataset: + !COCODataSet + image_dir: trainval_split/images + anno_path: trainval_split/s2anet_trainval_paddle_coco.json + dataset_dir: dataset/DOTA_1024_s2anet/ + +TestDataset: + !ImageFolder + anno_path: trainval_split/s2anet_trainval_paddle_coco.json + dataset_dir: dataset/DOTA_1024_s2anet/ diff --git a/configs/dota/README.md b/configs/dota/README.md new file mode 100644 index 000000000..7d33bc727 --- /dev/null +++ b/configs/dota/README.md @@ -0,0 +1,120 @@ +# S2ANet模型 + +## 内容 +- [简介](#简介) +- [DOTA数据集](#DOTA数据集) +- [模型库](#模型库) +- [训练说明](#训练说明) + +## 简介 + +[S2ANet](https://arxiv.org/pdf/2008.09397.pdf)是用于检测旋转框的模型,要求使用PaddlePaddle 2.0.1(可使用pip安装) 或适当的[develop版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/Tables.html#whl-release)。 + + +## DOTA数据集 +[DOTA Dataset]是航空影像中物体检测的数据集,包含2806张图像,每张图像4000*4000分辨率。 + +| 数据版本 | 类别数 | 图像数 | 图像尺寸 | 实例数 | 标注方式 | +|:--------:|:-------:|:---------:|:---------:| :---------:| :------------: | +| v1.0 | 15 | 2806 | 800~4000 | 118282 | OBB + HBB | +| v1.5 | 16 | 2806 | 800~4000 | 400000 | OBB + HBB | + +注:OBB标注方式是指标注任意四边形;顶点按顺时针顺序排列。HBB标注方式是指标注示例的外接矩形。 + +DOTA数据集中总共有2806张图像,其中1411张图像作为训练集,458张图像作为评估集,剩余937张图像作为测试集。 + +如果需要切割图像数据,请参考[DOTA_devkit](https://github.com/CAPTAIN-WHU/DOTA_devkit) 。 + +设置`crop_size=1024, stride=824, gap=200`参数切割数据后,训练集15749张图像,评估集5297张图像,测试集10833张图像。 + +## 模型库 + +### S2ANet模型 + +| 模型 | GPU个数 | Conv类型 | mAP | 模型下载 | 配置文件 | +|:-----------:|:-------:|:----------:|:--------:| :----------:| :---------: | +| S2ANet | 8 | Conv | 71.42 | [model](https://paddledet.bj.bcebos.com/models/s2anet_conv_1x_dota.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dota/s2anet_conv_1x_dota.yml) | + +**注意:**这里使用`multiclass_nms`,与原作者使用nms略有不同,精度相比原始论文中高0.15 (71.27-->71.42)。 + +## 训练说明 + +### 1. 旋转框IOU计算OP + +旋转框IOU计算OP[ext_op](../../ppdet/ext_op)是参考Paddle[自定义外部算子](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op/new_custom_op.html) 的方式开发。 + +若使用旋转框IOU计算OP,需要环境满足: +- PaddlePaddle >= 2.0.1 +- GCC == 8.2 + +推荐使用docker镜像[paddle:2.0.1-gpu-cuda10.1-cudnn7](registry.baidubce.com/paddlepaddle/paddle:2.0.1-gpu-cuda10.1-cudnn7)。 + +执行如下命令下载镜像并启动容器: +``` +sudo nvidia-docker run -it --name paddle_s2anet -v $PWD:/paddle --network=host registry.baidubce.com/paddlepaddle/paddle:2.0.1-gpu-cuda10.1-cudnn7 /bin/bash +``` + +进入容器后,安装必要的python包: +``` +python3.7 -m pip install Cython wheel tqdm opencv-python==4.2.0.32 scipy PyYAML shapely pycocotools +``` + +镜像中paddle2.0.1已安装好,进入python3.7,执行如下代码检查paddle安装是否正常: +``` +import paddle +print(paddle.__version__) +paddle.utils.run_check() +``` + +进入到`ext_op`文件夹,安装: +``` +python3.7 setup.py install +``` + +安装完成后,测试自定义op是否可以正常编译以及计算结果: +``` +cd PaddleDetecetion/ppdet/ext_op +python3.7 test.py +``` + +### 2. 数据格式 +DOTA 数据集中实例是按照任意四边形标注,在进行训练模型前,需要参考[DOTA2COCO](https://github.com/CAPTAIN-WHU/DOTA_devkit/blob/master/DOTA2COCO.py) 转换成`[xc, yc, bow_w, bow_h, angle]`格式,并以coco数据格式存储。 + +## 评估 + +执行如下命令,会在`output_dir`文件夹下将每个图像预测结果保存到同文件夹名的txt文本中。 +``` +python3.7 tools/infer.py -c configs/dota/s2anet_1x_dota.yml -o weights=./weights/s2anet_1x_dota.pdparams --infer_dir=dota_test_images --draw_threshold=0.05 --save_txt=True --output_dir=output +``` + + +请参考[DOTA_devkit](https://github.com/CAPTAIN-WHU/DOTA_devkit) 生成评估文件,评估文件格式请参考[DOTA Test](http://captain.whu.edu.cn/DOTAweb/tasks.html) ,生成zip文件,每个类一个txt文件,txt文件中每行格式为:`image_id score x1 y1 x2 y2 x3 y3 x4 y4`,提交服务器进行评估。 + +## 预测部署 + +Paddle中`multiclass_nms`算子的输入支持四边形输入,因此部署时可以不不需要依赖旋转框IOU计算算子。 + +```bash +# 预测 +CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/dota/s2anet_1x_dota.yml -o weights=model.pdparams --infer_img=demo/P0072__1.0__0___0.png --use_gpu=True +``` + + +## Citations +``` +@article{han2021align, + author={J. {Han} and J. {Ding} and J. {Li} and G. -S. {Xia}}, + journal={IEEE Transactions on Geoscience and Remote Sensing}, + title={Align Deep Features for Oriented Object Detection}, + year={2021}, + pages={1-11}, + doi={10.1109/TGRS.2021.3062048}} + +@inproceedings{xia2018dota, + title={DOTA: A large-scale dataset for object detection in aerial images}, + author={Xia, Gui-Song and Bai, Xiang and Ding, Jian and Zhu, Zhen and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei}, + booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition}, + pages={3974--3983}, + year={2018} +} +``` diff --git a/configs/dota/_base_/s2anet.yml b/configs/dota/_base_/s2anet.yml new file mode 100644 index 000000000..f4e4974d9 --- /dev/null +++ b/configs/dota/_base_/s2anet.yml @@ -0,0 +1,55 @@ +architecture: S2ANet +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_cos_pretrained.pdparams +weights: output/s2anet_r50_fpn_1x_dota/model_final.pdparams + + +# Model Achitecture +S2ANet: + backbone: ResNet + neck: FPN + s2anet_head: S2ANetHead + s2anet_bbox_post_process: S2ANetBBoxPostProcess + +ResNet: + depth: 50 + norm_type: bn + return_idx: [1,2,3] + num_stages: 4 + +FPN: + in_channels: [256, 512, 1024] + out_channel: 256 + spatial_scales: [0.25, 0.125, 0.0625] + has_extra_convs: True + extra_stage: 2 + relu_before_extra_convs: False + +S2ANetHead: + anchor_strides: [8, 16, 32, 64, 128] + anchor_scales: [4] + anchor_ratios: [1.0] + anchor_assign: RBoxAssigner + stacked_convs: 2 + feat_in: 256 + feat_out: 256 + num_classes: 15 + align_conv_type: 'Conv' # AlignConv Conv + align_conv_size: 3 + use_sigmoid_cls: True + +RBoxAssigner: + pos_iou_thr: 0.5 + neg_iou_thr: 0.4 + min_iou_thr: 0.0 + ignore_iof_thr: -2 + +S2ANetBBoxPostProcess: + nms_pre: 2000 + min_bbox_size: 0.0 + nms: + name: MultiClassNMS + keep_top_k: -1 + score_threshold: 0.05 + nms_threshold: 0.1 + normalized: False + #background_label: -1 diff --git a/configs/dota/_base_/s2anet_optimizer_1x.yml b/configs/dota/_base_/s2anet_optimizer_1x.yml new file mode 100644 index 000000000..65f794dc3 --- /dev/null +++ b/configs/dota/_base_/s2anet_optimizer_1x.yml @@ -0,0 +1,20 @@ +epoch: 12 + +LearningRate: + base_lr: 0.01 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [7, 10] + - !LinearWarmup + start_factor: 0.3333333333333333 + steps: 500 + +OptimizerBuilder: + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0001 + type: L2 + clip_grad_by_norm: 35 diff --git a/configs/dota/_base_/s2anet_reader.yml b/configs/dota/_base_/s2anet_reader.yml new file mode 100644 index 000000000..c3df7a089 --- /dev/null +++ b/configs/dota/_base_/s2anet_reader.yml @@ -0,0 +1,42 @@ +worker_num: 0 +TrainReader: + sample_transforms: + - Decode: {} + - Rbox2Poly: {} + # Resize can process rbox + - Resize: {target_size: [1024, 1024], interp: 2, keep_ratio: False} + - RandomFlip: {prob: 0.5} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + - RboxPadBatch: {pad_to_stride: 32, pad_gt: true} + batch_size: 1 + shuffle: true + drop_last: true + + +EvalReader: + sample_transforms: + - Decode: {} + - Resize: {interp: 2, target_size: [1024, 1024], keep_ratio: True} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + - RboxPadBatch: {pad_to_stride: 32, pad_gt: false} + batch_size: 1 + shuffle: false + drop_last: false + drop_empty: false + + +TestReader: + sample_transforms: + - Decode: {} + - Resize: {interp: 2, target_size: [1024, 1024], keep_ratio: True} + - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} + - Permute: {} + batch_transforms: + - RboxPadBatch: {pad_to_stride: 32, pad_gt: false} + batch_size: 1 + shuffle: false + drop_last: false diff --git a/configs/dota/s2anet_1x_dota.yml b/configs/dota/s2anet_1x_dota.yml new file mode 100644 index 000000000..d480c1c86 --- /dev/null +++ b/configs/dota/s2anet_1x_dota.yml @@ -0,0 +1,8 @@ +_BASE_: [ + '../datasets/dota.yml', + '../runtime.yml', + '_base_/s2anet_optimizer_1x.yml', + '_base_/s2anet.yml', + '_base_/s2anet_reader.yml', +] +weights: output/s2anet_1x_dota/model_final diff --git a/configs/dota/s2anet_conv_1x_dota.yml b/configs/dota/s2anet_conv_1x_dota.yml new file mode 100644 index 000000000..60931b131 --- /dev/null +++ b/configs/dota/s2anet_conv_1x_dota.yml @@ -0,0 +1,21 @@ +_BASE_: [ + '../datasets/dota.yml', + '../runtime.yml', + '_base_/s2anet_optimizer_1x.yml', + '_base_/s2anet.yml', + '_base_/s2anet_reader.yml', +] +weights: output/s2anet_1x_dota/model_final + +S2ANetHead: + anchor_strides: [8, 16, 32, 64, 128] + anchor_scales: [4] + anchor_ratios: [1.0] + anchor_assign: RBoxAssigner + stacked_convs: 2 + feat_in: 256 + feat_out: 256 + num_classes: 15 + align_conv_type: 'Conv' # AlignConv Conv + align_conv_size: 3 + use_sigmoid_cls: True diff --git a/demo/P0072__1.0__0___0.png b/demo/P0072__1.0__0___0.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf9c59bc18f09a342b13e88d966c590b7c16024 GIT binary patch literal 1680618 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

^Piw+ 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 z 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 z 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àpw{Z!=}6G^g^xW5q2H>Hg9LjVYwUrCCE5<9wPcJ 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�d2S5B^uU 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

9ef7E| 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

r}@Uh^#O;86gVBarjapQBu;QI!b(W3G& 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

n?qn1%#NMH+#-JOlI2kZqi=sFZ>rxFtFFQqqUvu z&hPBHzEPaS?636OCp1|RTa}?!BIXGG$ldTll1SuZa7Gpf^2Lujj3t;4vY<_r2Ulx$ zT}DG4A$tT)7~jU zP?BCI1f*uBw+Jo$dOjz9wW=ZnNJ%-)U1n9PZ6qDLG_v;Z(9VWZipCU)+^(BGPAN7b1p8i|<73 z;D-(A#hs=I!jXI)XYo)WCm~C~d~g*7(gNRO;;|2hj)UTCzp#CKX>$WQ`(ongb#<3X zz(hbCoNrn5erPPZ!GUtENhXr}bC6aB){rmw(ZR-QxV{d^3CX;gnQ`;4+;dy%i+2Jh z?$VTABe~aA6W6ZpXVHz@$=7M&*1iad6$$&wZOnzEQvMj|8BmIjfAz0MdSXEQz3}kd zF$pKD(y}0X^+PzerANr1jw~}IMu>l2*P^o}=bdc0*i&gp5r=$q0FzYZaP;1ktL4E5 zl;CNX_~gPj>~Xf>-NWR8^9|<0LC;q zDn&farOB z#MHX|LVyD1QL}mpr}ZOkp;f!>5$Xi)$xSSNj0i;Xj>Q@BRVP@3{x-Gog4m66n@enK zaR`!c1v~mZv53J_{}5_PmEU?-Y6%gsnF<43df`B>0n=f`PRP16UkOjB6i5q zMi851#~2wNmDmHUVPnH$H_nn@Lk#31rOVm`h}Yg|H0_-YqaWhkCSGS&2ha3oPicYB zxgOi}fH1f<1}cI1{|d^g1ID}h>PiRu0K(~s-L-pR)uGrZp7?{IJ#NnSmQKlmMxLQ} z4kO#Z?WypREG#jN=aFvYek;yjzbmSq{^fm(Hm{JsimJ#`h?Jx6^OQX{=1;`>ZKHv8 z2QxtWNE%5y@+*5MVcH&vYCRP)O3?}hX8pqK&CC81yrDzGVJt8{o*X^f7kYd#)j!eU zNqfo5&b9O&P4fTa0?-~ljMu;Btz`VIg0bGmtlI9>51NZuXE|z7y%xSb?OX$=8xP&U zrEjM_ly>`|!_S*&F0|ksCo%ng%`e)fmez)bJk^%9+^@#cSbFb+ytiXISV?royY)rE z;I(_>`W>3|N!O(-HA^}VSaDm;c3TfJw>ktX`oIwcPyG{1ri@(BD08a_Uj6A^em=jb za_!4mh($XcHv53hR{Rzbv2M3P83g@&RYUM==VN$IKEb2$T+&(Jk3d()mXalzv)u{A z!>MplU6JESwN%-+Pb%?={<FQzk=;DUBw`XNkQezDh9Uqja^53{*w5 zx3`zHmv~8VsQgs|M)O0~oiqom>V0d9_2zB_{gVOm(z|8=kn)|t^mBaGCh&p|2NZ4n zbUE@QgOX_d7ke-aB|^z3wb1AsL?X4_==Qjzm#GprsrwqI^|!a2*lOQfZg{}?##f+IdIMLA%#jHQBl60r*eq_&ek`W9^pCf6 z*R^W-pQGN&+5cWG8VsC*#VaHBWp<=k{1cn1KtC`M!?n0VJun4u{o_1j;Q<0*R~1<9 zwui7_Z8_CBG4Z)272J?SGH?I5CulcNBP+2MdbS?)8;RbakU;Ioig%dzY z(7gTiRBZU@BM_?s^HKKSmNcSwE2S&P85l!+_F_D+ViUm<|G+TZ1!>nhhNcjPWHHA78J%a5Se=US>gUh2HN`6SdpiY zCq1Siim$L;ag=n5 zLQadn+M{9b^63hJaH@u>PHKzsdsNbs2lj6$6+uen%m?NsgRHu*N#-4j#y9)?b=>hK zq|}{tDA{Sn#FEm(+FCM@S$|T?BlQ#psZU70DRw{DU94-$v`^jCq)w&7JT(~tK(GS5 zOT(9M`4RBD6aBkNO>dnVJ_;rPyKCp>=D^;EEak}OEbREF%tMuun-uF?3Y3H+kIEC@ z9ljyfWG_ZjG)4)9_uJz!yBzn^#s&>1TQPag{jOp>xW9L!E_QZENXn*({6JkcyoT13 zcfi9*%qOKns|rm^=iMEqFcAS~VvKq1(bG?7-a6n>;{E$DSX%bYc6EH|fWUZZ-wc=%Wo|Y^PqpBk zoLK+ei$*_b5*kx!9=_aUh;egqh&d|%>N?_5P^V&3;p<$^cD-W4)&c^!;&kUBw}F?J zw@zg-r067TnEydV3?MG=4?|I$E9nQ`r z=f@5w`zU31So;}b$krxate!|xlWIQjImHoZwuN3qL0v1r;dXL9LEUA4Y6L-E-byOqmO&GE*+@R{6Ggzj1#Ul7@m`4>>y{2%RiPcUBO@-S zOjA@JSV!NIY*I!2^G3sW&rypP*6OHUC0N#g%qh;j126Wz7E7 zdCTp^mcG+}UuLvr29JsR9n;o1>vox;2xDbShkZ$Dr%RoRz~=iBADMLr-x4E1-TEn>TcAmjBZb_j%R9gwgiq| zO%-cVA0PO)m5MJ;*2vR7uCuiO>D6GTqQ5Y#zd9Ee_OsKnX6}~VN-XG$s_1_yP|$aX zNbV(q=nE7lCVK~VRrJu9kHetg87Vbq zhfK1#Ty_HR7@=o{>eLdb!*8T;0GflH@yR6P@Tcd9N3+Ll^xfUe<)Qlr%9c?wDqbAu z$H5@pk^Km_9#9?X>98(wp&UDQtRiHct~C(2FsijRzx6|f|Gl?{ zQesJmua^73WyK_Emx@QprUf_Yu3GP6$~*?I7F?n>k21V>bn3=5pX8;0u6g)nom@T0 zXcTuxHx=n`eG?2D`PP*2t8CN1%CvZgMC-Y>E~osK$$yz;Cw_eyJ!_^rx8m*OLGu&i z!MpeEHh?=%WknVuL^R`34iC}hCgS%$(0&h}n2(AwsCa7X#N{t+LwJ2&b~UZ=o65Gl z3g}HpO{|-U;~R>m>99;%!KLh7;OYTX=gW#NxPmV<)l+zX0@8OR&Gp<_1=Yq~S=2hI za2+*x(_^j|lJN}Lg;m}04F;7tP`&BiTJF}Dp1u#?OQ%EZDO}sVeSK8_AH@w0-&mVx zl|wdx;I~G}N9*!mDJUQDsUc+3kW{y2;>g}iq8e{?IgW{q9-k<4F{qb$j zTu-@NG?B>?+piioeBR{QnRZQbATYcF15GdstM2?Sr0y>T?lS~C9JjtibL71aLTJJ` z05s-9Sl2|pU_gk0h#6jcP@yA-f$D~Nv_nWzTID2y2^AQ}a){!!G}H+4=pR1ni#MvS zaw*+u(lvP;Ey}X^Q?(%{R)$+GpYp!Xv*JcpsdJxIkWwRJ*xjf2MTYR%%Ee1#YIGD$&^Z!^;F4?^XdKk^E@*vdP2)y||t`Vs#G1 z{XIPs>oWt4LMo&y6RND0MWdrdm8*l+ZPC`gbcf<(O2J#?Dp|E8-Gct6>$TJCg~C+A zLiM1#))gMr5~`{iF`D$2_?DXVMur<0cu855-8hR*dogb%lLYg20BYl{`mf;yl&ySP zvq!uXhm&s|ZYa3aX&t3)j6g`$CmP3}GQyW}bo!7B8?z@!{qI%jr_+#GI~gG!X_%Ml z#X{gTLuI=J2wfB{=H8Ck9c0nciHzTAOZr=?rl1nLq>az5U)s zQGY&Oa4>j;=bDBfrjh2UMo|tMZM*b(DlUw98mz!=+5#jW6nCJ7drM6fIDx4s;Rvy@ zJ_WeD+&M3p9EwS2p+P%=N&dq#fGF=N&w~DUD9tlQwf^7UTrq@HM^hd)-`6H+VaLsBVe&Rm{{W%P^i;tQ>w$fh%wXJn<(`>Kx?qaO4D>djgmmth?J&5gI&H0_t%{k^`tk}Y;XBH2bPUA zjkK;HHYNho0b)C@eSHHK4ps`;P=FvvWK`kdZI*XA5;%L~8rH6X>xDZ7Pt9Wj6DgaUq?;Mkd7y2l8F`KJ0j%Uvi~v zaI+oUm6(!}1fBIS{k{w7o6$*yHUk2C3vQIyCLQT|Vs+EQLpeKVP~bIi_!|bii$xvP z`0J`lKqPn7)}Q|VsuaDduShGXc~m4$ce$9kIFTO}*iy7q=#Tx|tIFFE zsai$(lPZfeW7XtDbDsAt<8C5GCO^^%?wjAFHf0Rg@-nyX$!FZ2kK2NxF}HWSpI>xY zS)&Cj3)z*O)-=UNl;ip9U~U0>R}+Xg=NV$K1%jtAANI;=-t1%(9>8calrbL05XoG5 z^=izldZTlDQEF>G2*At|wCc=Z+eJfAH zHva(T0kk6EClX~`;8)V~Mh;ktV9yky|0=oP7Gv&$xl3}!;dqB0`CugEj2LY9Eq3b? zrz#9z#W@sqFB#e(nw~u#dLS5$x~!`PoW#}nYJJ8pwDfe#DL?0>M1NH@&t4p#tLb}QKV<)kPx~JPdH?uMT`BgVP{R( zxAOR#aan0~lJb{M(0Z|3g;kRb(Kv-dacRwVnQ3~_GX+U(t>?`8D0|qCZ1lI-d7%|6c=Lm<>;-{e=I>k`2PBH zdog0}R0Zmz3O^_Z#MQd3=^>i&($MQc2|iLnd=Dc8MplHafBPrLw!1;>tU_wb7@RAJ zuCIblBWY@>qU*?@l|LOTpK1eLIvcwtYd~Y4NNjPHXtKV=7Hy#?r#wrKH#@pJxplYt z8itcP%}ta}ymH=yHm68Cdw9eV1>hqfFx?fh-5_@2crDx2EGL08Yt(zSzGa-FA6#C+ zSw$hcztSt6ukP*Vy3(mJ8Bc{(s8$dr__1>{|3nrTe$bCcf>DdLNgf3V(CqM^gB52B zo&iILW&^+H0AA=?1CxXhQ1Ry&Tehd^5{&2fm}f80VU|PJL8n}`|`aoW&2=^?AEK5HM*_u zdwJgM(@-_R7SHsq26w5S!So;QlBVH%S(|V``u$1@L8IFeJn%=3y;y0Vn}T+IPWs_w zZ8PM3P=N+GxKXJ(Y{EODULx1>l-y+vsLJ{LN5f)wUCa7Zoe;P7=^1^MH@s^9Wb+T7 zzjXjDq^+mxVm>)$+pdmvU8}8-Vw>&ic{o@Xw1PE8Y7W58pNHRHEih4HTr#;p=?Sjx zr@N)dMZTrGn>{jnV1F>1-{_n|0}3%$)A9*-+_mEbHwJ$Rl8gxn=1pES!Gts)g#&f{ z=_Dg#nyX88hZv+ifv)*A3`KW7(b-&?=LtU)Y4UDIMvu9Z`D(1G9^V^j%*Dh zS_XuC03?!6rgEX!W@XT^r0y!v1;B%S9gE9BeMUC<&%-gJKe_^p3kRtknkRGWHRIUPeparHmpFe;0ryf71i&Z$z>Q@t0zN-EY zV^1>u8L@P#MQZCuQbc52=tv#l@8wS)!K{M^+#PBK=;u(5zO1wo>gxo<$Dvd|7MO;; zVFvxaSYn8Zb%qRTnjA^^3>H)l_7NUTG%@=raST`RX^OESATEdrj zv2vUZiHtD;=wV=N%0Qs~0dzJy!TQ#P@R2LGIcvc-C3_bnHl-l$g_wE~^lM(^eI2a> zE8jr#rGd;X;T_bcjR$&*Z~;!P1J&BZ zv|Vw0p~scywB%`mN1x_BJ_3?IbBf+us!`%~5KqQS9F0UCmy29@{43m9=!iwTb$@VI zYp>N6lZmnr1*;Y#kyNW&wO?7bWd~O|aL{}siOn|@?vdCwT-6)%&1_}xS}(7>KtdK` z{@8l4u1$aQss3EgY02^o&iS_rH_m#N{HH$ihV;zZMe^cOc1z7_#NIf))xWmq^e-#1Lf6YeS%ff_U8!4HSx~VvT;DYOB@?eQ zF-MaV@kV@r9{I7`Ck$KpT@XkOFgK2x!$I`u&BKCpR(RkhnnmU%Pm&h=F9Ch zsn_c39fF~U8fEX0&R~+oJ<%#^a(O;Pw{J^gH+b&EU=ZiH0~?1j{XqEsIOonv_ibkcVAV4@0d z2$Z{H05BXAiZ6A;e5aoTn;H$QOTlfTB&Pv}ebA7b@H$=Wq?5$2AA!+XOAY78Vgq=Q z2wS$u&r=C5scy+VwrxA>Jbi;#Ae=M=5`fkkwe+M7yUU|QmscyPo?ag1HtM#gv6HPd zo>w{IK9Y^94VXJOG8*ltwf1VIYPjtc(JoEJDcn$<$_V}W*(oD*Z7g;#Rfk&LDpS7{ z7{uBPN?r2rYW3gU9MJ9DY5!}zh1~HZOL2_8)zIAXru_^s)nPjA5_9Bx0nqjifD8-) z_J*v`RPccEDWJeX+Z_+?UY*wTZ)_wg@ZC zGmLh_!vntM5gT}BG~MhG#?(?TJvB!t-eH(*7d!kNSOCH25DCmzbLbH#CKR+GWZsYu zSKy3?J3}FR#-D0k;8LJ^3Q+OPHt-8%FP_GJ4#cJ{tTPA8L)QKKGy$o+$yeFqdhU^c z5vn$FwZ|zV1R#v%q;-|O;ejD4uDEpWl<^5d00ZiQ#}D7N5{yh#`H=w7aYmWsmEreqip4eC`MZgUrP#{fJT^Eiec00q;u zKbB7+TWr4&0O;j9(6n6>0i;^&C6xFhs&ktVg^^PFM3FbiDqf$ES{ z5+oVNr>F}IyZGhcBDi^;!DmxM#_b@AaJN!ml;^rVnfH2`#d=_WR7b~g47^1AY-7IB zNuw((H%odHcP}(U_!Bj7>EpfQ_yjNRjR+m)_UFuviD&;p}d1V+#Ol*04!& z!(~kOWSI*o9WDh%`g+^6r}}IA^*5%~%%%@J^|d%lc3m(S!3Z0wv+N~0$&pCBgMX#< zV1>{4bxO$UlGdYhU9G`Oy`7M}s^;nIt1>2Y%Im$#VNo47wJQasCxpup&gaH=g7&T1 zR~_mD;Ao2##%$7G`*`{##^8SSM)crT)!-^!d2_L5n-#V;zFoKKZFQ@VqGH5N+1*L| zN*^`nHe8vv-1^nFJz}Q6nkThIvRlcX$=UuX8oCJ!s4oKp_ZotWocF{7es$@VUzylT zZm%zZ8fZe$1vD@0=K(w|So-`rEHru~tq?pCdIYzI1UIJJw);EtyE!)6AWddof5U8h zigK&FdV9Ub?kFmPWXQLOz{E+zLiEP@TeyE10z;Ww?RE{nr=iB~P-Qc76L|Z^gTYA| z@ET34f=le1x3BaBXD#OX7>r-;+~Gu;#B(3S1rCmDy*y@@A+&FRHZdOUFh#(*6tJg4 z%A;Xp45iEbPkIIeYfSYN=lyECqH||kKFVT6mF#+IJYjh8l31^1?NBRw zYCWaG&mPuJ?yye=ZDd7I2GKZ16(&H+B|@BA9nG{I^{px*0wi+~%yw0E#i977)8Qzv zixnFN+@of$g+N^S@~oL2eAQc%Ah*ZIJ*A!o(^A5J=iV*n&p?ovbBcRcHp(FeamgE2 zan;-_lcBsD+aYMA;cMGndN>>!?9`qgKVFa^&YMoRMY4Ah{`ImlDG%G;f^g7oKghCu z^c3I#*e1b2V-I|%Lr2sAcD!Bpq{#**12rEOtP_*W+3O))j<4zqDC<-N^#hefS_-i< zQB})GwoN3qEPzyQ$8Ofm;I67YCv@=`ze zhdR`qlomW_1LLV};|u1|mkwvgXp5j6UCKXatDB14O-oCYkjl(eP%A50P9wRM^|j!i zo)vJ@%2XyA`}DY%!CyJzNx&UgKpFL^!^x5~{rglsM*Y#M#8Z{Ogql$1DKNk1ra+6Da;7U2QhcZ9=|(lD{$EO3MlGG>=-1(jS8)Gi0m8VvO?nL(w#9@t7t z_!LD#)PR#CgRUjrBW`f`5I8w5Qa+}iOwK)*lEb!EB=S9VnPh0f{{?iwn*jJH_BWhx z`x7nL0YC#080b(S$$=|5JaLji;}5E(@3{7JN1iB}GrpqSNVYz~(3oseFV(Medv!Ev zFkn1=#=kOn#vE*^vgzsRfl8vutiG8*$|0jfAB;?7&zry8)JEophLGBlHa(rpwzk$* z69s5&N_zMW6m9_g(LEKh&I|Kg-Tt`#jjuj!S8GD6oQ3=EhpxwZ1P?z;x*7_djNal4 zQI}4!2qSqwLje81TGS0+>b!@LtPqa+_*KvotU%aHph*UFGYE}F{~Q$sV8>GjY%6@` z78XK3e9-m2=aTz!W-1EZt_azWspL@v>V_B!*-*h#djd<$0Sh=xAy@2`5D;9+y-)am zTmYH(RI&r06jm2 zTVfWc@-9CBfpL|e1~!$;Sko_+m2dror|1nKuZ6zF}Dd+1TdhGPGsu($l$HM4WhU`8-9 za&HZ??%D;-#43j^{o^rkOaW)~CqSW1O-@rwfduXC`lcF|$7V~L?%Xd*=fs`Sg02DE zGn_(PdXJ1cd(~SU%J=834h_vd>mInx+>D?;Xfj#~rOi~@GTQobtcu#mT~^%*N0vis z%Bb*5Yw_N}#Z)hecO+2-Y^1ef+_4y~LYu8c`LLn9rp&v*rhekNR-?B)RkNwJe zwvF_fZHqiN69vj{ywm+UtlCosbLP*=u?+~|97y%3o)ZZhf4!BSxseB%9xZL#lcK<< zjLo-n&*{kNh(z)6zc1%#6@2Uy1xYCYP1xLOh?LWOapo;x2m3T1G(BJ}i|Eglh0QZJ z>7(8rCDxns%G)p7Hl;GdenvIvEgv6jR-|3Chu}qSG)iduZ*RhJrv@7G|1r7S!`Xw% z*^qIB#lgD?PM(Z`D(clD4rqJp#ZK1mr0fw|jr>1MeF-#_eH-^!LM4oPqK#0NlBLPM zmJtaRO;VODjgl?fJa&~bq~xI(Ybo2vs5G_-*()i>Ln05_VZi=LKs1<$if7a z{2W3TV5Iqaf)T7M^9LEH5J+P72@&uIVBUh}5m*dJC5jMIn%#=R`^%aEtO5Kuq{lYD3!z2EHhCG!4oRC}V*>)0akIT*O|y)t^sm!QZabvOJAT^DC-%SM zJAxVZ%Vj4bV4%%-A3%Yo9lve)dBs~UfCi97K7h2Iy&uY|s;aIOz+*9ygPoXrkHYTl zs9)+3w_O(0Ue5GrRBjagJG<{^n4U5obv%T(EWjJy>M0Hi3X=4mOe0jT4J$%axP781 znA?dwH2kKS0{-EHV`IOEJNsDW%aEq&6r+(SG-LyxtwRyhwV=qO*haxA#(hE_O85ea z7%?3D_A))v;m7MsaPjs`FU~fKZ_))f7xt-n65ElX0GMZloG5d;JTmGC{faS$xipGs zjTO}|@B_f`sJ^6W9hk2(@ECprXvPufG(yN3=3n1;jF-?qU>dh#R_o}!2f*G57LjD= z^wG=E#P1PAqnpuSzkqziN=1M-!T3Z=A)P}8DJ2ZjMgd9bRssIO=g_lqSwI&@rn<9o z!WYCa$|lVrRmZYQ_o0uK2e?{9D@Pb};(9x@Kph=?v7p~pd67e$QHAAxFg8|V{pSB|0(P7oAwWP1uDk@9UqGCZ>@ z`D6qDroo29f`c0^{by_M))O2*n)6a%u@2FD#nY>^V`Dcex`Msf0}x^WXnNM=8?BDY zG{^>ykJUT*{Kd>IxyhpT3K~JpB_AYe+0qe887)2aYra$KDB^h& z6=7ZuFM?_Bfp8j^7Xf(WqEg#A%y)jgAt|ZMgO^_PSqvA>jdGwdM^eZ4KRNqZqw`8n zF`}4^v2zB$Y_Qc${rX9Cz&W9<+=DU7=Z4wlrx-@ zt&!ltpE27Bh@%CWq_zKG}jkDUPBhiFa?SjTW(8@Xm?0!wSyS-!d495&(- zx>C5lAa3$D1iZ*0cQb4@E73k^u`4G%bV4Ie=;fQ=8gStG(YFbba8FEXfIIjANS3!R zv4kqQ3ODMjUc-QjT){{$Y7TY|%_L}fmOQB0o4?_<7Bhi{NPS-fvFaaId(Y1hmc;XrH6&lS^^Uf zciR7kcqBLO1wfBUb!X%bgF)yuVA^3`e05Xpxp$8S^H8__#&Eu8)xwC@Ot4pRcQ$r) zmC0(B%xZgo)1@qar07MAOis>7F^$%9jArp=d}ZqQl6vAh8wHwS=ZUeHgjIW07HzLeP<5eHOgzhOh z3NDed3kkRPyA*kp*@%J8`DtPBaJ`7V8-CiY;|w2LFxIsINY@p15WG_jp;ZdD<+-jJ zvF<&PNXe`K+>otDRJNh{yO-Gj9o$Ka_7IHXZ_7KuDq;6-2cD0B$daiEHq_)I<7j0S zv*@@a+yZoYh_E*~`;7A4u}z5`&5kNfl+`zzomYauW|~BeK7J{V|Ca82-pO%N@yxEz(GPx@yX}xZK|1cT zfL;7ZVUa21tAw>|%v43kmjZ*`r)m_rmsYDUWNp1eM7SqA?iJcqkX^5T3J_h9XpxR* ze;Cy{_hBw7&3a9X-wR+((s zlNF%#ndi(c_tG6>coPMlHMIv;biXekM|+vd)&2Xgw`!W%DrJVIa6gxv3OG+Ov@SJ=PP8|6=@>?U$*S)qzAYFr@3jw`3(PdhXpn=3jSfh>? zSwzE%9j^OGhmS<~tEchziKrh?CfOme=vY`Ay5V&>2c%Gdl)?AYaKRmx#4lceMUc%S zA|#HZmbPHj8o9)TQy?cd#rQS(NZrz655YcQ_$i1B3p<$jBDt(mE{>p}9-vT#3?7)_ z7lwJ{&suOmC8We%NliZ|9pA*8h%ed`eyVTrKsZ=nyroS3x1BgLSFl|lqK@ z6dx94B3G+an&LWMZjMDISbR5zBP#=x30Np@_nes#`u3GD*-jpEBeQ<=F>OnjX+cI; z=a^~hXTe(uk-jKiEVz_X`|_oOY-3{%xEO?gTze_L`CBG*=;f*wrqjPjSB)Wo6Hv@5 z4T?VAQ?5k#4gW$*)!LWN^v%<`(m}k54+iV!@Rx<|C7pVD>S?rV$0<|pq&*x%p@H5O zRw^oadC4f&v+2Q&@#^5sU*hXOoI1soj~z~I6c0NAz|wlwQC>!~3a&|`Xx~6K@PG{T zQp^?!C6Sd{dRps=n}eHMCDv-f)(9EFEv;3nv??}|m8_9C*(qk0=gq6{aS+5Pk_4^* zvIg83Az&e!Lq^@;hS}%<3S%jNd%8QnzG9UPmL`jYjpndF^F=fFzm3A)DPwin{z!CA zdSDBXM}^gKC&9V^g~nb64VD+YBJG)%=u>K;zX-D-Qo({7Yq6n4ljU=Bb3o%mfa^4} zD)b|DpO~}9%u!Cx6J#L4dW?uFZ^yK9p@KjL3te*-=ynn;kckWMB|{tsz$XkK#zR#U zGK!BQ``cQXaP%@S{-ZBirWNZJF{3X92n$LV7!x%_;=e;*;U$P8_NE!3lC$&3CODsF zV4S6#gfV+T#4dPaII${}&AQ!R_=n35_kpI?)kW&`(@9f>HB-Bm?{yqlG?mxHwu|G;KVXR~Je!S3#4&+f&i zR`x;b3u+w6rr*oi%ZvW4CqnumUnm-@uAu>SkL7KRFPevw15^*km=J5$^vsl-r(&~+ zh>3!Rpcykl$P@?L5e*kf6WoDGP|HCXI1T>iup6EU!pLMMIX=nVGP!W2-E_J+jTZ3f zoZdp8kyt?6L-zVt_WEG(x3-0%mdcr~9I;2r^GK@$<1hyhXp}J^69Z1WWZV%K2E^k4 z2WhoZ4Fe<)agOJ_mk%X%De)s|(3cY|h`9;hPcVEn3nn!qz?MO1P>CO|$$A4E4%%es zjNnfYQOujL7nWKv#7_f|nqdS2WHGojKz9-i?ZJ?QWQ{Q{>XVV?am<9(K_%twO@U|LDS;mG;jy(b8+_oI@^6231~JUc$b&kh`7W$i-WOg__UYQUG3z`z>-+3*7y zeA>(G3Jt*o*#crr$=!a_a5_k4Ilz|;UH&tC@7`JRN=FK^oiK>#ayy#!h5n5B4irwu z5j(;Z60O!D`$`*QjPvVm#+4*lkh}u-jx-BxI5iw~kn% z@o6j~%y1Cx)p_jQj2fdoJx=7q&}fg4FX0%7ivf5Q;Y{=xKqr`$0C%>iRJcVn?I9ng zHq}T;O43HD>KdMPdXUa9%?qWdeTv1bRScayTjJ3#HBwF?!BzV!c==CO6FBcx`9C6F zY8tN4Vv~h-Kdi6NBKR~k2L}#+8BQ1+px|*h*uhcXp~FEn4XdaY{9iu|;K0J%kk(#) z*vPiA>wUmtmy3AV+APD>FEH>=gPQ&3ol)K2fd2qdtU|ND@5-^nrn#L}*UYg8C%XO1 zt{f0QVCGVk@Zau=YyBfxyD(hW@EW5ILo66q;DBnlcsmFqDCp5e{R>;}oZf$^;S-&_ zZLXZcJRq2r092U0QO0~PAj;`77OF7FHnPdk4H|d)<+qc8ndjbPk*hz%`jYH8S)myqFlOF87 zIdHA0uQwDN#q9%^J5oI17issFqx;z=rsBZ8`T1dDK^G5hTKAxmT`^HD z0+*CxP)+Q6AOT@&k7$CmAA#6~A|E+f%qC!+$7uD-u#gy%$af0cd>0=)-ej+1PjQ)J z0&g&MwU5a>Yc*Lu{-D=yy&@>GY50iXp2xB41FO0VQL%d7)BoKnxsrZkkMUhFTjt8O zNHx!4I7`3P)UjV57O7g(s$!4UPpvrdwstKpvfd{@czrmrM!Bxs`}qyL145NdnoI(q z!GKTfuy^>%n?2n{!ynQs*m>;A)dT00F7W-CDr%XUnYn&ozwUEY!m)a4Qr<0pj1@Ck zg*I34V&-w|U=Nz=>{B(U7U@g&;UYPN;WJgUG-dRm>FC>y(G4_xVcEGA6)zWTWPd6 z2J0-!1AQ?HKO!Z~QJUZ=vJ0WyU3<12Ybu47$hHZT{11Ja^*An;{u+7N0BZuL4E1F5 z9Q=a|a7%-iMKfKr9@-gQ&gW!ZNl7tq90Y6;`NIoYweWM)(d&jNh$0U;vv9{W&}%?~ z()w+CVenkx#>B1ue}_jt&wf_=(V;yxZRVq({AY1-igSBX8D-*LlNJ8z)pe!)2M+AW z%4o(5UoX2N|Lp7;iA!&1R>2+{n?Qb*_3@@^+BChS;zrfDMef9rEm2T`bbn~6>*>%S zAM0ju6FnaPj!LzR9!@0`6Y|NAFDTgRj&(D>%{uh6*|7rom)+gn!C4cy4LdJ1@6iX% z&jZ+a_y7T3($Up$dpKeP0`zjQ)Jl+)0&E1##iF--p-Va(Cp{4Is0tZ{?q}w~&p%m5 zo7yL`3ai#4! zo^p@xS?l*GldRsdB6U6cW1Vx$mrQPsY2p}V{P)0^mGGvdsH*eC4lwRVL%=o`+O(i% z@IkdO!QqtappW?cIZ6v#bJer&oul~jCqbQswpP2fr6rgkn1OR0z|7hS6OyIg;tPl{ zJYiO3S9lf>P~=00b{xs*9=>x0BH&QSEW!?v+k!&>ln6s%Q!TbZNJR?p^cnbzE8vBZM}>|Iz55JW^Q-?H7lnwveSSL4Bg!HTeNCB{}Me1r8Sl2n=46zl&azJM`h^ z)noUG_YlH&i7hXHIA>aO;bJ|G!TYn-CstWgQ?C;wUw(Ejr&6ibo|p2?kPTp$n*s>Z zzH*~)v*Cq;P}$TX_-lw8HNdzabx<%105 zv-5HHLOgg4~ zV!nf@$!GVTGVDH%=aJC*D*fgE>Yp^PlPZU6rH;-r2iR2~>meN@`jY(ABI(R>)D zu6xfy;52KMx96PR`uu7}5X<(QF3G|#I5>FqQHp2ZhX9CJqD*6#)~14~R~Xr?q_3}l z%LgKmf8Ybfa1BJ#A>I6@SQ(8h0QCplq`p8RXAC-=^wul+qH-OGnkpt%tG$(fcXarx zkU&MV zlF>IClUYZ38ywEG-K}_9xN>7+U)2JnTy^y12Yyk;0b1J=bXC|{Hmek81~g!Kx~aqi zMqq8k8D?sF`rT{XoWqo*YZrsVg4oP+A6DazcEU~YPe$lU9ynthnOa+W-)@ZcA{@(d zzAOO}Iw4pKD$=!wdYeU~>8l@G)}|B%CNkEiT;PG60lbUXtTi`Ti_RY|r%-o6 zbT}0psY$>sfOZnRRi0Y(rrk#~=pv&{@$qwEn=+w)M#DA|i}5|So$C{DgS%`bwtSfU zOt7u=zNy;}=*z1FENCszcWsmqtqH-(61u6X<&>((nSDQle#eF`SS9gcB~u-v<)V%I z{m3SC5Y=W+cyXo#>djwCICD7yC8T_o@6MUvLz41t(CUM47Y-J=a5EqhL6$0f3s7N5 zM4Z_6GBg2Xb3{<=k*!Yyw*a)7xOIs@hy(g`T67j-I{<1h$I^$C5J?&ldF28{sqR6* zOM~r0ZEdaI>US$Z7arAT?zl6dxqm;s&`#@9fEQb|4E938KNAKQZpF4QIKRCNEAc%6 zI9$lM+B9BPBYR+KbaZ-ri$^^oemL z=Wu~VMQ|{CSnpco;lxiK2G`Yr)Sj;nig2B zOWeJeguSao3zEwce~?L zxupeMp~Ofe8pa0)A<3`FWIM!K3xyEVqL2X#^;bhcPA1V>`5^QR=(I4rb3{(^>4T0y z^b`uDqo!E0CMZ}in97t`xUBTB`u|*$Qsdo!P!d$$*kO(xCxJSGrz*jBKsIDxSkhgL zYft#@{9R~PX&!XKfNGDXB7+;+T#f@Ae8`*%l5@+8zM4>dfC@<`8b1`4&35Kd6NxJa zIS+g{0~Pm(tQ&h)s(Xo_7%L857$4sK;g7u^kV78QoQ5`cOCB-b#-lG4^LM!412YK< z5HTng0FF8G=pT&a!iJZnB-0vY5peM|mX+=!Es5a*%0mQjI;(BZ%HbQNfX4z~1mFcc z0bu)KgF)ES#XKtq@>wI)S`VEG1!`RaZ)A!f7>A^#&NIrWB44AMD3ge6FIteM$6wQ zZtH$_V`C#2159)czM9z{4l_`%{pNUvf_2y?dvgZDjcP|mi5o}smGqVD%JFDbPON0QnW4qUOfHt=eM2`kKxy`_V5k@CTGy1(|WPj zeRu8GvU_|iioqon;ix=U>DDL7K}If{Yn$t^*_ovlvoGEcyrRSbz=f?X#P1NGK&{g*Dzu;WtCaVfji6P5v z$?s?sY_f3mTXHOXMR~w}EE^mm{x-Q__cq8O394N_iHo=_h!IJ&fDL)?0YIk&kW+&* z$rDC%nwy_vrWqlQAGyhvCdv%}HeiYXOhxVeDFHlMMAjrJeEN1BU6)gz+cEbD$i@LT zzX=;H0IDFuz-GQD9sG!j*N~*Ln&Yk@n(l0XY#P4U@Zl-cG zIc+@D@?3YNmbSJ{ft4_y>Dy?-vu`cl%U^n!G}z4Yu*GF}Qw#9SerCwpEP*vW_0BS( zltwi(2Xn)*jrIEFBMq0WaM5xNu9ej3=T}SmbhSThPUQE;#PzSI%k;0aWW2>XCa<@i zh(i zl24fZVrhu*awPajJWC+Y4Nm~aZ@osOa;av!A|%#@Ehu9c0ZFz$l08%>hrMtA92<)v zQfzy4N_~}(3ufFoefOvf4%hBy>%Hf}#?<_4TTi-Mg`J?S3%>S=0nw_^K4|JdEX;9& z2D%y$)baTh$5+1)91hIdAVRj>FMlQ|&MWZUSozN{PtSH1_J6wPamhUfC)d!NUFtK+ zs-Q)>ck&2`2eRJAh5!RsX91cHC>ekSTHs*B0WJXXC3!d%*KUNp_?J0mT}k4<)xbZwNi|s&>F@2#TPTFyUDLJ0!66lZS}J zVQ*`bJhE$0kX@(B03P}r(4`V#fPw*03&Cv6a*D_%?j@|%z60D}H1dyplsr`@Li~Yz zKHGNVFC9aoZM0yA1wRrR8YbARKx-8f42?DF>n9C$-WVdE)LxGBIG9%mRydR{B31{d z5-1lQQaBapec*Tf7aoJOB!Z}68X*sv&aaN)cmsDJT$iL+7@f$PALT_HVJuv)=$nrc$$9Z97%Xe83Ml;XBCJy1KePcg=cJFDrB=D%x*A z3a;MTc*e>&q!Vn=T{b$aAS2Ex8XN}Je;Da4^|5sqemKS2(7elpH=ZHlikVep=m4^T zpDh%h`$?o+MOXar3z%W#Y&)Tzm>MD2tU!1z-Me}HD*;Z5Dh2{lxE&wA+~w5i5Ak2t z^34o>{T_d^;UPD7cR1!CZsW)D>jPRRm*u+4X%`wWf5F=GAm${Tiy!|B3NOS#8Nf90 zNzn$nn8C32CMFS;!S4tRBI0Oyy9qMz)%^6Sk%LNaW0T}Yzx%nTbcS@^{5G974M@=n z;B_y+Ai}Yd+OA-wSoyo=q2dRx&`>*X4Lz;7h2!<2mNAkNM1bLx(oTTP1{HydB;7XN ze+ndpS5bf;s9_GE(cwT;zAg0F^q?hVsY`6b3+1VIO!}7w{kvACw>)RnUuun0iMr&c zT^c<6%}A`NthdaEol+Rm+U8&UT_$WQQg6dRJlV{VX7{?Y>Co(5;tc@becnWjy9t=H z&oythXRLK~+Woui7B_k3@HdV$dUhT~mRN^!*iAB(iO+^+)w=MKTpc4&hh#2Du}SXO zd1ok8{R8A$vDQC2xCE`1v8!e*H(5D-n|Ih*nhMWGQ~cwfM#(Bge&kj(0PmEZjsjB| z#^Bo2S^Kp?;MHvQ^{)=cZfIq!e7CAxnXKBFr1xqoz2Fsnz8&>m9W*8J7MXt|@*3zM zk9dR}@NydV1NFVO#2gJ#1vZ$fgSg8i-xfmzV6E8QM{XK#*-4GiF9kIVc0{4Z)Xjr+Q1atRK_xU1 z1&%{p69O0?qZo;-iMuftCdkahOydK2e3UG#vJnvdS<|rN+ocAz%Gt!Q<@<^Dm0f;^ zPuE;*`+DMbC6!uIMJu71O~K-kly!uTj~8v%%c1Bz`yN0~T2ew=!=6L@s-bm;>hxo?dbMGThSMwuP82}MQ9EVdW#{9hOAD_k`*2#? znxWu>ZXYyw?moc1E+U(G z9?+kH(<67I0b(Vge0sf@lNYU_T{fD^NJxq@1`jo$<%;q+cu2>?Kg6w{WG!n%gFJ%Qx<{`Ir7?G{!~`Dl40^g(`U9wG9B!+#g5z$Y}uih`aD%HhtqIuuVY9NBy_ z{;@}!3(aQ+uKoDdxrL*JRkuffZvZzyHy|8D8oPB&yf>`=;=)bcU7A~8$jRjMezt~qSb?@^8*8p`1Y)gPFPn5$ul{0=% zslFkK%BB+|Yg2AxtK-glBLoE$+!-TT2`~1Q7wdf>gjM|DJ9+5COqWaOhTcjUw33mI zhjUzHSd`P`y-E2ANqIBf{uOSW`y2}`%K_fC58bfG%=K>;h7Cutbs>*;KrnQ&B=i?g7j3LXht^MtKm zTlZ|V*1$u>pT2KB{MfUDs_u( zmBxp#e|cFr3;e*@h2hL|Q3QWi_w2dl;Nv$P`GM}_&n{M*tOxYF(8{%p zk}p&`N%Jr2DqvG=D~gL~L4p2(a|LS5=`RcUtGq!emF_)$%G2eKFj2((k;;BI)n{iD z)JdizMbkHRx{^K2$PLl9V`|K7_k40W{4mwkS<}-8)HBl4YRBV@#6u>=bC3xvY@tk# z)y?=d^Y006xx<$B3Kwxy7=NhLr=X`ppl&P>+uc;1Ml80qK_9GnyvRYcoN_d)4rzo< zv0EnYipJAYByjC+s-DSP&&t-b#1B-hEqM0Agh%bHT!sv?g^jK<()2W=(7x)+DQs!* zvPE;P<89X0<=|VYDadR$G3Wn+3?iH2Ow&W)#8B_-TKl!oYO;P=BfR`3^wnTR7jpr7 z(XYZzG4U)RgMs(69Zj7@-9fw{6byYj81HNqI+b4$^p?|$r*$`%!wk&D*FPEQt-TPm zt+0V*9V}?dDNc9*oq(_eM{GwI-3DMeM9X*)G)>|^B`m9+lLLl;m;oBP%9$RZDcj+0 z-??wFO#(>a7$0ygylgUyMg64q6%ZC(!di=p0DC zpb})|9zjMbKGY-Bk^$WmaN5UcbnjZv05_*ZvOoYxyQMjcUL}-QHW~P{g}6aDO54dX z#JvrclAJ{!ZE-ib@6s^UwvpON8mNl%ZTxh3`H}QUo9N@p4}HN_6S`C6%8FG6i$AgD z5+N=x^)*gZ+5?r;UAtr#>7E7L$gW|5C{zBUuA8ULW>bNN@l5w?RoN0b|7wXTaxY+bD|j6Maw#j7a)^Cw|G~ zheUWr0Jb^SNfCGtN=k6^_1Z=POzc!L}=a<>7i*-ZdQ8yhHxLn7)z$|(529hL5p81ke12Z6eSY={(;TDJ&E{0pi) zcs-hq^ZVfdv)|WQs5du-Y5Bk=O{b;#SA;_BMA*i%NV7*jc{1?0yXnH()Q6d#Z1Tm2 zN(!ZN9C8m5{`0v=g+(Ha??7Tf0X#~kJv6rMJap02jG7>P>h&Z~v%%Y-$VU5>iR}>E z9yGJ$tCMiBJ=n$0>fT;*Hi=Q(na}WgG2PtKJei=o@r}JXCK%=%lrOCMkv6;+6>IXg zc$(&~u6y-$PiVzB;4jl(yozm(?QVMVD#78ceAjE&-1HMXo;`L<89!>*yq)%8b7e^T zTH+ECa4sdxgm$_}2#wj!1pE;Rn-$Srd@F8ZrfHvgDbMklHb4JGKj9HZV1->edsFq?Tf9t8=l_Yc#0kO-tYE zYR8o_D(Th}FEPH~>{~qtx!I8KGO4&Zcr;eqd%S9yl(DC9CU^v5qnZ8d%!P%8Z#Qgq zZ9z$1z)40+2uFdj2?zlo{GptJ0mM@h8aN%`9h@gx=xS-?o_93LgC(|U;?aVk^gfGmM+R~SKCtiY@Rhtu6y zYQ5+B@@zgOU+b1Ytk_z+ebw5^q{zzo?%L|#HH-H%WqDiwOO-!L7e}P* zi>jE4xn`}Vayz=q{#Uutl*#1mpNAmgUboec$y_C*;8m(pI_~)-PPAiaV$$ZW?B(*A3uC>Ur$d;O3JTUXQz-`KC3k#ji=aFnbTK; zg6x;9?3Y>+b7Ykyb|3f<;yY|&rW zltcw0uUjKI_0Sx=z3gi%;w0bnPByywnvi4le$W#Pm)ohBl_VXr^24OPw(l-;8-YMZ zzuT*Wjd~liuu!PvXSh-!va0e7(C}d76#{TY()G$=Nt~IEy?y}Qg)BTWCY=Pc+vlOz%(x-`4RZ)neHj6 zPk|i_{sa1)Whr4tQ*T@02ueFKwAvSVjjSOsr2W*K%O$i`esBbT+9io08v(WHh`ewe zv+3Qu*urZWr0Bsx{Ck2S)mU@SCnhj60>JsTLb` zqlF2!rcr!4l3&tENgR4yQiO@&)N9g`h5#(K(TPDYiNiF;FENyA;7PsmkD>D3N1Oq> zG7oN3%-=>Qh)-3nBg!3_y1~bk>51z)_S)}XPrlaNe+kmxW8OlHNaiI5w{Yg8g-1pT zwwI6)szUHyyo%G&)YR2XHp}^S)JjY)I&%`}*p$hODgrePBMrXgv-1oWz4_`yRaMo^ zc9BqaQO3qRt525$qC#WC)}*fgBc@$iQdAc3YvL*J^aOeCLBe5!s3GXP-n;jl*nxg} z-8x}-rNMvJ?8`g(=(|B65kTlN4AX;urTe^Dsg@JZ^7jI4XAf>;VZZCcR-ZzEV4$W* z!_HXytMU_%9#Iji$9<1Z=i`bl(-WKa>R;HUd^(U1pP*T*CIK%LMxXBcKwQ}I3+wM= zy@1Vaq?aWIb~q`|kVsl6&H)~D)LS5af=9K~Cu>=-)3|i_x$HLlB}^%T4`*Xc6*hK| zyQ%J$h2@kjUbjaFSJOil*MSM{WJM{?>j5UgucL}HGvag?OuKLPt$i)7>Acsiv7hCJ zQ_191Q|ael{UARS4g$i-hffK)Fe5T$^^KETa$PSZ;8bq(_-bDLFgv0ZwkD%EBbKUP zbHrt9dwrUFTo%_`QQx$VCY;GlO}n0uH)^uAk-ER<31L&Uw`v`=k2s+(6_t_DxA`s< zWjp7WujT{bzcO7S@EHG4y3o_y$(qt#EPD#=lv6hSpYr9*YGbT=o#^Csriy#fm7DLV zpFeqf^l0yW{NP@7U*E}Azf<&6NY?kcjhwL2`)ob&hwApJ0+9w1H%wrA%rB{t<&PU} z<0!sT;87JYxtQXqyV>gl(Ndf1t%j?4VCXcQh(spuebiuhVaebX8GEtrt}(D3L3FMU z@I82)F%kDrMEq2$g+7xI<3S*J>Rv@0j9T>86gTs$z1~#?{XV+6WEDEy89F_?FE(Qj ze}1w1>6hqh65R7}OCXLibS7-27dDowmUdM-MR?Y3Zd7f=!i^CK6q=jK3Btt}cl zUM+wH!@~w2aV+q6X_m1h4rq6w+(|l)2;H48jl>9W&hH0l0b~xRVitPSG*E|Xuyv;4 z84wOyQ!@C3W9L?!if?VOo#O6=?(PWU<{yY~`C=dD=i;*3@Jr2+UrQ@icjePBGun@y zs<3i(O${b2b?gJ!&01QC{)Zy!GxMyN&#&wgFghq!nAkmxv%O^!YZvHz%g4w4L?1+F zDI@|hVdT<|$gUG<)?MI*ksdr4C0fIz%}n=I6;j+gHOq>Q_U?HbGyMFB^ONqjEZnv4 zZB)jQCvKh|wpIR4PVY3dtl#^o?S0I}>o~qT2`ViFlnXgs()(aAo{DB z^}ed~mUD$R6`Yr+=uD@W>(=E#&0Tcq_$Uap1LE$fLOu=woM8(vQ-eDF+GlHf}qY%)rkKOAtx!G1bBwsRJY$z zQ|;{Rc%YF}@95zn@rFG6<_3hKT{4tEeeWc&V~_CsbDbkHPhs@o`aR&|0mb(@LO+kJ zJ=vKB%Z`5l>(xTx6`H)&_ea+yAOf_*1(P_-61?3%T;4~bztcfnnFmUMl|NZ&M@F)5 zLLOvK@s{&Q>;>0l236`L|NdJICPjZy!rEqO=yl zNV|0o;D0CtP-KFjdY~2%l_VHe{V(SZ^}lKZ#Jy83OzJ4?l>REQ|C&g^iW(>|K}dBf z)k+ep*`xJKfFM*^%`D)(hB|J^>$r66`Tyer@SVq~?L>S?K<9$7#7T0>ZRmN7gwv!( z0hvZjBe@CTy|zB!cpP`|+W{DsuxmnFfv1r9Zhth9l$Xqh**<{71qkZkR4k+JG;{nG zLob8D0QW&H4Zi*(qjVtgBBKvf96;^>e?~sqQ+$0~11xnTEbFl+M6Chyh{p9ia=#9N z_Zkw@aZfC~ce1>BKwcO`Sa3J7F2o`*pQVYHh$F&vaKKMrPz04Z>OHS0EImjEMnE*- zVS0!z!G|d;%e%|DfKmeY6xrx^@_)B;a#>{ZgIWjYkKQS*WOx1dCgUs?>mCzmPsgJ` zfKg;4?~;@A@OlMV3orJFTy9s^)6s#4uLt5MzWD9iP=}y>AICqRnP?lx$N6~u3-YWc za&LF9@H4VJ!^TpTI{ePuw(~-zZ@}u8msW*3{=YuUq??}!Tb-+#YcE{8{-x|l&77k4 zdYk1r0muV7k@Wa!r}8AoCk6j3R_Cs$?N_1!xbb9YLV> z4M!!N!aB;+Vi@Zp3kQ?hifYjgG)(VG29r}(blmVVq2pYX?(Y9a?Z>Yw}J zR!qaN-I9I$+23wl+%-JqdwZsu1-?fgRu-<#^l7=aA9(NQ;Bs8-A44e#RrlnU2~m(N zz9>#=;Wb>Mh@^+kuFn*;xp`3B-90XME*lWvex0iQS(j$F+TE$g4%^hD86A~8e^9vV zN4Kea5tUk|nkJT(DnHRp+Ho*50eAVtDEalXIl~@b+y$WvwuLPBDv5Qp(^-Z=GTxyUtfYz#mBkr~wUAC1TJjdFt*E6KsNe z#~MSYJU7Q;*VJ#%uG}iztWjL6aS5F)g80>5Y9j@AFLSbd_TSgZAXi2ix6mz2SROj4 zw$;SV&Yal;Qo;K+X7yHP4F4(sy8UcHWD7OTfUgY}!a~rn=O2OSLZCKt>IVT~4x8Y^ z3S`;ss=o#^tqC9-;iQ`_?a&XxDPf`G7IIzihRUdG*?nBS%-*zSr3ezDHF5cvWPsbj z(FYOdt7%%S%Cfi16SoRCmYc%-9fDRzEYGzqd_SfgI6PbXvO>+Hiqfqecs;T%_FU{c zIb|*YM)sFW4PT78>z`+%DRFaC==?sJGb*k8iW)`QGp@Lw~SZZP{dIfC;Lnx~MUKht474)3tHL6VOCm zf{qEo*=%h)HEzKL@bH3)5>CYjgTOzMnZUL|bxTQNz5T->K4w=P{~Il;Z8~E&8~R9} zQ3|P`&@-VO;*W>mebms^wdudC*aSACZsz%9*``c)t45i|d>q4+ZbK>j#}MM>t^Cr; z>r6$86<z@pBBuBN&mvHW7MW%+8V5h*$Z6 zN2eur<+p!%Ct`T!`EaoH(|e-77&7VQpvD+!SaIIfUHlIkk~^B2ypW0qjt*yHiEI3# z;1}fzf$`+&jrsCc)|yuZwfF9CM_g_4}u^%&L>I>6IF%SG3KMl}eMapw^i zHc($B?Fqz2h%J0D!j6$hi-?#{#86#I5(p{~?+XIE9g($}vPl|Q??KR=YOM~vAkqXs zw&Qyt-z55yq+<39e*sh()pXPc5hzB`x}nM%`2ijuA@m~%dubDUy;)q34J+StP?64Y<2LCx<~ttaVX`=`VYK&*3)tH!Mg8wC-##(rLV zYQVFP zy}Yk5PY$iDth{wQ8loUC%X>Fpw{8%MFDKn!*xAPd1~ z?2L0%0`MKt4w=1K7~38OcrzCt5a0ouu4T&13S~4sEOfHQ9Fqa_&2FZdRb0cj zSaV+h-b2lh`R{^)?PM4T%E4+9`4Pae0x5I2GvHbiqP{<&{u=cPvn*)lsC~!+Rm~%V zZj}}oAAG{@s=au;;tnCXi^}`?MILIFOnbk5?YQ)nptD-Ha5PA;uct3ncaGkAhr`Hx zo05c^o0}H#)zZ4&+MxL6=fs(r4A~dCr&Mwk+}vQ9d)-|#;0?G95x%}s$h$9^g8Riv z_Vw{8x}}*!3*eW?dS9%X#zFx%UivLx>ox&<&%zaf2fF!JQjeo(tX^o8E$pC-sT zAAAVl(vdF^R*X`|Kq3>+6;eRD3Bu&6&z_+xK1+|$l{+?j^i~1_h#VH}32>uacn1Ht z1b2-AOfdc7VhgDAEleM1+H+k2Xfb>x--MKQ*v0Z(!{_CYhd>OpRpKunN*{{{Km;(B zhmK&>;xdW8!xz5u9%)Dd=ue#1F?Wnl$)1vB^@aQ%R^05m1y;PIoD4bM;am1Weqfg4 z?!Jq2h9#DNyTbL7nbot>W%}@E-&g4;KanMN8SW2v?96&4moP;hGInozK$&c){RV~z zz3adnvR3R#?SY|rwPT~BVIZz4vGL{YiYp_O1CJV87pMw3UEZpNiCx~WqpQ6xe>#6i z-!kzMx72YnxhHi>vZcAvKi{OjexwF_{KJ24h8%xQUKrQ>Bv!HZ$w>E4oROklCRrv& zhTTsK8cidZ$DT9AMKqDmtEee9k!7Q^Z$36Z=kKrZ?0Q%6banN~)?($|%DZb%ay%z) z*Paki&(}SD*K@$}e~1XFF`g-=Nt%<8su{)CEb$SAO9>J>9^` z=^nYPw6y6=B0Y(64tp)ztOqC(;9|Ga;ly4uh3S~am*o_foFY*2q<$ZMnAp+LahER~ z@Up|NC{mfVyn^_g9D4BVVExYz|#sEHLo)S1*o?__XM-hjywNx4KfJl_>=U;Qkf?E_`t7!$uGYoI6l_Xk!g`a#9iSTMPdsu^i!d&*#n#?exsQC5&EdNLdHI-k-ztF^u`R-(EE1c z9Uo{dzzCJp#Zg*VzJ(3dWfQ_#!&PZqZ3wlTE+27z*L^TV{|3OB8itUQ&i*8Txiaf+8r`e(Nog*VRc}mp<_hKO3W|2w(Ilw)O+A-ku_5oyNd!Y)GdrRbaw|{ z*oF6pfSPiOqRkJn*hcy%!7Rjws`jT>NV%B7Nl;LA1>X+#e)l?2<0fBRIKC@&fBKVJ z{$CD$%b(M>izx0FPlM3spjh2NzjwvoR1e&l=?_y>V?^pMaop`}>VhuTGQYEM`osM9 zhq2&Ha6>)X@FX{wJ1JzPHaq(qZSp?9<45VFCJI`uyt8Rw{@rWCKncaCxU@T1KW@DB zi+bC$AlJlEI-4@-c)?V9=ho_8QWv9grM)n8u_z;Cgyf>T@+}sJ)5vIHv)MFClU#{y zkLon}<|RL-pT`$iZ5{s`Pl1g{-wg8Fb~3PSJM1j!Xl)nS}gKTn)O^>WBWl4vP-hTL#M55C8vc&Mh{x%_QXVcW9e#zY~jm!{@f-sRo*{!zL8 zk0iUQ#UIX2KCoS{X7zbfCoIGsby_ql*|$&MP;YyE@7=r`CH+KfXSPveV^g5YRRu80 zfxUp;7`ZgK6tJ&!P|()_@AO>Q z$lTxZQ?=4mb#2s30aEk8u?6lM_;BHWeVc<&0KI@)o%vtIL?)U1rSF=O7rWRU+3pUD z?KiFaKQw&_Jk)FZ{+EQxVWt$7ER!sykS$xJ5fupy$r{;->^mpQgpwAFwa7M>Ldc$M zVT>c$_r%zT?EC+o-rxUy`<&1FcBW~}_j&H+y081X0F(gr_&2X;%OlW%K0zVB6Q0}z z|89x>vJyvRC4ym%5AR#|d%m{)C7v+mELP>Y21wrE@K&(Wc4{L}b$(G{(OnTR1h}&_ zCTlE zccjIq)YHqEy1P@BH#$BZE`M^SBhL|J<#6mA7fgg&dd5HBJx^IN@63B89HcFE>iN@e z-@WUx-)yGGE7zb1&{ye+Wf}PJvSwvQOJQlCBlywJ1jt1eEU7gMuxBjKapCtH?g3Eh zFX_%Zfq6_QcXG&ye0mxuuN$3Ko_t|qp7Z&&`OERG(eAAzKK3zfODj;H1rP#!a7@7O z_b2$~zO`&3JxtQoDcSh7466zQm4O*tEYi|4tqz~1tDF~IjAhi+GMGZuLbn>1HteL6 z-Gz^;;&HNEtX(qcs>f%_l0+#`_=bk6SswSeU{bN((^(+WS3J|_ksm91EWF9aDEdqy z9U~2S%d?j$=_Hz5Ab3M%BoqeP7?qWZn7)C5fu0@|%<>D19b>ZdOp4~Kii`EwfpPwC zJxM2CiUJu8cABVtow_q_ zXTYE79mGk&>|_3+Gv*IB`iTjEL~!&#GKhsYjW!xu2N^7=cliPGvPMwQ8l3_(#T9JP zARYcVjj~*kfUt6j+r<}86EuLlgrtQ6>@^KN7#N&je^dCyf)ZZKe^7fTG5>*xEM8T? zI$un68gT{FC1W5SAnV5^m@a(-pp=xL(<~d#%*E;{L2bWkBPZp#sV7TG5mI5Mb#!E) z%CR78P=g~%jWlvKiPqjjEBGi9PZ9w{86SpG{|g;LX$U)YXJL$XP{O`nnvwwF6Z482 z^b-K_gaRH-u=;wH8R8f0-m>z2!e_;mi^1B+1Q{+81B#O&h1pC{^_;k+_I4;Yf+z`RzV~?*NZ%8@k8(GTYo$OV-J&Xyc#C<#p`|y4 zWs&qQhnQ<#mLKpbaJl*1$MX6VJnnchpw(q27pyZ3<7X_(MaCtg0P?`j2L10Xzp2c(}2$$8LANanZuHK1aU1F5mZC z@lw>6d(slL##5F;vq-0bN56-W(^r_U#2#Q1m*7gjfz?*&mjvgXr41u&o>BE;4TtIW zNT>sIR^)7sNoBFlT@+-aYth$}d6JsO)|Mq>G|y9g{f=y$GaWCV{o zOLF~wBiH)vS4ch4d#5YjG+^Ugd1$zu!pLn8gC^IbBEm#FMBRYp)(fpBW8K3A8A)Ca z7e$7B*K*rG`OKGE53LP!V1E2GwtFl5ik(`qGX(wU=5CXN*og>%*RShme=mRT5SflN zs`^w~X{2c-KGR}Lm5J6%`Ba|2fgj+zP1n4im#IPi|4l6loST5WAxay_Va#){l44BT?oqv0- z+p2JUZ!vpsIVNyCM$rDXb+W(5MFPuHOY(7Nbh;~zHBDQ0p8-Kz|7n@PL&M_VN=Eeq zH#l_KKw=Y6ReE&RS)e_wAa5*f72&G}H(QB9LRu05t<6kVnIa_c`no|hL=Isny(&S7 zZ=FRPHiHhMJ+*{^Rzy?mflYFfPICyoa{`|ry#yK(lRO%)tN~8bw7oB@vMxgs4$<-1g^GYg`K1A?FA->y`@e(g#S1=vZ&Se`g!>I zY@4msw6{;WSNj z(1q;j$%TcX!OHrA{#aI!A#?NhSHxd>M+~=o-T5p_+EgT)F`-T8NbL~#&2==!k^25Hr3y9IQ z=?`f^GpCU>|AL!VeW8)Z@*}MD=p#{3aBs7G)!_R(Z#v7xDwx1$ZVrj>76Tl;x}I^TYtqq=7tX{Q4V9dAD~TC zdv$&m`4XdZu@Lomjl`ljT_illg?``dehQX@=zb@FUHXmTgD~a!yTVV)!T*!dgQE^& zda(181J?C`HmJa`;|CClVK@q9oOlC~sKPvzK%{@k4QU0eR%rXNtxd4l`d6+7gnod| zMq|P=UZK~wG^nFjCL2h-_JzF7`}HSsBnoB0a+LNG&$h}Mvmg@?HXihc;b5-JL+WL( zmxEmbuRH3uYicg2_VyTA3!u4KLuEZzTnyMPajba$5YESlm~N*=9V?Ix?E3Y<&-&aq zAkMg!SvX70l+CX%FV_S!g@&%I*vBwgN*TxBZMGEAEHak*I9yp+YH&+nCfuO1I`Ce1 ztJ}r0-5!gRCuf*^%LN71UKh0kn$N{GD-%9G*8MS{O|Xgr+Ai)Topw0bcfVhB4;)PH z<$@;8T8-K5W3cly0kj*ixHP~bG(mef7=^?{PdU$CV8KrDuN~oSf9W&F^~^F3egb8+~&;RUb%L?8DxPq+iVFA;^VsA4Z8=&Z${?nwNAA! zIuvtZ9c~eoZ#;|GCdb& zZebB@U>*TVUr>zB^E$V~;V%UNIynD>5DS2hbR??qyx!8zPH^=`@^&r{Q0NU!hsy$; zsKEG(xxCS&HS{H5jO3-j{hSG8nS?MSw4I>e^YD&G(aQsaKJ&Zr$-7*CDG5p&rn`bO zu)WHz%EA|C0ALEZHG=9-a1B@*9jzRILD5a1hddKnWelbRjK8_SZLK&1ZY@ehC@e+f zra-fB@*~e__)q|;!2Ie73g!Yav1if0Bw&_1U`!zNJp0OGF1PR92^Q$|-&o?Fn*)3o zxbP=AaJ(>iYpymmc&eeyAgR@w=-ug-<*qAw&Zy$cqp7GvV@3BxE~OP~=9b5oo@5Ih zo106l@p5+a`Fu&SRrqzPnQfev|HaCHolQ46P2ssYYURqjJawqFUvhOc#-!rW*fj%o zCSPB$s0g8hi=N!7ReIw&d>N1C%~4q$TWS&j0Ne66{;+9<6Jy}M@q|DOxcFqxIXz4srJso(D? zweE(oMQ2Wx@3P$hs+@wy9G3Do_$EjQ(x?Kip7Y}-K#v0*LfEwWN$ag-t--|)<|kbM zlHICFAhA#e6hWgmu{^brLYr2`8qAmaMnn-HUA1cX@&oCbmSdpi!4+}SKsL`tSzsX0 zYNfv@8%cBUA4T}L$Ns&lso6<-CbW#d-boui)4&wy?T6g21L+#eZSeriO<}(a4>}Ie zE&)XMoA+zmNCX_B`1tbpBX{}LQS{>C!QjdR@F7jg6rP87B==(#&^ca%cm_}#5O?Tq zvx(3qS=&aCAuJ-0&(K5tU8+SYtgWD(%ZIe}M;4)tcz`43OeSw!jnmQTq}Al0%?S&y z2J>ib9L~}JB-EiQ^ll@83#NGl;=&dbPfsR6f}~}xF!86T^#tZd3=0!Xo=7<}_w?(p zG6r$gp+-5$b*N^j8%uqGaGFE3G>9v;n=g~(yc1lr0C@G<{H{DKy*m5VU9oBb*(bk> z%aE`>&RF(K+uNtw-IiV<=Gg}|rZ(9~vhX#ixNHVq4=%jhlDDKx+WXYi=bJo5#<|-+ z$XAd0^)3t8az_oL`*cMP<%@ids_>eWq?g=$kLE27{ycbvtB&ot2Zhh(-N^$lzd8r? z6r4``Cu1MmE2gGb8rQk7QL0f=LuG4vou}GleUmG@@9phTx}p!6QO?jW`@@J*S@|=} zDs83Xxp}mhg6$mLD;H98*ghm=ENu)84Yju~_7+-a-@fo%Fs=?Q8dtwK+TNKfZ%t+q zH4XTgU+q1%TC>~!GlXVs*q|F5n8jfHY{trwjuHLtb z1Q`@Nu+aq(_%O?{y|T299AP|YqhX`SU}jF?LK8Bx=z{=LE(ftW*ISlo?(#pAOEB|K zYUJU0Gn!a3T;)DDH`6_2J0a1?U?wb}-VW~pcLhc~n2TJj=zM^AnfZ_);jDWR=P44T*t|#w*eby9&d1z`u?B{sFCtlELiat( zw;y|})&=UTTUvnbJEA%sqbG>{d}$#2Y4E7m ztRE^UCr%Y@d_#CW#n{bE=sK}L#8|AupprAPajAH&%**+U=qo>GSgHT5wAmK8QChu5 z_nJR0-sgo4RNRb#jifu^fkxBeS?%gt;@MrG5q0ZRcDDC6o>W#=7Ko^&q6;m+bqtS2 zCy4R?IzpBO9nb*@iAfLy@45Ql%!fpoLZ6}SU!uEzBDcRs%IO>VFU^_myfxig65ZW6 zLiILxb?uPV*W&~CN8~p0jvE#|h;kI4^@jZbjQ1raV1Ws@ zADJf*i1eATs|zR%{&zxoUM;tTFEu>HnGE0riFm?dw(J6h1;J+$k&#N#mLI-si0nA~ zX;AuiWkvs0Sp_5sG;D}xQ#8(?|Lnsv5E*%`uCZXhN7T8|qq9e`xWq$s0dk3^LN{e$%pU^*g4SD`aNt{kh;G*Ylg${XbJ!$otV(M&7d4Sy zYe-G)ZQrfj(llnvuGx@?x6~F9J^wK`_X!GIE{Z)p9}f4HRf9j6b(`^kLgDd*WX;I_ zbld*b_4O}~@v*NSZ>DfYguXwE(gq)s;h2Q*AJC#nE?s0e>dt<9$}F&~&|fnCET570 zHc3}Yi6;1Yh=UAoe}3A^eug|Wv@^9R+3=;Rz-8)3{rI>g#@t+&1o2z@4T#n{_Ir4G z#^Ckz^<|``RhU!4@UL`f`GJzKb{R0WdK*c*{?&zrPkA#a6_6w?vyn&sQLRaetM?ls z{qyeTVrRFB|J2Fh*jqDpm+qO|6V9&r#3}0xx}(y`ovjMt&I_-{7yCBly!ASyi`|Xe zX8I7u;D23T5a?P9eskf@FvxJRR8sOB`&Dyc?s+XnhbF`m7!l}Wz}fiH6&tG`EwcL%47lvZ9fubyJh1xjDi(GeB_xo{vkD)G z>GWnu5dLRv60G78>5(^irE zZVT261OdLY%u<7he3(K(43=N{&UZyP-_Ya1L5F<@_$U9xJIWfu>EKN}J}L=s)Cy1)xj8;1rWUb_wSY7uzxhI(_fg=8U2lTW7r6$N-{oOCrT5rjlnB-U5` z4!bII68;%Dc4Nuf+U!_%i=PPt``+lN?BjRS;PawZxN<*Ba8>7*&3J=7inuhxj}4N9 z7YR8zInbxen0U`*n{M?Los`k*ijL`y7XC8&Lx{a9&pKSy7&q>G32zL7kg+-@aXBoZ zS1AK#cgNvUUuD2q3g8Ij^unnek(MT}-jFClB1rvq_?eVA%5$CxJqAXN7hRlx?G5Y3PejeTH+Wsd^CTas)j{wzHxQl!19ShF;E<(lGRE}b0y z9WW44O(fs3KR3Q4kP6$OyK72Iz+|=qykYze|Gpk)$pnoCOM|`x3|1@woECXAWsV)s z%JMP_d)?&vOMN}TFGeo0#POu7N*$5dP|JtTc%upmE(Ib75{ZY!5hzn0i86S8^Q9)h zS(B1LzSF+fI?^Y>bgOhliG2vx4GN)E04k{or?CwD-;TiK-s~y9u1;MYEKmeq;iO!36uLGWPU()D8SbJx-(_XpK?wb7Cyqc6M z($LgA$?UlHkCG(+Z0xQkM(;#JVKB5$m*cxGr<*%^_EMlTK)mbR!p!IceU;E776C*9DB3j zp!8vB!2ZNFiBO(*M4Sfyo4e4OFn)}zHC$=rD>q`ph6bEt`k{29)|nZlos7M4rppU_ zO$%?q?+TnUK+*Nf;&O+UmcS9*`5PaJL-H6nJ8(>Xa%1|gLiDj(-Adk4*#3&DV%wW8 z**y*c2mc*-e7gg+ePo`i zHM8`d^5^l|&dNxJKY0l7QG+%L==^~!l7{#{L_2qPM{n=6vo|RTf-!{+7fxj2-5kTQ zLtCmHpB?2-JinEES&=(3m&3yI8!0S>lZ6q7JE}Tb3G0)9tcTa9Og>ZZa1WZOqD#5`B1{2DiTh3iIexhjq7%G=6eq#LUw=^rd-3R=Dsrs{j~?2Tay;v?a)PxEt%r zyeh=Q1`BXMk0U6EX0C9CAk!e3j9vQ>A7&pIkB5naxHj<}WE%`UjT0F0HBGFdDa7$NI%GsyJt!!M(M<5?PZm0$g@MHsZQ^9eh8RWq9ApG-W<`WI1(+L>C?jvPA%C0pnPYIxu)yB4!iuz9TrrOTA}Hlrs`h9wTa7p+0p_zD z@;FN?tO`~c*^+;O)Lxo1RkH6atIguK$mVVZ# zv|!_q(w=LZ|K!!|?CiDqVWrELtpw0lJ{$>h#z6OEZpCwu!X*LX_1Ce;S6NCW$W*=} zz(`74Rf@uC0Tw3TNL3;gYqMbF<=7u>DQjTDs)`ri1%2)1jkdjZt?fENsOuvm8^?+b z>o}=Av#0OjaAS*JVwtf`q-()v8cop51bm@7NBNXn6N7G z`C`pIf@^~CE;kfXmM?qlLAzia2*NUkZT^S&1c} z&@TxPzTtr{qcC=C%5-PIoMmNb$fUoRz%KXNqE*m^MwWdCsS%P3iG1eHmr4j2g>tfC5^Gz8C{9U|FVBp@# z;q7Bcz@OL2cTHg)+o@l*9TTVt_rc18d_+4y86Ab^^0jIt_2_nje4#QMT9p9}f_cEn zQhhMg`XWP3RVZ+-dpEw3+qWXCT-0wjGGI(*x0C>a)4F6?wD1ilE3&u*9RejSnl1=h zra3;`lOf9P$f1ROSJy9Z&kXNsLRkU7X6O*b4?y+9snW6)P>AugWd|5PV}6)KX#2pW zg{ulnB~&QQX>;^SL4F1p2cRH?fJFcfA`JZU3qoD*M1lwju3*Zms?GcO-^2Hrlb9_c z8vH!hhWfkns6&;3TdRpOL+kT9!GyEyXU=HvXZ|;wF58Zmm5kQr;6TbA*?~=TA>Vq+ zGR&dU+`OE*EOLkkPst3X5L)BQdhZ(h?n$(nlzG`&dY6jal<4p6EiH2QwYT0H8TpEQ z-)J|3IhAfdHy4+ehrPYMEM>}}Z1UKJ^`;*`oF(0A8dXbdW_sMgQshFTy1MY0*1n(l zNogZQ*jDsjomx{|98yzzUE?PWGiD-j!@4OL($UZ zJ}CLz_2DJ1!`~dF_XUlQk2gIqw}L3Q4?Hy{LB&B*Gnf|i00HqGb~k>FLCaBl(7ssu z{jp@L;q?hnhHcxMU7hnsOa5&CDTu-J#|`1+MdxBezwdB?K9#HKi?*1i2I> zV}p10H5tGTtRl=u$F8m_B6txD#NfO}67(B?3uM5>2}DfF+7MWhz7U6HWMmz+9MO(^ zVnV>1JQcb=028}(_wNIxAm~pf65`XvrKI-nGyg*_w2)*#_UTHYwf_!)#Kf@X0s@Q- zb94x>f8c_+A@ztyWjI8}I+ zA4^L``>-0qbU`c2RQ2ZE(^Oin;5Wz0-DkwuSwW5>T49LkZ203Sz7_r22j3rt9K4B1GkV1cJm47~+RNg3`!*F=Zt&^AHv>WZ^;LADo*(?5U}#8Qvam0m-AyoVi=c2G!0}4xDeej4ETW~037jG!EZX-7DY^~|sc)w6P$_tcwe5{T`yv^ZgeSLwOH!m|ty=1xr>9sPk93;Y4 zaxR1~L{Z?djBoc%+mSc=`ny+QVRe>Ty*P3Hi2v^CHigw53lJ#pn{ld0Js7D_uxPsT zdhZvIfVo*1*Qm5aC0+RDFnog&r_H;sVoljEgI)?Zh905S7}{9K%d;UTPN%;)rid11 z>@*WYb#hw3O5Uf>1qxixk&&gqh0wsAZqvP4Yo(n5*S3G22Itw&lz~A1^J2$mHY;^~ zVQUu}7;X$P@o+EjU7|EC`kBbAq;TD#h#HBsOy^RocKYnWvp&E=E?yspi%uhsi`4H+ zgT!B`GzzVi#J<~9f94urEo|2zP}*9>VsUiJ8t*fRm{-2o5GuW*fB+V7yjjRpBgP91 z$5X@u?8)nOg52N%o98%O=Cc9@Rs+NRwH3}uS8^N;n`FiIQ%^m5 zkvO3dl>W-~B2G$)>p4SCYnE=7Zj8oSMx$ECRJ((ZLSmO@|7SKg#|(N)G(8hTmDl{M z4{n~mB}uKfr92mZly)X>{M1U6ElT=uRa)TKzX|z5*JkW9BGX&@sYZKC)$8Fh!vPtZ zP5J>9k|NC*^|3Gv`*_OCJoQxTbO;OC8_V^NngAmsvt%YC%XiXJ`T@(%&*8B@96THh zl6)qbv_KNiNTFn7l+EAF_TnFnLZ5USIQLcv6>9)xx^GfK+7lR1twPjVue7>X|xCF@jo23}aq_)1|@; zt6VgD3ryLOI>EmKYoIE_{iF4M42l@@RpP-Qa@1N99tB4rBHBl*`*sLr*nNrRt}SHuP;yH`|5f8@dG-oL~)g z?3dQmEzuM@=psV2#2pT@W9$I!AY+GqDBe6&Go`z)smz-R1FY1W$`nioY;NDXZO;}N-pOhGR;L4O5X5btJNeHTwqoQs;Nfw0*vXdq z?MB^Z0U@gWaf-qecdeV-wd6;-CZACS(*N@*+uNQ60F}v>vvTGxZ+`~rVd_= znZ)U#`9VxbIEN?@GhSQE$Z&+$=N^%9I(3R0UV?>=O#gm#zR9cU3c|fYPzaV3l6f%Q zgC3=c!=AC!1qebJJAI|i2ePZ%;{(rP4PY}04~Kgd1*a7aRUYKDcN{8TlU4w}#MbRz z1-JuZXK5pe<{X8mNvpz&Ag#;!N`fDwm^+A%#>9uFF^%F26v_EAR-|Ihu@KzKfH?{^ z9RAB)5qLQ&iu=a^K^R&hxXclFxcBfjL%whW`S}F|4)USi-?;YmND2YWP59*-Q`>Fs z>N$o1W^!FvT%HQT+~->UEG$ey*xUZaQLTfk*V_Fph+Z78uH2l6cj6{Zr?8x}e{Ftu zv$@2$u&m4ow_l!%l}SJj$Vy9c^#hWc{l&m*mpoC&S)O<1TKBn@Um--&3l7KBbN1QU z_Su#=v^@53l+RF5-{|h{Q03NAYOj~V?jp}t{)$AlWBFuU{j%3VtF5(F7*O<^d8`f) zTy8s3XJ-cnwR$hFWL57S+8dF$`T7hlu{GVXpI{4eT&N~rHP94*MToCYMy~RLqB~rJ zRt=zzg48Q~{TOrNi@VseyzCh{iUMb3baeDjku*1FXR!TrR=9W1L?C5&!*s6%{G*ch zHj)GXGzqp4)rC*-@Ko<~b%IMaa^`aPN#J(m-gRx3hl2x~)WD?@ zP?*?T6HM~@wY{+fpvh5rh&&bo@O+>q02ITYW0LRJ-lA_HvyxZ{wRUgau=+{}J|u)$ z@HS58MjhNnD?3IjyYS+M&~*?Nr!_{g`KNrCD1s+%A*q@r3I<>q`9*SNYl^-qz3=qt= zhD5^Yf_QilD{-ZF1tNaVj2<42r#*~0`cVTmmqZS+y~E!=_Fm+sN8Rk5503q}Tsn$h zT3+IsxG+E5zc0A+?c0?VDXSs*N1v!+K(8icnTVjwY!$Ma3l{i3X$jx_7#>x5q_EgN zG&Rav=k4gbi=WaTnnUvHaG%Oo17*}wN?W3$DLd}?S%$-eR;xxwj!HIWvH0#(*j^dC zgVWRO`28k!=Kz|ZIpfnM;-iYz(~H)Cb!d%z`|`YO;`Glf-QXH!9H_a!BbIVlXaLtG zoA_slgSM_fkZt&)luZ9M#c|rFYh3#JeAz=^Ps+mNq?fdz$-M*PW}cM!oIEu>BRS8- z{6=p3zWNdq|BdqQymOO(`W_UNUF3>18vXY_l+KMfSA7}q_8|GK&Q5^CVT$dsa4Shp zl=-}D!x6|SYHE$Iz-t{vf8@xY6x+D6=p0pTAJ1+^Y+myHQf6~ zi1FwqMcnw2Ix}@hh@cR<{1Vg@KyLz?rgvu0YCsNy>}3zonl?_g?hcCk9rr5D5aBzi z3~b;D$9ZWAK#Yjg87x0E@hX6n31^)Zm(`Cwp2Uk)mVN&#QSBS`-z35~7wiLCJ^d~S zW2!qx5!7{@D#M+2m|r2ZT%_#_r&XO94+*6YVpKDzW*|X|@FQ=r9aX)eICCHH0}Y-6 zZnQTQo?Z`d4ME8Vm=z*4=W!Z81N0fGt4Et;tnyznCJWD{p=DtBRc&pjm09;9eB)c!jg6a?P-Uht*APCS9 z5FrYe%6}#RBTSc7xl*MM2TWK8&cklkM#9S5nChLGz1ifwCRo;j4ZrsgjL_|7Vq##0 zeH*UkJPislhBu)bSyNi`UjLWRk7u`YZ((KtT3=lp{G!DPutPyGnU-+gpxh;Zc9^0> zZKw*!|69S!U^)nfY}zzQqzDG&ZP-}I|jOH2c&-tO$|zxahdVeJ~DhSiB1N+%+_o{q8W_7|BQt`I%c zreSFip%z>qguD|1V~CKS6K)EL^{R&K^^3bT{Z7WoZD!t0S^{arE_eQn4CywQDhu`O z0z0YZ-_s=u2KP)2EI({itX}3d=P2jDp%H`+aqQrmCg`3VTU=jX_qyzaTHG$BtxexE zH6HGlPiUQ%$dGAEQao9H`fc4TtYMdz8E6Q+mar!0yHG^+oS{K7>SZy#sOt zn}HDvjIf}qWK{HJeo6P8^x0YwcqBt4*phk19Hl(U0DvW0Zmd$id{(E3-os%dHH4H86)?$30`FeSltH9u*Xg z%!rJX#~xpXX9~mpMiPu8Xov!kouCRksEC1dL{rVh<1Hfzpwj|r3O*0?25R8o!N&KP zNYf9tYEVSfg|*w@H)SbqDRVFJ&+xsF%st7#nxIMV0Vr-g(e%ko0L#FDgd`E+)A+Mt zPH+O~hrgsomZj(ahN`fT)-7Pd@~4G_sG_kyzcv?O`J?<+rVRtP8v_M?C@$7naEKZk znV6V}^nLW(Xb}yZxp!C>5xC9ZeEa!eZ()4x{mw(i-SZAqc={5{NtJ7=Krs@HY`jWy zQj?QUx)s^#U}>2plAWIA8dAWC3$AJIgEA-t>)79FwUpa$*chr7caiSckW-SZ@6@*^ zi$A{K(cy?>UH$04Ha9r9!?W9Sh`iPBS?sT!llO5QMK-Ni7&s)FbM$>u8%Owl%u{H% zA-&SD&^pr3BOS4?U~QrTayJyl(}0TN0gFj*R+pu`(dl+4$|XeT>*+NJ0;1{KAxYm= zJO>T~)Lk-FVX@9PU^8QPY}BUb!aa$>GXI(R!SdAhPa=n|3y=R!{K(k(>1-iBOk5mA z?AP^8#P%nIe4?Ul6H&I9PVn!iDV16MG7by2;|F z-^aojl@GHLTM7|&9|AlXM5yNgzz5h5CLk4>#sowi!JlyMS7MLTp3njxysBNDfscV= z6d|7WyHc$V3~`g&T*6*-HfyR zQX=XO+k#>LWj8k@7Jo^BugBhBLegxv$czUyX02G{2)DPc9C-}JGPim?Q99IV5F4K_1D z8|`3Jx>mW@3_82kk|M%~i3fIIz}g^|una}!r!}U) z^}rfH{r1}SmPL2vCt+5YMO;CY0ecs}22~<;(CjW4am3M*5GXXS!fl4qBf<5*TF+-N zJx72D)(en(#0Q$D1|I{K9Su=4 zLV^3V?x0jC6O-%&G4ob#?%Ve^9D`!>LhC+P7A|$2>?e=<4i#?H`6ltJ zNZd6rIR0F~x-H2ue!b|UzrQtQzOYSUYkP@@5b+Wy(J*tI!Cd?&G&L=4TsMP^`mwuP z1AIV!mAXOsa==bk(rxv+^_br!b({Ij&rWQ(TF1l)o=qW=9~rQ}ZhCO(1RYIEHwToj zE*v{F{})Y5bPcXCJJFxe0V`;&{oN(SP5}MO2$pqm+_$y$cJvQ6ZuiI+YCa<(nppnD z`=P5`yh(Y$&h99;*oph`<{jq?ve;_&x4n?csFYPm|J1vylP|kY%Z+ROAcx0~0U=<(hqj+~;QEdX|EgKK-; zd_Z&~#>DTD?Uy$?L?Tg_{oJ{8qbi2D)|U8(DcX1tM3O@iq~QLrdb=pL)o%^XM82U>G3p&f5x$0mX~f{%4*oL3kmn z-N9kZ%~e?W>NwHuoV6rkpQNTXJIrQOu%MsWRdpZWcww;pxdBC8-?wN;nMCD7h5!Qk zuow~#HvZ*yKy8MtJOB4}V7&0W1#&Z?7l>_`lt#EY?~kT7M#Eo6qdNg@*7+t*H6#jA zz6X#OUg$jVJ8;_j5!_e)WLRQGp)DeSC%eK4*9)lH3!F3>2CPcnTbCuCZKSnEY}zkL5h-I{cn^Vp{`rW`*)dlckwrOAzc5k#1Mvc&)+M!8t?x^ z@J)I6t-W0v*Qq&|F_tgTF7(pb!eZ`QuWP)ZjPD?MerzsuZC+ftdU)?wxG2lh+9|(> zg%LTplp`l+PR3{CtfzzgIw^rtN()!~U~>7AAOAHMWj=Ni-Ly2o8H{h>#N0TKm`%{^ zM8z3U{wkm*e_gm&VMa-ulhcB>pyjdptiZ@O@B2vVfcMUp(}4e% z=K{kDg~bKM2i33FZHXm|ez)TN^!f8|`@MEw8IG}yiDyMuN@Pwx-x~atQMJ;y)SdLa z>f!VcvGB|w`gU?n&GWUPa@V~Y2kp1+iQ|bWlc%`2FC06w59fY+U&y43uG?T%N4%k- zAz#Sc9FW=sQbK0^?>xDcp=Jj>xy6Vk_oaE@c4}o@KM`(sy!h5f|Iv*WN?S7h^ZOGP z>IdUERNJTMq9UK=o|)lxbQ1lTvlALPqtrK`umagC)Tv@I-AN~-gATFJg;oGBlooRS z@>3wy{=Ew@ivo&r7#?mf=mLOefG5vj!1NE@K#J2|qkf)|F)4d^cW!tG5aEy1fvP1~ zl!p%Iu026G{iP)cxU~+sQB;a zXa19eN;*%W*7Qw%r^ZF+c(`_Isy9}d zc>J166UogC*OhxeJ!+U3;91^!b6O>$UFIJ?R>sQC@$p;QcUH_V${oI*o!!!M^Cte2 zujE1D@dj}T{_B@N#9DP^;U5@8>l_r0BLSK~76OeS>7nlXJv=!qF}KlCh?(RG>iqma z(J`CBHDisDQg+c4{p3==sUID$o0iFQ<>G19c}8;{scSFnVZ;ke8MQ zZ_QsxCPhHy>bh2wIOPDl1$R1+=1;AKc8%j5a?(^Q-~(?Q;z$Qy6#0@>wl)77j}Jxw zt}c0UEp*4^V+Qi_)fH?|fe5G`I51TPBvCXwKE&ooiHEe?@CyUJxXiQzHE*So+zEYL zCw!mU_r^dk7cTIhi3xBN>yIpM9DAgbNrW{cG~t#2Pk?hqcZ-SlMmU@<0~3>^HY+}m zj)vNMQRFF*5=#0t!3rv;sDaZ;x&akcj3Cbt8nj0%qu@M1wS=KRf7Hwhmutw!0LVAy zVgm}4*t5e-ATH2|?LhuvX#9Ow5%8}3T#pcUBKaNS9geQRmP!z2VJ;+l|MCT?B=6S$~qJ!U7 z-eXrj{Nxz-*sx3otjmJF&bEwE>18?x?SXuBX#`)IOM2ATXw~P$2Itf zS_JM1rGdOhKy~2mcIn%F`m}zvpZOfaMVx!bah4v-JR!ZVt~WLn zg{SVFRngEw%y4fp^ao)W(NaLVXQ)rp0gMobQ<9!Wq?H}~5N1Xy>p&5OwrxSL+fHAX zZdR_Pr*yhTb z()z-}$R{}Vx53%6fFu`+{X0`R4{d@R%sH8n3vCOrM3r#-=QB{cVE0Vdt$~R|qro93 z*`LAb{{A;1BfRI4yMOt_ShwA8rODe($zJn)92YGf1}u;IQme|Byvi?R2UPdZxLGh4 zPVqlgXE+-tE;W=Yl^EdU`tJ+MeRhXRCMfPw$RkxLHV@=_Y7$* zTzEl}KJWof{AwRclGq-H>T2*~!kscM=U4SfNDJybT( z4QwG=y<2p^c3V-oFrLnlTmwbfX= zt)Iwv;RGzx%WGPxFlorC5!On53#d zJliYP>0#ANzSW*%4Us5~kKLy+_Kr7%fg*$`pTEoq{sdJ22(;l39UR01h#Fp0%F>2f ziPCykN!3cpUe~aJVL#_{fxVr;HLcyoz&}d*IRCl6qRvj7{qx7rrez((h!xsG6?O$j zN2_?DCj7}|PsxEN?Sy5WRB3RE{avL%T*7P1~EsClN- z6vrV#EpXC8&}rpY%M7$Y1M&&lw43;T5dsI?Z|Llykfd=Fk74dHHGrOoN=IFJ%{&xcR3b#Tr^$h^!roybIKjL zqMdnTA>{07S&C2Pt&)zZ2L^aeT^yfJ?PQK+y2030JRzUl_n+5+{O_(uRqJkLyavvT z)#V0-wx;}-ax>;*)~~1D$tV=%_s%SbRbAd(#CQ8 zmlYJYLHtSyG;~%vGTK1%(r+;GHFOD~+5{nYX}A4_3j;*B%a+2bTPCZ=d?D`pDVsu9W7) z!5J5ffW?;^l(r;!-+3dA#hTUHMqhbL+?ngDC7Bh&iajghcdeIFCXYV35XYF1;7lPKSq`h;rACvpzj3cq>8C_o27e zrv|y*$$6Sv7iU|~KztV%jaR;jHNS}?^n4nRrUiC>IJyt4;H4HC(Uw?t9exb%A6S1< zWq1Ls#Yu5%P5@JBP1Ro_KPH8iwh%NeZNM;-5A!*;m-8x?c;a5rWP#CNGy`!yPs1km z|6le{{+q|Z$colwp=p2J13aBFt$Kt$Et9xF;iJQF)gD7e#Mk#SiC@JX=xAw)F6bWo zeLon82hYQ$vbzFrqI~85(ex$YQ19RW!&Rxc3_?_xge0;{vNg7BDPt|l&d3t7FGU$! zh3pMovW+c-?8#DDvyG4~*|Uy)EdMio|G)d(=RVK9SB9DQ=Y7t3o!5f-kk8t5m!(qF z0Ar!0i{k}i{5~CfBhf^;hhGtX0Smgi)f36qSO10s8^;@CG4K^=6m<|KS3Q%$v+spb zRuSF!>rE*UJp1lzqM@3?o0Txk{?u6x!TsM&nj`yK&=uyl387jTSy+&KvEP7PcnHj{ zPWR~ngGGv4DX{i(=b_26Eggh^t*NP51K07x)dlCXQPW@L?k-v3Q8|h2tSYWBa0|5& z2$4MMH*rP~3VIPOf-;__@RV$fr{CPshRHAgCSNCsjzvYFMW5W_Yu?`h^`wJU^qpC@ z5eMCk5v>=h-ezyE`%nK#5~r!EFDI$)9Kj$7t$Vo#U0LFvJ_zP4bFVqB?Eb|xEHnU+BvRU4lS_`oX z^YgE8pi(f77w*EhwU&g(tmTvTm+N=b0{3htEh{X2YdeR&mGbL418F;R2Ive!Y<2HH zRGr}Q-<}8sVs6Sn(V>fc8pF|lqP$KD{T~;=@(n>1Ddt$9eG#b_Zw>gybrkepCfFon zQ{gVk%2)j*5?TKD+-hAEjUn7TY4QW^a7A?QFMhh5@GUd+8#nJ%aW^RGYjSE$pi%1u zeUCbmZkqf~N80wZrbyjaB3uJo2jpdEXN5>n#2X3}&ipT{{ z>r#8}jL+TRO;&&Zb)$fecQzV(}&^{!;%h}`m~ z4`mzh3?OZ2<^Wi+qyyqSC}bHeo8p0R1?{bV|A+aiR4u;cz_lgtffs=ax=E@X1^=OA zhvQs(GxZy$^|e)1K8uxD=oOJvN04DxGAZ4y>EGMH{t}FG%4qCmd_dZ_qb5`};Ucq^cb` zdcP^((m-cR_?~Rw!RO}mVbJ;gxGp0`loGvYH?_d$olxB}U~T-|H4H~+MR)$tiJtL3 zdeIn*zcAKE+CgI=yiAPmLYX>YzHLa%*~#(oHGEYe%tUW#6o0?b5@aLta(alLb7^XD1xXjIECm0$ekTpG*!Mr&@Zk8dx?VOyKy9CDo=F^=St3_YIw0@Is!kkKemG(BX@H7dtRBf zHI@fMp!xSTJ^RzrX7@POxqjBymzS?Kvzh%cGQDv7R)<)EpVwz2%hG&-6P5rk*@K+H z;|e=0P&}*efmFZgbutTE#7_72Y(pa%ezN4t)85%vS|VpkvsMwj;To?8>9mSVN=j;~ zsA)@g9P5l|!lImIN1Q&x&)qRiV!UC-q8Xf;1$!W=PLmssk(g)Sy)3o-K8IF0F+Q+# zV`kjluOm2t(b4iU16dPR;k8a(jPTN!d+n^HgN_m$^`xcHi~S=`(p{uQHL~D(!aaH zu#7zlu$J=oDroq*{{An7$DNBg@WZwNJBIR;DmL|@P}qV8p{+s6Avg{TOnd};MzK}o z1=J}3V);<2uX(+rgP%TSat+r|QhJh9;DKYmLvuvm8Q(_wX{@&Aoca21`pbRb!h8%5zjHa zPWBk&cteOyAxt`3V_xKj417r;=|!2b!R}Fd&*~9i!2Wym29079dn%6j2&_2svg{do z+U}*!)S59UF2t*|L^H}!*?NcKSTWaAIv|nNN)F$JMV#IA(cFL1^n1bQJ6Gye@A>uV z=~kB?-yW7GGLVBiHp=iLc+(1}t%QUw^D6g8SnN)dkEcC&Apd+zXi8LG;X%Vi_u2wl z|L+p=A@B~`Ar;~Cr>ux65_=F4T1C2cLb~2ftvVR;;2rhom1sC`kve0X`UMP>wcd7C zqS~rdSb?%~&GL<#Hs-|_%f?9VjEwG#PzE)%(At3I_9SsEzd-@G&%*XnQAqZlrI2aw z!oNF)PUwHYREkB^UsDnRU2O5ob| zswGlG<7;BRfPTMk7dX)2)WO51cI)B=&`kl-{azC00=U0@C<~&bzx(4p-l3Zp;e1gc zOrZ#tKYQ1%jz$T_K(kdM)JBqPkxA)@6vgY<%BQ{L&q(|n#*8)Jhv|4Nu82jYcz^tW z^4^VA)+TnLc|DUv&(tu~&CL+Me5@sJH%#JdGa6-^4_xd$-1ZL|k7caBn{|hbhb=IY zD0EJ(4qQHPlpT>NPBoQ28)aN<_B!I5mwZyuWrn)7Op)4^y)v^R(`W1VDYoQ+>)jnG zz8T>{{~E~ZeEk$9tT)Wv(YCCY_I@fwcN0fDcU+HzO z&lbfwDXJ__)L%uq#WA$+E$@>9Vd)pR(a7L@unQpq2M2oDvmVv=P$k4HP{MylpToUNY;H^C6M9X^0c&pw*_#)y`>cQE7+%;o_cL&Ne>w1QGG!~78}W&@b8UCp zWg)jLb1F_qB;2g)i_9gg)W7tmGs)v{h?PFOOWk{I%_VLbiR;5;YV6jI-v6#CpTj#t z_q5$+l5r2*NB09NdV_h@LPP&^0t{c|jl$TXJIwRv@{gC-EbzUKBod?coG}`#ZvZ zfaiYG(0uFo=N&hI9&_6u!Q_&zLTz0Yld|~fm-&*FVA#V&Z7P1|-%=scXoB@z?MpC5 zDiPxRH&jzo6NDE2y%HX@@)Gjf-M?oy@w!~see`$uvS@LC@=wHJnD4aSUBX?%{|n*r zr<5=$-<#M;Iy#Y}7r2y-FTcvU^E)OTXEe!v90>>0Lc<}^e-fi-BJ5^eHd_w9Yn`2= z-=aD|YG5s_$-}CmhVk@#4D1;j(hh&xsIkeswJ}km!%9xxe}27d|0l4U+cCh$Z}tlS zmKI0UeAUwQJ}f|^qM|?>iUOb=+##h>gjq8Q?$!5fUWigFGHGZakou?Ab$OVmL)cRR z+5`f_ZN2}^V3dD8G(p^tEGBYTh5&PtwAx~Sv4WW+-VF3`57EFZn<0z;D zf#XIbPp+W&9Zk3(O(4g<1aLwo9zIMnE5a@U{W67w!tDuC5VTGv@CJiaj0}@Rr zpz1GH_(sWDO6fu(k)p8ji-JUA(WCOmkQ3s9G3$vqyGvap(1D0%hT!^6L>Xf2cu-~I zhcBrG_e^0H1jGt9F%-nD`_4(q$O+U7oT$&TN>e$V@y;1L;5p<7mgk&`c_|9~XW=$6 zP)AUzGqjcnan47yZ+PL_L#YDu6J|qR)UBQ_1dkXB;Vyd?sg!P3bTSB)TgbWWpK1$H z+EHZ&DJnN}d*|p95*|+LE233G=$JV$6cE`W{DcLaDV8L3>^ng)gQ1-U6$1+Hf?^`- z6Pc@K%eVfpXls*C_j=i?xB{scl$gY!Z&pk&4Z{}37+b%dDPoLu{^>QdgollqLSnnE z1~bPUDQ)7#{4y+-f45etXuypqrOj-quMMsyS{JXl>9OFQkd_pz`w~X7#cM1QoRfCa z2QG)FuNFHc6AGtGd&u|cuT9dG@D;bWX}0a_RHU4;)p=+p=lj_I;UIEsdt$@+aKcju zKe*R3Q1@tcEiSW+xv^ieGvbjRiiYM^KW{n;rw$MT4P$hc{e0EtX!h$XfI#&s1H99_ z_!vNEs3uXO&|4(GD?N7Zb<|n{agIm04(Q0{7mOG5Y|9LsEk=3U5;WqBroqR zWh~A$pIk63lJ}izjRQ~Z#Rzl1-1?dlqt`$M30(FCmKkXpGFbIH);?d&hH_m1jSoa; z#cavLq7$$4MK*y~?<8`99ZYX2xMwCSE?gZB6)y^)dua6RPg|A=`X@6grmdvtefdQKPxwe|&#S7I0VYB(IUGI3VrL#+p3aQ%gOT4Di z$)`(|4V+)=WrHvRa6!!Q|Uf3Nt-^k^{b>n(p+9w&FYAB zz}8k^y`aCId#TVru-E$lD+iF`M2SK}@wa_`_xk;X%cz@R6k8Ub^ks7O;2;1`sNdQO zm}+J-N0l7TAMOr-Jg@%4{_HA1R^R~-K}$cl#m`d*!73a$;lSt(VT3Il?7V0Y?}-P~ z&ilf9)jwUONm#MbLOrd3k9Ho1X>nl^^4DE@2o*v^Me`zumtqPIf7?y zSUcplGXJmaA*g7anuQV))lX6JTsYcFx{H>@|7&_@N0sXJ`~18|QfZMb5FR;7P8T2! z41m7{{NNS!`->H$ReA&3^$N2LKE(0e>7H-Bd0+JooZg1%^`3;;eS82Y={A_ z`faT#3uIQ5odxO^B2Gt7=rVmegZ3SylFh^3*O+^!RO$lO)``Ty?-FT#YZ_P09SgzW z-kI)b@RyfdfxC0yfkVgs4fgL=tN$GzO(2Qwd@L^+67i`!{=9=YSDfARWP^g))!?rYPgE?ErN#{#OX29XR zxGux7;5n;4iL#>kW{bL z2C}40OZ-JK8w1cX0XFn84uDf9Dn%dVD=n1$9U}LXCFoUD(RMr*>)qs)5FB9q%#=+c z@}VZWW-I*FZ8+n~XfRiDs?elBo*)b8mIer8gX1?@R#PQPCfN9EGulH&;|m~x0FGk1;SCs)~# z1!Z6^Su&nSu$XS>xm^Jp6U>#C_ma;G1R*T9YLiEzxHY2YE2;hJE#r2!kRO+21)2P> zI7(cwY_yT>(64{#&pVZ z?N&pAx%XVk*ebq> zXnBAE0;GeAiaW1cF~U&Mv81#irl_0+UmsKgwpYY!m3n&PNBG{Jd!6*3=e>fYw(;qH3Gzp-xnpa4WP<&)uzTV_w7kNFINL!WIrBU`(j2?MpX{4$;@pb&ppSk{`y0tjl)H>j-D_(u*adfE;g(n= z5`er0fvRm*WtZm>^K!;H9DG;(!h)*DX*&ix8l=@#G%n0001F9T1 zK%s47GjBwXA~F3Hlmd)a0&p9t_i|ze=+)HRRR078s3H&w{}7bXklg_vTDu&5cZn-e zjOn6Pr^mH>fJ`yoiB+CU8L1sH^<47X?e5rdFE{eC37E^oa&mI2=;ap_T=#N0ET|X- zt6rF&e#-jtg}i!Kezl#=`mD0E{STVJt%=~dn!EaOf)HG3ioK&nG&$a_yTJI5Aa{^M zD}I4tx8GvIpFU|jt=mw0^&hIgHL9@uu+vDM4#!LCVCC~Z+Y1z9RR^FqFEc+8HV4Cx9 z6EKwcoe#d5Vqy{9CJDUA)lx%|{olF)5$t@SY6FGW$s3T~28@8Qx{Yshy(ygh#JuJ| zvn%%lJw3(n@5@xWjZI7-_T{hlKaiR(hK$#;May+v!|U`u628MY;}~D9B3|#iJlYt_ zz+XCNCs$ajCWdf~?6`&x&S*3%NCb<32 zuH*=W=XG7j78DTX!Fx+I#n!mIq~wu>HO4dsY}Y}wESAK}KpfJ^zQdvtZ~YgBOt3z! ztcXUg0v^dt{gzTVe%!o_e8P$X9?Ab;QVv*9LxHrnu6+U61heHj>_sUI6B-~s{Pn`u zdm#$={87aJ7p@^bb**aC%7YC%jp_FiB6y;lL&6Y@Y-X_p?(1K~F&!N4ao|l#2YFYB zcjFW6C}j%o5uPQe$gop%?F>`LU~seWe8Hsm|BK-f3HV;XD1$|20nl||Y?OiR3tK`kK^?#G-v>;PydW@mHkIc)gS+pmskwW%cWPI-^cty3ziwJ|^g zv^OE;2PaC*?G!V#g5U^!|6U_Y#n+6I8uer5TDH#h`ReE4HsG0#gPPEGhjx5&3{AOq5SUdr~c<`{2OrM9;$3z4%;*A_XI}dyj=v zBC`c824CH-nEl-et>JLm&tdP688L;|-6rBh>b|#;2qqBJXPf4`)LPnQJ>pdS;Wdsw zqQ_b|lMkjSc!%NbZU2*RZK=;2#)vAN3qN6xPT8w^){|RC4<1a17Zh|P zKt9X@kQ>|v3h_VWFbVw-EJ+#-<&yt73Zwx#=zJ0fO&0#Q=w0?Vj+du7lF7<-p5klc zz>{9iu7SP{M5qfW%5Iqz*3q0a2w9M&fk^-?qrX!0X`)9kN}mb&EwQfrB875pJ20BA zR?ei-H;jFBoeXt07h!WtFvfmNN!rh7T&`Pf!IQVTlhX(0it^9AP<7Oz&2{3i^n$$$ zef&JS<@@Z)`(%+f6F+~H#l`K|t&flH$MO@4?pD=!?DoyY^54O|0=O1h zv1z#4dE|{0d`qSih(2?y*byzdH~Wc}?nd|%IRPcaw^zu<@I4l_lKh5vN1DqXoHu{x zm_F*d?Pk-Fze)s8?X5^(BkX>luxB;(Zm#(*nU(abCCaqJfD)x$W&-X6X2LVLzJ(37 zM%UDY+R^dZ+1a6E1Bl!aN2iC5%~B`g(sZ*JmPewZ{1@YN@A^-)<`(qp0I(RNdOlkD z$(1frW5z_c-5=#EuAkc*C%-k@rtQxi{<3|%wRJF9w7(0gzclmxrc2qnX_6pPDr0qk zP8>c5quykk40t#|VFdNr1quhoW^)v>y&)XwlE}Rs-@xU1b5ql_t~KyoG2baOC(rDU zj>BCFGmiYWOgZ=-qdrUK+tY(f#I2LiKLP+tuCCv5p75obsNVTfza9a0E*c#snxHI$ z0FgQYFr0&q0~q8VRVhvRf2xxCR0x!4GNT_5e8Rr6tA+qC14RW*KLqWZ4|lYp&j_NS zqC!WetFzFodr8$o26^>zASGoDPkz~KsB&D-3XDlru=xxJWdmj-qw=K{71AkPsR8qI zad8I|-4pv{&*!nh!5QbROh$}E{C-^fA@U|g%Qj>6|cg~bb`0wUMLDfB2o4OP{dJ|LW%QZ@_9V1HvIqz(~hc=k`y@>65 zSDd7^7Qk=sDXSLR*es{uHop#Z^iox~K|k>k ze)WzcI8@5J!AD6EpR*M<=3xZrn=5afx(xuww7YzoLcsdl!PcQDKD)1Mq{&qooVoG6 zh+iQ%18fVsIap{)qQWPQ(2Vg^w{`!I3y?du9HvhD;&QXb2O&~$VD;5r*~is|glSSPkx|rB6FvU&2XoYiZijNtD1*9o z&vVzEBslh+oGXnCFjJCN9r?qHmlN95UY@(m*5;I5U0(j!XFv z2%LLRqrus|fzHVl?7KTvOMj^~8 zBV`JA6j(Nldf5N<`*79?K>I*Y_`X<#qU3U|+l$1oDCkjd&;p?Qm!C?Y{FxkeSd9XW z4N5vrR2A)~4TA&wd3kkhtPu=@lwT%@z{L6P<$Z0mew@QLjbEr>&MkTeik!P4LI5eo ziC*apWsEF_@tF`V$lgc*eLLtTb!cS}x1wQr3bm!h$mTW%UiVyd;$Xt(COxY#o)AIY zv0KfKvwr1rbiDCVjhd-ols#qc?uMUzO-$ZA}L#<-xMT0fTfQBoEK; zu$k5PO|RRZs@*&|hPSb`w44N@Gi=2w274F|zcSzlM}=#B*Jr!&)lgc-ilye)eH<-S zXvDmYq1OY4NR)bZ@7+0us#>XkEM5@^tPz=P4<$GX4BAvhQO}rBnQkB%gU$_XC{EUw zln@=HZ_qA2#(H=(v#09tHzo3FRQC@J{S42q4Llq*9rGg};6uHI@iu-=zLS}3<{$m$ zZs(0apqhh6mE!C2;ZnIY;rNcnzQu_ldO%GC=5~5fs5sKZgBDD6^)zyHoz&S_< z%;GPGpx0q?sq@+l_=M6SI(6Y5D&|_qB^CP73Lfa#$ ztDQY`$l$F@d3k+b8M}$-%tur#L149CrWcb>XCON=Y9Y#{n^0hIt&O91ZXE`S-CmLX zFBM}xUF7*B(u|q!2H6Z)Y=&n39^{|iZPT#!pj=9EMSfEdSVSCpTz&RSF|?hQaJ&&K zqu^X-5J&nKk<%iHddh+7VMe@F$^nbld06lxUL_Mys6G~IXd{uX^c1SuU!VkN$*MHb z(3(ha&_hw2l<}F~6CXRw)itYJLowEnVIKskYO7xDG_?kkc5-_y6?NYGn-5FM2N&OU zsP@=#VE;yaQ3t7JJou{Lie0!QAeN%lbWO8QtJfxG^l)YAZLj~*ugt|>TZ5y)J65}P zQiFrT)rTuj3{|p@UAtE8d(2q;8Wir_JEqop07SL(^#bF0yrI&C)N4N;uLdG{ct0h}1Cb#}7XkM|%*5BqR!AlQEm9J$X3H`0G+gB3{!J!8 zHR9o>jaRvvCc@hGjCA|s+Un>*1tjS0c9{0g-95`I%KB{R>znJVuuY}d+p{s zm(r57z5uYhfX#!Vj=|LKFPV?lxIL8NNRlyAD6{_MW&B(5uECO>jMlGr0}HmsHc?a} z$;Xb5vd3oSJ`fD|yP5`cDkg+@mPRCPdktvgoZYGJ%i>2X$zZ;ulri|@$4?_;Q&S;U z(iEzr=R>y)EO}igb>u~^Em~QB?!ff4imD%;_9 z_oUtsPTM9sHWMfIfaTkr;cQNgM=oAQ(^K>J%X*ipTCdGey&s%q@g8-QGQk^^#$_7s zj`}Xw?rf5oxCP$eGQJL>pE{b$_)qPyl~+_)V%ySXj67mU?x> zL0T5SIn??ouHT~4(Nh+?fOU-lXZJ1CJYJ+t86C^}z~)p(4DUlL`HyeqvAj>OoO`KI z<6Du_TJp$S?=tHV?iLN%yPc{T6J8R+5uX`(((_uQqBc4By~v)yXey&0=A(kE?5Y%&Crm zt^Jkzlq|>~Mt&p;fV~Z}KMgOs@uz(m?2?S)r!3^VNI&rcG>EX3Nf^swc#DY!7!N-P zvg$~ed0>+>!E6$Ico)Ff#M1zo;Cdu3q|0^T-9~*uhX-foi8W>eOe|}*fNTR3Cfe$6 zapc(!0=x?(=?pxK(Qt5yXf(Fr2nMEKD5+qhM$eN&Sqs6FA&R7s0F`Me=B}VZyn)`P z0YsMv=HO?^eF#MdsFg;+$%LEqNQhaWxU@j!gQ=jL$bJb0VrdA0qgZzmOt7#Y`=b^~ zDUG}+|EEb*++bmK5?%(0QOT9eK_ZD1a;qL@;u_@l;u23g5N=BPQ9CqLk6)Lkl7#x- zkN5;?{VOd1>^MN-><7IZ6vA6KnpzXuBmWZ7X_cswqn<~hl-)@VdPph8MGp-74=+^M|8y zWM@EB?Jj%D*`%O63fdtJri$Uq=#|kyTrBV0<7?SE_!1(;;w89Zbj<&~VSM;kyv{oK zUe+B9@q@|5u#@L68J={;r*7vEuf9LY2`Aj92PXu8;FW2PaHC(m4KtM%IbUJbhPLe0lW<>@6J2ONHDzFW<~2 zxW1-4dP$F^c7r$!NucK2MDvCE|Gn|FrOcKf!>{pSb_6D?&}X{Wns zk)bqVrk!K{hx-*{fn5>n28PhMWQ+*60tN1Vu@Sgn6Y{xl5)F=NuykZIzy7Xu=b!iW z)rOsHY@OFhJrRao*Eig&`#H|iEBx?wIqYt1?Ea2M4%>;PylDCIERP5m2a)*vSZI`L zqhWxI-0cQ|n_HWnH(c06Qk|tztmD-5UT5W=XrGBFaVNa5@O^*i6<8_sV2NK;Yr{eGlvN+MH0E01^w~2lIpf_$Wq0EfYVaMSV6$W0(To) z=&}-bDgtM={x?tdA5L))z&HL_CA@D6oY^sJ^54 zij%r7p%F9~oaJ^m*Z$9J`HhyP(aDUAU>E@(S6@%jEgJI+^bE9>O1or{H`ZZNz)irp z#xRPOUT;AEx{*_}n#dOh*NaPMhfVB``*T_it5PBD*mpt^1j6oq08KQAp2f}ELo@Vp zP8CukIMwXq1wS=R%r*o!-kP1e(-F~ScGuMOTHwL2XC$_CfzwehY)ifK`ja}?K=kCZ zh2L@>sk)xp$rn-SrcBeKm>nnY?=;NFb?yvHTYA5p?=k~J3%aJNBnEA4_S@AW<7<|E zj6@H1pip7-Ec27H**D>e@sh~}M8~TSE3RdiOX;S`Y6meajn#XQru~W|*%cpHmujQ{dRxj}iaBzNnNuo@ z&^r0eb;{q2rLh~Fb5ID!KOLc-{9j_nYl~HbLm25M0g9a~xYLQ5?0)~1)a~-2qIw~6 z?B`Fd7%K=xVU76F;`&;m#HMK2RA>#@ssY*3Nm^hk%J5vRKnHsIQ;6qkjjP)-=E6~; z#xXEQ%DfPHQ*ZRU865mx@RxFfT6vIbCz`9yWrA8TgjpW91q+8uYcBzkKtBDCeuDRZ=oGQ_x^2Ec>h5P6)(PTRo*oc6epbIedXt&M$_A9lc3H${fPFo^mE zoi?Ci0DXb1?BL&!W!Qhb;(*O1v~`I4+7Kq>Kv}+9!8h_+2K7A*lTQVhpwkOs{Gf`4 z@wJ#pAZ*EN#7Jn@c!C>0JZASnIuE|tY|7BUw;t!Bl*DMs}cbP9>_sC&nO*fxPhoEY}9cm&Q( z2a{xcosjbsbpknrE3igi;R@5oJXO{E=};Cc6crni1Zb!sES&)Orx*jl9@zxyOlR5f zBIG7AetuM`^$SWG;NN9 zKWn@v+X8p3vFQ~WOE zYxBj$v*zidZ zQ3!leIAn2SANVNsga_mFB@{YF;aESd=IxDZ$!4 z@w{cyaYl>-w|WRPATxIv;UjwSOF+9vCM-+<=e1n$;6~HYUYVq>nQIK^rrW%mq}qBU zUMN|Kom22yQN#>LNq>y?=3@B}EeT5j;5^U0f!^MpXeX7j_&9rb;V75mP-2G-WW>tW zf@=qM(M4u=aqIx!6?j0(a4jw$s(LilxWkr+1Q?Fgpx>tk+E&6 z$7G?li*yE&E^xa)UBHi4Jx3Rk)F>MY7;xjm~wp@!5U zU4NaUi&$=OZ9hP-k{}4ze?_lIxP>e}g!|-7&84I(`quGH*kJj*pY^`Z-_c zL<%+yQI=|r-2;X7zK0FLpE35O4<>17N$H6qYc_fP%Udr)&nurWVKc&fM^$cIBqV@fXJ(i`k?2Gv?eqor|s+?F^>vFC++?2apOX4$~BN7)p2KG>37# zU{@`PW^^PYLzwQ{Vzy z@9X8Y(%M!8>>(jdyhxG;#?dNrg0K!;*vP+-5k(-5!2mfK`~ZO0dbm~*z);7=SO)~= z`h)X@_EES*`kiV8>JS$9BiOVXgZkxFRGuh5SpZbriQ{HO}_ z{UCOgXhE5o?ASrLH%EQQBftnvt@n~IB2EBXV0GHdU@BFXQE}-p?YxMeJENov`ps3H%^p^xw&oQ)*oR_A&5E+U0ZslTK3Y$Z?coVUhkb(`ijA(dWZ>V$1Z<(&&<7 z`J1kjTnHp>x2j&UWLD`UBkzk?rFv%^2reHL<0d~2ch)4FoY6h}&fveR<7mhGcUqZ5%?(eds2W6bK;AYDp{+N@$z% zk~{vFOViY@f1`=iAS_|5@15%?oPjrzMzq~#BR zm=17WFCq|!7^xAnft_*xB9e@;aPSeYX1tB#UC)?e@oqr&hoHa~b{H2aSSH4SGE)kS zG9w27Q3aGu1r2{f67$Ri(0|zDgOiRgxIJ>C`urFb!E}ilk;`L|bJ`M!NUwM`&Zv!E zgEI}tR!Xv)aNm1MT9G{Ewn8Dn1j;1}=SL4N$B|%deH?IAB7!?SUFJoY0BoEMF*m-V zDL=ce*64*1+C-)Z8wR1N_)BCsfpqZB}j-tzW8h+t%nAZ@g2 zbQG%XIpY&tx&WWWaY1U_ZnF77xyXJdrxc0i+j(Wy6;(!;&%tN{BKrKqjS}`fshn#?9Z~pCUu) zogofLn-;{EMdNPLBf?;$I|>H|Y({{SsE>I@8Mr9`Li#Nh3S3GiGx^0d!Lh}Fo|Lbc z2o^;!H)M(c$5@#b@P`W&hvJV}1jqrRIdwc0&X%=VWM~FKAYZgV)y?C|*BEz+GXY-Y zP8S(1j&H5G9-J!H7||4`3asM?qiJi*l=r_)L{;cPI8#zk=}n#97)C1O>GfkXsg*zj z0+Z|wD28KX&|#!z4K|TsIs_`-g^yeZ3A3f{!skujxEm<4x|o zr|dVKlszyoP`l+FeF;i?klYhE!Ei9Z^w0Fhkz6VS5dx9{WcY=J0}4xhIKeRUz%N6Y zU!Wyu$aZzi&xIcA$1US{mFVj6U;wgx7B>dWeWv0hw7GtgSAw_3Dk0zem~>&_#=_Y4 z%4p7DMpQx6!Tqv92k+&))(fs@RH8`%fnM$|@6~d0c*3QAu)Vmb+izLh-HiFX*woJ^buK9?M=@4O4@Opz(cpteum$bc9dPK)N3bN zkvUN(UcPLZ|Lb#GGFM%z>mXv)!b$ox!-W4H5sHHuK$51<1@EoJGYDDV7`pA)nd- z{6N87LJOABusvba`(9n7*1iLmyHsM!lv*bWX{VK|s@ zkvVvxd#DIb0!Jz2g9|pOS3%Hy1M4C}JvpoJIWDWE{cy&4PwIcD>3YH;Kj^SwX#=P5 zJjGv|5(MM5tbYXYUKI^(3nQ`+I_eyU6{V-B^s*L{#&#Z>Bcjg>B=xM|F>i!@bQ8!j zWK*=V)YLL60PW!%+a|gj)a}h|=YRicS;qlXk2b=sXJA52 z7b=boqs1Gdq>kp7VNOHlF`7Dtd)QXjymC)ST+VkjslT6!*=yNgn4bQ>M=uh8N$8{) zmyRfljgp()p#wbqFKG0oG9|P$2 zJNv4#y5hRJ0HAx1`_uBk(yqPXpaGl_(<-uYJiwXd&FkFh#hR{;*ElWCzMAB}J^{WpU$O1WGX|w9>t=DaH?p1F@5-Ty9y@@!)3R>|v&xe%Dz%*gik~j-QGY`|J z%;xvV<3l^Po&HO13O|-URE-cpTyXF!Wo!+Qi+rave;_qaxVRs7XQT@~e3K{u1ISBH z&zYUOipd=>w0{ly89!&1HEjo7eKKFLQWs`weLIo;Hm9+LC0((oRQM!2qO}!3RXOu% z?^{vn0vb$kMBMfJ1490)8O<~8Z$`GP9A5@eWoM;BvPc$*S0mMXI*B5`? zJ$1KqFw!x`Fw-rdvOP)^a4V;Zyl@PrOxE~JcKcmS;iJ?+D|-^qzhl4s*^Nr6KO`S+ z8it8P#qClK-h+bg<<>xcUVfg44mex$RA z-F90u-_>TeC{Z8_pqjX-pkMoY@52EVfXA7RDj<~jKgT6ZKP5>4mgD-TV4)odtEzM# z=cosKP&TFh+|7I|zYRNQp|!`={u`OPersff%Hm?z_w{79v4b|}fCbaTRZesAuJjn; zrh2lTXC~g}H0r5xvLBj7wRCb~g*%Ln@Vd?6JJzXilYM1Jv+KI&#BEmFHe>nIXTjRk zx3pFz+LV(GBWWs}A){o)+`Lm_CuusOQ}i`LOyp^TO5F-miBQxej@GdWgVD+sN83r6 z5cvvE@F#Z|unZ6SIYeoruF1+iYWvAlxaq@|Dqk_QU@a9+pXd4I%NJ`si4ud-5eKOh zsqj;-bwa>bh)R(*_n(YaSdCSfQmNl=7717osqbjl_z9{p7Rn*OKEz;J5}`c>Pptl{ zhJOiO0L)N=?_ibj$x5u!cWcRfznF{68Ax(=dWe^mliAw<)0_IWOZ6OTs|!W-qjpk^ zakR)M>d^=!qY$(rkOz?ici3N#r4Sr(=y1|}kM(~=l3a8U1D6qOfBq(50C}*Cv4#Lo zJtL9`_t1R@XvTyQ+)!G&N7YR%W$BNcJjaWF8Qg4s$d{f|LGo;v;8S$!P#Fycq*?Die_Sj228_Ei$BD=p%oGXQmqQ!YP zcdw5|S{3C|z9WU(E*}GBIJ6ZXNSuj!Zi(i5Z><;KsfKjIoA@5IT3Zg9xRIs{_Jbcl zN>JNQKJ_z+QqF}uTA6d&7jV|XYw3c7JVSFk8_GyVC{d5Kv$XUm9XLkc=}T4S+V|&! zY^~E9-jEM(IuhF6Aa0yW7r0qUmjv>MQ?C=FMDVl#JWhUUWqf_;!c^bug;hhPN;F=_71hGPZ$d^a}3xhZ`;c~aK6+?kWcaiVGfUWN@ z6iJJ@5E4{INq`5EjU;%)fejl05Jd`c2Nc&0%uq1t zIiA9<8}@s6H>lGvR1i%FRR0lR#pnak7y8VQ$O?5#9Cg%?iUPJ#_K}of11Q}=xLqh_ z;!uAnTY=^4{gF{D;9QyoIq~p1PywNJJa2JEt^FOO27;9GZ)_2C>|my;jHaf84I@k; z@N-fu24sQF0eI{K&M?}(mE(Y@g3=9If8>K(-w$aJI2;yU5G<`~!Hb~yC~a$rduOg7 za_-ChsQO?W^6v^2%DH~O_2rQJuttUT#0^nSDZi(QPw1GHiRxjI56)9pSCe7?@J1`E ztppcib%p)UGMKqcSA=a3+KRNe-o^Aks;qguNE9nVMYO-Uuo^eh<-Zms-TCIK>2DC} zU>IqPgyV6HD&=O&Pd(4fGq_6(=5=#-JHiado-L{vQ8%pVurht6O zpU1Mq9!Ifz!nX4lq*|_qHWfV19#}BOwzcLFa5BsHC?2)NM5dOOAK->GL4g#kXyIksYJ7>Ji$FM({A~K^O|n|TNUT~6QqdJy%HD|FnT|ypp4*tdk&46I1Zl(Wsd{5 zmsracJ<&AKRo|E65WRio3sH<2B(ra6iMSOs;<#iE;9ZoFo>zmh8(h<07U;zZgb#HX z&`#WUUS1i0g}5wAC^spHJ9yh3F+M26KPU>^T0WQ%*-Q6yYuYYN^L^;%M$h<(N{>ZFLoZ%gU4p^A0P#;0vZvEq+UGY5RW|{0kK*=cJZ=;A>898BjQUCQ?UQ(mrw}`oS-qdO$!Ui{Fkn zb49)k_ZxN05}2?HjBWzI<{^jrtv}*yoe$Hnwu^psHE!faQ)wrE8UMbe$A$yMQ!Wxo z(_lhr_Jr52ba1J>`ngu#;94hF7hh>}yK2_J0mZtI z`$^ZIrRBf_hI$v$=Avpw!)ta+n4`H-?T!T-qnwuM0-uu!29p0bE_O*mZ2}+^g72V! zAI>}P4FDz*ST!;?TH`v&7BCUGw>NWWNB*;UQly5l8JW&a&BT2I#ZCPnQWEjXgtmd5 zSs6ibbfa)=TAUC5{aXm@4|ES~;mA=YLXfLM(@ubk>xkli&vk*$0OBqfAaS(J=M`z6 z;QoYtHNxs3Xpx!r9K0dpc(;fh3$fHQQK~Q|j_iXt{#VV|H5s4vS#=g%e~XmHZOa0j zgySQ*t5U@LA_nCZ2ChZn1Z&!r{j{p>A?#R1ef@%8rH8{Mn)*_3MLM=DvNlx;eadw1 zq6GF#7ax3i= zb{t2SH`<;FC$vd)?CzUkFrC#6^Ye~U!((I8e4qf#?sTHWY1TTio&4gME<-)t>P>aU z^^uGF_72z~O&6HP?mUt;mYpdzD6cEqZQscrUVL19_Yc<}1I%d^qL_3^%WtpU?bX6d z`>S4NLT3;hzqomDQpq*t#Xbi~ZhR<9Zz=qgN+m4wR=nzrnC`o{J7C`z*C~Bf3kAcD zb2?u%F?N#akMs6h+qz7#yS1XUGMT^AJ9E>e)(o0<%zNX)}HN# zcKnd6&MSHSi6Trx*&2+M{^U)-sUyn(H>*orKD)TQxHwWzSwZ*NTc`O=MuE4DwHr*^ zPSPnIf6y@mhtwJJF*R`O9Wfg)@r6_vkv$+|jgpsD^xPpN>Li=UCK-MkznMmGNaXtG z7K<_O+W({Jy924-|NjpuD&-I*WSoSgWXn#+DkC??swjJvWM|%pV;rLF8CeG@I%FrS z%xj12kUfq)f6sTH@9*CG*X`bNc)ecF=kxJ=3?NzsL9dEyEqohCmZ9SUqSBAwl9}%l z)?;skO+Xt0v`5Hipnq&(8rqBcbfTtD5uQF9sE_pYOO-;I{dN`x;y~q!83n~KtnD4yScj#bbffyzyTni^nJeWFXN_343>dSAioAO*HwU;$fJ-h ziYPRcz)c0U&n(HMkHaBnxlsrcfJW*$a9m?q=(k6edH|tBDiQ1kP9nOnA z-(h)iAm2NBilm<$C0)h?|4N~7{>q<4Ie61!?4(_T)p;v%elE%AO0!b zOD)__qmB`X5y-vG@I+f!DURXzZOl#Iej097->L3~dMO)3cM z#9&W(5h}JSjJpx&^GbC+uwjL{89IS47NJ~Nof{N?g$7Wn;d8;*p@jIVQbp51U=%)r zhMr5~9_CG5kmDFoEZwJ*JZhTrzDMNr%>hOs=e?(j1D%;>l2m;QeE8*`rLzb7)JkIm z`M>+6^VlJR{I9a$GKG{Ao#fMa3_hlK+&++j#;ZyPJ#lPh^v| zGB=m1D~s-ZxXPQdwH5xL%E{VIbSqtcXL!J7w^4q5d}rXr^6>SGkCug@_H57@c}%pX zcFsF7aTNe%j8W`%nz#LNLY(?E1-);Dzd*A^Q4UExd)&`4L-02G2U&*3scZ;{3EXP@ z=isCJeh&m~6+McE9oA~;9d{vCFk(86c)f_kqlp1|j{8#3cehxr>9o$J^=l8lxNR;D z!EUW&@X7Iy-wO)`uy6aBr%#sJYtpGt@6XQKB=SHI>NGx&kS_WJ^$3U4X4~9t#t5^7<3H&Y^-7(a;ih7}@tO=cmwJqNOy(NzPL&vYnTrd`uhnprdha(xU5OEVSO%$V{qU~!RV}{~ z{N>%g4m2S2E!-rEUz0xeKdR#=eDOCa&=Cd{N@95bGZ=s7^QN{y+a^lM%m&J@j;-HI z@SCV9sV1)q?l)C$C5`O+)xW2rRIplSnVYjEe7=mi_9gwtf8`jB3GVTZ4o0yD)fL+j zbl!jVW<;)3PAdO;pkB1(wHdWkwYFMLUg#l_o)!rDHcrd{MdJH&oX$<#ac)hIh2f}X zy}OUE!@Lv_bwyV%#-s8B@#lAxf;OZ1m`+r`vi5+T=tNy~Rcx3_`WU(*g}|FbTJl-! z&pju2)w%4CpCoVFIrq~ih*m2`HCdj54@QWzEqK`mzK9yk|&n-kB zL=}NniXgd2B>-O>S_O_%VGo$5Lgu&J)_SEk!^1@i|J>3Sc))hAVC1Q*6xVk-H#*2%`yQH~$X zD?R00Kd^*N5iFeGzJbAvZf+@uvx`x1k-05t6&?mQ@HTXkTaW|4QgN2)m?Br5NgGp#JH__E7dAay6l&^h#*Ql&Y zV%B2Ha&4P$%KBzn57>!OILJY0w~}_ZwdnE7Dd#3uL=yzV0w-$5S{OLL%@BId8ShzD zk31=f-}jEWt@nG|Nv^&5o3eI!pS9}%FoCnQ>?t2bOCP(FHtAgVWFve8DV)06cRo zo{!XT7j14(-7jC_UWNEWGAaRY1(t-*V4uhol=y!$9~k;Vxi-auih&PQW;Q_6eu-eR zF96jPZU9L3dJ&XP3{S%`4kGcNzwSMvV%WDVA}ZS0UU(b)c`IbzVQOxK<9GZ)G#n7; zr@9P9ga(acqUgWQmraDfvnj2f#ZQ-R4jU$LAE$qX2Db$G4{y;l#PS8BzPj@gp_(Co zt`JX{DdOwx0F1a%f8uRPE({>I`*Kj*^nq1Gg~|uQeUK`APQ=0>AK3rMSE-04f;8kY z0S_z!`p1k0{~KKqmB`v~AZ&4M`H6@tKSJ1tY7W>l>^(&qVNawzc?1U2-c%sjJb(o# zSf)qmC@|Rq2M-*HpwImeAvJm~D?9>&7f__Y#17Cr#yc2&QwD{&MI!uv8(>S_s^bf$ zq4kB|8-2!?l27D5t3;XYAWHU!l3SS%?8Hnm1d7&!n%L51z9;V<4UIn~{^61#UU@C=L$R=OTKlyteRygDbf;8NXpFM_z*s$3+{ zyzf_=pEOh-(7+oKmu&3F{>_9gBWDnajb7 zDCwld)zv}*X8I*GJ3kGN@-+)1ju#Iy;FuGX(*>IAP1s*rPKjy|gj(KnLKlZ;F61{h zYxyBWqu907xq1nnzD6to|amd(W%L7kk^7 zx-O00sou{p-X|IROiuQxbe+G>c{5TuUzwGLNzA&zJgy(#r@PC^US}-lv#2t>Ta}?1 zLv_l~VRd<^adWs7vKF4E_t2)L>AT0ZifFHCHcS}A=`nmBoR!^e5rJK?q%^xmIHV#L z^cfi#oUUn9!(x@Re;b@vv=TL3aFNhpi4wdMBlK82WxC6tDz;#Kx4n8=HmkQ+PwF8p zLsJveq^G#b(KEa!USKp?94=lUWDRZVhE1>juP~}Z4;0A_IkvC@-}gQ&I7AG`hBwcPS8v!FZ^7nt zuBKU}T?Ue^ZD=oErbklH8p5|2Xc7v9I1r2ft-aRq2jlYl=Km{_Y`iBbCFL`2ZrS&G@Nm%S!Ozl@=Cj5gO z%=cn>v}Wwlv+J=@Q7B50wViyBDG&%^cYlsR%JV=%TkubXcx4EG*xPFK35|2vEWY(D zA*)YMcNgP*U6PsYRN0UwW505)pK6g^Rk_by_ZU%@u710!?tu=vYbj zSPBaZFrSR%h9J722|mp;7Rjws_`A3sP`V17&DYKCTM)G9@uR+9Wc`k4w?|;rli%qG zH>z;!FdTeJN`R+7v;k=L^E@I;UQ90u6B$t%7UdV!i|S3TvoFjqTx|m8_0?5%?D+Th z)(kJTB7c?&3ldFcw>PY=Zi+6I~pRgVT{=7NLNXE>S}Io z9$_iHD;-jg(O{^}^E)e10gZ&Cy zBNx@VZ_gxu4fh}UuV}jMX|ilO${@Pc0$ftMK6hBTErB7iuSHRWd4F457|}?|al4mv ze{OE>oh}Y%5RE7+phkj35o+XS6|${_>pI1)rb9wrF$&-0!d_+Vx)u=ond5Mv38O~A z9uPX3OFaJoQ4=(bc_gSrFjv5SQ|De<>Iu~95(Nqh$Z7fs$*?pUg|*9WO@=4M=#OiC zKWFuz!`^eTfky(VsWon;Bfz~cO=Ch3s{M*BFJ%cD3MbjJK) ze4IH!q1GiDb_VtA1AlYV4RDqKunsZ)qzS!^Me#9U{a@pMurvn*>BC}%{~Pbu?BHw^ zA3ehv`YF&G6-(zYno0SrNA=>xEo>lxlIBI@RXU{Gv9U+Z6iO3 zFwA!;85C=f;z)Fy!ZLDcYco!)xQQp^jON@+AShpKh6yoL$N?UwI%*ZHdS0rxk$QtE z#?a6Z{Ga#o@0V!VC#ywr2b*AY?p(!q#QCBxYWwKrWvZw;Y~M zz0TL%K)KgN>H^P;FYC{2U7HODXPgJ~Kfnc~>KMrGw^Mc)PjrPm&PZ-;lW8*0=i!Ug z?J3NQRi}xRjR^T(9}<)7bMUmFFX4B+{9fSUpL2&Z@*K35`MM!NKn>SA_^su6Ku)P9 z?}-d$3_pAJ5eT!nASu}zo9K6opFIDDOI+0|lwJwK;3+6a&)n@|LER<5N+k}*WCJTa z{2wo{K44J$Ea~{y2PX>FVz0Yet#ZJ87SN zweu+bXTxz$9bAU0-GY_OkhDyN(`1wJ!TfY|wBEt;;dT?u!AVL+`nIRCpcghw&&neK z0SCqg8m_lso$}QXR9p}itOPGbhn3T_XV2DWds6lbd=^(pbNoA-2g8RO5{FYhC7-Gs z;8%2W>(%QNsO(;!4?_9sFaw_mBwz4ifYBfd$oFcIzYq6#tEuE^Y2?2P?(M^V6@^9~ z5h$d1nh|RHcR-_npGP+FpL<}M$pW|XmtBSfTOi`ij#gwo9SB74K)>1*H#^#tWg|N3 zE_ZlHd^AMiY(g?euh`NO*D`= zhfAMJv2w62YVclExY}%D?ri?VndwI+p&@-CKc;$j=!YFYzOnHlhhlCIl0G#V5)-}K z+zVDqN%me7TE;#LgdYM+>nwWLAYoYlTm(dh%E+DO!fJ~qwVtLsJ+QFR)HG`)IW%+u z_20n2?5mSm06~?4m+*OUr3lt3i}cHwMlk`e_)K@4<}`WuANeOG!$Siv7Fs1Tx4-3P z=0_9Kfn*Y(nZ4OoDon-ENY5(Aei}ytd2!httOXeJw+AbCn_Qomk!-eHa1nW;&#(95 z)c@xKu#zD#=s|~#M3?f#pfeWt-h!Z5=y_3xU5OOgpty*X&`RdM4V-zL#hh((U%^9J zj~88~vnvxSBfC@0Tw5zn&qdiROX(<$zM{RSLKMrx@j`d4#P}gr@(Cbw;G5RrHFH}H#K z=NP1laAH{@b_NQn)H~>_PaxY!uSLlx*F9re$lyNSG zfBrIS5kwezN>1=6MXK;wh3v-!0JU?t(txlL;`>+082}kp!VM_j?$OJrXFPBE zmotS!;ybY5YszE7BZ_UILLCJ8qEyXb`v>6`VCYnFlFL^GbzI90qaL}1jh-YZpNRk+ zG#F$pv9r?-Bwdr}+V?wx2~NY~gVPlJp#jp&Vy%$(+Hqn7ThKpIdPX;-q!Qbw@ixqz zKOdC2jWtEV$WzH3c0Ph;uyty7_Bk7`oPVISM>Tm;{tFC-;({NH<<}=t+{W6H23xt| zM0=AZd?3l!7(7j9MO>e%1Y~vDImwi{t$ZWp_9^~{{^lvyzKVH5;tAQ_cjeHW5=p4@ zm1O5=pLWE}Ut5>1yu`V2bG1+bYx)zc*qK88vq!yfZ{3s2Ikg#i)fgH-QQ~ktR-(S& z-HoHo9Wa85|G|ggR)bRScukD~JMU5sJ&0oRG?+XnX)_Cgb%lFXaoLNFU!?%xGVbml zG&JNuNH{Qmu})ERTsk#JnK0w=@Dm1G9|*+q7sIULN~_6k_Vy!aaaIE2xS+-+R20mK zB%(p-ybW7vc=}+Z2b&gv$BTOv332q?K@%>yll(vzbOo1KIf3=vPXustEJ}>);=Wmz zryrV`-fx$wY8}ZCk$u8fsCaOucpynB`T{sBm=ui639f?^8X-vYJ!u9Ugfv0aVqXrk z1jfP2j^8eX?i4G%{joLbhbIZq*Pfw5>5~~W{~q4HkH@s2&*P%RSY4I5gaJml5*8uN zGSN2&Kz=VC6ee6$a2a5m4*u(Im#0JG@SqGLgCpt#m|Z_sZ>}~AF3r!+1CwxRNk#jY zl_(_q7`a10e4{i-1U9ReAlPAsO_|$_X-knGgsjo72rC#Z`v-z_G}cG7EdmDyDmNQ5ly;4mnHW-BV<}`<5T!>6?iS#MJbW?-R8opHrC}2 z8tzOukUmolJ>`8O%Ji-uR6SRZs&;~MuxfupdN{$TWXP({A@SP!?zwA;<^R(>4K8dP z3>%3XbDCsz1?9DdVA`Ljk0v$;Q!-0v+Q&tatDdXI59i52lr-uC8^e0fpy&4pm$Q+k4) zNkM5Ddlv=(ecS&TAOG#l5D6UW=nF8=P{2(dKYABdo6^&`9z$E&Gw*s+1CUV@L>Jii z@!D6!{s)IhPLIQ|iMQo~7|Q2MOh|a64S0zCFQJqY?$Be?SX>XtP~b&b2T=tIWFR2m zKKc>>5xJw_k%6?HN@Eq4X?(#H*QqFwY48|l2w<3anUp%_Q!x&z& zzx@Joo1SBXS)l8Mn}#S+Xpq`{AHEI#szi9fK`s54In&@^m#+j3IH176Cs2t%dg8PJ zLmMY4g7TH-LY461D)K_i$cx=7v5t(8n9j-JgBl=}!jOXJd83vL>?zP~2<5y&2dD8h z_qT1dIYnL)0`LBfy;8?k(WkD4(^@H?qP=hiw$U#hPVc)34-Rv9!t#vcf>v9K?B>68 zGL8#P88u^aR;q8d+7IS4{Pu_Fyhj&XStY{4!xu+9JU^CYr215j0^vza}lxd~vJ}p-3h;u}AqXWcMgOWV9-!6Ij1`1qMW?_y8W_bX-oh|kn73DYkl#k?cK8%zW7rRfnEiF$jRqfb&Pc$3vjW22P zbPc*bt=<|Bv206zC{KbhP~=MPo&2Yko}O#7R|-7m?t{RU?Ini3_V^{8S1gnl$Bqk* zU;26vS}~OG2sQ9%>GRFO+zO->f|wRs@KFQC5g$}f;Mv0145R>1)u_Wrj!Atc!vb2o z^%qbj5BE6^mIK=pWr2=z*f3X63B)Gywx_c*Y3OOVa=NRLkJt1V*lv2k{6)Ao=N@et za+IEhM{#X92Ok`&oW5UMo7C|v!n~2}&c%N5{xSJD!D|mIDHUsLYZfPl@PB4AuEbn> z&_XED7G*ol@yq9RE7>Kh$9PeK6joxdoz|z6^uLjctp|{AxzCyl1nj zwzGU(b~hHFk%P55CsrY^fm4LxBFg$YD0==rZx%o%^oQInK*dzC)q8^8Oy10B@7F#X z;Rj)x!#%*y2EmWx>Eyr3mbQ?}4SGyO^9fIO=2_tKt3-fJIilc9o=)#r&ekn09C|8v z^(wRuPfI2eJ=WKEs}BQ5+?E$73Y}h}XezxE>n`JE4(Au>DmJ}X=WP4!ynzB1+uo%+ z0h_Wq(UkUKw+TXE_%MXRb(T6>@^-1^_UIb{)8Gk^V(e{g!6UZWHMumMW=RfMNh=f7 z;l<%$tHhU^!wUQDb`I$E|R8W=oWaE3)pVBABTM&rZ}Ga?Z_M2{8GhUQ(rDi5zk zSL(ohBgI;}686J}7;oF9Wj;aTfuWDHS7mk+xC+}CaTCm*cwJUYYXWrxr>}mrc~QTd z$5bLoTU&>r``pWyY2I=vQ|7%^%1N3b%vX#tl)@B`mMQ3QW}eq$HKrZjinCr-G@2BY;Z+f4XEKf4)|s~LCJGc~ z8FuKO!;~*hCw>wSPMf^P3N|WDh4UFPMgXnfEFY2s zv0lcVn1oiyRshE3za;IVe$fUjI?Dmf+lE!NsbKJfn+bFxAp9^y1PNRRrYSOJNlgRi zLaELp91j#C{7)0b?&ZN*Plt2c6pGcO3_gXqf>GR3XnuCLagJ$ESG${w&A^S!p#9*T= z0u4w--)ln*K*<2BEqF^^E8H7P58ULC`E}!`yo?kqyMd*d|HSU2kcyvQhuhn$Cla^` zy7ynNt_I1p=Mo<&+TPHJbjhVJdXjk=Ww*3wZctTGL5m8>gNS$ayG#g$cF9Yd(K=o{ zK?7?h++qO+0SgOC-~vMsXbwqJjl^Pm%Z465F*P-{w!W;9Fx_r^oo5F;%4!!DD(Srb z?5AwEShl5j&oP|djin1o z*Xz{H4cNn#LzFB+gT^5f<~)x}4F?;W%!|)r?BTbbEw})7o&dn;oycRH_&-6SYTy^m zSZ@#wABxa0p&T!_c`zvPRKBSDzV2wBkvn8W6&#L+RIhtn^Pf&GC(k>&4i0U=8=2y@ z*bl6~Jo^vZM9;}6y{gU1C0Xw^zV;Kg7xi=*s8HJf;^SzAj-n|b)ZlIu`ZpDZ;Y`tE z3yjWDdWyRi-{L_X0o@-=W>iR>DPThmADC4^lV@nF^q%ho3`js8G^5a2+V_;>O#@)g z>vuYbtjESYTz{}qdg10qgHnsEa{xhhddENyn5QUwil}Ab}u$`7~V^Ph&c1vWKUk zN)%)M_%CRM9)RV6F@eKf2oH+``t$C*@z$LbC1L2*_P(pg3CF>@qJmUbHZbFaV$u$Z zI*<2d#%cRKw!k?9Ap(+YCn^!DWF85zN9pkaQ=yZ83#;+guFrkM?-Cw691e&O%e!#x zJF5dBIt9>V{GW#gxE@bAj&PMXKe(IEf)S%4qskqvH4u43as!~rIu6i%3=F#XS z)JyVzPZN5gGF*xr#^z@d^a_&Xy~^ktQ(xlEtc1^lZL~BjXTej=Jg)jsW%#f~q#cac zr<-Q%HhS;dw@nwJfB)LP!pfSJxK*28)7!f-xXFGYTm-lEb@!>)>YJ1bFS2gI5ZPQT zq0NPE^Kk9{h#VU&3&9FBmMj`PU8Q{MI~T-Vt}~xH*2u~_S7L8m=|CQ+zcUTCO`W1w zgH41Irrj6$^`^E>K5?db7xY<)BHm@5`eyxhatSRwU;P_GGbc*ef3a#=7TG->&mNk2 zJACR`?YLy_%eghyN~1yjus8Tq(t7TK1ee^A`)%asqAa-z&BZJZC$d8zV8_ukr$fD; zGZphLTUp!l+wS!gP36ENdfTF!-)#p^%k~ENzs*Ug^4wB5dm3 z);UDFEuAwcuBdu?ad)wN$r}Pf-ncQO+=>LW~B+ zB>xl_KuVI+iZqB>C06b+f#Jmx^n4)63{qulgkqFs~>-X4r z5#B{pAw(S`LoNL$fo6f`>tXctHn3el$iYa?E5OH8k6(Q2L0mSGTj6#}oIAh=zci9=n#zH(*_Q1&9?TE~j|_#nbZM zdll}vRm*=+E?B)+aL^MYAs&4|uHJ}A_S!i8l8r8WamZsD@*o!)Rz04MEV_EMmCiU# zVIe^Jpk_3GceB{Vl_jYyYOb$Oyw|U3>|hvkpV2)7E3WDL|!nEjps#!az6L zynINr%gM#b$|PqwB|#q-poM2E&Ppd-Szbs8CgZEHp;UCZ{Q@0`LG65aXwB zKr5tk5rg_8`VRu!Nt0ySPdVoHtB?B!apP6NnvYA;wl!!QC?0L7>zWJ-CvG+sCbj|Z zYP@~Yy;#2mdeEYFIghb#M*-v$w;6icXLuzIZl8}&bzalK^B0T1Ugb)R6uIxPQSEfb zc<*+NS$BrJo zi$y7#h_~cXDbOGw$ur;>Q}}||pfc(Cpg4(B18oXJ-A01Cl)tW|4tY z5ab89XtKm5LO=DJj8%q%yg8kyWN`YJpK>V8crYet{L1vTUsc`{^Es`W1M2E^syJ=+ z%q~nj1t%$o>x@no*1=CKT-^ia>l=_)u5)=*s8?1rKY_k;-^Su(kG;dyEz#EM_> zp6WH5%&v%YCx=b{^2n6UCmmE56yFi8_!?4eKk)`S$(gS3immYxuayvE271VlC%xno zPvwI49yy`lj{=DRc%ec{_!oGtI@s|HpwsCn&}0mJZ^0e|h)2~MYr83}?Xh0$m z&riS-yi~K?GzkE=ONu7kRG{3xdklpm2nF+Dgx?UO&5x%x#4?-WqJ{$n4|{xGaUApa zX2 zmfq9UDX`#D-f%ZG0&h{&FHya_-wv78^9vj(Up3C|QHFt^`cj`De#3nx;vTO=Z*TOj zU;QiZ=!`BCAn1S_thb{i+fzF`+G8ifWjFK-`Ud;^$*Q#^`phxm{h zD<^RC@Edz}T_0RLEQb%fcQx(poC;lVI_BDJQ(b|BgVeQS;JUd_P1i8-!!N(Gqa*P= zUdVP`EAQ%q%8lQXxq5wldWF$X%nh=-!nhU}=h^2Wy-eu@m%pgSZe=p5*Ms9F9Yf`2 z(YB}UF4zSya-Vg^`Lm$O#CW}<4E=SNzpjm1xjjQsEj*Rhcq8g;XXR=y*lgHrYir#( z0PJe_FIsh3T6VNAPGWU>$rZ6j@OK2xJGB*x;cyfRqrX&mzi&`u4p~*T#LAO=cJeN zso`ndWmq6K;$Ndtr%#`rGJhO;p7z+j_sFFs8ustr;&PN$>n1K4TY!$sk*J3_iE`20|zoLZjUMZ!`LD-f;*RjhS9r7x_!fCzC_ zs3H)+RT%DqgjgW$7xNDzB;2#SVui3qS}xTiP`&V9{>4*Zb>98E^!Tr6S^;arnI?`x z9SWiD_AsZz>C@4f{Zq-CrkgvNc%}KdR8od@+KCpkP$jA*uZMjZNa8Cv-oB?d<;K8+ z1X5FMC>OIh5)w5R&(aAR?5iS26l8d`Z<^df7AGHTps!(tx^2)Id#{## zYS6)26rI|#P1!sy~qEd;KP8R0*zQh`r)~hjr+Kip@p%` z6AQotgYO1-#OvUg6hHQY@aMB(zCbhTtDYQ{AO>qi3mLXNYEzZfCEKGtdLut8JlbQ; z%*`*I7s$5B?P(%=!i9PI^mJhD8D7oz*0=qwvA zOY|wS0WGe&FG;;2!Bs+J(6(goPDlulzxjy$p2d~r92FD4aom@Ho5K&z=n49_TFk(uZ>B^lz+E^_=GX8#7i>$9(sBulps+ac%pM!a zsnW)QN{Jh``P^!XR*8-{+{H+|8wY;tr>E0(7DA`!QC~pwER)?gczsq)W3D|M7~wFg z_V)7dDDSZ;5GY_arNV&<6V|Sv{H63oQ;NZl?S9|-Vl8#;{)Hvm<^US_A&&y#Opz1m z3oR(WN~wk-i*&@411;1*1C83CLY>PvaL6ESD9O+72uk(M`yLz8;FH>UTe?)C+j1$p zWhP(-L(o{25e&wtiHN(%r2r$|-c53LbC=7%-|np9$7nrWU3Rav4x<7+#-s34g)Op1 z7jlYo=UxcMLDY_nC&(5I4R<>@wpWaNW^9cQrBQ=3f_vMLlR|em;lnTrQMYpBd1_Dv zS2{gkSuqWl71!5i<6s~9;;^4DF+5PVnfk$&Ks-V79ji_i5QRqcU}(5mb<7mLEWf^* z!rlq4A@UDm2j2r{)j}LRSWm&F1tawF!EMUK#d9|nc<;`+Jyp*qS4G;r zmsc7&zMgs~On<*cTvw4{5}UXY}lM+yn?L+_0}<7Vg*Jw8lr%o}v4OO*I)q`%6W z-0(~|EHp~_dhh!mV`g>)Tl4%nNyu@2!<}>MF8$K}`kZS(ZO6s%WXOu@nt2;nK6H)# zvae7kkSfF#?-Dwn|9Dk2Eol7Zi?IG}LhFO^&~;~7_VAE2g*yK;jB5QV}mFi(|gb>6=EltC2tg#B1vStmQ@H z%g67othD-hC8p-irhh0;UD@d<^F|W+kTZ zoJT-qM8D&k#*Q*bvn|q{ebFwnJ8yruQT@M?S$*hw*kpL;yHJx5(w46dhv2R8zN+(1 z8V1q$?xuljYC1PxTI5HIY2Gwt4EiS;sK_G&WztFNKw!ythU$H#xp_ge(a_Jot)Iw0 zMZV!1ZNA+wxOq4qVmvfFeD>eZPhQgb-E?&}7y4xJ-xJwFht-I6!qf7}*r4lanDO3T zKO(VBej^r3AC<;e%x*{VEr`@3dMC*d#91BB25d^Yz;oHcy{f3Bywu&t+aosH2E-MUVPo7~^u-89}Sw;!%5I)90sUDKvOE&9~4B;J%Vm&qnlR1ecc;-_!Q zQb}!1O}F#*7Y0iD5j`|kTmiXUZ9FvMFwhx>;I`q{O3C;COL%q+cV zRJznA=QOhhjoBVu0y2MG(6eZ*RgB=A2@rhOcJJio8VtxuGRyuN5bFIP_yMRI0(X9- z(&2DXa@}@0Jx!sci4`YFmh&zrPwopi9Ak5x3+!m^m+eTmO${C+$(J=z;NfygasjvglKV;Zuc}Nve|I;$(JOGeZ>{~CEKJ8$r%dy1)fsGe zlFJ1i!ULtR|7ZQhHMM29I>D+|TLX7I&*6!xFt~A;ax2s}yasX9cR&tP$^|aa9#e~F zc=P1-RTqqq=6gZv;ZP2?TjU1!YwF7q1qH@`VuyDf)1EpnR5n zsHfI>gop~j145_>zZC#w(EVHy7YxHlwT3Q|(5_p4&%L<$=^>1%%4~;m>drI|@bYf@px)>)fX6jQj1VebXN;BjQ^2&{iEUM5T=z zcQvp*m4G&lw@Ce1?y_T02-lvEfj!9NTi^kKu|yc zEW5#CwRojNMN`&g(bK4M5~^Hp>Y;V=s59^Tuv_dpkQXmTRWV%F7{2UNc$7I)89@ zc)P7xaHz`Bb-yL&RmP>yx@aQWqF(0G?Lu`bo}zvMK@8`4$S0pI`#}75{XCC_dfpRW zYud+hkkTaFz=t7iHhdA)xJ6_B@Q6vtl%xUb~tI3SX$;k}IY4+VwYI(Quy0Xoc<>lqk(Nz8`m}5PukY|p?0bl~FfLk&;K&>*W3cU5rNg&yO4H`Ld%e1E@gNrVTG;e-5iMKN;FclZGKYb$K zQrKb`;)?|%!}b&(J9qaSBJqb)aBAIe*w8~WbM5NYdgj#%^eO7vKv>O~N&+8sX7-Ji zEP1uLz~{G${EL~+sHDn$fVt&&v<}-j!n4RV4B} zvXgaN-nmjB`{nS_7x_@3v~eM22IWgwD%^jYZg9;1dt@=Fpr{QnF`P_DZv#(|l~c$T zC-3puzo(TOV<$Nc^F0NU57h9Ih(?&M&4rNM+wn$AZu^Y<${82}HkXFI7Dxzzd%D@v z+}h#sW3F~fF8`KGWKVBN7A}QIePi74u0Zp^g06v{{R1EJy2MEAS*3wFEYIx+xqU~u z=}&Q?|Cwc=%*!nk;5WT0GW5lJdTirhc0jQ_3fd5eC_<9Gq|V*?IWoZg%_Tnn+O>z0 zt_Q#3R6O#FDbycE>g)Bbn+dm(DbZ{;HmGPMm^Uol2I z8}Rn#5^vXOgQ6V83RDv$2-gC}!vM67n3yiVWLntdg~T9!x4HNXQ2cQ zxvd&Yx$PfXa)*13qd;CtAyXd?R`X!)(sEJyLd^vD3}I8>6ctuMeeRWvVKyBxkA&BS z;?cw1A8x`d7s47R0`Hf2UITxTPWQU%>5 zB-32BeNr+A4X%X!Fn4C%C6$SazPU>Vy4zA}T`pPDQV@`b<(R|BxGZ)|C-0B0b~5n4 zMe`Q*yH@QcfnB2gqTQmDpTQJ+_3~CmZcM>LFB^Af65nkKeIuhqx=vzpuk(|90!dy{ zl7^&}DAK}kRA;U%S*iL2)4 zkNHJS!oszNxVhS}In2Dkq23q>8?xQF@cp_BUUrcdo=-~JNX7xtW+}IfI9E2fa4r9X zz_n|Jw*3_+>2IxJR`eyOyl7XLDKHA~!gJUN!Xy5ZSr{xLbLMuQ$()UX{C9mrgvo;y z7XW`yQFW~I0^|v}6qkgg-HsGJmSZEBhJBwVbON=-&xsK+y~Q$s7XsfpWYzha6I^0Z z^l>+u3*psUaKVA(<%bzmJ^CBAXNv0>J(p`PrV^FuZ3&JadTg?+iTsG;(8J%Qn{uLm zJ$#5Z`H%`nPx=?1sIMIaiP9h$5rOq6oZACg43&cQUq=Pl1&My7K+)jo|FScM8f4l- zAT$y&kvE}1T)4=@VknG23NQ`*-x3MN2vGuaI;cjWxrPYOujrSmSZ-MKo~56R1>GT@ zZn%#`EEEErq8WlH-#kJQhtLmT2niMH9YDl~Frp&Am#<7aP7G|)*N4w&L(MjXiVBLL zxwLLR=-|P63BG)kNv%X|e`Pb~U#Q69qq0KEcJO7#DnqxL`Z!;sOB9l;Rj_a+!B0sg z2c^RTd81#CL45~vbkk5`@NM+~8f^WI81u^*|4|AZn0rNTOzZSeb5P;G^JxB?=or*I z3)E%2Xwqb#{jV?1a~r+Ay*oQ)*u2~U;MfPFM2?Jl%8iVS;0TuNH!8nK#^ zcHQX6O7`sRn@k#XH8d!!s&YA)?^gl)zvBB7D`N+Xi(^(_iYjGWy#{9F9mZB>oYGj@ z69<@SUkG*kKL_WNl3`E3yD4AX#(w`;uj83*otm;Rh(`Ul1jGq2T1zPRpbnQi_}LUB zcAe+t6wY1pe9Rj)pO2#tbYYUloVU$$41ydyb9T>Doc>>F!qjQG8feT+Lfw-gMu)l2 zhJ??~wncn35N=xpBrK(OsA3@?d0f~c{e-yzpzX+HzB_ootu!2#zL59}q^~aGiL#R;nsnk^9Xw#=r z`tteH_-H}pfLAt1h)5)fTQi#u1l{Wa1g*7I!{RB)5CJ^Pdlc&mi3&X+9_^`EcD`V0 zW}D~iyb#`CdUSq$hrGSFSlPPL@kQVYc7C%AB;3%Myz8+6A8w6IQwxTOZO>%xALHYX zo-ANX2E&AOoo@*8lzZ%gW_xIa6=zKKqT@pOg86D=178~cs|Oy>Dx{2{G?0WYY!|DFHGu<%hvfmdfrvERy@i`A zQ$B%LJ%yqnthhn$fZX!Gbe?OCJ{2V&pY1jf`iy<{lM?!p#6m(sTB!I@cUuq-R;;Nc zRXcV_lUFTr#%^_B)A$ggO$iMu#Ze~l+(|B3BaYU`uu4YVICBDlt0l85`iX%pSY;%i zgSU0eN$L*6ITNS0{s5s&zTlZ>eT4>pHpDgaWr2f1g<{}>3#^B>HQ=6KSmK-&JY2Q(Uf1(+emuswcb#+3@u0T)P=d&( z4IT@>6HTX>U*U891%@U62{{C8Fb@sVrtj!~5BYw1ur_E9*{|GRSV-FT)cvhOd?6{7 zH}|Em;>E^%DTrObR;%U_3e`0e@kxex?TzSbq)$L?Xbc zcEUNfS^*lo8bzObY>K!Nq;CEk9PycGl~|PhB9W}&_gw~B=m)s_;Nvnl^fYVL+^B_M zDsGo3DO zSjSM5(-iz#Dqk~u4$~gwtBq5n6-%`U(unjwZz~uuRO%SRF70!?#&dJ9V6T6=`Z{a7 z_T&GWcY`znw3*((>pCB&N#LUzr)Eoz9IstLH#Nm+C(q~IClCZ4fLlCxd45fm;@9iD3~O!Q>fH{7*5WHSWykwg{s%yh{?Px0_2!!_lJF{ zv*3q?L-J!0wWu$*TBj(fR~YCJCfbZJ?ZKGF<g2dmycp3bDmxW-J|KHbRqQF%g zlg0Y04)|^Y@m=)@ea^qW%ww?t;S!Z;z>NpXorYF4h$hB!A7>6Z^*?yG+gStKqJC5ppB4|R=7=s%0fe4IJKuRSzuUXYG&!xRZBXbP`+`^6xFVuSqdgm6Ybe44v)K^n1 zBiuFc{)28GlzJ$Xcpk|*J|F-LehEVVafV?SSP(si9r!CC(GLnVH5|E=7#548=3pa` zM?$4>;=iinIZr7;Oio=d>YsRvUhb$(>v+RCqEv;WE5dGpIT7H3Bp2THkitC6E>AhZ z&`)ZSnDNC$aS?&5f@b;L?UpbWPIOqgyTg!n5?wn~?%LO;)Bb4>KvF421C zNbVq^$lK9hI-YGMEqP0*MTUF+zF7HmdUSO3kJT3hoYQ}3B;$JES=~pt$~q%PNz-(Ld??+Rd-&QeL-KY$6*{9HJ>o|#^#Jw&FRo?f98{F3=GK%j)Z zJQYy2G3*ffF87PJYTVQpqs=X48+4aD5_}XOb)?bvwK`0gCbwANi~%x#r>pyhW$4WN zARyUsG+FB@}aqleODwtqXN4S*NwjdKrlHj##F6BcIEK~yv zAr3i#=GEUj1E%3gBR_xM?MY9+$iWXRy#QBt6yQKo?yF{5UD|hRV&SpeAIrbLRI%kc za>1(T)7G{P6clp(3NmSzVup7^2EP06+`<=TTq|JnRFkvBfU&hzW4Zv5+!S z-22ydOzHgxTlhCRuLFpk9>5yZ@WX$mH>KFR#$y87u>g?Sk9E+aWDfVpf}VR5C-)D4 z)D4SU36)yEKewXI)y7R|tB9Tp6pU-Jp9k~33#d_K&oa{f=uRuEE61;ts0>44gQg(F z_3`MVDFF>7?vzRWi>z-X8(UPF(_1Vcro;SDVH=QwQhF z7g{c*2B)!PKzynI(^vgkv*QL7Q@9NO-9VLvr<<1YD~@^}9(v47>QzI8kc{US$JyU% z#vTe7@y@%r7vW&qA`+r%2f2ZE5Bs>NOcW9K&Lhy{rh{^NCBkvB2;f+9yZlmTTS?XW zLOU2h!{|RT+tbX-$_j4-5PvCAKLdo6#b$l{K=p2N>n57?p}9Q4H9F>;4_V?ctKD-- zr1$jS`Et!?|KJeXGX_)e2?Xh08j(S$DrDHNK?qF$YzX;Y*|~;TSXVj;5A_eRhBrDt zTv}SPAFgzr*hzXCL%bdQGI0`8rZ0vk8W|f`yR6TG(|S7A^kbJb*Vy}b`JcmOUUNw+ zZiX@I8@-DQ_g%@`zvAEiNR}>NdpDi(|7iO1cqrTU?;({^F;bQmObVsNQkH}?6qPL_ zqfl8xB>Or-8C$Xqvc@eMTbZP+Nsa6YBil$~EHTM4_IZ!1=lwmO`>*@3XASN6+P9dv(c3pS-bR7-_qyjgM9zdkNaF|W*ZJuz#$m?IaF5#MKZtV+r(os^#dO%K)9Sy@E0?p)Ua(fMfE^CL7`{VMNb z()BF`j*>^>rBNAXH)GT|bxDWYlr;>#&U&X^KP;t`^x74BM29~bx8pF%LEwnz32`n? zo9rKvrOAm}2S49vzI!L`)2L74k-@x7-^Bo?pYxfQ>^V_(rn1U7-) zoQXI4%^2N}B1-ARdFBmHcy>bay_vm|0`Zb@UgyhTNEonB5Jlm(%_c_#Bj!nrnN{>_ zrzkf)W6+AYtL&7uEix$>H2DfWai4`E!5XFMu5$;Dt-SvJvs+igsLAjV?M}+SV}4!y zQ??YSOtBJx*utR%4=E~3o9jGPrrE4$FRIJqIHo1d24B+CTq;9VIv67vA6{~Fi*8&f z5xyAWUPO^iF3J(KB)}yO-%kdY18k8(a4Y}e1&D~JUKYO236#8$;;tJ4=qM2D--8~* zG)&gKun(mXMB0IV=@8|LP_qw-coKlkG>>$~d-4&TJCwcoN2?-|X8zbR>nj3Qg;Nz|hdWK*TFmysus~j7AHqP> z=c&gr&>%jW3_d>jO=9wR$NI`_^0O^L5%zIL+|U1o-{jqWW+N=$AfyGwG6+PrT!q@q zkU`7F!(l|w^Ex3kw1 z{8W@{&M*{3X#R387qr^(yh+YZhUSqdNNN0)pM3Rfx|4^;Y2yVteP$#kQ@zafZ~suB zqe_Z-weMJ-`eJ;@qrhh`=zcH%hPo<<3|4p)3?X)t_cG1pbl)jz^bOg^k%A}Fl-_dr&oDrYUi7d`5301CDim!?S%BT zj^|}>yPbJ%;jfqRs)6xt4{96V2YkGZw7BVipOi6w4GYK+PA^puNVpAJ+~!ieA=qAK zy>F6oFTJ9DOb)gokb7o#eIrM*2_C5^d=;R|H84;h(so4{d-KhiU&yW z_gO)6w)Ur-dYvd)2m~S;M#O0Wkwk1^Fr*-}NA=a&c7)mJn805zGuNSE>uZ>Lm8(O}&=lXtp4!E- zq1Eakzmb```${Sv4$Gjk^83}2VnS1K8*7oYSn@9DHac^I=~M$A8W#e4I{V8WLu268 zLw3TQ9dQXX2nYd!J8bok8_*MQ83AVixeJFu`Zi?-lJlJWqY5yp@}Wik36|je->jar zrTQX(AD>^B-o!)9_61Sjp;da%jQh+$)$C+JiIa0p=d}B3wMEo<30-a*!^b~5B_&`3S3uoM@7xCfnf4d*oYWFNO8D+)S`B?;$3i!CI@P zBxs?v%%K0Qf2a5ke!s=oi|uMFP<6~BPk;fR-7WTnKk5=$3#-x0ju zReAmtR9kqtTT-!RrJK!~vShDV%Yko$r%aK0Gz)An2>t~=G@y#$eFWt81Ew2Js83g} zz`A|z1`ld$eMru%cR;{;dEiv}3G)iBgf%F->|m&|-V2R3N|qcyaf0kXvH=SM3I*<# zHlaiO##(!f4WAeV+4}sS7C`GM`^bvHp3iHv>3uNN{c>5O+9CNpo|RL7>Vy91ukb?d z6sY>)sMNryX@@ot|CoQmQXxXpAOI=!wT^_vY8jTno8evJD=P5J^?hN@11+ChqWaHw8XdAEjtkirq?rqyu21ciZ)G_ zDY+T=`%|B8Ub=bJlJ~R2bG`qO$qIMjM`>luHCjWW_Qr-9+8m$|NC%%Pm0`l4d;k8e z?*bQdFUK9_dOJ2?6;ob0IHicVm{UjU-)noX4WtMLuH>DxtP=1SG6@6NDyQSspmRy) zO=Sg<*L0oR9o>Dr|)VbvuUbI_QhL9({@?j66{ z*=QY1ehbV7?S?He#U@QQw8*k%ktD6dR|s|RD6p@A-T!a(JA=LmA&B?62|9# z@St^W-uaFS5`WVYDq>}xZ|kZYhC&;+P-(q`&NJc{23rqhw^v@S*ka);}v;Ddm0YE?ZH_X^4}ACI6C+= zqhe95yr*`f`8Q$2g{=gDcmk2KkD6e&MXgH_SXH>8%W|76)jmq6Q|9rzTJ?ecePccx zK`qo*(c(0EWInG2a3nayO=5_fHxEJtGuThz;zwZ9gOCubD=-E-vsTyj@e1Y40 zhk-Fx0JhlZ^P1<5L?Ct?4GG+yaI!`y@jvo+zSs&5ASB@i|EC%PbT_3J0(@;Yp@95> zR6l@QK0#5Z6&F+;VF6x8Nkw3;c1q~{^X(B)VzMT8;5P@3)qz(ue#5BO4*#S-CVQL= zHlZOzrtCbp3_+cs22>vGssG8E?jq*ugGLeQFq2(tuGWNpyW!Dm=dYGeqT z!TwFC*e_Swl+Rqkwh4p6A>R;{tbDSdWBh6F+tMc}i4zpsRlDWERzEn=93j+?Bs((? zF_7J53is~OtINyE?nRlKo5PSxoZKHt6NgB`S?>h18TYgBIrzg|pd z-aPqtIc8(LGjrpSEG7tA$Iegjj&p`RZ=YE}-?2L{&0KrBq%*V8}!yVq`r z{T;R{CD)Ha@+mFc_aJ-c$`Q+zsS*LLz=gi)+pE$SdPihb0^@+W~_$DJywZ@O7

3{v;l3 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௛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%0AIgIB-ZS0af%4flcP~3 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

A`DN>Ba>Z<0HOjWMrI8d0+o)vW*DS%YNlq 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%0Dwvj{;ei3I9tMc1-`iloN!Xt)sNQMO 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%0A0nA7_ESSfb74%B7dW-Ho7(g_US(D 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

rZygD=X#R# z95!ncH6{K|c?cPBkHRcay@-G!V%d5eX9e_5mlG_fV-CF{I?$BriS!s%bGpFQqV6uc~#cV2h6W71kbJs99K;+E*VPAD_u zD-$pgdnShQmuMKC*sR#&7LCwI;?E+Q8L@hpHUKjB(Eq ztl8q+mmqMBDNU8a{ts%+?3$to{v1)t56v{ergxjb81%TT^>&WMZp!J#6*@G zhX969MM>xDy2jo>iblGNL$K?EuP(CD9twP+U_o#SQsbe1f&Tmr<+=)@Ix{j}5L9Yy zTF{Y<3~R;APun<;J;@CesF*xY&^RuzFt)kRl1&G0R{AH0Ln(;9QeNJvoo~@)(l%;p zHAh6@FUeSFwV}+$Z1AHygt>SRiF;&UGQj~pkp^~#G(7@yqE%_NNvm}w>E%kyw~tbdJ?L}$k zf0&jw=!^)2t__@{co7MdRfki4=RrtjM!Q1{+m7)KBuUZnAugm#@>*9PM%%aM*>9Iy ziXk$1MY~VocR!kGMWItcyOm4AD1ZRqU!y_~2V$fGPYtzJ$pIv%Hy&}fAR-!KO$pI4 zcLMX>;o)3@?S^Dz5ED)q$Al`oY1@IF5^1%9*eX?<1S$`gD=)ex7RGUTTOfPwSv4M| zc3&Hu)L6LWqS7Ml=3~%deq&>s@Y45IXli46wqKJwae1GOh^^_w7vKT zf{X9*sQN7X?3e(4xE5@}E*)vDud#Q|YQiYS*qEez!={>8o8nJXaQz=aa^jZboBnC+ z`G}8|&?g>L80-;WIH(rh!BW?Zqa)7BEau3SQ3iRZfF19vT%yv~Q{gpCuVT(g+ zl~2h(ufTPg`u6Qx`k4pQS%RtmrfcKeThA4J9h>e3n+3X6q&;qZNP4iEO%i7X7Qg=NOk^-L1nxyV>_O_~>xoP=2EC=~QZ?PCZ-P z#Ff7F`aqMkcinDL(R)_dqHmJVzv1-6WPhfD_{#bDG0yiVIDKDE3LYZyYBmYedyp%Q zjS1T~7J*t!7f9uxkN{X(#4zwf)i6Apm})nv(V z>3`&{;i*ZIP3ptO#t!Zbyh|TpxZ<{G%|+LOjV8i8V`CfZkU_y!t33ov(R9HtF&mL>jE%R452Sq7YrcxCGA;_WRMoO1dsWo`6n@7xgIoaX-)u1!gE>hPZ! zZL2udojb^#hxOmZpFi7j8XJd(!iR?3Y=+@^n*27Tq-KZ;3|wW@rER`r>TwI@v4w8> zn=1I+ZtWuE4yt+zJ{P)lo(*vRj0H*I*zd1bTqrFZ!kxPMmZ3>4*S^!9feh z>s#hP`YBd^8$4G5!r_9*6QzfcM+q!yCB^6lU~lSi1cDsNHFmvwmM^v`E;OyA>{PyM z9&~&SQ`&|W4L->E^G}b}B;=PXKY{cM#;;Dz3h=mBp7VS%RC6G8C))DeGOAlxek{_st(6@Tx(QofEi)Y)m~>$`ye1Q=csg`n+=4pR`-M)BU3 zuz^V=rXSY3_2U}?^wvl90GgAUlPN0sMw)D6 zGd2#r2edtsF!wm1U!r#56zlD+{&NeTq|709pHWq!kn8$)@Nlh#LVG~uyAiWgYukzX zXsPa@0=H6`iGGjeuxN_Rfc(y3Jg0#|HR%9Q&>)(+Uol%YCaXbSD z?ib+w#I=om4*4>Afb~&T#7z~vk{^%J0U$PCJc$-O1}H=M4{(z0e0T&*!@Ou~kFy~F z$lw7K4YUsdMv3TnL*EWSI2_T8M7K{Hf=;s9Iy%n0A$MxtfFK<&e2xl7i-#-;fHrR= zbA7hOek`@_?)NaGKjY2{#Ep;8+`VXt<&wmf0K=#ZT4Xf7qoOQTPK|92woO;A%oglW zO^fEpJ%KXI*w`?wG1U&`5F+`=DuPg~(2R{m^zxI5x}>E_OZVcWS5aHxN@l3^QY@As zhN{+D9qC?2X&k_#;g;3A4Uwb#EdKulzs=Dfv<1a(uCCuomWW86uaioT{^nYO@E|rQ zcpcnYcJzmys(l3e*=j(&HJWkIYD?_zjQMgTvJ~Eh1Q@zXN(F2eOJPgX9g}xU&1bMlRet(s`m&aQo44>jXxH$0pH}{;n!}^7?7pCrXEwgug zG7|jAZXLA?%9H(x6ZvH>u6esf&0d{@i?JR(E=!{|{M~+=np`|y`&!lfn|2(}qF0&R z&2*vMxbaW@_NiRYy!88B6;NE2c(cv#DllLAsh13W92`ur;fY`RT;l7=(D2Xiy1n%< z;zE9MmS^j}2$<<9I@G^%MI_5WGF-g#X^T@~Dc^=-{hs@xaMqi9^0E}(#L#+E2Yv}R z@2Obe;g++F&L(>fFDlQq8(o4(^4Evf)zTbR>XS%<5|qTaHZ*S}hiW1-|dXsGj_G zKmHiN!4}4_*6a^_QfX3u?OJrT5tf!B_U50gD5GR6_tY<5hUJLqaX-6%i~aE;<82J*JdJfM@;hcUbJbpwkSgI zhW`;iAq@8XTy(=8KmBo<<)T=bd{_31`sb3J;m=HVERwjn$azI%((4-8O-Tu10FEZ; zXnNPYZaR4IkRWmUit@88cMdseXKsp_#X_>90}V(UexLfKBd8mqQ@y&voOa@J?4o28vE_+0Gb7VykOYXNgps?kBo zwTtOhl1$ArH*O}{w^S8LtSTA#a%og?-nmMbh@FzP>!P$ZoLAJOwtf2KQ}A6)OjMeF zoa8RnRhuu+^}1l1-*}}wx$4~4ViWH7_{v9jw~!-S5a~|Gu#4U16k9auCk^3hOPgVya6Nn_O3UGOBfZ}Vru7X;WK;L{X(Li4421{)yHjB*_ zHQLm%zckPiNkX7AZU%}CYb}k8V-dz#Z~=0fF@RaL=#Q9p1J+id3Te?s&+CATs!B=c zBkb92=Mk%jRwsqy5zkCx<&Q7d7B8=;*xfW1yx(d70ivF~fi@msVB^+u@?ECaEbG$VgjHFU=PhS$-R_jk6O<`tq_wn#~_F0x{m=f9D*!;@6 z{%o7Gw!Z!P#alM;R_s5hH9KeBX?Q@w#4!C9$R@!QvH{UT!+a(}5W$~Ete7P3LhM2- zC?P9QZrI|6fM&(!fY>Fx++6sWNI@&{CorLrpLNM4VtmJ1<~b~QtMS?8*F8E4VhA+1 z#4YtSKR*o{fx#WS>i!b>rpY0Tyb_%MO1^?5)6;vYUByG~ytn8d5fDBL;;FHA?@Duy z3xy*Y#M+8LboU6C6?^|wzKr=_W|9}S-``wY|N5zJ{g7@MAf~3i{kvq&_|zpwsy$zG z>#|<=7c!Z0KKPe$U&f0k)pNgWJN+&0yQ0S6?rTSyUxz)q{qH{6=lfpni5JxuTdksh z_D1i6fd>x;+I_PdeJ5oShd0@0{Q7HHxD)b-Fay|(?$oj2$ z<;vfs__6--L6DEs^N84qlCd7yRbq1S>>=B_8i?^wC_rsOjQ8?e`_aRuhK1r5?0!c$ zaHwh6qjMyV#P}v<*vnO@9gG?aJ)7&noiBIQ>ZC1eD-66u#xP6^G-;WK(T&9IE=P-S zDeJh|X#n&gq~ZvE1QH{D=wcHZ={(1<$FMMoWA}?vKNgE^oOhrmZ(v$S5GOXlWK6Xq zA&`15icT1}5^8%3v&@b6ff{rVKUhZL1EqhU3ergg^&2(k>C$8OGGJrIHx|uUR1W@T zh}9aY^7oz=hiDv%?Ll#b$pZq0U$*wiK43oy$aB+3Qfws|G|y|q9w#e>3OX}v0yP@B{HJI*u z&h7WuEN?I`@MjSB6l`qn+2-?4)p;Ecx2aDUN2KJ@Zp3i-wkWLqPT{sw#@3dp8Ca1o1 z_(QmH7glc{N3L-1UwYymniRX0!Ef~(n3gF+g!^xfgIu}mX{>v>P=XMAnjXYh;b}-=?&W;_6gVaSgLWg=fS}iTJGYw%a--k7W?E1FRdRsk~ z2~)EGD}bF(QK_zMVsF5OixJlhE zVjH7&p2h z&dV+v>`t7lYRb*2*BSE@A*EhiQCF|T=ITxbC;IntRcGp*XGTGmW>bdFsk_xl?UR}% zc}ento@h5Vh4VJO(o@o~ni(+?+${%6>Qjcq{o+Y`8MB14CSJj^x^y?bDt4HZ!v(X8| zQj7CPg%^QO#g8z`e+da9Yn>q$$uA{dg@98WtHqmST25*FoC^B+C}1XFW;yR%_j6}6 zy(e+8AFzSlYx7ej?bw!ik~S}nSvrjhs}6~s%-uj`y5zRRZ@Oc0=n&6%>qxnWzxVj> zZ!C@WVt-*?A|f+gra0F>*&}Jh&(&3)jgfm(T$>Ye;e7?r9ew+jSC%guN zkAIT2Ueq9Q_;tjJGY!Bk%R4W_@n)|mKsrM`u2tlFToWVmXvW9nBZpu2uYZafH)rJH!1+hJJ5?MzxE3B;|20{iVC;ccstP$&H z_v(2DFFNx3FX|c^MM#Pq-J99iXvEqYJ?oINmu|l&4$I)%9140@5lmVzi=Z;6c49|N zr|x|hgOObslsR^r(24EUm4uBuXS^6~o&Fn&zWAkB$!F1+%%xI;PACR zpeu}Pe>~+y*j8Z3xsLOL7;KsH3$q4EBrsgQlq}IF9|nJqL}I*UfQe@FOUHnkiF-(H z{%wXCCd!w_h+v)D#H~*~4b^ZcJjhbkgy)54ZqcM48hxAme>9y5G}L|n{)cpvlp&Q$ zVOpm}CZcJfB-NDE*hNB-gb?}fY%!Ef1j}EJs>>F~gj*ibNae?@yiZb(d=h@VV~DF{kkpsgsF#Ejf0C*Ex$bQc(-E=*DVge;oHyh4jrJDyM3~# z;UQDd1|ff?AQRKLjxj{kLS4r^sEaQ^?t~W<4=wLyJMjHbIfMFQwk#dE^2@9?VXI4H zE@5W|#Ee21W#L>jLW)?sfP)O71`BG0^simhBI-XjlFIvlimX)7c?-xzrwDQ@F>m=> z;6=3msI{xhnIcBq1Rov=aWPUCu9LKa=~b1)&r=fA%w&0GEfr zU~Vi}`)RBNG3nnN!UeG=o!g{blkIw0)H1;5BjS^B@1HOB4^|`W>Y2 zJ6yGX>S_Y8>Lb4ucduD_p*!w-AgN6#-?8P;M|ow4bS?=l<+c0rysAfsDk2m|!xahC z!kEqH{+1zK6^5e|J__&|V<-C0PYs0?{So><=L^efecXK5&s863G{a-QY3w$$0j0wj zHHH0G*!o$ZZ)i>5k=~oydcM_b>c>R6@(PEwiLE|G7yjluu+I9r)t+zN0%7*5vU6SM zhG!&gE3MJ|U-FyIl-stKD_PNlUU^H$*Mzux&U`DS z#OaJ;N!(^qU+*QUTZH+x=M+?&>U?&_-n8bBL71tjeR(y&+SofJ%|)?AxKxNa1}3CF zs-Yb&d07qB_G%m>YS*7X?lH+k+}Unj<&(&}d|Np^>wxyY43FRCtBx@vv(i`(W!LII zOnUBmzNj;{Mr(Mv_GDsXhP9%w?R@JSWaLaXw&x2b-yjyMt)vN;?X9{%7~CfMt29Pkp@H{ z#tOn!h8qsilT0T>73dJG9gMw*Ef6Gv*9ZWk^+?IW$)5|0M}B$K%&`)*PoBraGq7>8 zthTmR+OJzYJ+nhyVwXjlr7UT=s2_=S__po?c{|t&L>?$e{4XMaU~VR{2@(wks0=s{ zPyiy>hyXWYGo=-%ctu(UvEd$!pVm_~#dF&YBoxP*`4cA9^rW}1)`%^?E`OOdD~b8> z$L)_Ud4-lwQ{;U>#Ysyd4ehqJwJ`BCEO05fgox+9vWt>#1x-WFnyxWm7N%y{G9uCz zq$M&dIv|O@H3*|i?uJ=5=^-*MJNzfgc-Akyh8L^qDc+EgDcQ0iX6!C)ic}Z{$vsJdpCDd)=~^&YJfTIKMlX8o6EHQ1eibId(_Gwzb5t?%m2cyQjoR8(~)T$;b&s-WE=; zcF))1PJK=9e%98?kdowQ5pIf~fBRIW)=Vo{R!q|aKt;HXLd{X39CW+y7d-DUdxU-k zEpzJjp>R_ao%O6?F)tX)3~HBps4v1=LTJ_b%$owOKroi15Iu`k!D*Amw`Ib|>|bxx zLlZshwGx(eBpFc`DBe+W44$X6if?x?66aIZs%|63qN|Mv-wQJ^IELVfw8p2vLss|h z<-HaT+h>_$oK2vBAhcp(H%#TYGgfwikw6f)3tGMLH$%@*fzVnJ?EN_h#R>2&2M}DE zhlDcP5gg`+8OpX7OFRzJJnk{>$VT4CsAm#U+nQdfnDxJe7avE_!C$Ycp))jjdm572Sr-Arxph)@-1$Aef z3=wLudx%KmTL|BU3ehR4fZI!WLZ(%%h-xGP2GMWL*O8S`yP(Kq=tTi+Kuah#S!EARwVEzC6r^5AE!=(x3q`ed?=UC!7y!%OoZW{ z+`5lS^BAB7-Ui2OKh+R_C4-7!y_1;UW6^|1rA%Hep$7AO9{#4AXl8{Ie)9itKA{mX znY{~!|G}=VF7E=H?vA><>r9`bsZDmwrunwd*r}G#0=w^QWq?n=9d#`Ng@645x(AlO z!`=n0&=Yw7EtPwtuCHrkJYPot%?P%3SG0}?JN7J6#fLJyRGGoqS0R5_`k`t~3|%Q* z6Sl))?49Dhdmh*LbgOMF9=p+G8y%q8(%1fSl&d-UCzh}6EeDa)(@+!VmZIO>qhd*c zl`G3`hlYirth{BFw@{QI>Q8uixVilv_||c2@V#6U1|$&%5-VhNOI}o%<+&DImsZ@^ zz1JjPVeoT^Z;QT-tdc~z^>~n?u*6`>p<&JXSr1FU+DXt?>z;1$k_z9)7A@`ic2(S3 zn5BJ*KRKqBFj30Wo*K1p3vS~Xu|Mh{8Pm4tiG%0c(T(k6{ic3X>!fQG6CX6$hKJiR zq`t-(T2Pf!+yMWQuL~V%^*YnogG#{5~UVBkt{+Gqh>2B2~UUH%IcqaUT zh7K{g!)WK1CBzk8614Hh`-^KT;n=m^oHp~ZZzH@|@F66OmDDIC#7%G!2d7y)s&9WL zhAY3Ev*HdZVCUIaifi&uOp+-#XXtj$z)gzqFd!AVkere}icq|)8U+)8PXMCYP7=+WPx2G~^4_xqlKlxqi-)*dyt zYi><`24b&TGkv94AX!$8M835*tXebHxvPhLK!p>p+5B(G$|O~(9kNDOPN%1N+gq&+ zT)@QK|7<~vw$IS1#(tdvyC{Z=sGE5e-k=~dvFMD9gzyzlh(IWBSEo)uSf&NOqH27v zf=hz_9e$W+?YQ)P=q7s;jE;tknI!k>^($v!qS-)CgY=upte8c5vUzayi~Kwt7Ipq{ z$Sb6k11s{&e2$o6=@7F@^lbGk<*^yihL*zMWo$f4Sw{lq2jqv+d00!@J?ZuKJO@(a zROyy%tLrSpmBrWR%aLvqLUtw2x!)sh?SjhfXp~UXbYsW4k818D1EhOeFVfJ9*x9Wv zH8qN$olJ}kkNVKkcv5n{vO1z))vxW9Rs>idgupO2N##hUrkY}j56%B?J}<+vka5M9 zalY+BfpbfrSBvL{@KfD`sqU5A^^4e>Vyh4-$03XIEKN7dIBUcb94XusFu@QR#KZ{> z!v~0c#B?1&nR=y;G1w=wuw?|)U)X->)!`(QjEp21;bbRwO-% zHQZBSQ1_qf$`AE->v~NymTkC~lF+&cQYsPKOSKqR+eitaCf!Ri%hzRWW;&m1_7( z+%-Y&8B7KOuCP*U=a<*24XW!0AJ#;uH}8vJLS4U2=ok})bW~KPD?t|h#F!m$E`S9) zJ0fB3F|W-)fk50Mk+C7f>&Fob@c9~N*A2z*@<#*=LndU5q&7{L2+l-?*12lObPPI6 zD@jovO?_Sjn>7SY*sNXoNl>gkOpR;Uindut!ifl-?nG%omO%?1L?*iH2xgmb(CTQE zNA*fx+%r^5_z=2rx63CgF&VpW=mwDTPkQB$Ge#Rn&g9;EV2NLs3-48iU!5kSK0RV{z>${}1>TT#KW? zE<)KA4NV>~)a@Rmca~bpBY+Vef?ox>5Uc@E9)BP3!-$)-qNzz?Y+r74%~Q+57iQ~o z8p0H{p@lqj^PPoeXkA-C-lzZ50@!E$M2e3TWMt`{+lDGFjnUMG)9inYP5ANSVj+-6 zfFMW83T`E;11I8RjEK&@{1coU4VCVft$oYjc1=i_x^DnWj_;WGp$scc;|H~zW%+MVa7TbN=knJe4JAsk!EU|hQ5MeaTyuk zpViiKY`iJKf1<#(DATFswAPGW9qJ)pz}%UHYc3jD7V6E52l zs$47!PG>I>e*3%ayk_K8X33fxN@6$VuWSxg=I2_e93+|CT4;Ttzqvk5T2afVw<>SJ zVA<@A+c!q21W?PoeiSN()a^~#%ZQyex}wq7r6!9gt^mTmpH0EtE!svw(bCa`(!Q~bdg1NEI|255_3mptcU{t@QnE=ly<0`u*hje_Qy(Bd`4;kLNeJupJwONNb;;@Wh<27I{X- zrMU-C65SO#)RV~GK*{-59A8O^auF|c1LeEAKJ%d}TNr zKAz@UI62lU^zuLV%)7hEAtNq6r=Y4s(5_gZQLdWf9RG6XzacN&z1_QpjP@@|k(e30 zxjCxoOvCzaw6#J4nsR?zUSn*C#uyN5Pkn|GHx>2`530Gpt&0oV@Hx%#gRsY0YZ3Pf|jw|S) zZ@dc}3kn5x`((m%J{)L-1uJe40&*yRZv2aG;R`Blm%QDjFkPChXEV9~u8zv@eSs;O zz^=MUJ~3&54mrGmo6n%mkDBd4-2)84g)7lPnBd~%bxz+?TEzFDHY3-X@wk(61G96E zV_f`Bm?_D&3grY&NLEKRi~J~~7hHm`wTXKna?z(+Sz2D;J7hKW{J4i(_hams zgqxSw-yyX;LZK@XbQtJ5VUhpT>#JW2nWu>-zFKWN(`3 zFD!74ORzqO7d_%)NfY+AoVdAcCSD~8d}N;u7z|2GGQkrjR83Wvq228&Z13};a)@S) zm`JiPfmANt5{g6sGU7%M#`Jbsx!XSa?B)AzR5nHa*OzNJWT&uKJJc_(gzcW$|9MfY zU9)ShoBWca3F)Cvt@6FIEma&sXnH7X(YY&>1Ft@7uRG*Ew<*UsWmx!a!jE9y4SDNT`yQ3h($2e3G7tbvhvk!#rANXK89`AXzz39&;4)ZBHGbh7bc>=!*z` z_L5zrAG+*!13GjONbtdx^sAeB#@50A~FEULP>WVvG0QoFO4nY$znh^ZB`6#Ru`G8ddIqOKJUB9Z|MTzmZ;u~bgB z#;XsW&MjUY>fP+%oGRP+1M$~r+%-u?Ov?8yp?`Lw(x&Ob?c`kyC03jVK$xdu>~j#V zW*ba*0Kst+r*k5^)tMOmR?tmx?>e`5gFHhFlu1e-pTuKvmJaDW6??UN?@vN}j_n4~ z*@L5<%SSK15b$myfb1+;N0qyt=v=?-nj0@6@^$>r_tx|68!Y3CJbRmX3EQ;jwH7=k zPPSgxm%j_Q<#E_R*}Zh@c--Z_$nFc?N$q5|&<`SK&VRH8GAU@&57J;mw9mKH(0`ME zuH4aGE&fA2)Do6a7B}Q?fL~F zo*F67+xuH`asE%**KKp|d4bJ%x=gspY!92;3@7Jun>%a5!`1kC=<%Ek0S#JRJRtDz zp7+#m`!%Z644DI$>$W7J((%>KeRG?s{HV)kl?2zudt{(CuXu3m{(1g<4b$pSt+Coj z*ByhwX{mCFhy}F#^nP^bIJX6--rhqk<*y}s*L=SZ|eyx(cBT#NJt2&;zM0=djw`THIKTq`}2w`<8I!tE21 zQ{pd-{fuKCgakAxc-lB^(L4QiP-O`iW*eR!nIq^aS@{3@oFs+oPn!Jy~ZKUtYoL&MM1U(wK29zsK^v z;VL;S)3O?x>+1`J0s?`Aoj%|e*%qxYJVDuxO{<&7S#h&+W;88G!6%reJdYh`dssFk z!jgGNRzqzbjZK z;-LZrg^kv6#NiEyOL{!KiVdQ@Cxp042vv|z4BNHOF@3&HXIw`oaf;JMZX1e{R*F&J zkG~36G;{haGLiUJm~s_R!T)g$H*^CbST~Pe9v9~U?Yn`thm)Yx&pL|3#;RIDGcuC& z6&^-O68aKcZs-G7a9(;3_ngs~r$eTQs`6U>1pNhhirX)!>R)9uoD7YJdwz62PI0j+ z@VYwtSX@H!Xe<9r?on#jyPxl#L_Z`4HC-}bY~>}H&`R;N-^5I23Dtq1J=O23Q(sXk zH$D&XqB-OeZJM{vT5$-|+g$PhB2I4rcb8`=VUyQVCZCon3TG2)j{Um7k835Yn*o(!)ADq029>`pIgopxhSz-yJM(lX{DN?Q3#(uuvOy@pOM?qRU*iH zlRrN28k%Dnal{Qk3qhD<+(GH4*xFN$ceCfIQc*h6BgxQKWjMg_tbnZX===xdhGu5P zme5Hh^s?AJqS-~S=gw7$A@1}In9E{S`H*efE#GkgBZYwXRsTSWw2Ul+`~Rh&@(ebQ zxD?@Le2MgAsvyb*v2&GN%Jzy3Tp?3Z|n|>1nB((BqTV`2Fel zTIhgH>`MWYF|14>xEL%}{#k0rmVV4-5;teyCeCj7M@A?uRY|t{B`n&Czh^AN`e`HM zalP$h_+@Bnas=>!>lnv%l)Nkb`c$ErN{$ILHQ6yE?!I#Eg#Z#0YvGkZCsf%l=R9%9 zx|1bXh9(x)ny6&hZjv2Qh8yLdCIS+OEt1_qt43x8Fq}mKfUK+<_3MCZYe81>T7(W^ zFMk~aGopn*i-D);Wjbf*$M22;LBAxGSW%b)$WxbP_?Ru2{9QI`?a$kWPUxOs^4G6l zuu&HHO^lt<*vR>nD;)N&^DGqXf)jZD!!O{TwYo?V9^BaJk@Ickz~dpK;DPnOGj?QhbSLn-y+S6LwGMW)+s`P^Qfb$TFV+#aj9ySM@9lCu8?!XH9^xNDK9^ z9*kVrD=w&cQ>r&FKz+>%7dc(Tp3G^(g%jN*-!{91+((}`OIGyoczThuhm_l56-8}#J!{05qg9H6k*A)( z*KjaDxxzv;-EC|yh&s)xeff9W%>Np$k)sw#69i4lqXut6?Eo9kO3n&oAQDxgFIfk# z50sQ24b1BHNK==PV*+d43tLCxj`G*5Ysm|UOXJL4lf9KtV@lUnCC3hl&sim)#K~qi7 zA<~oY5^RVZfe&+l(xu2-V%=8Opkt%E(}X?J-xprSESaM(~LJ@gJ<28ojl# z(8zr<&wBEY|L?HLcV`-2LalPEOjKt712VFpMR8Oijs!~g2Xg-qa#}iM6M(-iK*_y4 z5DGm+Nq3RJ1VX%}uACieabokjOhSjE69D8ka%e$-#K4*$2gyuzJ)Kxn&~pp*lC=*5_eUjT5h&YMZlf@YI2FwETg1mHY+Nu~_kyU5UGU>hON8;*Qco`CdKF76pS2Og zVoFRjN&dRcsTLEs!89-t0Dpm)s8}^lpIUVS->%bGtIt1f*Z19Z=?17b?F;76WMzO# zoY*3J#0mg(i0fMV{E8C@YlOKIhYi0frm~ijqMdg(Zmdz%_WLy<@roWPKX2iGx%jjQ zq5C?HprG}Bi>r&q65Z`vx28I%DcRangECFl)(=m-*&BwRakqrswoj1Ft08SP1YQ#- zXO`R0Jhdfu7{}_Z34o{y3KW?mjh-|;Eb0hl3Madz&mANRV$|KSWfL|iYJk^*!;nOz zvRHn+ZFe(RDc!cSO?u*!ILj_>Q%dmmGRHsj)C`&^9)FZW+HPAKd3N-i+!1T+X^6>K zTn_T!AVU136$sT5BRz+`iMM^}8qU42C+K`)5%rxAN=M4)StI6J(vdO z5X=i$oBj!io)-O(_ledbct;OBU1V$olFyOtpc~>H)Gf%>r$!LhstBB%xSgH)-1FnA z>~EEQ9~qIii{t(tA0PkSQI1PR3Zew+O8gAErLd4vlmihefF`c@FFvHR#^%(O9!D4@ zm+{@AldWJ@sOw{pT}fY#Y&!UB*_)&gi*u{V0`#Bk2CK##=h>vTOC0w0e+h{=^X6{N zzlFHd@DR#5^_|gBL!K_yq)BYLLpKFW&N}t3xR6{6CtaNtgd~d-$Hc@yUi@1iZPme| z-mS`|_#;eDt4PCt>@h<|tu*%y+lP8mBR1V+9lYP`ILJ8{Ap*Xj=LD50Fv_-hduD58 zMELF)yAJK^Ld<`*gtiIE zC0jx*dJ_||DF@z51O`g>$1@s+fyyHg^@R5JT?@R>^D`yh|94RRZ#SDZz94MlMwj-Y z3B*t=|Bm1wWFs0JIuz{Ip^7b<<*^LAgBDAu5i~u?9iW=z-T$6#k&ZM*WYRpzvD3~5 zE&CaiU^mu`kza<vmDF?Z2mh35i*voBtIa=wU?cw92a5xTM@=2rg zvK=p{25iJ8r%qjcYTa7XyR*_MJrDCmFM7y*^_6!h#(H=5ggD8S7ron}!F_vQESOxQ zuX6uFz!w7*se`0)RoTd3hgH=f2mYa{YkYBjcQ4NDCYNpbY2UJCf8u(c^MH^ z8# ze`XgCRu>L?&oOcRK2$v+6lPjKF)7b;k#|~Dx+T`V=)$>pkD`km_KoVk+7fi9%@Wpw z9bZ#WQDr#NBL??I3flcTQ?~TRT-1E}FT|z&>L>R+kXw`v0IXdwFHA-EmHDlJTchha z*-QTEsI;YFE}=!=p%cX8g=J_&27Eu=Qn}df+_y9LJ&dj7&EyYHfjIqr7ZXC3Mb~VynuxF- z2*r`Q0`3X`cL~YZ;N=j>9bN@ixTta(a#L3wy1i-s5vhiMt%}7Htta2Ed+O7<`&O4M z<1!oS>%7T?;<2<#4${`%KRMEVKXy}jHU8f)H#N0B=K7cK|8rE@Z{ST@hnz}69CP<-anp6Fa8=vN`Cy6G3%iDc4>}kCBpK6bq z?M?KfB@*;CU-z^u#+Ff^|)?7#Q8I1 zM6PV+8qXz@%z*jWFT3{C6VC>7JG19(N)Qo!1|Jn134p$y$y;K#&#BcjYt*M!eGWzR zu*Btkvkt&&h;gUP&tzy?tMlCya$EGl3-R@Nwv|qY!Jh>lCE4ytjJ+g8A$tN@bz4Gw z6_Mv1bV8b}ltOqh%H?I;GR@XU9w4zG0WQc`{)h;JnD+5VT*Z=2%tj;OsYx0XnaOSV z`TD%#R>@qxs<2#b8;@}OpP3s>!>kS5K4SBzBVmC&@-79LKB3hiH;n{Ot0g*S*3Mo9 zehMk6r@?e7#6bCY!Nqeq#|-coTR4FhytCAp&!D?%#@fi6C28b%YVbCVK2}}F*@xGT z$uN{69R_bcmwn|*i7fQ$$&PUzH17B^LU~K)wYr!RB4UDH=2sj>yD9Nfd|Il6rmw>I zSH9wy*)z9m>-Ar|mRsHVBD9gPd;2;i>VRChSo#r3bE9ys$$PJct$Anct1Z&9X~|w7 zi1I2aK?fK&2%l+Uj=ep9!mD7o4MK#(#O3zOgoQe8NHr(s)qIGaZ_z+;ZpJNY(wLpm zya;jbAR{|+B*JwDuzlG?vAjh?S>2>~Dt+OtlUAA>IsO}$yf7NN$@~|98DG}3tJexkq#&t4c?L#>M`IC^Lu=Hgj!KCkTm@M_Qx+>{<|Tq_W@^k)mX5 z91ve;I#j8?!5-HQB9*zZ|e^Z|UN{j*b<(ruewYjMN->6C%M!h1*xKU}kGBoZMXB`PkvnW{RLs)c&PjITH zV*el`qc*SBM{BRH{UK=4?Tog^^*6TuSv z=w;Qa4oCN(YKU+`i}yu=ZJBMN7fUYjDzxby^_ff2w_0L%&Bn~ysw=J_W48*%1jr!( zdoF%sw`Yry@s6>dwZMrxwOx{NjOiX4I+tUij07RCmI?LI)KuPJkOb-gFUqFi-Rplh zq#q5_o*coZExRGCdKrjpk#WSOp6vMGKWIKb4rCPZ1rz@@^^G~6=uVD}t>_o{R&;UG zk3RJoh-mVOk1%)5wVrAzo(Qv^YR*+O)eH@DjT?)D)6%6S_kI1^5hV&Ys(JI_uS=!| zLiUC&OD1dosWp8t%kv&LZ7>d#WzCYRjSB1Ej-^_W2g)tY!yl9Srzb6+8N9xqiWfh8Uy{tzM5+Wfvdq zVyn%TD3uSoRbNUwlcBQtO8rnuv`|&mrzYh@Ol3!>Gtu4JfY3jtvfDG zjtUy}=h=+PXxhg?sVTRoR}PLv~K4kPoP74vK{$5$aKpRm!2&5AKmEx z+kdn^QhVSJ7SF_<=4cv1zMja*$|xv_;sq2TI8$^Uaf|@=5`4tT3cFd8|J_mq`dBxR zH9#VD24If`)b~dV6jvY@ z3X>g|X}!=9Bgq9Iis(C#$jUBj(-M5U-#H|Bf1y^^JqUNuPbahf!`P{xU0d?qPGkkv zJ1hwd=U#$o!z0jGa%e7Y(AUku8HMZl9EpU=ojn8Un69`zrTDIQ!##w94Uuz5vg`#? zMt6GJO_(zbsDMVivS{%HHyDCQSb;;Qu?SeR+g3*(I0C)v07jf>lKQ;V<|OV?=bl4* z(M!g)K>n^CV&TYJi_eG!ihz}G#}F74Asx?;S%Zp~lcIU3IalPiV+^?#vr3%{7d>;# zpWgSt@K{Guxs2_xDv6+>%?$YJE2YdsNE+aDUWft7`P+7#j0iH!1HbQLyfd(ozvdVd z@E?ZzgZTv}rig7*Sj{I;wf6nz3y`KLZ>M`g{+gRYORiPANp-$sj90;ZL6I}iS*`^p z>oy;{+5l+Ki5v^A{P`C2;_q*HwugDvFI&2_#(u-TFK09`D1&Q-^U27#PCei)VSrw% zsPsrJ;-hy=GUP+~B-`qXxl!d&wuiV;qdslf8$?$nVDktpAx5cA_}LHE$=RI)Pv0&W zCnr)p@XCO@eS)FfPv&3#xF`o4eBLj7r{{ep}z1zVpiB z-OQw@F?mUkO3CB(Rj$kKuWxo~s+u1l*Ii;kg#uYs0*gf`aR~lxV@^Z!B}KbWxNV{r zaf}+)aEKvq@D1R7Tig_gC|;~zshoY(#!8rwIsoHky#r%7$aBi@3c@FtW)!w!zTigT*!n znO*osR|T~RtL*PHPuTM;>(rq!I)Y>ja`;>Z6=P|LzVj{Da2cYHS~_lAR{YPI=7gB%Rh4$-8NS2YhL`2Lsub8ny{xxk^VIUtN%nvl zhB1qMp-eYY7*FUv=^gv=FH|OLyf!O!l+`4G8kMC16SYuSZS>HHcQhxkvI`)V4s#53Mp9{Hp?Wbb8 zM}|f^JCjZ?CQ*YX)ZIdR(}u^suRZv?JLImk|G-uLRD8Miz;~g8)ludqF;b9+SA(1i zwVP~L88nl0d;L0{1v?LCxOjZe%G#SSh1AkN5sfbGTSrR;#m%20KCaa(UUu!#r!M=6 z`oYR7$2!eKW8ZVb&W2x{;%5oX6Vq-cE5>1kRBGcv=Uy@ zg~xnk$n7r#e~${<=F(c9`wBD56N0IDnEJIZ{MRl>81GzNjO>F8SxuAUHB;l>h5aus zw&cRuI5VJ8Vm_s0R|N!!l*;v#>6{x_ZxD3@c`5vz)A{K#$`Bu6{=2PxG}NOX&aEN; zQG>}FX~5F|ZT1(aX%9O1PjbS1I+v%_r@{icNlzJslgs$|qZjQY1?(dXY64X?ifk=b zO59{eu->3q+#`nj5@ry4d*1+-I|(de7Imd3v=&NJvxtZe$Xber-cKzqiY2!VmeouZ z(Yj|_kK7{MLu1vw04LsoF{E3Uo@S`vC!}M=Scje?%#?dodPXkXUAgm{S9m4 zJia}V*iWV2X6kg1<}2WS)R)Bmuq_*Nv-kAQ1zm(~0Rc zx`Sc|q6F%@P8y^AT^_)cjIs+Zfe{*!H80^t^uBM1Y8yWWRJA&#L}OyrNJZ$KeqH4Y z^LA+{^q@qN2+66syvagW(nDn>5=PKx@T3**F>wnlr@&l=&>RxRu%P#U_G~><^dxq% z4A*f*NtvxyLQPZhug+ui-Ow>%{ZECodersd@uS+7!_!;2)IH=1tqaUt7fT`cU$7W6< z57?rl{hO#SfRiYNa!EcBJxOXRbeK+{8$NtFHsxgT$D>P;f*@}O>7*O7Js$|hy8!zbo4tAl1A zGnB-dLOC!~QQ~-}S!Lv{7a3hjN$R0?)#jw^+UfB*HU<>X8XOnP5h^aZBV7t=f<|n? zF_bw0#ska=n7I%rWK4Sz)2eF=PLv+`s4 zTb+M8H|FJ3u^-RF{}0bvD?i73>V11h%;~7)DnG$cR?U;p(2R@>BrxQwXQZDgY(3*H z3DSz+P z3|+On&qgm-T$+QckUu)Gj_*HOwy=B9TrxiCl>VW0P8$?EOCFz9@kw9f8ocL0+|2#+ zqT?!BFM&2NHQFLw)1W9UeV%R>c^fs~{On8Yfb_#t#y&jmqf1ud z7VR)vj`R6*-nREQThN`{v0BYGwldb=Uv|prZRzdkhwk-%@4rXLiBrLX@YEN6BLgME zfzEkh?Jqo?3fnL%JTHIE(u}%t4dZG9Su{l~=|SJnPxSL%4FJ>Ea*|s8c)O32cAoQ0 z3~|e4Pz~zL78#nqq4zhKz7DGuUaWh`ug=<7IP~%NZ#RY`R!suoIe3CmuVXoZU@R*` zX)qu?4b=t#JL_^&5Eh+}aO(YsyyryWF|eN66Y_%35Y@BT*yn<7hXr$EFV?7S`5wG15Diyr{hq}c zR-E{zI5}i6HTXVlg1DSVefm+^-4TVadusaf5m8SHz=Rp$KHx(M zK?Xw81FRo0Bqrjv8)9HhfgoF*OCsd_dy;^oZLol+e)%J$t(1x5lBdY}em-VN0CJTB z9b5=^eb-H_8B=_ z(25tGu*+jjNnZ#*BjEgSo=o^Da>ES?tq4Tq{7br)>7g#|FHQ#Q(`PEOnYfv5b=kJ_ z+x>)n5Bd9@C{WR8#GX{qO$t#)`Z&%oyur0i(X?d8nAB8!uh17N zn6(h|zC(jzS7Ke|9Xg9H_x<&oi4y~sIuLy4h8@W(0#&&CziEjCktB)WTa8NP*B zs>iF0(@Ea^wbtiiZ|AwD>b1RcvZ@{`KT^6eGv;s< z9&92C94{UazI*}5_NY~ijg_f~lcBhdL%zyyCE$VJHzgDMfX=vYO5Ah$V%=GEHA_Rl z3M62%T%27?B13(uEJjxXWssopG9`IP3Hm+=7DAzQVoq>e{!5}!34-F6s?`N%jSB}@ITtwEMRuL@N|#oqA^H z`!xNp3e4tU-yN|#1SP^``D~g&oA;QLzaY>5FVFh&SVZmlhiqD34UtN9a7UoT;N<@1-w(ki%*i z!)~j)t1H*tVu_mddO+PsT9cpWL6XShMY_Hm?fxJgl<#i5BQg20ZE)B!XOGKGmGN-| z=pOfA-6vWKn-WkeXIO16Nm8QPyJevNuSWz_a=a#_^!I?UZYo|V+DISls9;=8fu4GINNKXww#dE>k z+pZBEy14(){l@l@x8+*iK0aFy*4bwjSUfG1*8XdU&;^6>4k9YG`1g|H%vP7k_lZ3_ z#Q+8*OSBm>R4hpWbAjajiq;Jir@7e;DDw7Gab1RXT=4YtoSK}7Jm&qAxFKOG4PzBg z_7+dpO^p|)_jcEtT3fAOfW=D3zv^3g*l69w9YX3{Ou0#*JptD1f;tQ}Zx8-O-|^q& z#bfnE9#bzaK?W6b5Xf$$aXVv&0^O31t_ayiMoEYCwWJZmi-Y3s4|4DfjBXxr(Ya6~ ze#~d8sp)E;i?nFc139wDiWiXIp!wbwT8BQisAZVgIUJRbJAy&AFK|o~H>3;4zmI)? zxbjdfiX33bfCQyAMKOZI(V0$T=2-jS#-YGq-hEK=={pgOo`GS04BXBVAZKv5g5J6j zv~=S8L%&EcVJzS$K{4?P%2D(`%8zKPAnAbK7*)GS00MlVA_W*eI=Ws2+8k_N?Qr0+ zqr6O={LfDNwBNkQP`vaj6T=^*8R=#<9i+~ONh~(EiaswK?`~Y4sSOVULB%%B~X5MMAuyY|Ee?GK|AGjRa#=m3LZ>7M%`Jl1ZI9#I!@Y zJuwf0Gm8nC<2!sK&M|1(?4+_-XYu`Aw|VYArIqppy^7Y;GzN)LEecMxX3GZAFV8P# z0Udrx_fzgiE^FT*k@*_>Ex952$sry9%NktFYMT4z#FH)JN{8vDjh<59;H_EcAic4A zV}q%wu=Q9}OEMkH)b!9Emry`CdY@?gBQu+o_N8-Tw5+VF-gs@((sM2ga8XjZYjBtY zMk@t8pBH`>G;fcjS^IEDti%k3T4v!CEE7)1aCHN2vDcUE)YZG&P_brHOmKgSo3_-% zmTU6NLo^=cM0O@av!SXbBW=ly&g@K!<;M^4Z&I(388$nK!A(6bC-Cnf=vhvYxyZK* z23G#xI0_cBM9OzLCfmB71ir!8k)!;1p}K;b{5UpQ`4RS8kJ;;|TP_mr12mE=FdaQa z)yM5TBY@&DN5(^CsyHsoy<+P+aNjTSqs;-jM%m{WgO&>vvp`ZzDstYjT*n1Sm|UT| zQP-abhgrKo>UcUvOlUL_WolGSUv|z)Gq%dT+P$iHHmL`lsy$Ndb8<{zf1x}AxSoHN z)__zO+--q3qSNae%qeSE5{MvQOe*&z5fClN9Y6$Kz zZg&uPVquXcaJp*t{X#8HX`K>hg(1R{Jo0SD{h7#5@2QeNi9 zzt8UB*+JFKwdgIs3=I}htAg6F8lw-~@5B_K}YDAf~AuIg=k zBV*6O?y4$#1ho|2`4e*Y?x;_7B_szm+Xto85UoLhs7g6-*gJ$parewuDU!E~5|K$u zwGH%(QaK+>6|1?JYf&8*)~~&N`J;++Z?^aWyXV(Yb>4?j^O7IEE3BKWY-MK_ zTf+M@ii`y^oRGST%&+SD0>$kkUwD2~uiuC(PK}87Z})O4JmxPH^0b& zpL@kDXV^U_wHE?a*}F7g6y6VSJ#eg&SH600d780Q-PoU-2Wpe#VqTnHYZ|%UMv~es z-u{B;OR?pgt2;;AV~4}O_~~N;6sf2ucH&!df6SrVUw{4jw#4;i#GNOh&0X#f3D9I( zy(HN%6rINUJ+~tof^1?|*(s={$fq~FS{XzgeP`jx@1 zq&1?fegEPy9f@H(QFO%5Dp3ZO;c5SYbsVbf&If!U`UGG$00s7+azNzX>i7#VAWkQw znojljr^c2cVDuYdL)0l{+gX_^Ur3JtpG=o{%H^P^RS|b5&yDx_^NzrP7-&xn@yDzA zK0gmw-=y7S5k!8J4H#DvWg{^ng2hM4or*V=Wj12fu-N{{O*RwAeT!b}G3zN!;+_m+ zzLnA?iLwH8ZE~BeM^$vAZS3thfEMhuE4&O?`ZHIYJ2n~xK znQ)xfGo`b^ZpF_7mS;M;@Y%pWA^H~Ia?}j;JZfqRN{?7yMX+v>skK;c3q0@1HoJ&> z?5DIr3`_A)J!E_T$}ES{&kEx_$Q>e>?1o(Da<_xxb?QX*oK{}}44?Z40p@CDiF?D) zU^I+%cAm($%yr(DP!rvRCH4%`^BEkY8*V+9fD9M-7Pk*KG(&0FbmmASGBnl!p4;MD z?Ca(k`VZ?Z9fxjnE=I_wV)Q^&=l+XeXHe08?KU=s5(i>ZOba`_3yILlJd1SFafQ94 z|2)%jWMp*D03e!R>bZwiZMX|r9(V4~swVe{12* zZ<1~ue2viIw=VK?sA=bp*1vD^G0Bs>O}@X$5`21LQ9HPZ6Mh=8bY9O@B2FzG!P}el z?_!7q9Ihi6GWsj!;#UjyaQsUuierZ`s6olsd>IQe6r+USWEj+PXRhlRi{ z0NsSa`~n#;G9X%&>M)BUKpBhh@xvJwOsjb9qs4!r!o7BZ(fWT{fVY)Ip#@EiXuufi z)%2MpzAs7|Oe8Q&?|l(Uo4cDo!Dh-*8S9+VX>0Lg)d16sy>$v=r5fO9J;E?|ieM@S zx+!>6yU#gX4;}>W=DTobBf$pk_#&eq!zqSK z*Bqtti0_*hxA~B+4vTY^@$QmqwiDs%Q53!sAw9v*N4es({^qHCv#lWU5=Wes;b)97 zf@z*sgd7Yxsc(rw&hB7K?#*nE(CF)KC&;=AT6XXRz_fKlfHS8l~}nPwD7_o4r!de7;$OEtvr>QJpC3c%VU1M+sNVJ5-r@-bWmjTdVpaE_o}Mdm$v;vYpL>pfw#|jv6fGv6heg*!NLZ!0=j)bYOV7k? zIlbkfVt?VVhMLkxFSTsvmYl4vGe>j+?;JSjY#g$C>NOM|wOEjr_kW?%hlR(`uXO)7 z5c6Ej;ltu*CQkaa(j$i7M6c+Xr>CnXmj)Oa4<}6iOz`_THQDPB@7t58DEu#TtV$@| zUo=?lCvRyuyTqk9j1wq#`9CB(u{U$q>Wk`SmDnfzS?%gLf>dXdz3OK z%I$SVjJxd5zKX-zgBNPEZ}&}1HN;Q1%KG;>SonW`lH~Wj%{Xg7_SrXQ!n{V@?xLn2&hQtvC-$j)2ZTQNf zbj9U#F`Nzaej`MI$aSDW)I(7j^egu7`~1?oaOw@%EqW)A#OD;#}hr1BaUde)9Ga{6A?f?BKM}Yaw4{P zG!{_a7+6?`rr-UNe)!H^6U)!_rZw&&-(i#+Jx=D0*=L%hQu?pVvDW-sGXKAWN31p) z|MNg``Eus5qQ1Xh_#|wd`^w^<1&5*}ew|&iZnmuWlR$|D^CUVKXJ?$Lcxt*Oxo&cp z)$G=gBYYaSEp^vJotMS3)K&qYhWi=nH&@YSSt%UB7c%CWcnvb<97BI$=#@(j{#xAU z+!{N-)zNg>O8HrHOjD1CYmdDiZ<&56JMj|fv#jP!Q)#~raQ|NsZLr^z$#%i@ODPf0 zHf)5=x9?%gRI2Rg+Z=xL!IC1;c8!Ckdpcy#>zQ0L075)AvA-FhQ`B~8-RFOShS!K9 z$5^L|E}nL26+U{LrDu4RWd4hVSkzW)q^6SIROE}JxePZqo{!bmF#T~rOpJMX5b>Fn zuGN((k(Z*;EnR_A(Kh8wn7sJzoR*g2f@l1=yLY8!WR@O1WLMlG^3bF{;g;uYAx?pX zx_B{Jd?J19Mz5?gh+OJ)Y%?V;xjAK-o^$|u50IWtl5B74fcSV~y)58|4@+(J~$w&vrSDYNtMkqECov?OVlEzwr08)nQzHL zO6WhvN@s)L96w~Ix==Ub!Sx0Y-{1)2;YJx*DXHvD$ysN%^CBz9(*(WQ&?I9jb*F;M zB_LdH?C6|qN>t3u%^hL67p&<#{Bjx+OYL3<*cIom|Z?Az)gww!Ce~Ra*m;^2H7N{W)|Y!P`5Rz zxFOW^nmA?opO$}MrANScMbN+DU$RED1Z}uP!fH7_Gk%OM#v*XfRJOKSlDfTXTRF5mbVdN%{x&X6;7hT@M@l%KxL7a& zcsl~Ruh22`U(f>c(>BdSM?s=fuAvDkFdbuvRV<+tHj0?E1X(`!6rB$3N63fcDcpls zmPflq{T*P$U4B4e?fco{|DH%`d_^lgpHb9eco%2F*`ZVV3Py7nlo$5a&kiBMNY+~I z_~1bh$`Mb8Y&`sSB`ODNAAt{V-;jncQ1E^+5*jHc2G`quqHWfgXEv7BJs$VWROt?r zNzatqDMT_vv)IgvgyGOrxH1C1>R3mZfI{&PQrJrl-bX57vd25j9&SgMxd3FnJffsT zSNKVNQ>M}@E~Hg{HlcQc?Fkn~dYg7MU$o9Rfqf`pBxWU7AFcuFMtx9aahp0>Oc`J; z=2YxI_ARN!WiS!>omed2b^f$!q_)35gT6iRHI1)H^R4SC>hHX3*s>)&+{d^jzhDWw z$q(tvt974GUe~{gG+y|GvMWzSZtqk*T6(f01IzG#~w-dSoY$U8X!X3kj8^jJ$v zLC)w`ou913+C!11Q9G2IeMWDkBjin1;@4J{un}dETW6hX*3J{#imDaTl*ELcF&;;5qRVh|)P57YpYr=Et0_j_5{{NQ^?_juPShD@f&Wf1LP zkkSh8<{WrJ;6nginvIu-D=o?hJ`HbV#u+Hg=xZ@S&hXB-*wJyv|7ZO4AbzfL^Tn^7 z*5SKskV~=b-SQwVItbq5dF@-~;zW{X;M+|?7YQ%WyD%>C+jx;^TzmA*VTj`hFy9wH zx*OH+#svJ^*Y-2O?SvG@2u&Yk{jOA>HL61FK(sa`kS+w5#w228MW4w%%Ge*waksTi zlAY?i>i>D3-)CLfvGbS@Vx}6@kN$gPx~_Ok2M?>mXDlYcUx(*J(apS(l><+lZnXKkgN$SxmsB(xZ1V_wvM0-`HWE~H% zghhI$D1RsEcJbo#6PsPDeOoMWwj&Oj&->t*Z<fDros-p^DYQ{N zVfgU}f$#>|Y+RbO8`BpW!JVLjokL+Vy+mR!F#gKNsvKM=lF$Ybz>Aa^X=&+I)_G|a z3VTAKq&u#kg)-_eB0ypE#2ys~4FniYIctL6NX|yIJ5Q1k%$E3jFpRwyy9fxHNQAlm zEfQS}N<6H?JVL2QOGP=d?RpxP;8vl6p6$G^HUv_vKc6~z(BZm^YxOGY4-2VY*(5^c zF~~z4H^pd-TS>(F93rhds=w^0Ap7?+#95?uEA6lq?;c=dNR%?b+ ze6e9>84+H6^eRAxG3Z@{kx%3e)R|npTApOpZ2ph7=S@y-)kSF#)Bi^!r{8Pv zlqh&#v_X!Guz9yR=1LY^Lc7I{;ktkH`mdX=TX`IrcnXNmk_jV|wzq4`e@1l!8IGq_MdubZ=%Q|4?7Jazu$Ad)KA+$B$C4q{!2oS35XX zNB{G@FV)1^+%ZkY_s2WPu}bN;9QOp^90*~JL~bQ%201O)lWg}f&9^kJSI83d2D3di zO7HELmIdbqX}_W(FOxM7BeS6?3K73=x_QN;;QcH9DT+6$?&*4QGXJE-E0qNGyVBCl z&pnFlV;`32##t4AGtv*&8hAZAszC|OL=V!=nK>C|4P@0j`3@yptS?Q9^V=!(arN=> z_TVe6U|^GtkNM~AH!M#NpJ2+_4Ky^tB%K$-L&$IyI)46qzH8@KUTarXh)U>+H#@C4 z=69uvMrMmxBgThaEfuwT^K_;@$wF}I(|SL4M{%2GQCsUinGI)){JQzSD*H5>4Bf2J z@^$g|ou2AQ>khIsOI=KEsyI%|&moKHArOrAIAofo0Z%7MSqheXqkXF0Iw8mP4024N zp(t83L!GvPY7e5KXcV$!%U8ZBopbjtI_1d^U=lc_OtxVPOB6mXoaUjA#!GZ2{sm6d zkP-b5L!Yb-36TW}@G00!f$u>m5;P#bixB%;O2Q0AzwW~X+dz5O^u(Z`$0OIw6q75w z3%E;AMlY|%H@|O7;3EL=L1N%w45yHACUpxO93!V|fGpIW-EvUec`(aaFuY6T)j3`~ zJs!{MMcgvVIwvGIZKUz@1Ub$#X$}~bKXl5MUw7s8m2G?T`}{{{*Z8&Tws7aK$g*>o zcg1bNAISlxRWnCCdH{smqT$jT-IB7LcAu>Rl`ZrrKn0Q9sc5g5M0h#a;;JU9)M%h0 zQnS?8(q=ZO5I2wvoK@BoNTcK+lcqheLBI(t;Y81ongy}rLixuhiB=-g$SQP9%t-1c z8_g_s$*&+k?agz_Z}KqT0XzKP1}9UFLwt*Rh1=bz0r0pgHm4^Y+BTC}-iRMu2EnMt z^@v?C5(fq`@?)wz6kGLnq5$QD_%*(G4skQ!!&hw=^9PabCTgJaaa|JX0B?)msb`DdaOdrckZ4;UH6_$w{u0_ z36U9z(6MAAOwwI`6^~?_S+`i6{v;bD7IGq?a3nA?i7Y-xxvuVxn2tiAf?gcALOaR| zlyY5N5RL9IJgNl129%#xo#@ptRLP6nI-{g<_w%z4Re)V3(r7D>TzkkmEnYkIsBsRe8s8Wagifa@W#gZNG zdYb+d8*B{7_IU9Q0@|^|UEl=$B>&?pt38Y>8c84v?!{5blQdj6t4%%l-;vW8 zj%4t+0*g?hf--nL_Qx6gokG_y5b{Xc-a>s;B)XnSY6XhgY|3VgnIkP%8|ycZci1Of zzeYb)yWD8=j6Q+(0O_ZE(=~g)dZ5~dO>|CmgN7&afgi8I%GdAfaPv4k$yh<*$5@Bn z1$q@*U%9PeZD5j`ia@%|H9L-b%NC+~636P$^Q~WDR#+Q!=Qf%1<%x`IvAmk0o40q2 zQKM5%ty+)AxL=D&^QN=yP|{z|-o7?vhsmnev63a-<-XruDNnzNpSt4Q7>n!k{CP>$ zkv0kg_QZxE^Nxdp?bY_y$IO|>lWD(D2=G<~$o;cukxrqISOwiPRviEQSD{x?SsS_F zSBjx=!O&3sn7PSG&E65qc0Ike6Ka=+?Xyzw<=i1ms#sDm?e8^ws`;T>hx$+x?=Q9s z=gY;OiF34D(f8TMc^eJyF?I(8S$cQy9i~T%CwdJmd`ot8en02cma(QWS|NyjP(k?G zi}Ob}jCaS^Bt-t9Pw$1pr^xnikJ~s+pV-A@I~pTlIK1t73q)rq%=gXPr=2fZ;_W-M zn-oc9ZR)A@0wY(Yj`r`2HNNA+-Np;*!x~>%wHD?ydUuQ66R}cL2jil1bmQH!t8?=n z7=<2R;3Ap$-=}QHp5&tLviobsr_Sg4Oqh$jzw)xq3Xp~Mskl-@XW;c(LXgH1-3bZL zFBVek7D|lNLJ<<3o7Rmp8#AnUOy#7oZqG(S4aGxmC)wyQ^v z)X~DRMh8%HE!4HN{eDP`d?tsS%{~=>ze+E?=vD^`(&$3q&O91wMJGvU?XFuG;rors>ZIlDz9`jqR|%}=$B_Z?318%vV)ZKoP_ zO^+U){uV!(DZ5ik%V%U+4Tr-47+`4xMN{Z{NdMjJz7_Wy)DJ*O`HNSHQS^*p7kZYnGqONj?$8=9rB;K6r-tCF zFm!4|NSh+w8(ac%sF~S&#eG}IxD)S(r40lsWQsQQYfX^l zryiqFj5mQTP~&~_YOBJ{u()L7EDT&zll5xVnpthzbd?eykdaGxWb4~<7|k>TN)$o% zSsTTzl~$oRKB*CYog7U~O$YFe*3-^7Vp_0~hVG?J9htoy90bAPeJUIon%y&NzU&bO z9^AC;^iq{D7Y_UNseNpX4XIg!&BviGPQbhww+-ghaMHJZtg_NSxLrt8Iyg8LfJ_H} z3myGpWUd&He_|F{o0}jXD>l&*iPM{)dbx&`8|kCKB~T~0c>Ee?3DA8L1jJ<5sSAf! z2gfc5d`#?($sn|LbHbTThZ%A-v)zoft5S{kM-STg4wWN7kau?+NsW0fep7F=^zz># z;JT$JUs9KPax>hMg(Hl}mK*vC*Z!V+3seFC;HfrH^JL?A$Bk`_xNE55Fpoc!AYyes zz@FraM7F>;G=hCWkE{nJjshvwrf#1a9Svl=sRM4Q&o=-Tn8|awhRG-L8xY?b5sh80 z2TAgbKKlm)paBGVn*a;um<{;yT1p1I-6_Zh7mD}V3?a8CY;ddFJKzbp z{akj~xBisFimJVgAWL!lyn*WU+Xi@^?NZ$i{dX=E+>i)lkz0l0ks&xn$iptNudJ_n zM(?qI64@mq>21AG;R*vxsx7pg36S|)A0oRB4anIMtYe8EM8(mAvVy9&?hriB82swK zMrS?#R(A=Mv+Vt3weg&EYC6Vfq5taS0OmnrrT^%hL{1UrdmXM`7cN{l56uS|X{dy) zrDhpw{wM*r+9O{YAt!MC`CPbg47CfC$P84P^u!EV1izgLT~AY*d*I>G?k4_@s{DAr zr>B*Q2g)lzSDCEdlp{jUXIp(*%h#a(FH@7;G~(w)?^b^@(^N@3Byv`Q%4&T5cOn@l zM?g{uu^uNQ`DgrEwco;w&g3*{3S$%JzO)oi_vxt{_v~FJ;VLGU)PLV0DO_vf$iZ5N z^rk$2jq`u&%?;NX{)u%{GyD{%?7^bhW~s3Lib|Y?=4@E5HEjMA+k-S|A-5?l|9Qd0 z<(1mg3CjMC!N$x}tP}F`mp7*Rn%g-TSyEAwSkHg6%KBNghG&Ud=uJY@XetJZhM$`4 z2%3*B6kx(ne#OPC5w6{YZhcza5%Mti)OiaFSwG%gjY*8&``k^~>rt$usU!BH-ok%& zq}K3jccBzJan8dFI`%3*{_6E=0gNIsTkpflzMdSF{Og6m-UiGo^jgyr( z5AVXE-JC1=UR(mG06EG5#-3wiO`ThX_!Q7JndyIn;;pW-nz61!>s6EyskEX_r8m(Y zfDabwQEday?(t;s*sUZJIY#BVDs7=`VodTtD$`5~??&pz)Z5vvjge7X_c`_q{QUgH z*{jC-u$B_VYqfHbi!goqyRs9~KXt>KCx+qbfoq2`)CF1eH)jhiO&y(LzqTwvdV0Ny zdCS!(S-+pHBCp=u(!L4ksAd+M%6B&5LZVHgiaqj1U=^IuH=7cm3Ox;E?YoTOt|YGT zNRWt{poVb~R^L7B^JSUN6v;$uwX~etG2OXxs-t+KrKP_*R&=qf4Kqv7Yx^iGNU(!= zq*33BmnTE#p?n`7DgNpI-;QPf38uc*On?2+{tS}* zb398anXh9QhF2$FhLj|1NjPAW$~w~(#gnI?vT>1LLfLr9=!N3gPfx$EvQwAC3kD;) zb#n}i<7=OtOb?+~bUeihryTb=3IrN=6>0<{eX|pfa6tx2z}JSU5Oh22P_ot}JsfES z&m`gug}k5qo&7lUK?jjUG~_U}K6t229k!8~t^Ry8l|`a5z!-&`_$)_g$WSp*-zlcD zUCZTv(JMc3YJo7)T3@$Clph8K3(~6`w|0}C0%j%t98 zwV?)`Q>JMu2Icfb1t13Yg88I?Z7H%P^73d8FaWxH_byyG5wJKy@3p7&{}2A|V+*&H z2Y7zAV|dLW!C8mY4o=DPFY1Tdo;95dN?S>F-V7!1@ipDM?1*I<)<_J8XOu&wV4B+% zp2q(6`z#>`h#p-ARKXrTK3LWL8N{wEXmNI{p6PN=;T&%sCrt|Jyl``U7@0)X@dcyQ zGWee%oIa*-1+!0xQuz?k=wpedV|WwQ1vum|Wgs{jBn;3Y^`I&(qA?Dg+`4u*-XHh; z$?hEIV!v_2FR0tp&2{@lY_+3S~aB1>FduoI6&V; z)Y$L_b+xybLWM?}6-~6&2O;NzFG9)&ayecUd9sFFbC*ZBNF5DKvXk1Enl&OrEgVU% z3x<#g9VT%%;l(g9)qky#v|Kleq@M5%9Yf_WCE5YiAtYD;(_d9F8z2fBqJT$aCegs^ zF{0;n<#}K}fNwGq!P>D#pjkn_bu4PvOV?aAIJ+b=2wRuWu335l7 z^`uaqlMspS0rUk4YamR%+A7SUYN)F}2VB$jU64egOFIW@eY{9hJiHf)PF_b{07J*EW&w_d<j>M`x6 z2XYL8Ttx#@Z?YU}{60@!{k?3Y{!Z~AwpaPngG_J95i67$~YrWU3S zinjM3Nm;kJM+4UjOA?7#B3mW&8ymsrr}H2y|8jn$YTkCC?LOY~BH2_IlkUmksbBr zCjAe2m+F|v%oUXEam$uPL@mSbt_TSkPp%vI{F#Es&9oabWnuL$iiWB5X7gWX!Dl%n z7*W3ic+A(vtnPq|(*sj?HJx2sB@E)8YdpJp-9$e@!kXRlV3(%Gsm&`MKcoL5fjyCa zgz>=x*V-k2ix`QcTz@~WXQ|ls?jdZ6-_UoB{%jNZiZUVpj45}@mnj3lgvc_1tfUgc z2NZHa(c{Dou#}Q!QQVx}<6Q_kWR|J9xw%3Dmy27J$+SzQy3~6vSy+N_q((I8attW8 z?u%Hofo6wP)ibn|NOOLOdQj=L(9=?B&A6&}w0JF}>ed&I)!ixX6Z(63xexukdDs^m zrk&avdmh}e7##~y_8ppN9BQkr6{P#Ob=hY&iFEgiyzBGhSiSM*@>^BoM=Lj_7Z}x7 zx#mJq^s9z2C4=^Yv~=_w#Hu#R8%Mp-mdXB(%dbUpA?2tUb zy>+Gsb*9s&hmzv`I-ekW6B2cH^f$4&?8nRHXHi>EQK;x#7E-j9MMS<=4^u9l81VEH zdQP<;o@!S!gyqF{n)qzKf3F0O`zZW-RCz1dT3lvk(TvDnmy6-{B{-4Qz(4%R2>1Pd z6|iA^^J}KQ*FX$IRK(M*Ez?VVROKsAkMcIbpoh58Qx<9YliCN3!yxMYt3j!7WL`y` zYlB~}+w@@lv}pQgng7J7%3P`hW!8!8srEnn4;Kq%{XaJp&z4H``(2|$a@Os{C*67S zr3Cp9$d>E-zb{KHq2RhL(G8|#VNQwsU+a`MAwN7nrIs|ed@CbUx=^} zwgJFLo3*<-7lc)!+J)i@&QlDAFjm8E_Q5{@tU;NLcUWJ64D-$;MskzOO_6%~)cdPclgLJAtSE;M z&=@2%GmSI_CI`&tkU06N2j26Z5f%yt$_b@AhP6NQpn~`ds?1BXjLJVQ$?w@7bY!bA zaxASzq5hUhV<6_ZGpk#n6r#^?>{t3=fZy4~GHGI?W5;An5v$y<<5K{m*sVsN{TC?a zu~j>HCuaP;dh2-m83ZxIgT@2W%BL_;glB6Ot-BIZx<1Qt@ zbpBqrmL8x5hKzwg6p5(yI%t>pv!}YV_|RWF#%u@#v5u@QprNH_(i6S!4O0+rQa?o3 zOMSL|bwrdZgg@PR8y-}iln+t>{Q#Ilazg+9dl|d5l5mGL5rj^kW0QCi6v_=Y8)$^m zLjZWL)otpEjB74Z`^bXX-TbP=SWyxN_ONK^!;q2$*zPSO+J784Q1M|D*8&ez=!r_t zZZ&TE$0xB`C)$ZfBSAKXxZQaeDq~x|)xiP_9i*lrcg95uVB1Qcbomm!*LZT*|hKM`w{_xw4VzHR6~Nyy2{*WdQZIIT0>zRZ6_w%9EJcTB0kxtD89v6HN>(?Xj^vLgR%)0sT=EF$@ z#NVg6@R9gokbgo-R)%G zyT4{EmW>iE-k~0={C(jWjrAQ;>EtBx|&t%4hA5ONP?C&zzJvW*66!UFjM>4k&l;nLFa=nt#%N0hb;dOAAl;4tZF z8R`!&_Hvn4tzHUK@Hp^j!5t&`!>k=!ms%rU@mTp$8ysnjEUXWi(@%!8KOtHT^zBd8)Ezq7sgj>5HAaYCa6TXE~>ywMor#&%+W0 zVm?No_;ftyB;(=+TCLimlJl4d9QN%pp0S*EC8uj+X-QBUV3Ckg1LOqKa01f9%p&Uc0=Xvv%H$-x@uy{*$e zN_=@m^3FCTsDV%k<;xr#sn!dtDSu`*Toe&dBcv8HSo!PV2T|T40hF;01b`$vt4_|K zUyf|hJITxwn+uVWa$lCq)zH*T?lxte<@|w|Iwmu@PTxU#uVfIB2`xn(qq4BcDIOoW zb*S4RhpI|KERBZ#=jP32)|K9ch&R(-?S|#hiOm={V{(EojbCv+qM`Mlq=87Q=mo^B zfWPa{&A1v$@d7erm1Lf?lzAW3466~X2rt%GPI5Qic;Y<7hK!Unlk=47eb3;H{R5kA ztqKk0I|i5&Vz|JCQDeUXkdAarnDH0a!rU2(sAk)QiQ;E3N7H*p%_WCN22K_UGC6L& zxfP+d8CO>+TZivBcP>YCsMlo#ntbX0K5sw*N%18a#W3#u)8?Jfr zClbR!s_I(*AUj&@U}5WA*1xv7s-B(AZoL{cUU8z~hGtRoxSYx8yb13E)hCBZ+$ZJ* zTzk?fL5T!R#7VfAxcUr70a?WHBpWmNvv!xme#HE3?e&s>o6IWP9zjaq{@;GNrF-Af zn)6Fo=~OBV6ex49vJoVU!&8oi>-l!{uZo||NtI85FRZqZq{_k_M>%$@;i83x5OrE8 zeNYSGvVhVqrUKLYrO-L1v#;+6Q|N^yU7RgQ(D+Foley)l$y^?g2n3q(o7g)pw=r>U zon6fKl`CsiZgW8WdF5SJy8jUuPs+di z2zGlua%@W~|E#phTots3X;&keX{H40H5S@Ji52Fa7cYGH;J(lZ>!&-r8V~}D`<>hP z9VV*mE$ic(cWP+1$o(nE4yuy+vLkL{SS4KNN0{u`-#LXnapM;6!%IBld^^*N$8M$j z4LOvkZ@JxFVUo6*eB}{ZFD!5Hl8h;DnZChdw0C-VdV8<7HdDG&tJd_~|X7_dOC>-ukW__({ndV)U@j0TGZTtJ2 z)zB=KNf!4dr27mQPmkuV%vSdOTpm9CGrZu-t#D}HBP3Jlw^X@uCm${U?S*ClH_s-U zE-Yptl-$4dSN^!c9i`~Y!?FG&?b0XPzm~f+sZFY{0P#=j(4>BboG}F!<{tvm!C_dmMMgd`H1wn}ZH6Ztz+X z*4^>tU42n!SJtNW`{obsD4w{L?mJrHc4MBb-zXwQhc7>DlWYUNCkvz^O~`u&E?+KL z>D-*>)%{3xwYxr^)iT~Z(wQ^y0uR9$=`O2lly8Sz&U5O@yPL#jGdr%+_fzgAwC7{n zfh}F$J{B&HW>$V#rBN^!Kti?xFLQ9P8)C{LpV5_mtt(GY^L9L?hx-p_7Ee?ZPh_P} z_8@4di`&a_Ly2;uuq1;mAy1Q|sjj`$d+jmW2m=M$RU$N9oAY{;{Kt}7#`rlzVLaA%RmTTc z$mw)J_GJBZSN&(!d`ppzZ&x_95$CqwP?eXzbT;JP!6@se{L{IvbH#3ZrX07JDmT#? zh-ex6B$UC0b}?2MNNN6jdBmJmzod9@9#RNE!O4lZ5$H5f)w$o5Pgoj@BJDW(GrlRV9OTP`_U|IqCiU!70=Idb%f)Fdwwu|V z*PC~UaoVT<75)Y9chHO0xvwSqRz*=V$GBxlbpttx_&X_Vg{Sn2S5}3l7$YCiJ9g&l z_)4dOzRKFe7U#AH9;+Xc+S{@O3tmEJ%ORiIdYaAgI`Vg8s}f~@SCOH*A0~Ee4#^SR znDAH;7aV;Z4N)|VNNfoa5(YrUqsU`*rUJD^ApfZ0nRsk3$R@7bhxibPa0G8ndm(9f zW}LssGJrY|s*Wf23Ue2k6wRsw2FLuI+rhx+W}Ba}&z9gEcZqS;_iK3P3E~Z5An#&s zL;aPKb${L5KW8Yim0C4}s7(7`t;9*3m!_$$Z9|lI$H7CpMP3d5cugjEwKe|B2{3Bm z{J(hdG1n_S@)C>a%$VrdDZBOU4rPus6L`P|(I@Z1Y-n-^wZhvZlkg#V#bpK$9b)PQ zqAO*5=*e<)NR=M$!h5cip!Nf1DP+1HPxgudg~N(nG+@}IE_(DD7w4Ftr0pEM!~#0U zNNTKk=R+=kwMbe%c==KHVI_Q|!EA0YKo1DKygVD&TDv$B#cey6xgI70+#n|Pm^Py$ z_@A-4+4TCLwEP^>^vXmrs3iB?4hm5wwNVXN+aZBq)sqpq+Ya9Id9uKl9 z4pJ|bI(pwO1~H~4+a4pY+;XGFGJrl6X9e7Tqq5d2XCGtGldRX%98mEDv$v&1z8{%f zekp?xeD{^zVQ;*%m2mYCow!N~+LT1cF3e3SyQwbCs;ZPnH$+F6Sn66Yq`r~X6OV|# z>lP^4iAg<2RgBBs@4}OkmQJmApb_w45UdPcGSGUU26`FgB4r&)+08;@u{x;r`}fU( zC^VJK^PZj9Z1s=kF(&$77w25FM2yGH|L=R@muni)ib<%82Nk+`=4-vUTtDfBg*`o@ zi{FRRHH$pXhV}E_RAG$l<(R`O!hvyYFv3;J$w2X;-@~Jo;N#o?mb7nt0Ykzp`(Kb4a9T(crwI>G76- zP2FGogIjKRKRb|eFF4@fK~yMnzxYWO4gRS09~?@T#(QK@w6J3ANmBgSu<>C-`D2c$ z6k&eqV{ai=k1EHjx8yCR?hx3;)V>WDI4+?EP!^rAhPN(cxbN#dq?x?e)R(7PJ1S`e z{dKqSqglbl!B@*OEmCCDMm?!?M1W ze0`q)y8!N-@V1{{ABH!3w)jGz?lBj}Q+ga~Cv96_?$yng6d6d-zm(A~INQ8kbPoH7elUH-mB<@hWKQAe;%Th3W?*fel7)@K0pq`7hw+k|>|Ol)#!(kE zbk`IOyQh!KPQTIddQ&(u|8trDNZa&8{B%v5I<^7nPOy_Yguc-jl>SBRh2$?sX#eH! zW*ShLzeV64(qllR)#JhVaes;LS81$b;b@JY=m(8is|EmF3<|LnS^#J~mqvqA?>l&C zXV;5?XL_B!m}Qb?HVP!ek8+cu0W|ktWhcs};RoS&yVtuTdUV)%<|ZvEo=S#sKw*7V zE_dQxtNi1|`7(@%AAimWNWzpYH1a?CeYqJw))ekLfee`S4*Cc0{V8$Vagx8IaH`mA zB;2p%^2p&y4_1bJEO!02HZz-%6Qqn>-gI-9&2aM?YszjW^aXC!HiwHgB|PF{4yqx< zS#Ih;c92327j`?q6CZ&>fCbhA?$%7?1c*2l8X&;dxK*EIVoVoGACkfDRyAaQ^-0E$ z{Br4Bu;Y0er-CtXt64_lGn)wakwTzwqgL>JzA?==Q|itmL0ZLE*+eT$9L+_*4-(-i zgaX1*xGs3t*Wl{J+@Flrc$(W|x!kl~`Oh|P8G;`6L2;ZZ=cLMpy84<~BJJ|cxBs6O z0QIQx>YT~B*a~0}namw%UKW94IMgLhD7jY56n(T-4drdNV?BiN5RG8ot-*UP=;`!Y z@n2f^?TUmMn*;4Bwn&8jC9z^!;Zt-I-itUff%# zvva3w_1}B-N1+2Q7(sD~p`$gnl6%D=)s_r;@HyrR8YqH4P|X~P18$YjYsj5+!F)E0 zYpQ>Mh3P=$cg}1I^Q=w2ZRia4-7Y4S-aQ2GG?#3(SlBz$-m6`AQ~Hj#Srd07`J!H!7(djuh^u%4O4&)a3Q zB7#W7NT4X>v70lnxL;jHFZ=Le$h*)f)?;;i8A{J@QVM+Q-qhMEPgz)^f}MiggN6!?nn8{ch+|0GME#2K1+YoK1bD?+ zhu*Uf{d;MFCwwm7@(wZEnyoU_kyOW3{2vne%3oo2fOiZu3-Uinqm0fN)Pg1w!R{Of zMT<4t;l(BBAQb}5YM9w$UR>_O73ccGErDLiHw(@9*m<;Imq z8TJ;CM2mbEQjh71%UOj+3pHRF$|$W~O;TUd9GHu+Y#fxK*10#~209+RutXBcq}sPW zJxd)q&G3PwEd(P*R3tAogHOKfcpDJLe8YVS9uO2tp4C*U;-`1nsoQM6 zBH#59ds`6uKdn2Q+Z7!!*9x-#w>AOf8ltscKv(X;OpJOJm6;?c4})4G5b!|{pKHc< zm%e=a1`a2^K%;fSWA%pmF36-@s%ipizT=%=0msN~S=^>lIjB|T#vbK=d(-vjWM|IQ z=h@1vZ&rl|6F82_+S47%6Qj%gyY7(GKBpO? zl|E7LF5dd)_js*c-(qMvB~K%P;ktDoP7K@gLn632i05rTYQ~; zdaRXmJ!;;)T+Mi|c1~I8(QA7gV!a+E^+o;H0ln#W)^VTQ*D{oiTlH#JV=iw|N!p`1 z^tF^(adU zsG`~xWy(>GNX{!968t2o+sb9l&T-qACtGfDHO?Hh1 z?I?O@s$*Dd;X9QMp)Iu8I@qPY>B+Q=(pMOiYDP<{Ju$GasPC5Y$I+f>wHUuMJ>U;S;5(B-uHzb%k$8sX6jaxgumf1M_0Wr0X49|; zGO*&ISj)^D96vp9gK!YEihMd+CiDHL8)|&2CEdQgr}sYLqAgW@GK+@)yY_)1<^wCv z9DS|}Kw3$&gT;7b{AhH%OZ8-V`b2qs@zf9s7oyQ9o^qb@{CRrs$ML@6Nv2S0O|`Hmpwx2P%4K*LGz2N7k zz3_4t^qgt+;B^~d^ZI1gMmZ~Z6lZkd2U++Z6sc8%7~jHuBg}RLta9e$P)LA%tKl5D zHNxAl zR7XcFzQ;9<<1EO=*cA8%{61u|LwZ%OIAi^Q6IoT#%`7yGWcae3_n3>Z{(xsfBn~mF zjPrc@(NLHCChd{$nFMY1t8&4gA5%;=feP?W!(wy+rE?c}0f}i2a83S!(IfHU&pBgO zdkx8VxP(eu;3=7JphGD09PP7d}J71i3Tq0 zuXN0uxAF)|mEi9%Ou(AKYM6ta0`+Jp{m%RCApQuY5|M}Uz%s6zd-{U8aed&rjx<4A z8tzNVkzvXU(_g3OHV(Q2Mo7cQO=7i6R3ahS-KnjOTq+D2zK`!=bmy&zAUSRtwoS9K z`ex#8B$*+E;Y1R?d03YiVi>`5A&BKW6=wz6D<`kG9fGvi5j>LmA!#UPJcNAfd}mYXP5|)ja2!gZmQhLA33wHr23rah z0oAfrjeFiDV^tYGe+Uuy?hBFB1OES1U*Eq27+Z9L;uK7eDKyew`lMh7|4|{CeTe&9 zg@es)1#(dG&dYCL>dl2bIZ4t0d1AJynI0&+U^>;8XMkqY$XY_FJQsSjjzfxK%4_rB z0EGmS1k?k!=zuij@QSq36fQ>T=S$i9EBA|2kXHlB6|sF*9v~}Il4c|F1*dRli6`3h z>(NR1Q6FK3S#?!A=>t)%U`WH5k;~Vr-I{?copPv^)_6$PDM#vXaY|ZK%6mWMI|z2bN-^-D_B9hJ7%_ZE(1>?mmM`*|Z( zN^Zraq&U{_Ae<39obUPxzuD&aewek-gs;qMsNng1bX4YtoHa2S)S_ClF8qa(ZngDZ zaq{q2tvnp@_3wGTyR@{9F;RafbGPNTKu9NdBMXBC^Bj#%W^G~Dt#qHCFX!z{f zQe8uMAF{md@u#`Wv&e#PMn6s29hP~!J(+74YZ(Lm zkEgE^SP!}jxt1}p+|%jDLr+BX#PB7kH#~n^dqpy55)y>H`Y%E&Uj#BrhC{E-KN>7? zFNeRXJGDE;#R96a?s9<0&wTlIy# zL&(%c-7gtL(DI)=@(CK?>|u0N{F7UGteVQ1OSEe6JLid*_>HW7!L09AGbz; zcMFy-_;jiUv5K6-dRA7MhfukD*llgx?zpDy+`>g|7ybNJSYNDRO?8hHPfymT>rA&= zO!lS5{yy?)e5q){c|zd-Ym2owt9VMY_|U<7_w+(7yQRb=ttjgsNbZFUOi^go^z)Vd zs?ML+4*QLbkPvu5x?f0?!~s|Nw`p6Q{YtE-n^@C=dA<1~-+$Od>|qYZaRHB6Yt>-P zgjkThpULbV!p4wU)p84Z1`Op%MB;v2noSiDE+WP1As2K7f@G+v#6WK|^b*`^@U5I; zYzj|9BF?Q<0|%!_#LU9va~EK{+*#-rFbF0I(=;Nn!F>v!!-Z=6F-*{EYmFUxFi=Y{ zxC6HfrBw2+JMRP%Fdlbl)c}9CyA+dxP7dtFuU_dv3RgIS=L=a*S*Btyv}$JdYO`Rt zA>GRPkLVYLX4PIfJ;wU{M!N;Z(Dwh4dadp27u3 zFFT=8Y^Ic-=2qRoxoSz`LjTuv0CM@Y0N^8d2F~ONP*B4Pf)DR)9Q_xJsRy-K-Tdxt zs?IqAkV(*@grbMXJS#I(Rrtw1_bER(5*PML1BaexNn9NHfDTjxZU;JHnZ|E>fTNRw z_~5P^B(pfM6%(*)$1XaPVjpU0!!*R*poa++QjW46yE)4+&7cza94T1GinsIwm{s$K5-2!-aD&nB( zQ)P*WPqF7T42=5#?Wx3L6S;KwSQY^~+*n7660V}AW24Yh&J>y*7{yQrwTw91+r+&7 z`{q?~U_<={4^Ukg_^I71{`o{5{kz~}jqx+bT642U?aF!yPkiKWwkX8myOkN>_M&{>Q) z7{pGf;I}DrnFAvT6}^{NTr$^GX+=YE zUWXLc%3)}JO7LtEty;eQhR|yT(+V+gh*p!h#$L3BNS~zKpg!AQt?>xT6QZ&g3jk5q zA@m8ynQSm@Loq^+TJ_slk?hr%D();WrNJnDPj(uNAI-~-K41HX-m$spM2xmlcG_O^ ziW72hBV#rJ7K#=Gj)PLx>mKAG^)HLxi47BexueWc*5d#Q*N8%0FSO)j=le;P%{x8z zxg`CfUg6ibDr-*5q>On@{CB75N9ynKNQ#W#njN!uvtDSHWt?a1eY;O}6?eMwvV-bi zU_P%LNc1F_OWJ5_YZJ{JG-fQwP1p0HGTFO>*C)^(nAhHo=M;4^!>3BI)a)?WSK_o% z_=fU0nEuP(`qZPoozb@1liv=v?93fq;{Wq*y4UxkwDWPE`CGWAk6iavn+7j@{bpdG03SNGbC`=_BsDj{QWD*}mev^?%K0Giz=fK^L`l>)Gf0)_GU{Ac z{g{wU{tY|xEYr=4GT4$ff2^e`2n9l1s&mAyy^-v0`ee~=Bsu?>ap*604O`jrN4@5Q@c(gVNB+A0}&YSTc6+Jm@++Zr)Z#Ns$u#^^t8|oIEjIAQE_-Q zl2ybg^RNAR_}V`s6txy6TRjjhmBH>0KwCWS%5RzMUE=e3HaM3*$dw69(2!LVsL-ui0_?@3ApwfbVvtAt75YTcDL11^cKfV*`ybJY@JKnsjhw^9rl%_5uXz7?PkDJh1nMx zu7u@afHS4B{S-dkQKPC#7SUkiG>=QRsfRfVwi~Xctz>B=oHb7ZZb(ZLvslXY8#o(=M9UvU4`>7WW?-Q8C-Ej`z~xS zHYD8R5`ByW+Qyfsn^jqP`xqET{()qKQaFJzulzu+HQY;BlOos%F;UhX=^A| z0JX!Zk_(S!8a1Lwq}Sef3;LM+%!YG0r*H{ffS~1K zlpFE_a(%}=s&gF$udLp=o9iRn__h(o8ujj=kTjp$j#&ZwMEy2oYXg;hhJkwr>dV1% zq5X)&gZt_q_?GdmbvE|LusgkgKQaS24pCuDCK31U#M+T3S>qvyS~fGf*1*iQ(~ErR zko%yo(9E*k^3@!V7FqhjwZUMJUxGU`dx(6{&RGeUGW7Nct0lsxIJ^*&Gy`+L9AFi0I7nuKAWlfw=<(3%vu#k%Z+xl~A54Bn;Gf7ou@J6~ab2xKRN? zZObobW~X%%mN$*ouqmNb5^-1vn7iSoK%N<*tAxccl#bzl4DJeS8%vR%eGkiU=%O$R zNZ5tyC|S|hWTQ(=l3%@WU9*O*WA)kkB~RM#6n;NDqTRQ7>uu!y#0yX2BxPI}>`dhh z_V)u5`>>>>MBO6rAEWYnlo#AN3qm}|cyL~FU3fv8tkzh$iMsWX^{;S6sQfJ!n3;OgTo_FY?)kVf{+O(z{Y;^|jCdKX4 z+L`CkVz8hg%4pBVdnIb-p}vY|uvorz+S?!@4%7QzTwyslt8>Pj{B;&fHl_o@3TKSd%=&W=Dr_h1+D?g;77B&!<#JV;iud z`moXhNQxIkd1Bt!l5Bm8b~BQ!i~BItcerRhCpI#OH2iR${^a-{TqnvD5jV{UFa36Z z?(5!?f#+2MU)Id?clv$Be{MQu(6ZpI4sCxis0cTy-K3s<%FI5b?oLh|w$MKbU5@ickJ?tj9~pgr}e~z7Z(^ zhqrb<%1}y8SWOb?0$vReGNX<1*RNfZUaIor)~R{OnOZxB{f}qVgiSaD^1!%odY{wDc3M27~J z5cUx{EKIBdi(m)N7;#f(3>R`JOWY+t_3rM@+k@0sSRUncAgiex0tMv-Qa(jHkJ91b z0PO#R>u|yn|DOxWPWbZAtR=zJxtnUTx0@mIua_|#s&%*uC-6lYhi?fEK?XfNJ{G z4`|Bju0stz-S@H2)U*&f0WN+3kXB@~UtaL;xiz4c=}3jaEh0d|<44>wVfm4uGU}D` z?SMw&wDHodHLZy46P9Dc3rXc9Vz^5ua7mGRm~-D?W*h{)>CwVC*@D2%EL|bkld!wM zmeatZwGfbu`q4u|N6$R3Ja2gf_YM4C9ndig?LADoQ=)WJPxIq$FM`6JbFtvXMHv?k zRJAy7^9Qxa=vgj+Lc!JcLhp9K3rcq-I4q$NQ*MB3QX(KEWF`6=9APjM7_w~p8LpUc zzI|~)Y|~~>-VwP4k>O$i67R6r?u><4C@wT%u)h(@SXrGWgcQi>xMGevm}hqs^bKV$ z^sz27I9`KkH=#F6A3O*%a$Q1hBoV%5E1wdH5(F9I^T_?gzaMVe%#3f_&xMmN$E9Kj zdQ*hdGc!}1kuin=Z^j07#ld_jOZ+kixhVf)fMC6&mnQvH1xN1n_w`t zkWc(H1M`lap4Svv(4?wgLzi&&X(yIvy<_hBLn@Lbv1}i zWZl!`6M!Z%mXeo#cy=T}DS&dreGazF!NSz3`Ky1Aa*Y~t_YJkWcGkM6))slYCu-Cx z-OZ}Vlis-T(9O!1@)og`f!aZTJlxkLH1k^9VE^o2%kpFIaO48=RBtMZD5su`du3w1 z#6;`(ijS8?J}O#7*cn7$+m<+L)IHWVGF<5SD{pSig!c+?@*{X!9z~tbC*OuLM<>1g z{F3Mg4`thR?`#CY6%*gjO=LaMAE1d{UmqyCh6gzXYzb{{W zGMZmJSbs|8K$5mzSim-_k7`)o_xG)rrs}&VSY@7b73fkfsC@s+;jl-KWT;(te&v@) z1B!^+Zu6Ia`ioL?@0=}Hv@aay`AjuQq;!NI_H-U@FAU!cDus2?IPHo6{~lG~^O5mEtHex}*JV&NvPw8LXt`H=T%*_i z!dPvlWF;sW->e($^E59TwrJ>{2~McOblO+-4j^luO zQ$(Kw;RNU}y_150wknIm01++J@nw%qS~8{e;E+IQ-xs*kht z>K8Mk;l4wbz5{+?5~^b#ns)9yW@z(i5sAJfkS_3=d0e?psYF6nD|8WW>$+-CwQzqQ z7oO`8RvE36MNW8{?_~E(H-~}iSKStf-%-Md1gZ~)Vv zI=aRQ@E@_EARMbcyhLxbnq+ zN45<1vuzZ{`Kye*hDXXKCd#JjELD`lmXM?Zaby0d8Z&>p>_@%dsB+ox!zUDjXvQuj2xypCk1x7Ew{(CJ&M%gBSnL@<$lfS6aeefxpx-4I4f?&SccNOMl$# z?diFEFfmx|q!KKb<^~(gVw6(;bJshmnVu{e+Oqg{0uHbkB|rnvx}DKf;?}&tQ4Wd$ zFbN3*Z)Cv7h>0Ye``#hCeCJSroX7WyDWYC>Kv=o5N*qc#o>^kzg zroUb*%+E)())f{w7#K7fwWgHvyMnNoJ5IjKR6IwlwC_@lL<3!9GGkoi(avFV%I^Xt zFSljC3j`;EeDfAWpsWwk=*ZL1g}0#k%4f{V;56$jaIs_?N_@6efxb~sbScIjF7{$o z&DPDXMjd&W!yX0fS5|y@)3{H!s}Z3kbqZQUOaRwwJc3Q>yp4pDzCvzWR<;f60I@=j zMc5bQ-R#y&Ma9KuGN$IK*zT z<*NkXzfC#w{ecMiwA;;6UeFPxm89~00V3Fq3~nHI*wwxTI^x=Zm^X4{P0Gsa7HFA} z>Uw)$j84HU!Y0%pr(a1Z~Fz!1N8V;@i$npGz8R&#TDXz$C9}i_9p@= zy#pcaIHfIe+q@lehKpVvrQgetsa;LpE{k1*oRq*8D(k>*ZK*x?YfE{}CkZH}sKz1^ zCdrUg?y7xHksbNqT9Th%h2gRxJ&UcG{`HzQYk0Z~9Z49ChA(Gu>|lxLkbHPh{| zDIrp9tXM%Nf)e0+)qv5H^1)k0_0XZ0EjL9X^&|w!)*yGcKf%?6pkoo*^`@^cGj_4q zjfPe!>>ckg6xzG@fM%Ek_fS$pT9XuM0r)^bsc?09D6M5Co%`B{iLsqB-Ze0nHW5yD z(4Bl*u~`Of>|vzo0A(vUE$G!Tea2b5{-#Lzzhhm;9$(WHrCaB=wdjnd?o5i=1cF`i zv*#A`moJ_A_U`BB+MJo0Aip1zImPm-F)DNK%*+|Wt8F$gmhl+fO>hBw>RHrYHGw+49g!SSQQV!X8)kD^Q}orL1Y+;Xkr3kzO( zjepynreo6m^H*Q@_wjsH-|3cW_VPbfJ$Z}11Y%?AKHtYH{>4^yHS*^9&2|Du&@q@Q zWTp^m)N9Mx@>Dcg*P$n&{EGqQmi+MeubG)sD*QABao;bomfiC4yd+~gOwj^IGi!4* zLv*?$4yY_!_AL9j6lBumwxoIty8=hME?i)Kw=S4!Z@r`?VN~YvtLJY8BLg=hcUOIFL}3y@nie#ot-mLnvYOit{YtalW|k_uko(l1Jhw zt3b%SdbRkS(4CkgQsyu91h%|Q&~KqL4CJ%lYyMvTkW~A2ZM*+*M)dUbbXC=IiGVyi zvrrA)^EOSZNOC%|i6<9bhI~6$*hH+P#Zx|B;xq2KNY5}0_44w<=>i{HlRgo@kvsXR z&@{L09R(X#!}jzH)DjvO>#mNxwPZVyKg#z}%f0i?9auyAR-Iou8S8#XKf1z=?LAhp zK54ox?G&%rbM{u+TrR(q-@@v!>qtyWoL4QIE^2D)(m$nIa>)TQuJ$~B7v$ag-9LuA zeV@OY`H(YLv%YMi0$Mai8|lv39hTrPs10npd+T(7nYNiAVdaJ-Ra_lgF3Dgb?gF0i z#iWWDmy=3%?e(TkV}X0Ud#C5)#fgNs-)!uZCz7U*sq!&=4YF)1xsY$q<2AqrEp@{##vL4H$2O-*mn&_xtxRJw0jy zE*w;cdNS(7yJle-th2jV%can_!70kha7zz zd@qO20=2lw?E%^DO7>Jm?)99$x6KSfy4z0zOA3X}QYNpz5_VLHT@FM@%~J0OYplHA0^RP2}UF%wzS!B=-N03gzz1>6*sB zg*b)O&d1<_tYir>;UDDb(&hdyq=~?8B*cxC<0|$r%9#TLzk;h~tjN-B0X-#_7KNww zO-wIdy+6dSoXIB}m<@P&jZP-uFa=mu6p4P$95{ltm0Q{g!w7=AfBkydX}^bxl@?j* zJ)pjew-7u624kZg%o%T-v7<$^N2I*0A$%nS4ILcduGX<^$pjaxG|Aw?Y-9ZQHd8-5FxPGlId_RTU~nEMQ)zJ+U8E<_0H!Od7##912mSEkV>y3wgEa ze>n&bjqI|XHzmH1CN2yKvb?ObnM49Ek_GC#CtiioY;-UH4N!*Q+Ktn=3L0ZUU{Wx2Pl@b8nCW}d=U^QIz=9GZAz)T#D-Wd=rCb^J zDbFArVMS(9cJp#h^j-rxS}E#)3g)AbrAD3Z|UTp}QS z&K&9sL)KJjIK(Ew$@{PY4M|o!bSNvM#%r&#Q7hZ-J`usBh;#Z3+M7`9Z6kNpzK~pT z{qHBDc^xg&G&~A~5;h*WGa|a({K2thq>REB99HXKq@Gc$dGF0q2x2+wfa4Qbr%pgH zwmK5TR%)E~j+XXh$$`-V49;J++1@n4_Eb~K)#$z+{wJNL>pZZ4F%J(;maNs2>UYPl75^dB5Dd@M@(=6U!*?pCYJuU5Pd)Zz%}*V3+Y*k!XRruHefUF`Y^HR4zERgl6C7~J+bcNMOE5I$3Nes zxMYzS?||^(@qhkS5ErZJ)j}|JNo$T?uughee|-03V)u`~%K!d@9P&=&PZo{#=!K!w z;{z++QD%@D6mgYpQ1<=vIWT8eo;p1Hi*?MQ>Yq%8pPO%~twK(BQPH=&)Lprb>m=}4 z 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

o`prDKE~INR zVMRioaEf@1dyQ-9jF8%zlzk_Hj{XR$b0Oggs?!Bmh{Y4c>cm2C2Nm98888zS0ZO9v zkUii~gD*2z`I}VQCoTrtI1o1KrV~&zb5cD^7cb*-4p;lARXNKhd&SvSj}#ycnh{zs z8-kP=hWG~9o}Y1a^S1;tla`JBeQ8k?7IA#qj&}|&9E$H@ye#-kjc_}Q!g}P~-M(2# z4z8Iq-`3XeAIqz?SnpR!HB4YJZq04N555&9KB4Gk?v^H%{g|dQUa7cETol*3VK!Gk zY*nqXYTt$VEz!tkWodnHz2Ph*#Tn0JPqHKUW?_FtZ`zsViO-YYvJLB>-i9SgNHDk!vm>smxdFtOB?@X$43u_Br?Fvg&QfPMNCif&w)}aT z?rZu!4eD<}j^REFhceW4@o4!1A?dQB9L<6yNcL7Ak0f0;D86*kO`HcjOmB2OPM&Cb zSEjTia$R1hf}~5COX<#`_V?e>Q_NS=WlvAB@w+96GHU<54@l#Zt9hJA2~dp?CMMk&kv3 zHm1E2%hTs`c`*kyQ(#DcE;&!MTzvGIFWVXZgKAa=0F8&9PGQc+|CgN}q;fV|6lL2dsU>kp zaJX5e{?k#A33KnAMXic!gL4{fDv zCcd-)H=9}~ZL+OsBGQp~u45c(2`>Y;){8GttS)I>{` zR{y_DRNz`-^g)&Aqq63G?<+2Mi=cfjZj_4U&y|f}X3}qFy@St4hV1LzWuDo}IeRNq|nV017qRQBq*Ud(r2XCEkyR;8T zezM8#C_)|+AMK(gomUDj3g)@8S`RB0+kAX&{yMAYeDR&+rHZL~-gbR@m#GvLZ@d02 zqOzSy_p1MCsn%{bVywj`g=86y+1PyX{h-I&2 z)?mkgPT&WO4L#!(<_TCf$-&FUz#uoAPG}B3=CPkAtp%}^4K4ni^k!wyRy8Ndoo|I` zAt4)9{G*mC(;ucvpYedHiVF@43!`CLleH*(t+7wkfSK|m(XB}>gy~w^)89sYty|_6 zY2tn;o~Jvm5U&yoot((j#s_#N|6!y3-y;~R*>SOe>dz&lG5)AFHI%*S84{%ncbePR z^h?Izi_TBDKfk!yW!C@<({w#cC+T!`V3D%*1RDA5yw6BiE@;hED})AE&^etS1pyUz zAW>8}%pMpmef+?glz3xtcBY!nSXIQPsu1mBZH0eU76}j>HbtMoN6g%xug#Wuc=>R- z+coML8LG=q0kCg|=15wP?~()I1J)iHi;pgN0}dbIzyJ?2AzI^wr($+KaNxXiLS%P) zq=o`KgeB|I_ov3EQxU;X;+Wk>ssW!XoQIotA86>*-TfEVZTnJX_lW@9Pv*9rBEg&l zZLDhn!9c8_a~__mv?+9NyjmUX5cCp&%q(s922747`K75T^dqWsiuW8?hZ zI+wQoMq`M!ju8Y-znZ^)lz~-z3YFn}cvY10p!<((22Z5Xh~W@X>a}3Dr?@I3LrS*d)L{ab3qTycnSeaDw@SA6p#dI^E@_9OO-wen0NaG;JtaII_Y z0{o)SQvrV2X&c@h>_cn*=0H>2Q+d$!H%T^6Dh5kv^z$xVT%He5W)b?qL?(*H*Gj_L zGysrIvI9*eq;~?_K_RWrj`k^k1CksFY-lEx7{m*H$q6LOh6XNTy@Cs~6^u`|IRlgI z0ear1bVQ*KXlQ@=Dc4#P|IZPqiniRUID6ZpQ>%xEABsO#?2$3=P}{vo?FI0Z6hhs0 zmzi_D1jXRe;f$3{u+4|NbJJiu7}CwmJI`N$wRHO1U*aQa7b(RS5|wEC36`F?QYuHd zrJYIUXuo%<&RhMwZkrDe>9Yhk5vRbk$qI*D|Fyg@wUVKJty<=0i&q_%fZk6oDoTe7 z+AAb05?Jj57@0`9J&4-~e+hJ0bXTv_%Ag;1{2^NVueomA2?Q|7>?owvCZV*u_bQJ} zw4fpcI4N{lMyvX_tw;6ek5@DUcDJM3VH`#Ltwxn(70mY8PuRsFBs;jWFC(#8ST+u% zWqSC!{Mo1^ZCv-6ZAs^wL-sDC0-+y1_zeq^2K+j*+DHL(<5K=HBk<`WE z26^=Akp`k{J-wzZ7tx$iDIQJg;5>xPNHG#BP7+E2*ffIu75htV=QaX-je76q^|q6O z-lnjToT3`-vy3DOr@l7pZb@7cDV20Qj3QeWL4O=ecv|f zVNp^2Kv**nlWJ8o!C(xlp|=@Lr{(3466KCGAA|cd65g1qx^%D)5_s&LA--H+UgBK zK2Dpf&L+lRY8JMhtWHm+W2E-My=nHpUnA1cZS0E%sfbCIf?!ErB%ic`{dHRq`GLHc z%(67(YX@ZGyE<^Zi0Y)mz+OC z70orJL;!v=EX4NseLS-o{JEQA3BZ#E~*e z&fQ}rEb#v{O>#RlF3*rNQvT@JTLEpuut6mW+SwAex{?Wlhwq_oAO)(ex7ib|1>9}`-7m?z-Bt-V799;MPvJvCAy4GMFHH-Y? zlJi~|Iyag&PFfY;Zp4h}(BLOtmiB$Yy^9sq%jdi=&jk_z#VcI!Tu?5l{xzWbpTDi3 zv|iRmS`H1i|AMpU0?1!7Jgv~5*2t(f4{?Pl{_QMR%sn(`SyyCVRsVlEOpOU4te|hEG=uMy=@co6NLWURbwCLpe(=<0OrxV$vcir z5+L~L@G%2(12mp2q2ZoHy_L*+VOZ*bUQNgf2|>p{hjiF)1cT6f`R_E-NvIaKH}-;V zXz`Dws9oVI(j3X?vQ+68pG$CXZ@$$3FyvQfOZS(GU;WWKZf9Z8W$Gq|W#vpd13Kco zN>2)Iv%$?6FjNR)V3*{|#HW}^z==!22UUIZ)e;4m4*~svRKxYeI5Hk28Jf;_#vJgq zHx}4iMGQk|COVhc>)n_ zrZzQM;V>ZdrbwrKqBXH1e4up2$00Nk3hT-zW;7vtI6c7DL^mQ*Xhm68Cjs z`1AV8dACJI2ukKL6`6q8u!RJv$40y>k@U3iV+m_&b6Y_b_ts8#(jO+`Tn)C4c>a{d z@@)*a>mFQ_ER@D9Rb}JZKQvRlwvnc))|e@Dq}JRV&y$l$tG!3b2UYR~x*)S1)p|qR z$&?|?#-H)EZA=sy>YgdbjDr{c{>pC(k>qhGek8`1l-&|N+h(pe-(b1FS!Kafr}gTv z2Xs9a8&6rM*AtR@Bl_D68)1No(Yuw-NgoVx^gC*Cb6!+RGF8B}>-D?#(A5UIb1S8g zgI1*y{I$?JER!^G^!g~B-KE2kUAqDfo2iDc^(1ASwD?ARXJ79&UII}zs47GVYT01j z*1)eE`W`@4^+TE&@{b3sUR>HBlmKqkSGT#~ysyO{BH*|II(&qPP-86+=^0(4bRh6Zwa1ugezL+@h$Es*Q*x2hfyz+Z_MX zkWp@tghl8`s~UwUqOnj3rxo{V=Fc#7uc#EDXTAm3mL9TDIx_;#9$jUvE)S}AWDUKP zZw*MgL_sPdUwN-sEq8P-Nql6yYP7~4x#alkKDIrHyU=(`IT_3GqU!WcV@|DglxnO& z>mJam&$u*r8oa74#Y*mbu`%rxw4^6D;2q=b|vGVr@}!#i4V7`CKuLJO)ok+`l?L!6GtdC-<1M{LLAe zsUD{FWgOJYzgTPRFBde7gIps;Pbx!`k{Nqpav=A{C9wVGiV;VoiBRi*FSk*J&&zG3 zYgVrd;!xVMQ+df*aKO2Fbr$0TCVo<{3;U{b$M*86kWVcu4!crO7G5pbU&=_%(L;Dn zZ>Ts^e$e*j*!s~kv{A0LH9zQt1ZsYECZ>*DLLTs;R8qNXij09;K->Ypkk*>^E564h&50W;h zt`>&0&6_(!Jy6absj+XWLeU|Gm}ya?M`}5inStsSi$1%Z9ZtW$l4+i#o|tU^i6*hK z?EQxa`q`FuF}zBxdT;0QE!PHxx|?hQ9KF(TbolZRTF>h%?@k=^F32!X>CcGlu0IPI z8hsMJyQQJtv}WHOxKkp-ClTdwc$aCR*BTIlIMn8DlvXJ{(T&kIm#ocI_L=4n(wRP@ z{kHRq$WL|D#J20MXzaJEPIhOfHdf`Ca-|z^&E6NPOWSg@_&YT2 zoGRHlOrc_yS%aCg1T6Hy3rNcj-D`9#(wk*=M~w6BIA1yhl)e(lq*T`{aoY&*B%zd| zhHxGx8W+`jEpCyh%}=N7IG&l6sh5mwrM|x4+Kt(zbiy@`knNeO`Ua*Dhz=Oh<#wH3 z5>x5sodGHToiC$;%vx^Jvjg0n)uFbQP6nb9WW{p-rwvJWSF~ITo|>t%-?yQ8Lpb`m zoit?0V9OFyg3jHV@5aDUsP#-7ymhAkZ+~b35ZoB6&*OYfYLJfM?(0X66b$zgj((2T zdQWAnpPtGdv;9O%z|^MGdaj8mjyTEBXp(I)YT>bpzf0F^G)2tKrDm`7_YZ*>+RxR% zcJW%0EZRfA3?LJXRui(&hQ>#|UN{hgsys+7D88Za4Qq*~I+g0KbVczofV5U?{e!3C zyb6su@&}GL<8g8#ofKh1g~@H|+buCuh_dsea9F$U46nO}x>Lsw=cUP=%y zY9Tb(%(YhIA~nlH3{sEcJ#9EVr`iw8$p%dex{Y#@IZL6u_b6Q;dPf+bI@85iP*CrKBWPAVa=6yQxvTHqg zE#P?W*ddn^nkj_RGJ+c|XBwN7-0u{ZK=-KdJRTW2`e`pqfj&Czxd#9N{#eubp{g%q zBnihGHj0cZ6rED+10;=!DMJSAmpIJ8z~~{=1xJp=a|?Q6;1MrG5jr#6D%_I-Uv4AJ z-fWxY)78WUgNuwKNSc}_d@s4$MB2a*^Ht`gt`9+%j%ZYMsQdnJ)|6#P8UrI|PJ~*Tq(K?y5 znqn^;zj#PeM|{Nt9brXh*hH?g_`U*H%8c(Afg420>4ROWdG7^FCFAwxVI?eC7GD(@ zYT$L1P}5xBuJK+_I$!H*f9s!@ZJ!FvHPv=Rs}%ejUKPSd=q>!?%+{F&VWHSeiy@2jA9*`}`hXV+Ih2_kQ3wP&TQN1JLY; z%X3heuDffkevX^+zm3&@93|J73kzL%j2}y?EN|oDS3k1#=o~X*TcEMpU?evB zLtDYSs#=0=WpD^ng6boGvjy8xKN-EgqIrkCrY~SGc<}tRsMkkoUuo}?R%omyBb*)Z ziVu@sv>|HJF95^!8$P&0Bg&eTmBV8HI(m7C{q;A$?;mB*6T?JlVvlx`T@ecoGZjSo zS@Rcu_*U+^WNE&3|Lh0YU#J7>>`_2~mn$~Ocon*A>QNjb&`T9wiQ`d#EiEj3WIWGD zckUHE#=4>vjqwXftE<4hNtq0PLYQqC@8&)8<%(axT97Erg5ymJJ$2)3y-L4cbU)Pd z)L|;bmc=J87ChXoqq9*d(}3o#&NX2APs@7j$PpFDDa_X5QTD5STj}eb#q78kBUOmvW!UrVRyryDPjS;66KU(mv zl1NYuz~PM4ijM<;P+VcoJeA(cd7l9jiR^n+PCwA5fTfO{R&js8o0TZtvzqOrqX3h; z_RJD!XogxaJC($dC%n;~BE8*&RIP4?;CO>{Hi9|q$4sEv8s#9SA8hq=TX>ab%}>Ed zkAX)(;8vO|gT2Wd6VtZ|F#*A@*^S<0Fgm#s zy*K^51M}w0`g_1D&xM;92b^&0eC6(bIjf2d`?zbdW)(i9$~ePJ^RNfGolcniG_CuF z+7rZ%Y43}3#3kW4jJIUo%|kf#hPD#;FJBH3E1igXjZMoBxK)xA3|Of3CHU}Gcgbl- zj?54sAHg{q;}0LlQm7l;&#ad#nv1`af}Gz%3rsJ0z7j}{&@G4PF0m>@A+GKv^{ywwbr<-0I`^y;1Ijs|J zxvD%r&{-h|>yVV_I}Q#A$NknGcpY{N5!x)DyxuzB{tSn~b`uP$xAt~=9{Rk#HT%$? zCRMd>OWpl^(}YXm8?{vt`idvUH0_v`<2q}`s(IcK#b2~k>Fm$WGl|1F2YIXQF4;Cl zMo5!~1{s`pX~7+m-YjxYn3Ev`=2=PqvOWsEE5)sjuSyDx@IdqfG*X(Z%o;4WxnYI= zVvtYbyue2g1!=G5ACED6kV-kd)XRF0Y8p?jR5%wxxN>^!O1W`KWidv@w*GBhp@ zbRl;}n33mwMsryAW%3AG2cVgJRi)A#zO1~psp&m5qzTr9Q8({dyx)6piXt!l|<{d!|AU(;%1o@61*lXJLPO2SWhLt%f(Y|-coc%IAURw$O3 z3$(QgpA|>#7shQ32_?o#X&$xtXf6HsmF!z0$pTLo3jfe@Q*J0wH;PM2DcH1l?5;h! zX`wZ1la)8G=*(}&T-h;uu9mVkt%Jx&LUSaMaK%Z6Dw!hM zL#3lmzkWoG$dxP0@E`RX7aW>b(H!v9wGAV>EMIVa3YKqXNA!>(0bMs^E+`!qRH?2f z+T^XD?i6k`ZOJVATgCg#PP1tYifg}=ur6VP+cEkkVk`zB2~S|PoZS^?OVJgpYIaE$ zw$7@Bs@wv@0~1|P%QYM!3B&i}dslFaq^^T96Z$G}^R)(=7516cNHU=6`*_Hn2g+5_ z)HU{Z93HYfgrouw1D&xKeEewl{{{2@xoP?+UC3DnUy(nev&K%PewA$M{?hwX+~!1D zXtw{mIdAbt&3VyJx_3aO*=c0`0awud_Av1|5| zvHq(t03TUX!NrTaH1KJanr=g#H;ib=!cvL>vhty@#5Cs4D+>&OFa@LSzlLa7OMmy> z;*z-8HhV#5sJO@+{I)d$%hMIx)Og$YS{5yp04K2^cU`{kW}k8rcrj4k;^jB?#GkOw z8myvO`)+b^^LUl9&=#n#coi>q-8@|xM@I@p{B8c5m@;@TccU64C)>WEo*KKat~h*> zx%&3PbHjW9HMi@?l1*KND2Byd?hl`*z%a1QwR<)DP!MoY8#kb!Jz(}ejX-kQwKeXy zi9)0F6Qkv>^?wLEBgv_-Gz1UL=9=$H3qej-+*s%nZIX2A|v~RU@tpHTD^s zGF!iB3O+O4>3qYo(Q1A2^A8)}x_R{BJ0e7b9>s0elvq$2$ABn3P?6gUH)L;2TnsCC zgAWpX5Sft@I)vpSyURcfUBEb~aQIB3>IPze=+biJdeV_z^c2Zu{s~NyYuZ}8Pq0AD zow2(hxJai*sRx|Ag76i5%dlaf1Bo(m*5g7*e6CvSZEM3i?DffRS4s%_^P8qD@he5YBU{aNES(%NGnkw zr)Uy@HRnMXNZhO{{uRMY?Z7V_dd>c%8r(%fLVBYaGHPUL%Xed<=MtM~!x0{Hx|7=; z-K@}uv2YZjMhGa+lD3fUZtnPbg}!*l>?l9Ir8Z&L8Z)>(kXoU!e8^WH41$7lP*A<* zj1}q8@3|YX$5tcN30rb?Br*O!=~TeC3(n9oGq$L1NmKdrL`-SJEB>yrLV?iUhOTbc zzR$T3NE~q`a07U*ADopW%B)37YJ%$DllZx5Yt88#y{7ZUOY95-7Lq~AP!S36!vmk1 zboYhGk2>N%{BgeOh~L>6gw9Ne3Mn-pIfw%BC;~Y|=Mangzu9K0YwXUQb@{9~V0Fip zxF=(F{^EOQ9Ogb?m{K*fZ%tT4e*!{jVgsqq@!t((BXweg%cbI@l%JWv!*Sd#M&h_d411rM z)XpV~Km)avac;CQoYxJpv+VyO4k8yOThbJY0UA57vlyvV_RzoM#xZr_ZB5-NJVK^~ zoK4wVDa-b{aimeShE*ONyGsQOZz}#Sa*SnhiRm@U7Ix8Ts`uy#Z>ss56PIP?%lEGR zFc*W{KfAQRs5e?=yY(94az3NT-PfL(7ifBYDdM#+lftxqZ%?rCt=}N!7jzsq&})&A z!HbQ=Odj{4BB>%QzxlmF2oQPr+D85;l2|Q#lp*?8?2OyZw$2s2vV8U#MUJl>XzRID>P*0`zm80gx%Lozu0i2 zUD9VkhGkHN!W6+5$NFuXs&z%4)<#_cN(qQe;l)B4**HAA|IGsx;uq zQ5(B#Q8gJ0;VlEJ&{;Sa&$c+N7vHV%b$F{}=%ObJ-l!;@AEq@*5}JaHo|M!5SApV8 zZ7aBg(Lf{+k#YOJnPnxWSb#RL9mY;B{^o)=#t`sl3a%V=9fGYq=q|kwdg? zbGzcp`UQQnUFY-!ew?K1nS0dsam;M%U;WgcO{*(2e*ZS&nMXyNpA7q}*`oWVmg$36 z_HR2e`sb*CGwZ4kJ#%A?&$#zI&;D}rFS3L>}~UUohYMRUzZ{dj>A38mesuTyo|(xnM{ zn;KnTy|rulQf-GfWD=^ci70SHni6~Mp*)w}i zKTOn9ajxzrH721lRz&*^1}Xnf+5s1&q)~_i{9osv$8zzA#r6`5_aqY6{iw>&<4gLg z6gUg~4__N}=wrH){>*g3eZP)XIHyTKJOf3CeyRfQNbVIU1zn3@gh)NY^wKm8%8EV!ISA;;&@;xq+Np|llt5i z`zB>v%m#QF=B^D2tu+ZQcc#6nUafj3Y`wn4P;lV$yHmSX=iShT@plJZPaltXSA8gc zDVegii;k0pjC~LtZe+37!pY~`8YudB+Uk?nhsd<|mSMC_Nm7-1Z+N=z3qwP3Gsv?-OP-IxkJ>HeT<~HQ^|h%IBCjp*YUdCNjSP zYg;BYE%NR#eDuN5`I`AZY^02Pq4CuAOjbTpcTF31IOiL zT~!jn^fiIM8-g>F4Ic;m*;)+YZ13pf7V86oEchiD({)TLBDf3qY_EG zQgu>hH@ybyT>rTFo=XZc8(ht8RIS7z^F42#*iejeMpLKs%sxFKsFFK@%$s~U@h1fZq+&W`#>Qb~p(ATm%OeyU%{a8k2$+cM;1v{?<4rwg} z<^yW$mquy&2I?LtUUP6(I-bsO|DcI>6J;|nv9QFiHJ_D*4%$%Y0=5lA;6yN2OcG@c zeJ%grrW$%|JmZi>CcVEydnK3x6_8PTq3W~bVRjUyTT6jP&~X&wUTnEtD#K2P7Qd#* z$4Q1zF)pQW<1r+2b%;F!z27YL`b*0vzQ2urTiP=f28x9fA1IQW>ps3%Wn^c*FM{zj z21h<oHJ%%6{#KW{{;E@6;*`7D*^ zI#UHz4_cdFRqBP5NeX6Kqs5Ki8e~rV5z~)-)vEF46$`>=yLA>>N<@;#OF#agz;=&U z(@`v))@zSd1Ksvfd8^v_i4?SakzBe>_L0l}gEOB-XaAmBnk+fO*6(}Asf-O9m;j_- z_@(Ng#1ZlyrDeK?k$kR2rVkoKOwPb=71r=O4%v-Gs@6WWx)SpiZKnP_$Tvf;{n}XZ zmIU%3rhW}@gSc7vYnhRZB3Q;c5v@t5*aUrhwk)SJ{>u*kCgPWMX zenzihr45Uhf9RK9;p+l8Ta2#_5`A;0zo+6XC1ZwM9|6oQa_)aJ-5frh|G2~hEHu@=SGtzK*c0@;Xzkv05<7@1JU~b#B7&0xgt?w4vK1mC`^{GcmStg zJr}aEg|HXpC=Z#vsn!HB3xs^3OVOi;7U+Sb8!ecnekA=_*l>}{T;xX$+?QG3;DRg` zrb%$9Z)iTjOg&~i2x&q$IjrZtm;+X)E3Ft4d)nbTd$~;!vTz55v-6Hbjj-YH1;&Q0 zwfZQsoVv%Z)MZ>h{I~KNh;~$$=yPZ>skkpawPCXHN0f&kO1bG^3FI9}p3=WCe|5X= znJU$vJ&e^g!<@ApHLIx*lnwoKYwHfr(nm8S%Li*z5&;GVqxot=%AF&3i_Gah65c_f z#<{^~X_p!>Rm#8I>g-8?FB&s2H@bn1vZ3C4O_l_gw-uPe7ciyF_sRmV7lqp}QL&lo#+lMM3bY{{1=#Edfk6EYV%9529jOP-`uHuwuSVI$lb^{O|6GNyzWvb=gdT+9*+{&!5^fW03STTzivPmA^}s8gcEOb#S>(_~tHB^nR`!G+%m&k;*-cq{s&JUx^W9a+T;${838LRZ4JZ-bkFy+9L z*E0hgt`DLqCu-*Sl=^h!x{{Ae4x|=!R+|U?Culu7cIdJN@SFo9Gy4nKB+fj%(3s&w zs(Q!BcMCh4ekWOFXhVEFUT@q%Fjv>~uA}_P^?NcPN;liD!Gr^JWl-)VUdZD{xh# zkua@=E0SMP`CMi}9It60)P|HZs-RG&?nnVu{`+yjomB+m!mF#81$^S=(^R8w`3}Bo z);FQ{@d_s^k|2Wo@(>x>%~X}5H@v@0A-BtfL=0FjsX+S0V>E1F(1lOETSy!7LPO?K zK7#^%Gs~t%C^c&C9)VfXcB-Ef@X&lc*k~CvlharRWz5kk%?2`!R)|I89D-0LS#qWM zPZ8<>XG(uV7v@E8)D};6tm>LB0QDSRI!!^#{G!Zx9i>Yv zhyA)qt%S^yW@1^TBp8=n;Ww!&3O@yxK9yBlboCHLaxP3B2(tY>ll$SjlC3#q?hIF_ zbNZIn(lX$@&p;S@wWQ37lzu5GiH;Sf_dH&5q5?DQVBZg~b`EVi%<`QT-%7lDeieo1 zx6YsM&T)d@jc zynM}ApBJcBCsm=iOL?J6oF8Wlfb7Eh?@F^9SV9DqYBj!v30|56dT(U|Fvp5RmaG`C zA-UJZn9Y0Az;~6gcYxt^R}Lt6gi3XDtSAS+v-Xlu|6Z%>qAC{f99tvgOk_U2KIF0Z zIcWVg_ju5wn`IWc)k7596lsioV40{a-kq&rXeyc#yD3SfF4J}HP^<_`x0`UO;DG>R zF|?|EW*zr;&58oMewDEnXP8+2hz7D3dI!Ju)`-J-v@Re-QRMGpuhOS4rE0AvRku`1 z9*q9>JDfc1AivG#dys%g9V{+i85eDw^NpnA!NWvpMzKa%2*$a5KFpQ^>Mu!zR$d-C zfov)Xq2w^d32)r~*t`qhnC#Olulpp`Y}cawb8M*$)a;Nxsb3yjHtOiRywm{@)_)!q6BK+1&1zA*8auQ!{qI-U#A}4I0CFI1u$-z|FYhj zS};1B2uVw_sgR^G{Zo%91tDh7E8ad5(JH+bI))3(1Jq5^OKJ|S2C7~i0QgqZR+6PB zFL|%fH*iOAdEOiO4JKDlCMPA0#CJqRNMTQ7lVDd1kkK1tB(2VXDTBQcvcyS5tnFZ6)*Xi4bs0S7=daukr0IKzj$_}kvmrRNyL=?53rx#a2!$9Yd zZ>PnB)%%(S)k%{_SzNyJ&5xQLZcqJ?8vOfwR{ivqKUHnYdct$s8uIU7^XO0Ls&?(a z?xcj&T*#cO&Lo4Pt&;(NoD<`Z=q`(Sdbxj>)zy|^Zh4oSqs?Bmp=nFoF(TXN zCg)B!9h8zbYN>u=?ce9q@)QDE0jRnEQa1GA!^6wO*-HB*t5-K=mHk-77KUOgB)0te z@NE6$S8YyjL3i=`{f#>XXdj+a4tP}xvgKIJF^g-J)mueVidoyIe}327+il@w=AFE_ zecY|mEJ|&&Dm=#iVZ_-|k{BTGjdMCUI$J)>W1E&FA0~9Swa-#bD{U8I^}`Py*(^K` zc@wP)m2jB?1?A?aE(=>fH|{__5^)`u>aTGJ))U)rZ48)BCzxz)RMgsB@b&)895_}j z%ambu*ad_o-IPgHx3y+S$MllAChygq>$_#!ck9R*gn|%D6w!?Jhwm`h%v_Kal}sG4l?e0k6kiVS%sC zZL&IQiks_}Rsi&RH=-6MYjNnS4cpYrJi_kZ-W{_ zR6KpKf2eWxH=(uMi6fgqKEDF0Wtsu|NCe3TB=`5Z_Wc8dqWEEjwl9v$o2>-w)>0Yl z1xe_Qs+_k|0bW-nlnXt}91O%c1N4%+$;jQl&qw@|+w=@IGky0Wr$O2Wjz1sLl|E?b z?>XN8sQ2KbFCsgB1&R0PM|Qfh1Dk1!=FqRkxRL>5FK;j*e(FE%w=>&dWfE@sT&6Uj6QW=-_)!(0iF9`?{%}N&uucq~~3^o(NkPP@zv(c?t zO7^-Q2ihrq8S)UM^lAF#RlNDdW^HwPAX$_5gLUT3D0v||O-p5z- zqxk!53BtV=?cT7SY2ZmCA-ku%`WT=mi`wiqL`vKhYc~-_O8O;S80nX(9-gn#YHc#$ z!`)^X;U7IrV%%0pBffHXXkClU~jU|w&H6iVAu}gagmwjBHL$Ye4CM1Zn zV}u#I*1LOW%ugHe1<4vmTw#1?R~NSoVhT8g*Y=cdib`fQs zE)&Nb_UcQzbe+5;$H=E=k3uprMC(A{f+lu<#z z<4fkcQdN*eAc|WUgQ|@T7=q|cD#uHdW-yqgiE@{1V*0+95yQfsFTFiX9mZImsxc6W zLL9bc>ATh*-kFSe7&)=i4|829tR+H5cCI^2>zOe3yxl*qUFbDNowvBZ@O9O#!)7fH zK6L>n$?X~wEh|J2P-K?H&XGA! z5`F3B3HEmy?S*O8;gpqeUYh&-B)kb zKA_Z?UU@ZG%L$RfV+rlpyaF*f=k2V3fHE6M#4Q0?UB)$e{d*(Py%4_@*oC|KFIrb` zxogsLS*jo20}!$0P(0tbyv{x#gz|>Q^S(v-mJ8(J6Y|{uy*5AA?_+y-t@RIFs(bEE z_U-RV>o4l=?Mv%#&FeGtcUSkfM)s!lw^j8Ox%SqMPhcFEepte88K(sJECb#YWDfq0 zNo(#etF3BA6u%pEMrLLv#&QK zxNE^VVNecY#ZHi9&|su07_X$T_E{nWF`w~{q*c1>ceakU>kS#b?OxAa29gPM)_3>+ zZP46vaY=^vmgRkP?&_rsTeG$gia#_vZMt*q)DLGapWE?bd-SOE3l=^eQxlz!j zY24JM|!TkEl#&jqZ>$7t~ylJ_fhRl8_5C_SmX7IY@D z7p7Ii%w>?=(V3eXom7)5~s|leDr9uzqaNRa{e2OgzsEKv;N!#aKwvzK(Z*% zHLk9%X>}eZCBj3|Pv|98?U_aUerr4OJFTd&f8Kd+-f=iD=KYb`lwZ?!w3i5=N&fM; zjI~gveMkX>f2rGAcUWqM;Dv>TNp9MORV_((M_x}-cm3F9@-wbux61BlyrY3*({&GW zziojA7wQd3fhWXVsmJrRGF-Eai3WTxg9$T<A1QczNhEzz8pVMmQ?1I z?3tXR^lb!pt(DFb8QmhE_-Y%IC^|ZfC}c|IDq-W-wIA6&AMv8Q$@7A8{%*sdtMcE< zgItT4u5EDb`_;C;y1yy1?{ZadWmRv}-hSlZ{q6m|dHq!k+Ly$S(zi@4j3Sw8zN&Z; zI+DrE%^tmGV`ugz6U9P;yu|H6zlDLeoQ)CQ`Iq;!% zA4f3J@@DG{YpEoK9=pi+2?jW7TI0-$ACK$gfqY0v7*fhE)b^l4SQdJR=|EpqYvGBE zK$>a;&(5so{DlyJBNx(qz$LunSwi8ROj|46vDI5&+*;tx=qm1!b*yMHWkL(R>2^;; zQ3v@fW~2zEGn?}a5m7YsN`-H&-Z18j#w-+}tv0VYuylV%rvHg_vS zRai=C^-zn%^XBC9E*Vea223h`QQUyv=}Ki%8V2O3v$Es@; zdRz3x%CI~oCy(+v=mp6v9W*j117rfpQChcE#;?-(tHP%-P?!lR=h6n81bexS3}450 z_Vf%Rk+>Fjq~y2S>6Bfuw=M zHzDn0!WlzwN37+Zh~L&4b^YMWu;=s68^g~yC>=rnaSAlq!$h19c9BxXf4#!cmt`ap z+ymn~1XcS?Qa^hJufVkL7jQ8LM<;le76e_cY>VvK8`+hd$N%*j^0In;`|J8!t@|HZ zM>Y-Xzm@&D^ynR{CS8D-h1Rp&sPJsc&|QtSMH3Do{zc0tTFlpWymEwhPb8S>l-JkA za96^{x3LHAe-cZ|$};d(+h)vz1T1t}f}ZNBhcosj4nL?EBBlkx*eEFOkJ*UWr%bwu zfQutt_WZ@gHn%ix-Kee~gKboX&R5rrOT%VJk3DYB+a1ezkkDh**q01T2x0;OvdiAz z`5wezM*1WP(adrZ#A!h1XaGH$4Xx%!}zO{PgK1lA%{e10bW@a>3)&IG&^Cc zN##UT#>_s;8b>~^?+VAJZ=UvjP_yWEsLLn+gV1_rjQg|8jYm5cGU8^a~BxDq!o z@fOyRXqFCZ@T(OH%wJP@@j_WSe(9mD88sDGTp%?T60NF z_(Fi2l{ndw;>6VgWC5A6Z-0|2YYvFH-90^FVyDat^cnV$4RMMxCcpIl?WrvwLl%OQ z&~9w8P-fRe^*t<)v~P08o+utwK#_oxRfcyXB~?ql<%; z@+mKaqhn6_r=R}0>7Oh73x};E1u>k=$WVE2F6_K}uz%(yTSm~uMbc8)*U{0jJFmmq z#y1lMr!dQZhzC7B3!=iK*SNm}g84s;zp1OQw;R*%_-Czp>?PgM7{ON%3_eZ=U^X}J z@q&MsagoEnuu#yz^?NBBby%n}GVffYo*2BOMEXkp4TFdTwmAmfIhlOt} z+bdLw5Ufc*dVF8Ha%Rz^rlx&&8YJygv8PZ7;N3~j%d}|C@y)__c}0G9O?1bJU&r67dcGEOm(BOI@=_j{V6EBe`59PRHM8iSV-BB{D=T&3&J#AYj8BqWit!sy zGqjFIwn<(v!FH$esk3wI+14t%5vWey7ZF3tAfgW46vQT%bYsV_N>cAt^qgID)EcJ5Nmqd7gRYaC}o zXJqwO|9eMPos3O7D+9b4V)3R5mb2)MVFSY-Vk#J|IPbF`H`ZA7e?)EU7K-yE4_y zst3}jCWV2!pjI#u8sLEZUor-EP%rUW@>r@M37&l|>Eh$iA8IdSi8e9cY;$3_pn@{i zUnye(&$m@qr#ZzPxuCm~sM|lK%ksdKa5ZjJQeg2y+EV(BFmB(7PKizDNJJjZ;Aj;w zxLT&@vLADgO!U;lEjhZmzJjqJyg=EI+~4Bcx60cskM?OCoe%dpPQ_Ge2TJ|G6b7tw z$7@fPB{64TQi3)d5&=;?5K=XdJ~!|92$R2+om#zhNESgS+aAkITCyvGS@OEXuoF)E%auA3V4VOH((+2lA6fvLxS@4&i}+Cj(m_#m-o$`+ z3rp^o&fmacFCvu~&{@8nKy**2mr3!H+$LHk{K$AX2f5bp0=v&T%G@pPaef=p4$YYX zY%D9f^N=tbR5ma9Dx;jpP_{cpNZnl|_Smo6{kgz zfL3Ot)}dJPAFvOE0~E1*Cxa8sHxl2;)@AgYOyXjkxO!#KWgLZ!meuVq_*n8h_0#8_ zAF|Msra@ZSo5!6h8%CZ&5oo^vDqaXg3;oE!{u%TNRb=;gQC&gEL6|@G#jDN~)*rVD z)|cGA>CYCpZ_SE>Y0sgbN?G0MOHF7g4!MoR?s6s>@i zGx#<}T_O;%wT#%Eu0=M`9!qhf9Bv?<0(@Y(hq%Jo9#cKOjY$cFg0H| zJzO%hn(SHz)W{gGrR5Cm1zZ)!@itj|L7qmGfv^F`GvxMU+-ASA*?$QcGe-OHHJdNP z)TAIPst7;!&((I0N@3u!+d+{@%LFtW>|!_%frAoKAJZKCfJCXvqyf;7NyJ`YaHr&b zBr@ML@>uJH2ck4fqijT9et|oq#5XN4^xE{AO&fnVX|h!qgkwR1re+2z-~nZp@PwcU3WA*Bz3ykMt$qKW_x=2L zYZYdGzvsD+-}}0w2@oD(nUYfARLxQQPUP;RUX<&QsXR9k#ofVC`kr>C^uNRL-0E@T z=&w@Vwa!q&`(v$fI;fz z?r&#aif+TRRsZ??w|D<0y|_Y|@1c8Sa`)TWzX5^_sr|bT2T9$^PYWTe5-w|9h%U_I=8cT&LM%AglV_z3N#DDGENhgAX zrI^Zc^<({I4S;xn`CjgAO{?lM-{HPX@Ddm-?vWg+SeiO~DW zOZ^I5uDaoyC)#BMQ`4G`hG#VvGln~U9=9T_@=Lb-_S&kdVT!sqTWb+5OO9cv6wX7v zE%S@+VtWD8jF7VaS$ZrIPDx{bQCh6)GM?t!5t|K+KxCbV;tU&IP}; zR|Za;s4pyB9TeG(X_CAX4W!5_N(4y2i;0mP3Q-Vasb4_?pw33^oB+RyI>Agt%s4SH z;yc_Nje0*ltc-O(`~4)vy-~uzp`IeDj9N{H+H!^3Z*MJl!;0paVtQBCl=$~$6UX0O z#ide5BZNP^bp8;%W6-t_*L#0&uT5>JL~XAEk}rbksXY@+x6dy?SP>?Y&~+pw;LQV&0TT{fn z`Pk*p-CFUtf4S(^b{(@Fj}p6dWjQ6Q9goPy*jkazf`VQp4HI6rptaaTL{^FYr|#vJ zdw=6>%HGGGml~B6)F|FegR9^D#*>&D@;r)x!Q zVb0|k)phaVST;jUk$ZErlOR#m3_%5kFXnLzvAZGt#kTM7>gVO!RFD6@ zO$g{RKQgCj)C}&4o`8!ORL?V|q}bJqX-n$vGxRe=Rm{ahxw*)O(x`+TvQq{Z^Zu*s zFu*32G5}NJ>v=IlU1w0=UA=rfKM_gt0YcrO1;epDj@C>7kh4g*n)DRWEK3uxH7N;b z%AT9|@Uj%rBuH|6Pf(A5KmpiWKndBAqN4TLxdZ^}mmcPQ0!)>OqIj8OC1FyWeQ<3o z5T-o0D)FT1U>t4gUF1*d8vGi(KWW$xm-x%Dh1HVllYe%>w zg%Ro*Qg3ZNLR5E6!ehIi3|FE39d%DU2bniI}Q+<5-}^N%L&ndaeXj4O6l148W7_wweRYk*rof znpr9fxx`m<(zo;ssUI3!A><%YpzzYPG4CYG*Z|TZ4o2Iw?n+OK02cd@nC;6Wv17j@ zrBtG#mWMerTrVUk2!2MebXbrn(*R(hvbIAgz4Bi_HGFrqZt`x+D+@5I4f7+;QHy3% zBD#`4jrZOi*>I&zKQZw2@&12zwAS>@9(Fde;ymLhW6uwnX>oGv#LuU%_4wCLHr4!c zb8YljmbQ3jE=k*%|!^AH!W=k4N9H80z)V|Ig+{ z-*;GTzJ7kwb32aw(z2&IlwLu2SEI!$MilVPR zQ{&QK$-H`0uU+5t;U25mTLZn(GW2hIg<2nqWDi%O>iCn4qo4^yh$od++(NEVe236w z0KeUbT*A;j@*0$53}Z?IT&ZFS8f5eMHzRxK5!*`pTUL*4h~!%`Ke#4LS0(VC12tLO z*E3iU9TCAmug~4&HIOE$IKeUlPt)he8xRkEcj1NExvB4;;@SOh3xtEW#ggVCh;PI% zqFo%Qg=NNAHh>^1{6sK-&H_tO8-@XN`=F7RU?#!C<53PNurQRWGtJD;~hGF!Qsv>54ZL-r3XYS#09D5vb?boGR!G0#W&#yp&Osa;=vU<4}6Qxj@`H%lAtos~IPL~;rZ zUZw8)cObq`VLL-cHNd&ln6quclyL>&Hu2b~7{_^f%4W9;AX|$b`)$eLJEmP_qK9%= zadF?G_r|o_%eEB+a{S-6itYp5hiS(d1VEzG_J>X(yJ(1rg?B=A#JWOaL&%LQvMY;m zOO3m%;=q-_E%MJxI5|p~h=(ihU#UyzS+q_DVIRD>Resf>awYe2YyJc!t$nu9MemRWcgydXY2^WlZ3m-O&K1vwAV)Dyd8acmA z&Wlbgo^`~b3eAZf5=}sVQbXmpdU&j=HVYRG=i^I#QTWZwwM|-Xq>LbDhrYjU<9t!Z ztG}WeS=kB*+85t1-%@Whfi#eCaJNlgEw>yw4heMpx(Qa38kUMjpFfH(Sg<>K`NnN- zI(Lw*A&v1Te|NR5*h52eL`6yjTO19c3W@-iAthmtR#wEL2Y>(7-Hc@sV=<;nz0Kv- zUIN7d{=lJgm@5~UB2)G83FDE@LHcE9vNtZdZr707D^e?%W8-Gt_8?&*Vhy5y-0`ZT zdU;r~TMux*ZHI6m;3gLyl!z#(wY9arzW!m=G?@@k z>Bysp4G!u+SzAYhc}ebZ3wmj1p*=p_eZ^PU9qk z7NkV_2cODoPJ$Qq3;sa%<(6;33iIW+8X~Cr90wJ`tq*^|$pvK6LXA-&ibEmVk^$XE zz%VheXld(4MVZv3l@( zg6Nohqq@ff>Yady#9eP6qHuNz=!-!-t`}^LVGVboyz(H!eb{ZK!jf=N0EpuCBJs?VQf6c zK^wt&8*`O#NozuCr#>@@GIyf9PyDm#@GvDOx_Y%7${;?+d9PqD1(85{gxBKq9v0#b z-$)>5(dO0M$6T9tODU39FamEhwqpw~7FANbN3YLHHFOr(Ar7s&g6ZD1KE?H75tLhuS+ck1<#IH2UQ* za1NXv4`-v%vd1h!GddXA96d-AgT@vWp?(}5!M(1k#g(a6=^$Q^&GdROYRAhyW z;fF&X>B{c;^oSwzFZ9*SvyBf4JCF>RjsdUte~{)}+V?91h`nh#qV|ocm2JAh3SdTr zRO9_G@-G}8#Y@E32tZfUbbOGv1!dS!VgKz$?$R9$K^M$TpG`OqcvW=-L8AO=7z52t z5x4qtAOte34Y_jrP_Eu=0A3{GLQ=3$Pr*~v?$<=U&oUi!6#2UrheAF-5$Yc`?AdRt z{>nzawav4P*Bm1D=4qPWP1-#1be*AzvrCr3BxhOKx%c|9+40PeNpiwrAlHW<<#Q8h z)HHowx}`77m!!>B*CxdAf+jZ<2R=v+Cln>*Va6XEA2A&wWLrRufF@+YkgoNMEl!%e zZ0uIh-|Q^4No(cO2JSB@PrqVuIH)+`XPR6@G}b(}KA6Q+=SiT_R^cK)Xk_rzT|6ZL z60wJjij7R&1JH#7%ql7sGs>SMQsJ!8r!1Tws{vF422^-w1kJLJN_pZ+pNzq=dk9A% z%byxAKL3GvBUDg}wrdho=H{+|yDeWAUt~9cd0g)s-h&~f7xnmz&ggk%$JD^M$a95w zTOp2)=z^`-Y0hcR8ys+`SU<{O&5`Sn-i?tF=oo{08PmZs9B&8F1>i#iHX1ud9zNX| z@uVcBEIw-H&VI|wHFoqCfzjyDWPUM973R)-sIwmv{((&V2~k;=yYI3p8WKxMjgc?J z^5({|WTv#Am_LsLo`OvUV#nWT@R^aNuc*G}{j=_6BCLD2bM{Bfq)u~qRS8yN zfFbdJuj(W_m`kD}=19m+ErYwJ)oeMq51}bA%siU20ogb#Y=NeXxCd0-l4iI|cM<>b zN`89Y)#Hb$_z*%)kCrLw;~zYmZWTwHZsv>K8fU?EWQ2)voP(#x2lKBfC3`NnoJSn+=%4 z___rB$ciU+w+40tAG0djz=h;iV9OY;Gl_J|8a^defKv+q4=O(4vZV?nvnv$=t{^&2 zVy7P8+}|3!;G;>lU7z~N=!C6N*ScUuV5#@y!Peh3mnD5+`<&y^1B*3I#q2vEfB^!l zo}7{L4ILZx*Fba83PP>b62JLp?hAnxI@#y310;&fO*3PD&>4ba#m(ee zK>u{qEnxICU>=q#C)&jp9uNHk0q&6E$_$CQQsIiocC>yOAqAQU(!1}X-Zd;I;uTaa ztS~CUb%d!BHwOAWBc&tu6@2)1_3;zzMG;PB69u%U~aQfjmZL$7P<*5)s( zK9oxp9u-ZX6jX}Pp<{CM?vDa~ia~36M?Opla;R9)(pm=UMMwp2O3mZ~K}K*Rm?a4n zgiWex!bPg3jWA5nm(lTn>})oAl?3oo(TFM6QLLaorJB@6U|}TKEFP0O>j%O4ypstm zgr=~i_D9GFAV4>lEkZ~?i-RF;>}p}rS9ixP3JlkFtsAoXh$Z!~tgSUU4fE+?T>NL> zCj`GanKeJVag}+$zy9NDtTIaDDqq0GlXmDGly-A1HxM=>4a3|TU0 z`GMfU?TSvwcAg7vjQD?%*%jAa70p^N6j1QGH{mI$etOBf3q8Uyzur%2wxHtTS(s=v zjt!Sc5hK{qoL$+EbBO)8mKU6N=q!yIJA99K+3lZk9v+;V0++I-bv3^@&638KEz_D; zewwBk4J--V7^=6eR5WQ|Xmo)GNCIEqb;+FM<9Uj4_v;E5ej={1#Vp)xbT}1s99-U; zPAU@lW6|Z%fiO+M*tyfp12;mop(497%(*uupG^c!1MTiSlC>3VQ$5S|?e1v3Ajvw> z17CrE8^vy^4qc%MqOtwHt;pDoi2Ln$|QpA zd2?l+TBdp5@Ac#JpuDgi9N=p2k_onM{l!PxaYM>(Z{&(e!91j~=!1%#xGsz3kW{+1 za4gIRc(DG5GQK}NclJ3GhtQq1QemxlOaaznohYC{2w}z=(!Ojk??+mP21F_aoE;R- zq&c)GX+p{8=E`r0Ry$IMcvlb=6?VyBamM{(@^uqWLiS=m_x?-6BTfcKQ8L{bw|LNT<0GRY3pei&rjqRewF^61n%R|6y@fQ3w_6~f&~ep zrk^@k)T%{n0)Q;YMjN5BvdLT|Q=IW~-7geofTR=|iGc(Rn5q*1x}^7#J^M{x(2KHP z5lI@;jDAX|bkao%wmwD^7`7$A*jwUIO)EH*4f)zx)W_Fn>lI8BBLnXi^j!=6HiuKRtsnMrlsX~4L)0g;d6qJZd=igpE9EA+w#)~;f^(BC2=b3!Jf_Nu z#f$w=^XE0Xb!*JN_iEUIcNOvq$SVAVlnncM zs{$(COKS$Si;#;`&Nh!3-Xs?>EDeyHNj#FO7!8jNwBG8%b5%k+33)ss%p#>cK%h@| z?FLEoI}dHh+7iviX-aCv>4`M3!8{@=iVRInD7a(NA}cPx=t_GAdMB-ViYi=b2@oBh zrSKp=Rvmuqu(SvQ2bB{yKYS+`J7RPTu!W)gYZM)SK*w%=jU-TV(|*8ykJZ%wXi6bXF*MSj+>AYR zD;c`%KrkcQ>(~HHB}171zhgU&U@pWX0k|g3R0A@teW>5=ThUOg0QaDOTQ8 zD!^bs;!h^5=MNZK2V<1*^%9#LV;VoGV3M)F>xoe%DtL%7bnLgHjb;3~S%-x0Oep0o ziII6<>Mj$6#j!56;UM#V@LZ^@i8Dh|j0p#nD3sp5I5BUFEiL;^1}(B;3>HNzhyax1 zaT*KlIK8}(Lh7cFIAZWM6vidfDK7RU$%;Xt7Ftm3dm22Tq?`HwiJ9j$eLPDgrmWLx zQSv8=^97XIt5z6Fl?Ic@>*;yHczry~G^e#i-Yg}UnK8y)YstR;KF%IvI+2GKr z7}b;rQZj4Ko(>yr`-Z(<9BG)r)-^t-(+?jO}3)3t6~ zpLZ|n+>7!rLf=urfEf{_7b8#N)LC(V19@*j;P$K`y=T`-G$ON$=^Cf zUDY0hr~Ina4YsLPrwhH&QoeR$T`&@5+4*Y4%4zq;X`5v`)M(BJ8Lcdv(Ut-Drv}E< zXASDYL%r{@9fzMQo`Hjlxem3L-B_X_m~0Uul~>+F-mJR&F*IOuGt&(86Ja8rjvI(Q zeWY%=oJCgZ;Fjg)VoL4}D58}vT@DIvt1dDQ0hcHj&yMv-dJ>a!$DFe~0fIOWuVXx+ zt?LjLR*0*TvqWvz5>v*{S;`Y(hjgu^#cdDId%~Y3TW9mDT-$aDtR#N)o_xcq=)@N| zL;@XEJGpo0^dkrPnfwL)J#+5{UIA8DR?z&|etF#1R9b9RGMW+I@g=}`-AqwLyzbwzpBv(B zQL^Jr)1p!<)gvF8Ffqf@6lAQ}ge;+t&%bq!KBzgUX{=dbr`{PF$$;sawK-m?!BzdA z=j?k7OKrGBn@56E*B&83PSXk~rToXY+lGiX#}&hAbqL5`Re*>`q7 z8E9dz=lxO{?1)LKMX$3qY8_WkO`f3}p^MHUOQpQ+JRRNHk4;~g2)Uea`vhm(+8N%e^%79WCK4zIj zZtdccKAZ+tcN6oCxXJ_sJ!;k;Ht<-b-biD|-pQ^)5;8eok;JLS(XPzC#UI} zy(+S*p%LlDZ|E9q{U9p;e*03Cn6zN<8(c6Mybwi|^uL8yI}bm^KnIU;>!mHTXVRR} z**RkcE8kciBXc>Se0r+3Oh!s(rD|k)WTHqHMfkYoci?~v*C2Mo*&`$AR1;%aA zN`Qf-T5_kOr9`%>$Z>S5Al)S;K!*>r3vI6uk})P*&7VeIjZ=&M)@g0dv15hXo?4ve08Y)}S@ z*aIU#POSH&D&lM7jeIA`f$Jdkdc9$moM?UuSzbn_OjDQ}V|F_A?=1rii(nKXUreSpmrnv)^yMp5p<^N)(6gu|Ay&$A!&>A)rhH9gsg{ih zcrWd7mglYka68XjpT#nwNEzBS%xsJ6ZWA3mpjOlM(fxXKT5^bILZJG# zqH*C%!}P~S4EocuhWR!9m?i^WSwtpjL%~oC7z^*qA4MKLIgLXrJOjtr1!H?5g}JS0 zQkNv5WvcZew|I+CB-NNcE=rdwGJQ8RV#&3Pt?hM=CPVT2D{j`Ly{jLUE@m9@!GpU@ z(;P!D$9bJ(S9Hp5Zf=3wGA3E+E@b{17ps+aZ2XafT%^?9Sl!JR*zXG`xE#Pg#| zV0S(8EwbEwWMQkt@Ocf_65pA5x$7=Y%WR)$tx3!Evj&algHSwb#4jBJs6M_v%L;tEs8+ zVR4I!{?=-wpdBMUJ!xlKS6gJy2#{6~H8XZ^8)Ya`4T~@Wy_$sw^l7NL&R0?Jn^;q_ zd97;5aY8oKE|#?!vN9)4oF&QpBYw%yVi&0zo_}q;$o+bThUWXBM4%8{n6jWY_N>Qp~d~`Fhf_$P8vR*GiWGav=NI_-zP#QVI|a;bsA2v0qcSijG*PTU?*JS=~Wd>li;Vx@3q5 z4;{qI5%9~NZV@WIdiR$b*az8+hL&ff_hgwcZ&)O9UZ(Hb^C|#BU=y4jWq3C8o^p=} zVL0o68@J76?GI!*v(BpM?lno2#)~*y&Jw{>9bg(5)hU81PN?rj6+z9GmNyGJ`^v}x z=0b`m0NjzOvN}6n=F!D*X;)!qk&T&4@S)GiZkrucf8_b1K$^C!#in~b`FKmzonn#vnw}#MGe*{RFIl`Yp`^iv+M3Sp2N9dfvz9c;nJXV?_JS*TLP6MF zxa<~}a_0mmCPd(Z8ILcWs&$wztao{(v!7$^mi10&WRJPbf&t9*O6uEmWaR(h23Pb+ zJw>5_Sl3UfFOk4}yN@+UvKj2Zmo2iw&osq2N))nE2m?ljZ|rUh?6#r7h;7!+D)oP1 zcpU9*Z;PClF2} z4S2gh)H@H0c?Ot0MFj)zL7@=r&2S&Ryld`(NUiaOV%^On z&6F?TXv_zzLdlnqO-3p*b)p!QsYGicF#(*RY2?6>?Q!gp-%un;Z}60`)o(fh?(79- z9M3F*kwS4}f*g>Udu#s+v}a_-zrBT8+6=XS)V*90vmVJq-H@|K4A%N0lubS75&wJN zEm>6H!jMv8_Iws`M&*A^qwq%b(AY`IvIh0sCqxmH>SpP_&i>!qMI8R1;t_%Di1 zoiKfR0*zztr&ScG>zufi_*HZtnVP7Cz9aVf*mZNryIvty{bv7g^1E)vI$dkTzV7m2 z;F|PiG^+&M;`U1+9jyFp!buHPGd20mE30U3Z<<`<7VF@Jx$v?(PmoEUl5iLmGADk; zCYGE-YG`}3v%B;DOf}b$lm_zx;e3FMi_5+!Tq-HU!b9}Uff`A8+>V`u-l){kzj1}s zSMZH2M;HAbLBxtxjCtJsKW-x9DY64NUHs??_d~sJ2R}2svt$ScpY|Tnt{NFHvcSmC z9AXU(aIC&@>swD;sms})v9UrcGzrDoDJd;|NBRrW;BJl_mXcx@8!S;IzQO3nIrZa| z+c5=#8d>JpGMu~PEG}DQiS#A5JL435%6RB%5>^Qo*| zCgwZlw#?Vx-?i&9S2~l2`kQMBlptrpLYp?DI|}mB&Xqn7Gj;#ewT3Vuu?<=N4O?C7 zI(`I7gitx^{!CtOnYi&%l2fcy==WgO7=)9&GyBpFTbX)Op$q?;S3iHeC+aO zqs{g>qm=ov^zM%P(dV;7sm=hT%%(^Zh_>~Q51N`3fdTxdmg^(F?3gUgW?00OeDWqF zNS6bFi9|P4mQ|KTOJFm>9R^W5Hd{a$Sn}kwk(uKpvE0Y(JHxNhZ>oyet&?t_<-fhJ z(I-yG>BxE{2Vu;J1)pD!oXN^9@C1xxe&8p(H!{`wG2)O+&ATuzYbPu$8Nm;ufHGN= zcX&QBX^r`JrYu5qu2H4FcFQV8Eeo)hG^iucu50MCT5vp~j{5Q^hInRBxHV1SpOMlS zLO6{%aPwJJ`)l_TS||~#Ogzc=pzk+>aak32F!{`69H?Z=>if7$GFLcpthM1Bw0Dk^ zB%DJLSuw&nDNVyHI_6}>CPvR^e%iIbKaQb`-=vj{Tf|BgL!@^xQ6ksjObas}3v5GZ zK@Y60Xx$c3Tv}>Y9wLmCv2$`dJe;_!g*G8~%$X3NG%2N2dSZl_0%^b?mheY>Hu_1d zQ0l%RJ#e#Hhoxuv#Jt0Ye{)+?m@x%9hERdjO&aUUjXrA)UoNT`$AGt92WLlRkgtE9 zb}>tnT5;|3)(&X}K72Fri-c$k{R8|xdzyMaAQYA1bs4didW&F_f87y%F=?fwmQK%- z21|w46x(`h|7|rKFo9i0!J{ichmNwesE{Dgk^Xhe$xlROE1GdrEl9nJkzN^|r-o{o zeH;Cy+`q_y*MmE?hRO?l$u2a9&N8S!jj<>S0#rxB&b}rjH%j2D61J#b%76es_*m-e zwhR+hk9u|J#TL%pNO_J9foN0Go((yK=$y(x`aY=vV0y@{yT{{N0oKTTrQGya97Nv# zn!m3wfHk_)b&9!+ruztD$%0T7kHe^&-|x=0hfPf{N_&iWFE99*Tk54pU2P5eixkW; zPzgQLm`giDxQqAa(oqKd+N^Uh5lKb`o}S1?CK4{)&55CIo54^+#3Y2+ekVwe=uFFDMVx}a%u}mbPOOylvLj~}M2?*IRQZe?dp-=0%G#S{*;wm!YF2E^X4LtUnDTR6UiB6p75Bf{esI%3#1Vu!6%ThE^ze<*H zn*tLUe-5PobTAZLQ@)57)Sgrc>62t~MBb+N4K!JNklk<)m=q=mrF9vTQv4G#`$4fA zh?u#)D4EGWLe7C}G0*-=rn1QuuO|KN&bo9(!tkgv3vWcgr4|Y6S-$GwYPzI!w)H3P z&Ivk{lTC%cX*PvCp5Mz-=hGT_*rkEdY|BE+vh4?Hd{Q~7+)2IHoY0jOvP0_MY}IyX z`c+T6J}h$hD?|s3?8;IJtw!UQr|rm8Wm^3g)%H@tiyOIiAh-!SMOoXaj?Axr(~0w0 zw&-`!?nUa&+EllyZAsXZiq=OokegP%dG@tveQksKDoi_&Mgb${k{r&ForIQjQ${99 zlGO5wzq9W^lW(;y5@Od$Pc0EK3@@<2?%*2^pJHNw%?r|HDtS5wcVdX?>NQin9IdW( zd!`%q_$6Vm35eNiV->6%0o%YXp}!w_^Gj;(hq6gieUs&UOP|=6!S}@fG}mHXw@;*Q zvL-rmwf63iSaK4kWQ5=pBl%%L+p7HgmXB9{aME9j)n!WcX+h8-+2hu)I*X8_>t=qJ z6b$?Vn75M#C8DtBGipmq?UiOkr5*r9q;e<8h$M$fiy;N&0`OqSgZJ_OOqDg)3s(7` zrTq35@_}QYssGYIwIFl(|L;A&o8^+aaYHR@b@as5-(}})ZrEVJ-R1*jCY6D34z^?A zeBM`H#eKN}QjIj0y}G64a*`TIloFg!PMGYA=H|$#bqcpC$)QT~rK)*D0NG>n+`~+9 zIZAR)mxRqQQw1lsLux27`Dd&lnDWJ-&Go=j;vZphz5m#G@&IJmZNV2fmCSE>H3FF3 zyAju?IK#YGuwBH2Bb*&%Y}A#pwR(6L|WfItSvK%EBz z18G97R=9-kp*!&-GFgG{EI(JAC4&Y_0!z1~lMPD~80`Y{Z_sNVUq`b8`!#-%(!(&l zA-TiiI8PId7ESv?f+B`MtGkyahSU?Vfzl6{oj)Yz7cKx1Y=(`3a)77P9Ln61E{O}3 zE8-2AaXWdp#DW*nIGfOfDU3%R?@)`C7@jttAnMj?HjqQDtoKYL@NJVdgGc}qTB5J^ z%4zZ3H=YKsiEAeN3I+Q>YCKioTF=e2(H8anTaiVUrEXe@FOuy28uWq($<~m#x^KAT z`|q?Qjjl1V=_wvfSCF4_n>Yue*=so=6=4N*>gvWQ49E*t^-cuK5Bezb>zy|kC6&PF=Ob;3aESKr`&3>Zw)1{G%NSHeWjLgXfZ*ryUP`I4~jS1&3=l(#H>dyR%f^j4QBctc>p5*Plw`*hpP;hE`P> z31KF~#L{VDZg8YFz;xjD{p-FwPbPowi!E@cPkB4}<1KkjKQ01RCKKbw3Pb9pg~dqU z$n=h<{JfF_-|@e!IIp_aH~qoaN=TmF$+#3qA4NSn95A?;I9lqWayL{RlqjX+Sp?Vo z8*da*G@JRbg~-I;oSMMJM!1)g*`Okj;*Ch-2{O-<9X87x+8nutUZ=7vlPyZhsCAl~{%8pR43J@xG&by%xLVtx-AId8 zD%zT320#(51DRr#m2^k<+u)Pj;$8kgQ%BfaMM*AqTE3)>G6t%r6q*gjZ7YmRx29z} zsFiFow8Y?}bd9#M12Gr(fg51$w1mgfSdoe@gq7c1MZG|>kPHs{{bi(=Ee4VM0r6Cf z2_qg5s`%o`g`-67+Ax2c2^_{Ky67}jEzpRRP?Eu#rX1?dy0>EadNP5C$lgR#q&xAO zTZtDD=~B<^*D3t|dM(2U<#5Lp{1w`Y^Pck^C@2G&M5bvWAD0y1lyF|uk|REm>rHw% zC7~nBn{{gz(3jT(5RHl?MOCFS$uOjzq)j@m8s~I4EEf(+i!$ebRXsgQMTSU*t=s>CA`5-dBAL9JDMCDH`4@h&Z_FF5 z>6tBO3?H}b&3t0|BzZu3gE;X-6L|M8j_OHgl1yQgE2q&OO=4wd#_-s_0`w%oLrbPo zP>cUw%7P5%ift>RI$9*yAzmk|bV_(m)tO8w=&hhT0tco`QEgA-QKW^$P&U<{zah)# zWY3}8%wbzb+>x<&_5{%Cykt)zj>;!M287rft^8=@!mA_cNLwiNzQHfXHxZ|(X_8qG zp#hVSqa{*qTRZSTDS2}bjuhFDzjj4{HiwjCGXw>M6w+k$3hZhc*o~aAz%5>C&Q?Vh z&pku5vuNvjIT>FKh~tIPJ`pO?OI24sG8Dtw`N_1#2um$C1NkMC01!e198x&dlf*Dk zO{VU(F<3(_2MGgv=y$(jG0{KXd$51J3)_vR-8VS;2QK#}0d;w1xVU%0IQjbff?xqQ ze2!*P4{Ap#!TRdsi~1!U4&Ve*yEL+aD%HA~VgDI}NB z38XY*PHLslP3nAcy^0E>sa{B z^!r-`ufJdq!Y5ENMVCX7=^f?Aa*kKg=|H_Fs7MqX$4Ok(DK^eDNctoHu#bYRV(6We z;xMX(9k6v1E?VUmi%_j)imAgQ>E{`T>%i*{UMU>}HSAs^djTrY6^NGVX;UdFT=m`g}WW~Q35=-f0<=H<{wu5b;J5N{mOH6#iW=j$f z(!$UFk~U_;;I4Ho+Q4JgHnZRQU?GiP(yopH^unY@?IAAr;iu?tm?BUsUa&6Psny`@ zb<0oJ@Jov49 z9BJIQ|1YxkgPo5DCHv_q-~u>0Fy8neHm0~cCXKL$NBoO}BxYwFN4V4)xrq7|6|?k| z?{G+7(~m=xqBE*GJM-uz054|Nz~1(%m?FI}5SR>JpjmmxygIPE-h~2YK}KzRXWo8x z2}$Vthv#@urh8bB9MbV7s8&00f2`|COhm=NaY)2th^m-qPZi_6rVr%vDZ2r2aH*== z-C+iNVg09RG^iVqWunNz59-w@1IpF!7=?gl-M8kQ~{iDG>#u9e!V6t95l8T2hx z)R85B9~%44z@eAw&q;aVpp+r+U8j!Zl=+K3`a9ns%9LrE1@(sb9j+ zMjLFLNoZi6JwvNGI*z4|Jq+ie>}4o`m_<%Z%JqKQfDzIsurL_Ok?VbINnD2e*nAjF z$gI>7K-12?#&ptQco0RW^d~*}w_62<@;EFoBh`_Hw&@=F(YW)nkDhE%C@$SrwXH?O z1=a-dCNa7%G-Cma#{Wa&DGiFSIok2wmAgnfdZY6pH6{gGlp#G-I^4d9B#}31*j%g% zCfvVX?HUMEHf?v8R#N(yemI7WsISL=O&oBb*ZmP?(%mrgT2ItJ+(h-IL zh()+`@~)m&C`m3ib1c_d@ICk#5u7DLg}@Ionoc+c4oX8e@>ro`xx2-nBm%wH6MBB- zSPnEMJ{__lpP$B!^1St**0O4XQl&c3c7SP3T+^+-8&MtHoqLblOognjUDnhwtwxb< z$g_ZEn%iqpCQv((8@6+yOc1mTezr0h3&MVdC|V3UW}=1_(-U~%=JYbD$A;QLCA7I` zLcaKubPE)_bmfblH0`D5MqNO3i&g!ldlY|h12yjYw zbORY}tP^W(xopH~vgv>hK;5k?s8&c~0S{6xq*u;$5$CO2%k868LkmLe{4ZWG|AK^s zxIuD5lGWi8B)LETusxQm4`qP`5A!7xFFY}LWd43&C&Xs zissX&Ya%NcGSRy3xb>s7?`Pe9CQ2XWwLR(l_9I~jZ#dI zWLN>xdB&paJ9ns@Gt@EvoBRC^MkeVzavHCxPDsR%y@*SwD2Wh-TUn}B5zTR8lMM%E zdCP58q@_!wTG5BMr(n*FWp(Q?)1noDqAK&`SL^27fqddX49-=WLr7-ZHC4=q#NZfy z-PeswYNDz|v(3k3A9plsOhpGF>OzBiLa(A=_P2d0)Hm5y<7b%3NGxfEj2iI^vU%tj zR?!vnGT;AVV>-iZzbnWRVl%P`Sy7Xc(%e1(^>-0{=?d}?B5z3&HQz=ILy-{wGy#dE zk0u&4f+pw^qOTAw6oqB=s#ypmf_1g~2>dMQ5Y8?4s4u=6)z$0;@l*EmdvWb-uABr5m=llYOab+mJ2q@NyT z@g5%r2-Xl*FO<|-EOnCR+Bmv41h-mge`igJ)}IVkq`E!`w{A)sG%wpSc0=mEG}pOk zz>c|QduI>xEDpc@xw~~{nntQZ6Yb!_W8O*GshSP+GZajtwvYs%ie7A^S$0Duhu*1a z5NmBlrp5zqOh=wYRz4!26s=~4w55Fc^nsc#Ybjsi3ehA=6+K2mRErSvS^PKy7PU7; zgPvzD-+;nvUF|Y#F6`MWQ(urV4*q|U8!s{@ZNI{~;>Mlo`)S8McFF8bczi9P*kDFZ z?xd7HNbX&9$z--ai)SQY+&anl2ZAt?93fThlg_9|8fqL)y!j9UH#JzZMo?_Z@wh zD#*@ZEgSL{iDelvQz8kpN<1!3sq|jqAPB~e_NzXNN){}03)gkuJT-`&^c-+?57QST z58~=F;KBi>9=wGCsqWr>!hR~BzjX`S7@*bf8`(GzaV{6|pW-L!3qW8+M2__?Rm27e zbQ}~j=IiGNaSp9tk_#Y&N5aPg+fG!ND7fsqbR~8>{~}2&CX0~~c2x9Y(Fy8So(?Qc zQRfX4(lBxO*hcaO!(qxcXlhgT84R#Y&rS<(v8N|GTx6?sS{SJF`1J0OnQOsxjA9o~F`Q5Mm1 z9vOqwVo%7$&8eqJBT7;d`kBp<#vLi9$T=2|SVRKtQT1RLlu*^MR4y?slL0D`ah<@j z&2hq8aimWWPc14axtSO2A|e#LJ_JxwtVp?VGQ+V(-Mp3`LI|l`x4U4OVT@`wZ$BF+PIcC1(z(25I3XB8En74%uGA4%6wLY@Wo}} zm3@5T`oKmelsvVoBo)g%H42lTgHD9LhXjlrTKYH`6d%z&{m)#zeb|&2tO@ZK;CMA3yT0mJj`5Qa9ait{j;V?+|uzUAvUz`KH89 zoxQ25ijtQZ`ood=)V?(-WSv1kUugpT;{Kip+w`RE%gG-%JvIBSCyRZBw|w}l{^TCA zagi+sYwE*f+(rc?lFG7`>Gh&HD}xTTrP4BI#|kV{3V9OA!;xlKK($^aZ6c>-5NA=r zP9~{T+Ws7&2e6Fh$i*vHS8g*zxJoUAUZO1Q!5;~VlhMCW1cM4=@#^$agfRkR;AfT9 zO(+N*2=!H!uQiTml%AdHJ|z(j$qi2$g^Sk6ehcx3Jt=|;=|)=oL>$U_E_^My z_ExsQ1^E%MKQNaLkuusVj+TUoBb$wTH^oSaJtb<@)K3A}OZZk+|~Q8A{s?XXQO+H=%zqE`_Rd3C>60L&k0z8SX$wt~FfP+C5N3 zNm6~`8s7bFOe(Fxr8XKBcl(Xy2ghi55ni^wT%3 zzacIw+14Pv!tZx#Ue9MHf@x^+EEf0#ik{sKmR3JLlYVu%Z+>Cq{=1*9e{kZXC;#MD z80|HsX2A=Fm2W(*0w`$B%>wfFo> zs(xmk_E7oUFe+h#tYvzR_FF-5-(|%zcz&lTytbGsmF5$H+9;5Rk}#n=p*0ByAlp(w z1Up}qP5?vFvnhWZ?qo5-nt*ro?h?Zu;RpW2K$!>&@SWMcohze*)*4>5=uDsO+-ZTI zz{CTtOHdKI<6bLnjc5l@ zp;~CJWlN!vSu#L!&AU!;mBq)YebzBFZb$PkgJUAD9?lF#w4sv*ttgNfK67DgTEpUp z%(VV8s){Y**!G0t$qcCd7%j?Ns98*?F1a8X&*{@wv~Evc$qRG7li$_cZGiwp?PI0+u`@BgcJA1FR$(tx!QEq)KcoQcsY0l7fPa z=`seMsHSiUEZ4x{C8XwLs4*0~I87LPB?$NQfW|~U!qg~JtnWz(4tN2ISNY-09^NI) zUyx7zuX8m}FsG;!Q`5qJ;4{>!UY%~YsXVf?9tZ~5Og%HK8UsmbE)(eU-~qvu(8Tm1 z%GfKT-MfLDAV?o!U~eQD1~$~atifq}P< z1-n3s7^=^Jph0%PF&@c+6#{Q`iYh1W6;AyHqR#}v1R2|>_74~#-1`PxLe7MMID_ex zn4*QVlWb*B;eNA#?8dnTcYR7tOym?3><;F-{%1-|`!8AmR)#Z^ZD)*JM#EEN=$QiJ zrEe$<2wX1FduucNKz_xIWHDS4sY}VwaEuWQ^o)W?>%)~pptEjg2;t!%>x=xJI73JD zAH1dDOqJj+{2kX5#a2pyDqOg-2CgqRW;FG4X^+aRERg_TE&LWbZ)zZv7XEUQL1T;2 z5hE}UYMhp!0cRm&vqGVAiQCkFG^bg9bG|~AgRf9-{8*jg((w}vc>^t!bj4CrZw^#} zYmFoBKU&6l5r2{%R*ZtIBS^&?qF~Tn-Sr&b3$@b|h_TXli)8vBq>oX1?o4k@kb>anoRtFoc-mO zihD3ft>wZ<5?O~0`$KZmVH6H~5#mg2!+8kxJu{Unr8_3`D|m)3z`k}TVtz6?i-QbpJ4=#JBB z@R0CssHH}LAA!-7%Y&tuBA=9{=dy@w6o6g(df_s2(v8n8{$sU!vOn5mm2u@<^FGB2DZ37L5)Pz zfWDJVcexvG4hh_E?y}x&bW8dMhOANBT;x{U8r|8{+g@LPC|4xAoNDs{#~ex{Ab2V+ zsuKw49=ghgu(IWiW^5=>adU}hSA87MXWbrn6{?QYK*w0L0HM4V-2iH;R&k6|a0Fof zN&wpVs+H$sriWgK+Z1IXMp&bdkRf+%X!6eea1?P`Ck@LAC}CpNJhiD&S}`wsGr?b> zjR155QCIdvQ+V1*ndRcOr8g zG&BcoIE8n9(7G=D1a#C+S8vZ~v!q#=aAHFm6)&(WdezRDkKj}kARKR7kFwj;3wD~O zm#NtM9|QD*Ta0|*;=8udCY6Hm>rZ&^)_wd;y*iIX1dNt;1q;r zGRQ!&eUFt=0CJM47cDF(oid@qe{*b$1 zW)1Jr3BSFaaTc5*nFzFM(%gNpw$?!@GI_AK^Wx>4=P&W!g#MmFmt4MuaWCdH_;>mh0kfL}t$+QA0W zIz<4v7t}%zym;Ntc^aw75>|WPs1|&X%7e;STaQWa&`>c&3RgF>$k(&!I1k%n`IWj| zdrmt&^s&QzZ1Mxzqy zi3X>F)(fm5&PBk!yi)=WcJV4YML77j$MLbcrYzKMznv^X>?t>fus3s)q5tTXAOTg> zF7-Ex8AP*Di1%PNLtRynYy>ZDW{p$&U|-+wB_sX%B{dLN59LmwW&r%S4}BXaiin)B zA9n>Wr)`LXYC&H!rQ1UPzgLvO!`Mxlwub1AitaVi<;gxQvWw9%nvG(1LAYqWY_XXF zCAlK#O{3;dOazzfAeGv2&Y+nHibQ&&T~itOgC!JwI@BmwH)%D<=VxdJAED4L95lTD z*I_TX_BSMAe^kTWSdJ=5*gMi27EUeS?^6eK^I`{(!nAiLZI<~FR+gz-`e0)kq_AU! z55&N6@z$0f9XAV>esfMLh7#A zdB;K2Ia>eyG-fsi(>pAvVAttS>h{zYvUN48;>@{EZW-*XfiMDj$hFZ3pD_&|F5g_W zIo9pG4des@8g72NtpG;}4TU1r`O1Zo9#n~StFMfof*_PqrEQ-9a9oZH>l6|@t=fi- znmpN_Db;1#`G}e)i>M3@3?qPW+^egf|5spH!<+dt`j1|2Hu|M-)_fG+y2N#iYf z(xg5EILBu>DH)4R0ccErOqJ3v35$~Kfw)G;U|vnma=b|fbBr+#x)t#)TuWmBnzY6>3bXaRV@%|V*MYV?ku7iN?lT@azD3!N;!e43*MnFbO; zav;4%3cO2(y)3CY7@feZHN07jEG-eOS05u$D2rNP0ub_U=?QU9Lg|;dmR?qY{5Prq zG`3Rb-X9Zdt7Tr6cd}fX{{8j(#)FwdtZ@GrA(SZ@M2xs-4&o+~D$2DN>h_aduGSPM zcSEMPaf}THdrQi;HkVm;4NOdhGibTlRNSGpipOlLS(P%=yxHhg*_ANpx%x7uO=PQy z$~s%@8|NUVStPE4cU6m$sCh`!KuXc7G1yw-EB!=C?;}OUh+DxC2}DeA@K>J5VOfgY4y5LOFPZCUkuU+1#@Z(In` zAT8bO!$%nsL2gL}ab?A*_>-p{q}tlmdOq4hbz{g4;2KqvloQVo6>}&bR1ey_p=;jc zwMj1eKRKHJ^PepnpHTNwW(NC@qY#*BWh#J>b(AOV1lC72h9tAqjL6KU8o`Mw&12}z zLmK~l(ghY|W8erv)aA>ntDz-L%4eTA*7Rm&al!;rAQ?rBVft1AE4-hf9jfdN;cqi* z7}_kIk*`n7AQaWNnym)+B@Z`Zg~iHCPxHSat=|^LIS2$Mn;V}l``5=@#?W`Hq9;K^ z>@RVIz*;#`jshmwlyWs-pf*H;EQ*<0@sld5brzh048X}ah=k>HZH*mi@Xi$x58~qS zH;56o^c3`4WzoxUW(b=2mD&hRLT^ELXICZ9nAe7qP?=Rw|V)2f&^AshMVuMGC zCzuJ4-ce=cL!qJGX4%0eDIYO|!LfI$1bv9H6zPc?Ky#ktM`Rg`T1<_^hUy-^X&2cV z+hwlIW8 zMC6E1Q;5Xi$CPhpLxs2zQv}=9n^=LJtrP7$uVPZ9MLCBN zJg`z=Kpetv{fS9)hD;x{wpue-!$b4Q>ir{WxO@y1xQ5|bnx@$1sdcduimAnZ5V{=V z^X0P}D(;6FQ?3)jLWrm1l_x=i&my`S(0?CB<%<><#gmH09kJOCG3*DBGaCzMRvHLI zRqhh_X#h}`6v7n?3NzkC<4z2lotxBCH{XBiiJcd}$ece@>o@Okr5Ns1D_gcX%U`AL zC?k=SsGORgVUsR5(UwI3LFM&fz;dft~?xkTxwNyrG z*c2fI7fO%t(96nxF4wHcCZcWog5@(Eg9(!)%tglvaE=ibp#nZv@^4NJ2J!7Du6$AS z>RTPJ5T=2Y<~{9VA&Dpt)q&v~tqh=Dg`c6*Ko-lTeFdS{@m<0}8qlpJ{ZRP;TzKlP z=$8mApdMl0=<#faH_TtHG}8=HDiKVgl--J9ex6hX4w5zN*gy_of65|WPl>g+7IKyocg=Qkb4y zBnVzA&eV-XEUQcOQg@GdQ}Q7Cy8H*>A(5Mx9hG_lYP#l%rh4{|WVqcQ;S&V6NwdxP zkF_`)S>nMqcxgn_SfM;9C8CMb#g8+j8~_TbIyT?@{XmBCPjF> zr`&zepO_F~LNNz6po6`Rf_kF($)C2RE5NOP%A|vI>SD~be+Zu4Sq>h0Z zz_1V!n7eU#Jpu7>9o7^0bmtEnTUN1)JX+C@DXN?wX_@M%GB+ zU#g!!EuVQ&ffUX96QT3+dPzG`(z*|o_`sG#+Sr}=;!BgaHvY8fVcVm1K$v*bcyJQVSpfo+ffS=(%ki5)mUrY~EUmZR& znh<|Tv-I^CI#P>hwYhl|rZP5)(lc^d6I?A-A(_>YmPzK=@zl|lH~a&qP`l_$%vy493ZKH|Vahu@{$6c2`7(t;C>ULx?y-*@b=19Y*-K z7-G99PVRP-o%H+}BnR1aHT{*G1{O%X&8!0tGt;Aq z$)uh!YY%t6*OdTRT}-3XJx=@Vx)SLTV``bq2KXWdSro=goCOpaV4Z9hX#O*KCee0~mBk zSPGoq-PInP-}wmeMks&w8%_NI^d)ZZj5Mlu&T}r13HQ?a>M`E=8;in-9L_(Kb#Srb zp5Voo6p$gP+7Iz0-NWFDJoDT!uIC?KxqRx9ZDjUYh<`0_*agtm*%HFByMmjh6FKl* zlQY)Lv`~rb=OJ%($zI@)`aR@g}RM1i%62tfbVv-T$2+sD@HR?`>qyA52bhk)?PN4*j@XTpgC=*VFgo?BGil- z=XQOVECkhI=&lu-b<$bk#mRCcnvQo*p_oJl;B<)iU#d&IHv`Ma26pzLlZM*mKsjFt zN2srj+@VoK>si{{Wj=O-ri8dGTfVARv*85mhA-hRdD+KP9ufhr68hbfQ9bm6ZOz>+ zqZp*-;qpFmA%==3s-ogNemSI8u!4@I!4**n7j5OiaAQj)hyEtST-TZ~GF8qGpV5OP zGKxh55yYf-Z|F~6@>Pw7aXdNNMN(PfaF#6>m|@UxHohzv%4h}fW1?JPQ`v%wjl1#WxzQJMRoJf3}=zU`tlR&UvaMDsO9>~FjF0eX_tWa7z>I#S5&Q%)= zIoRZ`a8e(RJ?~z%+F|yB9aZkA8ctoRDIDdfb%AzL0KQ|*Yr^CwoXf8W4$ws&KI_{M z_N~m0@SqyUf5|+~{TMghl7h~W^tx7ROO_LNg!Z95N^CaWIr%V z34-;tv)*m<-XYDeZ_l~2&Jl5&HfH^bb9H4bpM*D*Yty3NJP!-?E-gZ}C@pnhPPn<@ z+wl75U61mH<;gcvKoS)mtuvE)nkR_e^KMXHBK+*@B6%;j6os?zbQks#%R_N$y=&Ph z?LIG0iR{!$6!JD%Xw5&k~EfS*t=HAzw^4AhYr}% zJ($2hpyMlN5ERa-`7Ao;Fk>UOqNhbpDF787Cztq8g;O5KGqGB}yYp49C_*+eLRl4m z!PmY>P!BhT#8MIZhih&|hNv6Hsx<^f90^f#mZzMlTpT9b5xC?(-X4})!$d;gms|;$ zVScXOLFrVJ6WY8@Eso<11{DYjf=$M*L`INi0dyCkDtJFev%-80%&qJxyBF{L60TpU zKC19=GGai)h+#)W_~hhq{%cNC+vE}-`WJ22q7%8PQI|dIhXllQb$WJv%5ZAFG@THI zpLg$WJzZM(ddZAe@9oD$=5D=J**X=IEjv(bsuykb^pGktV`}6{+K6h4aF6qIG3;Dt zO~>}C)n)Q-XnDAx{D-DGt&_ZZ$)SF>_L2|RYA1t<6MsWfUhKjAwj33rdfNKnm_ z&m2j`LXz^@%@xCT|Dpw;3{K5LGNhI_M0-f+jx#oPOq_1V?!FZ3$IE_dL1~kzm5m#+ zUvpF+(f&v$O!OEm=ZbR=$Lg1Oo=5z*dt*jvO7Kzr1L_V%Nwyc}A$+9P(%IC+43!<* zZPqWkjp@gWr`f;bpLapqt)W8KW6OFAO@dfZ6uTMlwmWT(!L^7mAwD_Ky!GtLMH$0| z9>u{Ckupg^SshFc**M3=?)kt{BOx;aI*c&N4|Gtg5thog5F15e)$x?_vB-Ca^N5ee ze9LWs9*%zx|KQG$)iO9&`FTp!YPghGw(s5F4`Wi3k)Jd}+cgd{ z->B?GP7F5OXS%1U)>p)EoOE3cYd+AjQz`9ETv^|6OzrHUX^A(xZ+ zRIL^J44VxxO~X<%ryp}m*G{Trzx39L|BtM50js)9+dbeZBc-8|DGf{)`I!PUQJSeh zX~~kzG82`Pc|cKCnxd#2oh*m35nT#Is9<6{yw8|fL>zilKdCGV^w1IMd zrKKhSO{OPYulo22X&8cAuIB3X%J{l7sG9a`aYFKk!Z09Mhu6s!3`y{7Mj)#;nB_Y~ zoa(!-ixV~o)yYY#jr3jDunZ@+b?<`ItQ!8HbxQI5ih+W2c-X)(JzW;tsOf#C=PB1+ z{cEdCH>=vmgm>JI)wedjj7o+B98JkH0$=kSG0v+!W^}(%DQs@5arSY$^~y; zv;2QL7s88NzBCQx$3vUkmJ8eM7-Phn@2~kyXvP(=(`_y^wWg-G+IsPP!;oln)}zEA}rrs4nmXDeHFEvbOck zTV6>JRySDtP$qw?N%K{1)Kjc@|7*@~+F!F5TqbO)Tu_TzUf}Y)Rws4iyFV)k=77@3 z6qT2A=(L>uJg?sm$vkU2{kPiAefV@Q@N!$=C{nh4Z~~v#yYJYtJUk2IpO>A<4{lxv zxbV>?ds@5M2+$MG$Q|2J5q}jFI`&fIoWF>Dub^mkvQznr^GfA>ss0nUr`dfX_Y_Fn zC0$}oQ(0^w8-Y@SqlsKPBPTbA)5Hx;T({OdXKKy8``%Q)f(vZceicvF^~uHbRq4wA z{?I+0T%@-L54*K@G_@~E-+W4luY~1X;WYc;`t*n_pOK@}+0E{|pu9_6nAYN@3A`GN zBWVc)!xvUE=n}1(94$K3^z?MerL5=Wk)_(TUg4vn5R7pI32~wP@q;HJ1smr>+g>sQ z&yvZW#>$w}hqj}5rh-VxJUhPRq?!jdx%zhQ<;sLxaem?8i`jI{NFL%?>Lr#aoAx8> zQL_o9_T)-nDqfg=e@%Sjy*D>_X*TV(6ty*2i2b0rs5q&%;;YHCAy5CYsGr7(_ehEqj3!Whic(an&o?y3{8%;Bg8Z|Bit z2Paw9o(U!(eVr1Q7G~=wc!$W2PZyTisj7g&L(#ap`@=AUj73VNgc$~r!KIj`Z&bKM z_5l%nMgr$2xml+f)Fp++3^xk5Aq?Rue1*H=+qt5!EHj4y~uTptN$WJ7gVCwHmz@Sn56ke~qRrw#1 zK&f`4HOAs*Kv|sU8Hk14@!}TnyDHWmPFU)gl-eMkM(S;9x}JuafnpjRvzzsMvpl@! z8r?E#-Z3uEr*>kOXRWzBTcd`*9n^YigA?4EY_fXJ&c*Q+ub?>BW~r*!UY1v zk9hOX?kv(gLdQf3!UHc0xQELLfttcCTo(BG>I4Ct0CRnjbm{6*>bmw6*TcT#oEp44 zS7Zx4Yl{IKN>xfW8~5*Bw;`CCIGyUNX7A`ajC{Hjz zW-LzX!ON8ScSpgbF)#xm;(9vyQPfzht$Xfx$3>9?k>o8X+P#uSrr1K%iYAp;lhAmJ z1ZBPKcL4<$SLcVJSBYTV;E_=#le(2EeM;}g6O1@e$Vq({$4=%A_VN>mz_J~5IF6%o zOw;NVN>5%}QRx@nafoTTAy?9=1O>FqIy*a&+W`I1H&ll0pHV7)k)T>hG)a7BJ8vzU zzrt=Ybi1oGz$%u&J!(9Yf+}KEv{VajCh6!ZN@Gp(lwV=-saCX!(B=AzMkEj5ifr%-@SoJLj1{u|=$B?bQ(cE0=@&Y4ifJ zG(t5}S%&Kh1D>py)9lT$rAc7hV(6sv+aN25gwU(keFQ_QM5-09(J~1UD$;$h3*?6@ zR#}Gm?efpzra+-GnfVAi8VQ14F13QsT zk8l2@uL+_Fln`PEvyUGC%5|R`0*Tp@Bt-dBXxydqZ2mH5LKVU(V|MkwCHB9se9&3h zSL1eQC4UV51x$yGSaH6HLX0tn07y)XVDB4s!EttV)njxWTCd(WX@VkVkxviX#Gy4W ze-&=L44<@t>;7{)S54-Mx$!Th#O)iv;NXWReRzKHB#p?vv16wu3 ziNs`fm1SmR-uDUk!C%$YKkMdgZ7N~EM699!HW3n!`0wS+>qoyriw{WYy0m$>25+X; z7$5GfkD={h41OKqr95xdhB`A~Yjeu)E}anPnAGsSREP1C=xPdK;O4BF%tWvF9cm2y z@kdDcG2*C%lDYddSdPdD?@Z>Ia1gZZJGY*Wu6X!;Y(D1D5vD}b5IG}G)E10p(p`Hu z7UQlwjeh#e_w{l{Sn@&E#M^LO(GcpHXX5qr z*3*nnP)!*9LFX81D{Hq1^FXhcqCA8_y*W&J#NA>qDo0xz)M~MGbnhG8W3}6L|8A(% zd1%>n@uUFYt^vtT4*k zvyTMGk``j~{y`;WR`r>;omhK4=nzMByByeQO0lyf&e%O$PsA})=5o;tzuxn~lZGuz z4|JqOQ_u4?wGZMX}}M$K?I z&jV*?`GBy1$({DPu!giWjlNx4*Z4#RA$J)S6;$GAtJ5oA{t2aS*S z6d;roG61_cL+aKc3%uP4918p2K{-;VND39Phjf;0^UVeR>XSId0?h4;sMO>!$7u65cL>opO|-=Zj~tspl}~VrvO9d> z_B8O-&KnhmxrEtO!8%;Q8;sc$7|Ow07_W>=vuDkD@aGkUu;1Zh*6eNT%FT&QfW1vk zlMRfdz!0v6U<($tD~G?(>-To<|123TKugIi88AHl^w=nS!6o1BUpvG428|7CZe(Lw z5nbHH)&nKA^fu5CJ)Q0vLP^6yr>Qr7VomoC*e}#-%7{x`F_6!KN!t?Zk|Xqx5fTEu zo{pg4)L+{Rkt+he+e!yDKXbmmJkU#fnhQV}%8UyetGH zhoWaAw!NcJ^!@#|3RfoMTvdToBm392Z}-J9FDGSHFvA&&-l@(et7U54>qX7Q%R2R+ZZ$R87sP`;iy07oCg^L(dF?|G`Z1#4&5L76J)*Y*oj|U$ z7RrgL9-Y5uj0eVq6e6<-Eu&gOTgdskGwGUEsSwz*IfJ+`WVJkSlNSy<<6xw!l>rkJ%(;`5aLFR!JoN4I2!j5v=3%7y02$|$D3O*@w*1(8G4-lKs zaa8El%wrN#s3a!nI&ByQ&+R_sUG1^O@OP(93;ja)4*G=tK57o{=e(qg_NHd9bZ>^>i9&^3{vyyE_wZ;BKnrWlqA0GZ7O+m;%uOFngSw;tNRZFw;aXYFl!Jz5_DCgg8yFM{KMNF3Aga-o|7pemCx4 z&g83yCi%W$-?Lyts~CX^`C#YLrWA#p10Y>*47T>T3R6lJsPKkhSp!}MH;g~{*>f?b zuS7qJsvpvg2jM^#=i#!9h$UmgUt&B z&k`ph(9YAdH-D1*Ho5ftGU!JDoqVY;{NxugX(^s0FidEZw(~8v{KwDryXF*0k=>A@ zb3_1#o)0H^jsPR$!D{S6exc8^DSe?gIDs`+X<4(cP8W$zQ4R-3O_LTNHC?SE$n95KyaZ-?2rIFn4MxZS z5)K#-b*bQaH#S~(4c`mAj2u$NkXsq&%1oL9fNfAc0)#4a`v$0@4}Q2DFxtqb16Y)B zwrOnzYqevd2Wv{!$GE||j>LD+FNA~Co;aC@~>n7u390sJUCtaU1edK=F1=i zBshc#C9-RD4?O+7SbgKb%Td=D)`6-K{Qt8jcR zwde;X!qx%Y30@AXhqP`eeoBgL+1UzQmo*@{cMKD7f4J;$pInNY8;lb<+-&o;l$Htc zv14N{Dj2j`wDX-X5IjNRqfNDE@xLE?wbLT=!;ZxXmmk}> zzouwow_Rg4=LH%%IFsC$G;wT$+e=83|4~VJV*gyJGI)hAnLPLgM#43T5&O}=6!Of3 zfKl~M?u#etlN>rNba0~@KcUrC}2a|6UstRlI4VQaNpL=dte{u4GF9qvzV8xprqRd-a#x#TW z%g`->XoY3_=KW)$NL}1}A#|L>USP>&)ngv^Srohl(a!)UH631lr>m`zyrdYMoLVOS z9=|TbcOEl0{Nel7GXak5qY`C(fl40w!b(`kK$QLOkr@Qs47Ep3N@pErMgb~Ae|S#- zA%6Q6%S49L^amPIu8e$~-lBxU9%}n(+I9h_G%i%jsClC=!aosiW}K8o-$2Ww{bLD3 z9u%_(bi?E?3llz3t}f*~gpu51f!UQlfI4LGJ5sp)_dfIRxL~B=-wvYUPIVHQ>|K=~ zQB_IV-$*kg59apkHOO`LgUHBzcHUjcIFR5fBXWu=79xd1f=(GX0g8<(ukn~9fCQQM z9AQ9SQWncnBT%Bc%-;H6{r(WrQtnkHNNR4)AKfc>8zijVl{)HfWPY)l{~e`zqQ|mi z9;TV8unG2wNP7}f21b?^83JxQGVS=}>gN}~84}mO#q#M7tw%P+9fMw?%p+J3qCwX( z0B>S$a~?$-N{Vo9G~)^Tx}NYZ0s|k7wnP>h%={=!9qyqXsA@er+la@PA zZ?o?W>5Pl$SuX9L9RM;vi8SQAJ3lD}mI5S~33j>{a)V^}@}P|SP}$SlGnuzhSaz8n zhOjS0zqI(@`r0-?L1C~mP=vz+s3k^78I@MrR)*7BFQ4v+r2&w9NF!7RG=P zz=t#eWY@j0I{G?l+L>k6WX{Rs~0(&3htFz2YaXrSxgwm9-8~u3v)|jtpFKG0)`yRT9Q+b zJ1s7`FP(!+#rV%;Z<6(YTHu^Rp<3{Aph>8ICBvTSTm~bMZFmw>pFAwhC{qyRU}eLr z>7&Wz@>ZpJ=Ojl?&wxROKxlEZ^v}d)*?PEc==^2H&qy7=`6zL8VnG$xbi?EY)J6K>* zOa+Fu)DE&2dTTETIAeyTlbPy)fsnn)YF0r@fT!PS<;@ocemoAhmV2`}p^5{?pdi`T`^3G~+6q8@(9ySco%Z|I>3JC- z5ON#N&>r;-hy*kRf=~ff9uTjm-GT`??400<1xU+qa#%F)yV4->qPQu&)@>6CQw$yo z4_O|WmB6(eIoPh#wYL$3D@E-{vf*BU+nvQ7*)hmTf%+sABN2=#@C1F>&_+h^&TTI# z<5u&gTOcpWn^X9Ke8i9SzGQZ(4=gjmXZxCGA;Ye|#;aJW*mmtJhA-?DSptEUwBpiC z&)iH!6qtQmzsIo04?*Td#21d-@^>FO>4lvQuM5LgD%X4z`&hNKcOMWKtKg|8vKjx0kx41aExu1*WgQvSHzODWEG_IR4whzQ@ZN22v=h+137EfCZb&+>g`!9ZPkHTYj7AgiCVYj1ZGw*^S)MZWONpAL40r8ZWP#?nqNU$ zcSjFS0y0XYbnmN|`8&V1_H+dcA`+<+TR27dVPxt@B#XK9s1+iQvtoQEEKMVhUg>SR zIVdUGyRR3I)TBWNGf<|3EQlO6VYc;CqOLTiH^v0v$xarOae&c{ZeKY0)2;J&t1n>8J*L^RsN&5E zi#Z+JzFw;h{p-JM80!cN>Wqv4_!3Nt02o>1T4%1M?30<$F=`W`SToDv2)_6mz+EK+ zP$&K%D1FvjD+}2YqBbLE=qvoQ`Newug9D~!44}4XPMC>c0N@^T85i1mse;IabHkS~ zbdiD%VZNQL$O{h^(HkC0%j-3@2krEo<8CDO)+KVi?;F?^6Kxy<6xPJ-qs0OQgOunV@4tB;LH$* zw7{e{f{b`M`W!eAyY<+K-(KE3i6OzCR&*=sr%uW`nT7y$2n&*tfPj>{pqUCXsm&n( zLoZi`FHGnt3&A`RgzuCVx6Mym-8lUoDcAWF4uq)WHiWaHtKRou82!Ua2GBH2C=fOb zn64(E5bz30EhMAOOvRI}rx*EhPQ!-cgvP8a< zcODaCU$H*OUR~AO!2gqrdQ%R|yM53sy||`{6?T|r{&xt%-XMy+RVvoHe((UaW)Tul zA(nUFg#sd|1%FaRDxqJ21&oq4e#y>oRpra{!B@XdfCed_Rpfi`zSL5EN(iZ>Sf@86 zM}zhdg=D=QAc>)>wM^d2i(0Bnvr;C!=N55T(>rHw+JwkSa%ZIAk7vtBjoqd6<01er z`~S=o2zX4i^JUU1^|90lj#}|+q+@=0D1ji-1S9_pN14+rtrNznASuEsB z^11BnQ5<#2NB{2?9Zo?!?3df)*e1mMO;+HDt`i|{G~BNMVWj_Ew>ic0acb`%;7jC$z^j`9A9e~k4d4r63>C0t;m z;YY9~6D(d{oXp>aJjv1sdDic^k~tBUA7f;3IHyq*`jU;O(0CLREQ)gHPx!mtqf1&;xGVWcixDijVXkd8N>4!i?azpMiTMag< z?%AR>S+_?Q*hO@IA`CXnF2tf)778`qFeoD-WxTOYWCuKZHRcYT!fnb#;10cS=7IX#DaXKoMI5>hY$pZdeq zzzI-q4p6{!_-!=#Cjl!v=(2eqLJvfA^Z@lR41Tb3?Wn`ri=Z=1`_^g!C}8yy)3p|% z+HbFX6Y$hY{j!l!7vg19Y5$$T1ag(dOjGI_UJ?I7;8bA?kXmH7Nb_5x+%m8`aymy} z*mx*=(DwD1-N&=f{n zyi{I^hQq=Z8|n`N+l%9@1vL>-l5eGtB+A|qPNn@PYS%ZiQdWEJ-xb6~L7#4(LQCL} zPmZGBUX){#gk+KrR8G|_ZoB7rV_cl_eJ^y$Ns;a{CnY-E3^-SjptG`abA-BNEx`n_ zEt=bM?!i&!6L(pa5T5DprE#a&-M}$cup!UqsMyS|8!D`j?B`qTOigy_JY%?W8* z(yotiDA&V;k+uQ?kI)9XlO?4xvaXV~!M)#OHj*b%oe;3Tl^GQu9$1{u2^|bD$F&$P z*oN#l&NmZnB0d8fdC4+;rn2>Pa-=#0=o4g7P7w1LPdxxY2zSXDja{jt(ElWA7&}Ej z_R_GP&!9@&b0h*8L?q6#w$=5|pZ4>fls!(H?swXyV9cc{&!ug6=AQYVD~E*iHt*Wl z?E0rW#yJ+r|9<%gY&l?W_Q!)loBGLROP$WZ0Y0(o~+`+sf`is^-RZ zmXiXr&*}G^7Rv-wmln2NmwJ?#45X` z>nffc|b7w(M<--#zfS)Y&k-gJhzc{*f^~aG%&t80VJ>~M+%kjIy z#->omS~Gh=j4dQxHs<)@xFYe%?&tFGMMu6j2AHFtk4Sh>T56y^@OF3=kaWIhbZL68 z{(3#ee^gUG-#>hcC(J>#H}Cwh#~kuR$=%Xl#myY@t;kqH<2uR!3@1)E>v={E<8@sY ziJ6KQ_oFdwz7+EdiklyNay}rW5j!9MZzvOfzs$o>3YY&Ka~k8Y_LzCb5T_(7k#Ub$ znGoVcWGXL0WPZ!A0&awuk2FtN_#NWiRA&@#4U{$eIngw!{3lxwAyf=Cdu2gLk;d@| zU3wI@CmC~&*F5y__t(IX&l++qq~U1Ugoy$6y>rh``s~_v4uYlj z@Tt_0Mk(LY<-bVO>O?W`4KGvOFY@m)$p}eTtY_QLMzSlXwghToX2uUNUhX*PP&1go)1 zHoA6DFU{lW*@|u}9<#)AO{^xVn?;CN`@>8i++*KOxV1sc9NHXwXID_4du&Enqb}vl z-Nkh`S4VUip>QJc2v@2BzRU#N&d~xXn^%9GI{K8*dKn?;m*y01h;^yh{0;PC1eCQY zWrx-`4hXDwHI+v+%H6ykLh##F{1X!G;c-!(+|1l^5p~1x6@}^{ zjB=!xd}2)_{KB^DVrnj;PF!!Yw*EA`>hMH<>Hb-^0eL&e1yw%1avWtQCTUZme}-Yo zQS7=-+bwasRy3$%FAca7zE(8&WlVCOpPe%W>4mHNBR9;7j{rpGK(qNLvJxT~2A=|K(Y;u>?Qv)%q@}Y;3;6 z_rVHP;$I|&@Q^Y8(GZe8kAKR{+>04yPJ|8icc&-tPzB>Z?C=-Yf47P1K|_cWO}xea z5Z&nic}zQN+4~iv!fO*Be0gX9#%sWg%qQK3EgD`zp>Ei{qA~=zIM`W*rGh-^<@bGO z=p1aP6?bW7qmWiZ(v$m`Fd^wWat6Fl`fUj~2HHHg(&+dK;>M-JrjtD zJjX5Z7k;-^T8-V<{I=`y$J=Oe$+q$xcwYb%TK2V**PYKLsDOgxS210~BF+r5!*xn9 z)>mjl9ttm=Kl+_!A;0KEJBe>Wq>OZu|7NqMk@hcxXvHQNR$!4V=rLOQ0`mxqij_^X zS&NaY$=#y`cK@0aBP~qquyG!+q<@u3%HvS<_dR>#dde9m&Atf+nJtrOhdBIZ_fkO1 z%%5h{!%=?8@@DLzXf_nUF9$HlRYnc@&M>zXsT3B(d z@3_vF;Wuv89=vkNGUnXU-kSXE0hwm0hBjYXmyz1-Qw2)%a@!v5_*i}^FN42;c%Asa zG00^_aRq)g(ok~c$Pxd!rsBECxz@Kk@nr@2~l23P6dN z!iu4C({8ePp~oC!TeD;Br_jH}?oT@_z}x}L2i``TI6m2%D?`bS4+mWS#ZCX>o35E3 zu4F0V=(x&(n4;`ih8+|dQ5*xeIG6UFmmXb5Uzamw%n;@SLrj_45fpBeP2kT-=YmO= z`OFA2e3jZ~O}FM+?qU`Ik65i~i|9nGCj33Vw>@@~3m4Sv1t?&FfScYl&cR4&qNAq* z4J@mkW?6!7fr6)S9V=yJIX4cTKIn%sSpd4=CC?MLBM0$Q8Vj`rG*%`Sum=Kz#iSk_ zX6xxHT$uD`3w=fwoMfGA|Dc_Fwz4*j(-4F`#t#tMikn$8Y>)vi#HFsDfq}tSKj!1Q zFhJ4c%8_VB-VOH|3BS~=nW4Ys(YMM39^a^nu2*}VTO zW*?+E(dR&YClDFKP5Ux=gDxybG0C&s8PvE;tBj_IaE%MKNiTMf%-VHrUNss?Zhr?R z=7R9)!+)Bgz95TWY{Zfa&%J}e%=JF}Ray%vo;iJ#UcyaI!P|rBZfViA5CKSAJ$ubE zD()V%Tj;}JpX0rvtF?7KZ7%gNp9n1&^=1;LyVh;{f3K&s@<3NAX$pFf+a|aPRS^sT zLHlDxxq)`{q*Rrq>(a4aYLKSp24Nm|0>}sI@smBNtBv~hF|y7`I#DxWv}PU-r}QGO zDjV3cm4&4%6E2f>ocmo1X+;ZZ;i9CPB3^}Wx~$S_hr3zN&5+a%w`<+I?5og4$QYlP zM1;@IZ8K!0mRSkAhIO2ixezsZ0gtXHOxJtHf<}Aw-PEb`nsZ4Rc&kzWHN2dgs@mxU5!Dg&JXbbWR5Ar_2iL@8%?D;ln{S_3vho^Z*f(Dt9=C)E1aia{1ce<| zAhhM&?9>KL_qT-`Tm!LNkqK=NAC9LEeTtMT-x4m;LQVj*2Se9x!s@krSef93IB;HpyI6=hoO`$*E^=8+6MfYyLu#I0hv-(j_UwsY9`& zqRQ6uH}O==FRCem+TnH@M@4_)jkQ+#Tm}$WmBPkj5*Nc}x zYss-(v1<6SHkw(8mjif@!EGLgQ-QTfJ4RKn7n2A(#G^d-*ea5SnmaCy*$Th5l&YH%F zOKd0Nj0@6nyym={ZRskIJvJ? zjDRBwM$uIW@l^8YE|D>&OR>k6#)0J#=LLo>A&q@xTYQ@2q~u4K(gp+p9wBb#IP&Fu zau#Tbn{jlf`HHNVJtFG{8T2wRQ}y~rU7uMP?=)S9$B63}oIA<~h7`2be7Zx=bWWa! zHaEgT5;Y;?3|o{C5wKNrseACB7tFEd-oASDpX((aVkl0HCAt;9gtDd=xcZ_-L)E^) z$WIsagA{~H^Z;r&MDa<2ppRT@)I!@{JQ_4*0oc5h=EEq6hBr-?c~Znr4}}JstXXRs z%B!>D-hKxlRv4s+M8 zeZ#gYB&(uy=9{eGe0Bt?7*zzCNd?Ma4ZG5yt3dA^GUHH}cLCpm@&f9cFa+=CN^%1v zlL;=q$bG;L=*<3_3!B+k?1zc0eg)=tQl{~RBRUHGG*iX+Y#%th#IK{BKbFD}r*PTW zI<0h8U@I+y)s5s-;y3Lt_@oA^>$7 zO4#}rshPS&=rDy46L{PlMQui{-L4Er<4j~3a`YFYu>-IkNICMJMo7au=gmSM?f|aW#4`zKz>Mn~67IH9> z$nn2(UBPe2(IK*-8X{89JTMzZCDh}`2p(%{?E*F&*Y64&;%I@*F(W%!ISQXNRBK?}iGY`K=R&ZuxuHbD8br=a#XRI*yxpstZ zN(KiCTGSjqrX;?Y2XFO5+>e#Z34_-(?vurZ@0oT0?9}4XgO9aUaBsmw8r!;@xONPXizl^RS2cw&2)yR#36@Ez(0OT43^^P~$c(gW zywcU=d~z3BDaj4QH*n@9!?_N~Cun6wj=Mbwr4e_z0898e%p~e?rT!+hp=Oit&?v8- zauXYAe7|+p>EZ4#Dc2(3lesoW!W!Y~E~LltV#N>qtlLKO0+zBG@JE7eyAA%5zu)M2 zDIn`*C(Uw=&SD?00aCOeGn$zB*TwMV&jb`rS2Q4jYzU~rMMWj6ODTNSzf)#a|&HY zc24X3RAbyz+Qd$)Fb2wmN5s4E1uGo*@Ic~`3g6Rx?JjY2JrVl4uOSX?DcVNgP2{u>MZCjs7ph9ok&fHSExu! zq_dPb-5LrfgP11vf~9;epaOujr^Tf_j85;--raB+IDy%)ZPqlFEv7!D{Q#yKIapY1 zBvB!?l!^R}s=$Sd06ih`B^J>{oQf8mS=OgQ4wnXia*TEd{QV>COn8?>8O||#Dvq=b z>;hd2$q(y_O_s$EZ6wrdPIy0_P17fhfO30z9P*blp5yYd{R}euuhep>(%%=ldp3Nc zj?T`-0Y_y+o*`csL5cWguKhEL=u+8;=O&N|Ww%l)m@%;PM_F)YSs|YawJ*m8ew_Ptyl*mhzeGO9?(EQ@b`_?lWatC;7y&(Wot*Geowf` znBQaMhV!j9G|D)90VQATJZsQJ;-*wFTtqj5I}0@{6I##OMFeRrGDN^>=Hi4zkq;su zj>jZ<#0_{2;v-+P2|#@L=g7X~mOmoB@H2PgHXXRU?qEZ1d5WFBbmjU0ymk7ZQ!v~4 zf)W}3h8MPnwQ0KG{|eCn!s;CWG$%J+JgVfTT=LuWb}4NFz^Ir%el>57VwxL@n{qwp zXovS6h#hXnEaEqNtirdMTS~Y2ua3lOL{R*rjN3*JH2cRFGe1?ioKOc0c!z}lFHj#r?y|5&9&X%QvW9&4oV-}L@ zfBVLI#o3aJDj`X8*c8({)gF*&(`_`zV8<87MN7yYPln_^xR{v z#_vX(zMlBRrvTb8>hNVOb`FYp zfDGKw7EKmD3oXwJQE`UV&;aqcz-S;$$@QbVKj)}Q_RAOQS zm10yrQslsrF)9|&+VdcgsQ=?ljhOo69D)@D=`~e&UKQ6gM^j4m_H^}4y~T%&n}jZW z?TiT!Osytb^7wf4XKyx1)k@|U zFL&Wj&m1*&n=jp=$WLIXaB$EJW`o1mq<6wtKumOFwsrZdyefTKp*Aos(_Hh0{ZoqZ zBCTYsjdlbP@%6Q9IGq!sd^a;sl}V73P{g7Q#a#!_;n9Q})WJ%f zIV#6^*3s#I{EL&o_^1JdzAY|*tghXDWA#_#GKA}kIZt={{` zIU8NaPpJQOD|Ahk&7K}=JZT$!_ERVB)_T<=&_Ca}+0)Z=Lh(RgNI`=VA{K)FA@C9M z+(jK6tP`@3++V{wHAdnH;mtsgrwmLo>S2Ppm`ZN|j%0c{SYTgz-!9y`j3?aF-*YhPuzz>NzJ zNSM7{e77)pSp_Xx3?(kjLbe)9h7EDk24QvLd=YizhWk7e(T+X6AyuQRL8d=g*KaCA z55E>b>eCm79h=fJ$c@9tkwt}mlS`r@IM~*+^Ay@D$+nh6x(+T3Gm{Yb^e>t zk9{8hpN~`UOuPD=T96P982ZDYEIi=nIXq!+#E3N=g<tC+is9pkI3KBde|A zwL*-5b03BfjVkay(d^=dOM9!90I+rA2e}Qk6LX!-#9o{KeZgb+?6nFDRkI@edin-t zd{D^^iVDfzUd0`|%Rq30YjI&Id4I(?HdS4*X21IGobV@|P;UN#-R%p*O5P~6!D7n- z4ei~w7>qt2zy=6ZH!qonP;1|)oatT8{z%x*&ewgk|9-E>X6ta};lsTbSI^q*RwK0t z;fv6-5P0j%p`ftISPu*>w>tUk%@-6q5Gg@QWu3>$u8mXHA~83mF~?z>FIfczU@19G z&H1J_KU1gYjgHWY*p^TiokvD$L|0qH0R0*|`3fc^E)_0`jfb2^7d+Z%&9NFkDXO7< z^F6EVx$+_giTbYV(;v#!-W~omlQPJb7fgR!{_-q z9mSf;#wb}tr^~+WSzL2*&^8XJFzC$1#ZhK*7Uf1vRq&+P;OR6qFyh*5?M>F@?p!Q- zPqTEQZgIlfgLd{ia?a-cWq!7cf)h$B-mPAoFuS2>{48oJ89e5;>^$uOKUt?8(KC34 z5{4Wtzzyay=cBB*_W}a2m3(6MiQZxD{5ZEF~>7=h6BNFT)P?(Kd z0`HGn08N-U>17o4PXz()d&q-v=ymb&fS8bX!!iUq%1pOln`8LCLBs?Br{3Vdgf8lEi?S;mnKxzF-Hl)dILWSF{i;4A$5nyEJL20b8t3*KFo3k z4>L#Ao%kkXO#EnxX5?wH(Uy_ThPH-=hK^8+^7Xfm(0iBYfc zBB5T(4g^CIaEuXZ6(hVX{{?G<`SWgEUs<`}KUom%Z90oEG_E{I5E~z|_xw{8s1yc2 z*4uEldp#1)B95$XGlrgoHo*n|-S0+`3ebP}frD(Zdi84UW@Tjhf8W~%*6()^N1LrY zENaa*KM0mOBz33;7dPr4*#KYzFOQ8bS@sSO@Q7eWJdIQDtLcR}FjDL1HpqGRE8KoK zY4RDVLJnzne%aL3mD5oF5MBKD?SrmZe~bt?VpN16H<(+_1JhRs)U?CL;dsY@aA5k9~jl*F|A|P)UJt%3m z=~1KU*9)D0*Pu$L>y_$~F=e z?soyH3dOlsd^CBqxaywZr%`(@_A2?O#&@$A?70QlQ+nIr7a%>5PIgdF-rvm7l9wP7 z{<1xC8;c03bm@yjrz95lVNqkuHnm&VTyeIKVG>FIt(;>aAo(iyi2q%9 z-~TaPZM(7n3XN=>1O{Z=ExuwzY(`Y0BAa^e>OYgSv$Lb4Ste5(6mGZzh>i}*md@Nc zY0_Es;@w~+H}$okEAN(mI?Z|p-0&+tJ49OHQun(YrIClb_AK>sI!P3uSA(Z2k|G99 znowc`4(}L&RHnf7C|j97Kh-Rkpq}RwEj0l2(&kOdm=u&TO$rU+tfi~D!qWyF5v4Jiwup@u%h_&oFf>D8dnurpkew%# zd>Th3OO92aMhM+Vo~pBF7fsbMLSkxJY(xV}&H8z5D7Wxv;J=P1PAq+O^w`Ab zy!6H^v3r%R3^DuRsHo9eD+ctoYUSqCHXs9OT-w|%AQH^t$0_L~ynll z9U9RYI=3r%&^C?lKw;A!nacFI>tjYl_{FS0haHT$*!l1gG2yenN;g8<#c4+6*Lkky zP$c;TQ_Vzw{ba~h> zh*RJ}StL0)>0c9ER{T#yjX*rg=@Aa&wv7@d9fbTtqN;4``j*Ee1H(}x zNeGb!m?%kkE>?~*8UR<^U%XuEA`Hsp!eWX0QG%aPgYTMS=f1uL;b>)?Met1NM{J)y z!z!ZGN=g+kY);)USQUfA7mufTK-32esmq1jM~^r{;G(dqSIS>?8+x*jz`ZLIf4z!x z6nhAP2vfb8|K=4_=Vj#Z6AfENB)Dg6o$f`4GV~2LVAARlND*Ih#P?GA9SN%n#*jyR z4zccNc?;k8Ttc@ z1-#z8#>vNZJ+rKzmpbI3Hb$bJzM*&eoCDRn6|zJ%@xt%*a#71?(^g<0$eD7IUO0a= z?dG!82f5?|E@j^S^4YwNE{UxEY@^Yo;@olera3)8`?2q_2p4lu3w@ret7g;B)~^L5 zJk(kgKbC#(zMpMH*Ffc=OBKXXr`)2RQ2~(xE7Zj(wxroEKA(=9ReJg1tL$AAGCExO z>IdRGG;(nML0WNNU@U$gHR~2zE(KBY2TX@mgDMJ&sV8l{c+D@ji1++!rJVKFx2#=v zQGMfU)5q-5#Cx=bH9FqtxAPJx7?d^H*A)|Rb&Cz`Q=?HzO)4Ri;-4il$da;P-$wAS8j zxq6{sHZ_?8rlj=yZ!PhpMZ8oQwg-r>BN&O%- z9*ZiVI8+^d?IRNzoMR0+^(aa(`KA{c2whq}x?y(U>P$q%D(PjWsoMK&vvp!Qegu5RL^r(h2zoKw^c+wD8 z3Nav+j}yK!U-jxAT!5wi|IkYZiChU(MTDU*4WsXCV^KV+AvPI6AAuC&09-PpgS3Ho z&$Evq@k;xv)$5UYns|IQkX5{eY&bJO1fGwWBlf!{MxTz0f~Q`Ljh(G` zo3mxuPKT%o81^!&D_(9qyT0`;Q=6&FwacRAhNum5khssRH@~v()q8163u-8?bGnWt2mwzBzgRzp?NnX3mC%xjhwci9juk+)KgDU4v?)F#7r^>*LVU`bI|4Dfwl==%o}8$k{~Rhhj?~!}KD&F-3hv$^ zj1GQh34a;@pc*g%VDi+2ZAxs0iyeAFKpavhaROOBmJ0EI5}F;}&Fx?7$cWULD+=FF z8W7laW82KPALFj;&6fP@nLV=ygqrCeT|d{!Q(z>QlW>}suavZW%I`lsgB7m-+yA-7 zsAAQjPi&;4iK72aucyalsmY(!JXUWgmaScn5`w*qQ?d0dY$P-E(SkIXS(gzdpo};+w@|c zYwu0h>#mi>e1LPf)v8zyFiDZlui?7#`y^`(+PO8+J>yPZTSurcA^^CnYb}N8rxwnv ze5ZW%iLs`6aM2Sq=*iL1qQ_R*rkjkjS}o4l++y}2?{|Tx59M016eEyNwe0!^;UdC@ zw0O}s+-Il&m*RQ6VGRPK@oS{jk>&B6oDmpi;(eSUrUoDna-~I~kTj2&*piA)@#k% zcV-?x5HY%7|L2u4X*ja3EnS@K20R^W2J?~C%ys# zglbz#W$`VHCTFvG#ai@}$<&MdNiHZy@$*oi*fBK8$wkxfSLd8@pZG*q8f}ek8Ev^G z@ng+HTi}a{f`dcSDcPjn!!sfb$QZc+Ju=OXJe;C`&$k4h36LHY`js7X`mfGY+hg$H zB=XOFQ^GTlioh@4_iAyE>%uYF(n%yG*>|Cm0kB6FS{Gb0~a z-?H5-$`JrjRr@}7y#&dy|GCrw?u$_&+{FC83d`j04ou;&u#6&F4q_Gp#XxP?!Vw#4(@u|2$^;_GLNBPC=8k zEPxLwf6};as2IcjVZEdyLsJ?oLyv^RvTkSzD^5_R0#_}QO>b6I1j}Iz2a`l2XdOZM ze8xFbmSN#{2t6VgzD$ujG)9plPELgs=D;dk4ts@bm9^fG%za&#ZDg!ulN9sLa0fRw zgzOI^$-r<5GeY_c9qrw`r#rRsrG<3Y4~nY(#WD*xyGJ{BVk_o9@L1X^fBoKdnVrvY ziPi`3k6RjA7qiu(^q9e$*4!9^s&S)~*|T4wA#RaayZ*+Nj8Y3zRt2{Jc~ zt6;Oi$Cq~=9ulDlIup^Tzr9=cUTJ(svlG*O8SN6D*!m;wPOT|=f+qcPQTM|_T4Hgj z1wIY_^e=a<=YMQ@tUG2T8+uZoXqujqTg+F74^MeB$gk)NNSjB7tf*`o!q)rwC%~Bb zaUwy*TWy#$=*wqQ(ek%uW8HFvENSfuVlO+UKRlCw1O^svET=i}t7C1Q`(3$XsRbUx zg%cPXp#wSJw2!TM@Xu&CR}`L_@E268X>A-w7RWXnM)St;4gmK7lnSIfb7C0m2_~i~ z4$*JzG#nPn(0;134=09d9{xMWQYPWu zyIgqg=`Qo(MFlk>HS?pGn_6oh1+-6t!;rV?em0`9ir=PhAFXTsrTWXnq9PeI!aH4e zo@ubC+4b)DRF!aWqY5Ir&qlDi=Gs#?yL|n=b+28f%JSi$3&R7ZT!{Y<{8fSG+@dwz znh#3E{wV%y^OwZWcF_XU&L2O>o8z7InE&XyrwSeQCby%44OJT78I$ zl;&F90$=VflcW9^r2fK&^9Bc`v4`V zd~n568}=j%1A#w7_BgK{_2JIbDGbdC_=~j`{-qDKoDe)}fjHRDleKt%y?40?U=I5q zxhaKu_yvWhI=2h$bTC8U1|CnJza$z+8~jDVTU7v);V-j;HgYVS>|rYs9*K9ENRh?% z-j3+@l$BUiHe^k{Fh%ohY(sKE(M^$2&>18NmaNeiu`Cf_s#Bqs`c8W zx8^I;;>@yx4Mp=e?-K=vgB&v$s^*ML!eCqnzilN=6H9QKa8?htu%T(Q=KQWb1NN>H zah}?Xe=Rw)L@AqQXnG#?5`2zUzO);iiP+hOH=N_+O%MMi2DJ8-ZO9wI>zUvzGk`ur zPE51%xtn2CD1Y3%d1}Mlt8e=}?cw7HCDy0m6;(O9S4aO2N^(lrE%S3~h$TEDN$)(xpW83Re64b0xR-Y1UDIssH>R?q19 zTN!{YY-k$c7FAVlHd}z0jJ8|5e=HjK5|rOqS8qv|Xg`>_GWIpehRsXMh=~D}Z4H?5 zEfq0sSvE-3g@64DISD^L9TozKrtTWm*fwNWvFDuSa_6#mP!9mGo?@860f!KW5pS&(ODY9C{)4kkkFHN5A4HF)#xU z-~J^srW}+QQC%boJer0si@+T;s01^m<+{m9FeyW@^vNmIo`Rre0T5Lh^X1 zytbT;_dzM=O`8)|14QtK+ghVY2C$RPb=1FiKynA5(Z9F04;PM`!EO5ykzR;$VldkO zZNB}&Ff(v)jy%p~dc$|2E5r89=6G{hkM5&mVJFLi1DTRK&w6TPnrH`NcceYxE61`$ zQCx|TdOEPBc3u-c#7gDFV~I<*?7r64U1wAL#7O4jn*V(nnIBUgMY5ibO^$iZUWvBB zqw9a+Hfke31y~t5s^?uL78%rZL;{o0(m*sK#OKb(jX<&t&IJSwv7#D1*!^#! zv6m?Y7KxMTJt6FmEBQGKugn@}2euuUkzewuz#LR@Fn~9z-%e8@D>sDIxw0Q5PrPL1 zIE=+LzTX+RVFe|;8-0av`Bro!Hx@;6>Ie}Xu8(KBS935Km6ceC6jM6ctoZrx3YC!lxtKd9i2Uu=rlzLweA91s zy}y;WZL|H3fR6dkVFy>j7aJ5Jvqudcf1&!qygv&If@ZSzM^R`DLPQJLe~PzS5iO&~eK!Y=^4q)4Jd()MkhHYusYSb&czi`@p^%STT= z!#%uxK$M2q3D_>M_4(3_Axq66NT;w9yrV&7U8(xaH!sZ+rvu1gn##6)ND)pR3}ac| zRi}k)zyKKHaeM|1IxVUuvQL<_z6yOzxiKVs)ae6AurJP1D2(&L7X{1+~)z!Vj+{!)t*8#ScU`1SL+Y|DSP>={sES7(`|+>nhvoOaq?T!g5+_u}c2 zR?nqky+=(w{Q9~vM|yw4?Y;L1=XTG4 zTE1mqoEx!Fg8F-dnuYUNOU9ghYx}&?%H%5I8YUfvP_d6naxkz=tex8id}2T-^7;=B|qxu?sr z%I;FK=pU5e8UNpm$Pn#;EKgax)^Rjs2l{9QOV+59_j5i)l3T2;j;73q!pIe#BK5hj z>%DAQOqXI;p_NKGq=uy=#e`pm*MANdHzs&}^IU$oAFa_nj!h^Jfv9_v^S$;M4^lSyD+&)lt zXj#GxJ6UK3^$MzLD}tLE;xED```3|$xMyu)-;-A<6Gy-WeQ+3eZSH`?kSM8o_1&LQrcZi@$V}1LH9mxw$3RW3%?hCX~GDG!2G#>FE$?Cj#H6+}^ zP?#zyEv4b?S%^9rl#?_I;Tn>es8nb5`OfrR@eFp(@t1P0KauvIdeuFDGV<80pP!y) z>RfFa4&OH5_{2~fs_vB=kx@{^Mis3udyy>xG(F{sf;&}n>oqMg1oPv9|lh^vn-?Me(eVx zd#2yM$h=J7V(X@N)i%DN-)%_^!&?m zXc6S4pWr;n>fgR~WD~g9Q93yM9+1E{7{|lhC9K%$S=OIV@yZ{k*^_BvkEl0H+)1-} z<-EQN&GHMpr+u_{8f+rekB|ecZ=YPTlE#l<(XAQmw}Ocz1)DHC%;otIuVW;2DuO%L z_rioITb3TcZQRN!drM-=8e1goA{nVJbeJdAC*jnA)oALXL`2I3Yi2q@Df&w0<+~Y` z_N*?}pNRCI4qF&K4wSAK4tH8mUjuufXNe%UT-@rIsTtMK}u`Fk#xd_T5^jRV#~M zJ)1rroCT!6s?DKb!Z@w#TZuwjl@G}!WUK0olxtzXu(Y5;9{bpRixwy5m#<%sGA8R` zMTqIbOqHX8`J25|Vp5l}S*@98gTfE7zHjF0F=w8agOeoCn579b_^q8cfEhjD(}sl* z=J)h}Aew-@E&JP_FoG1Qjb;*^nPr%$6@78JNHeLXeQ*3n^ak>t7809SF^E4ZE1YJ= z>dDd$6FrYqE}MLue5J8M=$_*7BqN z>1ORA4|QGrUzFH+{%Fv|x?tRz>F@O!nydc%*73=67^ABw0-o>Y^?w+9^SG?*eD9w{ zG9+b&N~To6y3kC4nV~dtfn2#Dv&@ka5ld50F3AlP*-XnJOYuS>LIo8yhrlJcG!Rg; z6hXEWlq*D01Vu#l9q#A*i=A_ybN~MMoyX&xGgAuJ_5FT6@Ab7L$9^KlL3Ux_=l3E8 zZZ{@30GnhUb^8aF&W%^F&61NZGX)-1Z-el+}8f7jIpHAC2@+*0w(N+&|=3s`{r6pU&8}f#woz{NLVY7!2{&)D{?ld z#S!EwbV&95cEzSH$axW5bI`THWTLR168bX|OIMcn%4Oml=G@m&;COe>`g}kT zkxRQ6p2~u`c>ETa&B}rTmlq2c$>j;#XXQApq9er|M)CaRkoOq*z+I(ckO|xk_VuDU zYJuL964a&7mrl>FP{^qY%8J@Eg|XvvyjM%Q!6{rf#V!v{YJm zs@*T&6A>u9s9hV=_hQ?Ln3uqgj5W(UCpxIRM>wu687Bfc^s(Yj2sdfzX$1zGOpr;i z7Wi+taLq&&5P%VhSER_8d$3ihm&k^qY;j*#Ur(+W%}LhR7*76Z4MUIE zQE7Jjbn4C#n!{zC10YAGQoGh!yymRPmzlgivUes@2|O*Ek7e+4Q7anD`_>NF$6+Gg zg&Nif2Fz%IvhDn0$7XvlTSWMAc8t6!OOyfop6O#v6aK~Vk|y2HxZ{mi!D&xS3)W7@ zJn`z%Wx@AJ;@B}l*=}eUnL`4F8O(C5=5Bh*l#jHZPC2&j7=Jja($;6mA%w+S)K<{;57Gf@NyT$`Yre zwdwY^dqO#Oxxf&FbpTd^+xEfS-_(C%0TRrWQ?$*Be41{rG(t+RDQglju?89q>5|2k zYvp!eR4oSR9vVnQ%vTp<>nDMS8FuVTz5mwOxEFtn&Qc8mcw$#{dH+lEr23T06IYc$sj?g)d(};&jIV1vD`<$!vFXl%OS7 zG#o-JlA-w3=MVv7d>63HAl_K!$ZE8o$na{P0w>*1sgz3`tZ?0r1Yzl}5ytsIA6vBL zUs+KoTO;d33)tII(Yukln{FSl|B2**f8RLTFxBFpKc|>Iw{COUR22kZW!jqR_W$O> zU;36kx2kZZ`uM%GS$~~qe)-ttRqEDf?`3z)Ir{NiKfn51@b#SPTQfgsU7%HvoHG9u zGS*i*v@*z;TZm;6DiT1&54#*QGxq--nzy|HW)s3x#WcbRNb!EhceST4GFkGm;c zS2dITcm8ASW0JaOIu|ZUr76FX{ zY}d7=fi3Bs2C4=J*DD8Pdkzy~h;{diAdKJYhlo?|fXz!u#yA-bFye^cXhb>%%84A& zLAzNHWux+*L*rWSmR?V{Uk+;rMz11gFnz8$L62q4O0lKZ zcb%BLWakWx6Zbc+< z#8xzyId#j9WJg~7?G54wdB>mF$E+ zpOI{yux$ttYG}GGBSiz`cppOpV$Ozdp_nYTTeybUwbHwhpF|`+d z(q+jP9r+%?sp-OomzpB9kiF4HM z%8xEL=HF-w1#uuApk~|*0VyboCxwIh%#-s)x7>IsYX2K zIEDV{7R%|`4L-yKa~KYs6CSGANX0D{Pgqn7E&9CI8K`-7qw)R^fi1JB zmioc^%AnK`c!lUnD}V@szHE- z)KDXg2t{=Dfui8{G!S$oLo}YWBkR-v*g}NRDCkYy3mUYRmBadaDu#5PmH7_`; zFR~qxt&!lPIlJg!213A9AR;BU$LRRMRkP>i^z4g;qv~4j2bH~W{y^{?Pbdh>o>`~5 zg9?Cnzq9AWGhrC_fY}%bSHqf`UF?yVj`zFp61G?|AObg&B6D~Un#fKRtkg#|NkI8| z$p&ihkUISuI93Rg)4XVHZ0`VhW|uoTTsT{&1)E?FMJ!t&f(s!&F+e<*ceWx7xFceM ztO;veWq_&|5F{jzvWGRRzYVG}(6SGKe#HcDjyqKd_+IS>cuKxtt7XjCUz-%8^4Au5 z(R?=T6qS<%o#{jl?nz;G&(6MoQfR$Rv463? z>`L@*pyQarMNAtAyNLmQA>?fZOIo*JxaNReWt=K2tuT6ifYX8ju91)OY^gHGWXzZf z(?_^BfFuO%QPO(jb#E!r__|j8w7wt%N8@I*c|`n{!t;H*hb#`{9+5a{L3WgLFPH=e zBGbdOWD$xmYSpKfe7C2;1?_u2%%fhdQG&yhk8Aa;xAyPXG;4be(*2%@t3jPA(>HQ8@}+ z+in|7062JS7(FTZ(@@W7M7%u^QNJ)vfYZ=PP|ye9)`omyHj^p<3-T`2tbQ<@M7|dC zBb7}5>mFjRR&_v;vL*sui=HJ6Gx@pFr3A)Iga0ipT^`CQIt3uk=>03;W}ysT++K-* zyeol5WB{9~)XK|WT3vG+z!6{%WQJK2qMoD|YF_u^I0X=`czYNGHy`ltd0to;f*Iw7 z3Nr`$gFqAyz{mu~{R*1t1ZE#FT|v)=FY~2pwi9~f6jjx0K6&+UVVSCZv5O5i_`y1r zb^~}rd>ok1-Bi9Z_<08Du9Xa~;q6gd26%j}Dzwac$;Zs%naRSRnu{lssrq+&afl$#^4tQ z)EKmW#~hk_%X+NrF_QGO-X4C&5JOOw5dN>oh6V(tjD;Mz81`~DBYXk+(QWyd{o5b> zut2LJJvjcQ`%BtUZ+r)g|IuIRiyGGdlsv=dP8I9FZ0TwhxIrlV8)J3Ga_A$XV6 z&?BI=c=zq>o5ABXWXDPMaA_330Q~|o#dC7;0WO$IQ6ub(ivcqZP!ke)tVI&wZAN%P z%M1<;1-w&GFo$0a_W9Ase)l%UXCpsORck_gea9Z~zwfzu=xbFz3l1-8h#)I0(6MpJXcr17)|o5MJS> zMTgD)uN%CL8{O~W!gHZ$B-gI@a-!NK-aza{PvM^s+sd91Wlv6%!qVR8YD57m&Ri;; z6AyvN$i`me8LlF(`Cel~!^sTCwZuJn^iMCacD$A1;2R!$Cr}_CTw(=;D=yzc&ZiI- zBT%T@CuuyVI6LEQQ(awM(c5|&f+j5zDD%kaR8~|CWLjXuA)lwFJs>d(kv?>^WUhc^ zon|fr`=%1D!Hc~@{86B#hGIcY=iN$xyB+}f9Ch5P!dD{{Wcv-TjDg;&n=y$h zn@G|tKchr>+7R%>Z=K8t0st&=*5bd= zz73&?P!jEWuOD(`gGnHLC{f!Ta2Rk$aqkv3f$;kIk`g4rpC!TXaY6J!5_mW{i~*gy z(r!z~$54dh1Fn$5$R>yXHd*F?ThN@~V-78R)l|U~haMuXi5+G5rod&|&sBz0gU+Os zo6oGFwkGamDQE~yy}hCY@)se>Q;qa{+D`qQ;`I?}mHIoEp^^=;uvNxJ`kuB=cXCOV4n zFlz83_Cj~bc2Gvpa+{UyS-RY55y|fD?*5}ZyQj`yqhSp}5r@n|VzQMw!3uNoT?4** zDHKQOxqLe)FceC>Nv^CwaYe9@N!3I6% zLwk*y#r}}Y%Rza1cdfcr|LV47)H3K;h48~hXf~2>3n&xd&5#&9hUghBsDqw7*@f~Z zc5@RRSVH44yWtgiA~E!NZ%SlK64^A15z6g!0h3YpCIoSIdLuMQWmM5eE9sU?Ee>K0 zyDkP;57+)+s1&T+1Bpzv>F-CODlT-h>kfo5bW1F(GxWya#agj4S9Y6Eiv)(IQy`X# zT7#jf4`v~ev@I$HxF>ZQ`vT!{68R=9D0|44JptEUsghLy@S&Q%J^l`{WtPQxsmxPS zZhCD=RDH1$^y21GCYuwdijK{6NnVD}a#;B#%a_TFBRqCvb{`qzI?!q)aSafAQV%Tr z?`w;U4rwSn^h0GzjVo>P5EqioduteJi48ihIxA%?Ab{}YGN08kO*axi8@u{Ve$1jp z2V{fzWOkEBcOy<*u?g2Zv#s$|~;0eXwE5wWR38 z#7KGmNP$Srri&pBVU8o?zBR6u+sHtF-d$-=p*ISzS&faT)XBmOVBX%WXnp9q`(%YL zcExbvxVzGMF@W}d-UquCO5{6%hiw%VCS#wjh6YN}$5|<*w@%mb08|OiA1wHbcY4yv z#A1J~txNH((^=>E*B-}II}ir?bIugZgnNu>!l9hmEw_ERq{_7w?!QXLH>;Fu8!-)S zg?+JBFnp(3@Bljzi6CgJm1_yDXEm58s?mN{1x1E7wxhc{SWLH>5L*%3MG{c@U1P1X zG}J0uqx=M(m{iMU`7}AiOpz&%f@nE)@6$OFjJ89{7FARIOpgf7;a?TOYF@3jIa9VFz6rN|wv+rvox3bg}v1P;7F2xJ9Un z%OQ%734VTCNLpsS=SQbhS;uU%Hqz-mnMRqmQx!gBhwf9=>SoG>I9PBm{8!%Hfc{N+ z3uOxGAgUFDMv_GK=LMd9kUT+cNW1483|(Z*K!!}5YvpWH{a^bnH#3 zOv}1~SE1|n75*@B_kuLm!jYq7vI^SmukNJeWlcosO*6kTz+*8=^ea;!E!7y_uz$3Q zQ|v_P0Gv?yzWdn^)J0pela zQ4$RqgCy(%S&``@v#PRk!6V`0ie6F9#97#? zGAjIQ*u(Sxa1418dC{9;v+Kbnf$LLEP>h0r9Q0(n+%?8jZ%e!Y!RyT9_Ep$gTdhG9 zDrJhbR;R#Z*(@yks$x%~q(UM5ac9Zkfn=Qcuwa@TG5HGmyxH9?viyUr)W3pv9~0s7 z>x|-4a9H6KiiG&JL9bzDW~3YAeeratS&5~TKSV`lDCDJ3^`*&Sno(p3uLv*n@X9 zH8s_T^>tNOk51U~s;S&B8W_ngfFkgalFk+pM2e?Ilft6$th@ye{ZtGQTdD73hjaaE z4p1{kAF_)Cc&NgttTl@YAE76$!FU-mb72VYWmu02j68g2Ti0Yqfu;wjAqn$fey4thDl?5LqQ893 z9N7wS7S^S$=c^I^U!|-XGMUD;e~=tibNr8t+(v;P|~0C38Q7 z@kCVz^%W)g(KLat^kF57r*Ju}G`_TmXZhw%3p*9Xz77Nl*|J~S{q&;J$AiAnx&~cM z%P2W*^)_Q9ci7QwkBz3VRk&(i>0EPL$V*v8 z<9#hgPMOzKtd89g-7FdrP3|z z*O!}bk^NKhz*&6*c>m!;tU4?D;`?-MlurG1rCGCqOshomtG>x-1_8a{`(e`5e$iZb+fi{4wRFtAwRHx*D3qHri zJTxYC1~4L~k}xp4M;rYMp&cIf4&qx|S0-8(JKF5?ubQ}igeXa={F|x4WH{2BuaD~W)OvIT^prL6oo;>T`?Q=N$F}p{qk+y zK;q7&^YaXqPBPGv{mpnA7~_(mz}~V@qbr} z>r0ndUcuMtX>SL*EOR6a$`;T<7}S6hfD&!v^@A+6MyT7pNL#dw2M(cr#}JYk13-v} zBUwVSvNUe(%l+GMo1FEUOD~qkR{v|-%iD*~z2O*nVSnG}uJbeF9{e`4c3Au1w^O5| z+EGsm4GyNXw{|>qI_u`+PeC#>*r6X)G*EGoLcB=4kfc?*Xn|DPbFU;TElim?md5~Yz5D1QVOZzoNm5F){{IZ zTrKHlw;o>*Jrrsey{4h4Tb8&LqoJ;{fdD6EM~+i<1A{l-tH)$wSC=}ey&$((h%NB0h1B>KB{yw zdSWWBYA_ZjQE3gpoAoPezA_~Zv^pf(=vzRB=sm={i~V8x*|NqG0!o(pVH}xAu@<7Z z9XHeBkXm$A{4)!IOgYip?nR=#oi|N!7#{dp^H6%+FD?RcWwU7I_<g|%n}cwZ zCx!q{-l98qqa%e`f=-`@RB6zpl;(-Kz8j)&CzpAP_?G15iGngZ4{%{nrU&cSmBqUm z%avdVhaL?USwhor`hm13Rba=*{nvh=Hl0o>-${{Vn{NRR2_yx*xyttB5*J8%jr`ZMA!|4M&lNyc>TR)n^GC}xD%4@T=ZMZ`EO>*}aY?aNObbDSy z38~o74)y+gyOA(R6+)a;4`>IICk2-v0EQ>WerF`>X(6FOul`=&Y0pJ z^r(P3TVS4Z7buTMDEw?zB=A<5p=vR~CF!b@Lr$N~;Lr097&TbNSS{)nmRFMKnL}Oi z5z$|s>$qAi)`LuvFzYb7VLuBT67;c$pCXJTdKRSJkR|H$`|P}7r{gL46Tkr^*7=YS zZIywQoKVB$>Lw>rTv_xw5Z-V=^^CWe`6myhRba2quLLn>`^iQDD-*znzG2GSr<}3< zUl*Ip;*xE=dpiBm^-ttyFfsP1Nmnml<)MasqL_fTQAyINA zF*Xya4G2^MV}hfpdQe>0Fv|`0(&!vUTTlK*ZoV)=U&?&Cr~H3JNc% z#%Sa~Ol@}VYs;SCRQ;r6ys5i?cw(v;cqn>3St({UpNg2f48W#Ti{@Ni-ta*{YnuYInkdW?kU?ZOQS%FK5v&HH&L8HO-<@G~YDiCpLxk5ijb!oAsA zO)}@%=Gcq=*o{Wva%X31Bp*%uqq*SkRx~5_Pg}{NHoK=)f49LvSvsl3?hT7QFOLc_ zmK%o{ASdEuXkV2B+d@`?6sEt$+(N(QltE@%)%J|jHH&g~0l|s{Gd^WaXstW1MCajJ^lA9FKN3} z#G3BbIuS-JYdrF%qX=j7Vb8)okRT>=Yr>{RO zu1vP`Pv+QP5Rv{=1N}Lt3G;BGXTGLaEuiL*l-m(J#R?zX&%H{Ww$-N`IjcSuk}oHd z05H|D(hT_;3^v9VIsqkJvzdHNshKXch|Ux>w_Yv zn^Zd3Co9g2o}t#>gR zv^CzANA6SO#O>Mnz$mYvmARH5EET(HS(|JZ#kPpZ zH#G0G8mPD09-c4{9OQSnXsEInKA)+&_w3CTzGiy{rye$0YRbEq>+-`qt;X$TW~6J2 z!~Jfq8nk-WhG_CUSo~0pMQ%n#v!1NMXLmaeav*fU@!)Q_ z>!MI9mOaN;y&Oadu5`ms?`AU2&B~r>cBfjZ=d%w6UoNJcS%hK;+iW~)c3p*?#Xk|n z+cnkK-md;ewfkb@4M5114h!0xG%eAe#mPkxATn+uy6_UG(K&b1VRRVifpcd0XKB+> z<8PSp{Qszk(RUo5iU1n$mK9Ng7 z*q*EXLIK>!7(`@&S73hYxczWn`|-Y!2%QOr)k5v1z(`%w3mW+L4ArGf$5a(^6NC_0 zU)6g(^6xf?6O+?G6bY+`C)?}06a0BWY|qOGzJ}>%11)gR842u=m2 z#wZ#B89^rNWGcnnZ4nTGS4!?j8kNy|oUD zih-`Lj5~G_^f?!l;uhIK`eK+h6cHd~Vq~U*HF5GSu((1WJl#SIi6}JbLyKdY+g#UI zRPKvCOG2{SH?yn6*-Wk6%p^PiAos_x6Js>DXcAc=D8s9Lu{;LxR-PpmYH)d?>nAyS zN#GG%r*`|GB?`HFk&xmSDKa-tvxD~b!R{^dmHfl}XN4d6n~V^YnF?Y2#8TnVQ8_jM zKED#;gO?|(n5A*?=za;8um3iV)ohH~y?5=RRtVw=|BCthzinp+E!ybzDO9fOpQe3g z+aO1)JbDkKlZo5r&?U${q;E*QBAiVwH*lc^%0Gs&JJ<8p8hTP8OEIGnh8jFqy42c^ zPE<0ZAqe4K0;<@~^t+dk$Y#~$nPeA+tQmxgYtas>^}GQ0??0&MpXy`cCU(=nlIbfC zpVryDZ*fceNi>agGp>9C(78RTpRgZyKxq+Pf~_>|e?s zC57h&M3YBh&co276lZC&flU|~uZP1DU}#7h6OasOv3+ZCx8L88BYPg6G%!v=9L%AW zBuyx3Ot@O9*$8PT_q+hY#QhcDVL6V`R{~N*Q3jlqh7`Es3b6IhV4s{1IUzk zbSEMopvT1vMkwEiMfH3hMQP91Dn0psDCGH}gTjOXKoYC!OR`HUBELf~hJMDfXDqU4 zwduVZdY5@x!%B|N)#K}Ii%!`Y_B`)SgN0fK zHF~~`0#+xhwAv?*Ie={C{9e@x!`0Od9ylxt`v0B*+Vl;;wuG45ss8(v>TkxmR?ex} z>qrpLs7G^D_CS~4lwULqj0iND&%8?4)1_UX6G3a5a9S07CwA?7;_hi<>Yau&A@SsF zXEZZvwM&JJr}sc_)2lJDS+@S9V%$ZIapBHHX(?TtXM`g!bmTF^deYIVVmNblBRt^k*ptaCJGq4v%hOfJf~H<(xH(TJzt&&u!ZJ|A`KzYpv;e+HkPm;DK?&A4*1%kB8u0t znKz!fHlFU%=0B%6D&nUK@CWUJkJV(G*W_wfF6X~4zn=x*%`bjEa_(G8N#^7ZXug8J zTVb~0v#ak?!1}cfmYwiGEy@nB>IKl@OeQt#!XL6RN0=SIkV?hBdornh_)87?lK6Jkf z-_R`xd-*hM0*X!2w9F#}%*nqh%cpIBV01R!Z#g_zy)rU7$D7o5r&-$_5Xx)FGw>>0`_CosTbzro>or)K+p4(lP$CF6OB0kf+bKroZ5ryAls|Z8Cne^OA&ut?0&zV85vymwL|}5iENNlJ zNsNH9RxyD|FD-A#eq~{#S1TRb@~=LVHWD{hBW~mI8oL~-#yotWsb%6A1H-?AM1?xI zQkruq-4JtdUfD7leJpf7wRIv!4lGONznkT>Zy&G}mIr$1Qut^aBW4EAMc84U_TPP% zbcs_fk?0Ve31LXOAit%^w3K~auk`mFqa~PyNGmCS9h0p>@%KeBVQGfHTD7rdpr8xl z;M224ZKZcRb@kz=Hy;njcJ{P==pqOT%G1Hd)L;2F zkQ@HzolMnkpd4`ac2F)PUl>lr)1>aH^ z=d?0*7qoTi;lr+tE4mQ*T|pRX-Mb|C>Utla1?q1;emynyb^F7A!}>)y8M0*~RZ6vV zOVvG-B zScb3BN~12*DMX?tw!O4z*(oSHSBe@Q#w7}amg(AGb)!w&pO2j0{^6S3V5NBb)zUHQ zp7c}-m5dAhw0=FUTSWVc3KP=db_-faLzRov9E_a*(05YIklYBx6L zZo>&ql&VU@4q{jHhDiu>%lc-|wJUSW?zviJ6h@El$=4+wnTt*D1}WuT#%TXymzrh2 z6GIF=MQp z?JqQ3EzPb0>byerKG*ZL#_ksFF3){*?)^EKkC(YU)aOB5jZ?Y>=;(#>^N!L4fa(xW zlV_N2$($DL4PqKhawdnhM0_R_daPCvF9}Nl!l*l!6PMmitHTgXX@V#lVlo= zXG)xd_KRMz4&1l)Y`^Zf-tE&CJ5w3q#3$;`KB(JkyrJs(Z`%`JC>;Hl$`5nn5<@Gq zZC7%`h1tr`AVH}kXU?_ADjeMfGyDl{D51=@_u#K@SJw=d=^A3e!n!3#%ceAHFW(vk zw;$Q6nB2JUKO*ZxD%hnN@vpRJ?>=v+Ro&dP@McnH-l221+$Nm2du~}@*C$_POuin` z{hIZ%fET8pTYF-#+v@`dAuX!9qkN&+A}$P^RPZi9`3dhBTs3T%1U|i`Ev);f*x>BP z&s&5N*t*;dEkA88*_A+l9W)vb&0I8A#p=kfBIAHW_atK$to-|ZFYV|xLW>z29@RO~ ztfOJ%b5B=J68QbNm$Fc2QbuPWtyh|{Qxug7fMtyi0I5Z5IK&vL;qRg!dH3!i_RuK1 zCJ(taJ`lX)2wBMsl4omlbuQAf`lW9tbj(k(vNqr0fsXX?f>}JDY{Xv_a0?#bYimloOihD zg7)ElSM=yBP8zct7EpQZs8ZS9zq`S4#*oEAqRqiQH7q&*m((k z>}Oy)!TuAFsbI(vtY>8^(-Q+|eRIM7jeQ_mtjHzGVjVVac^ZmuwpE3mJC(jl%lo3? zDhYrH=p-XUtIngZg#Ipazu*-Q%wFJfdA_@6=*Up*#R=-NH8m$TKfZ6axFC-lMFMud z8c;vUcC~Az*gidU#SNEr=wLBPh-%%T$uvY47y8Q+(ddp8*;Q>o3`Tz{!?z98cAHT2 zdz7*h0s!43Ifo%Zb?r9I4&9We##_LX1Vnr)qjSWGjNrAPOu&`pJy)SBI$!k5(B^o+ z%g+^VnIJf{exxaSS{Wgj5w=obGYI%{JhhJQrao9FQ9SrFdR1;0I z@3O~4D^zg=_S3K4$nQCedd-3CzPrvQQWMKa(De$UMO>1#^}vfq(O0>_$D>RNW_l=M z@`f41_yahu2*6PEkr~&44T`Cp% zCby4OaBef_()5S-zLBA)BTLOBz6aIZ_Q~)vRiC|iOQ?uo_}_TZx#hM@?cff4Y45#f z#US5lhU!Ek!(;9bCdq*W5Q#ycY2UsDy~DWMigAK=*muNTGI&UZ99)eIYuJ0hUkDC< z^th>G_kbI#7~FtaRs2r~L5v{WE*#i$+Df}2iU17?B>G}~K#V_dO29BrDK$-J!@l26%S^JJ{b9Zo~X(*YCyM%>nq(=>%+<*4ak^E6}o)lHjPO2iJ0i0w^jO* z{@|$auF$Ga6UZyac0lAcq}3&8y2VsHASUv>`^PCDQ9$a*hDQE_Vwb5lu;wrbG;gPB zN`NJ?PuQ^GLu5Ra0tPPDP)RWqBLXQ^*dr;moeg(sGeo0fH@!ca_~<5MnIb3(1f-l4 zMINW-k_qPoKnekgXAx9`wvc?PvWI;!p?AOy#P5#Zp3X7TBTt zcX2rhk`og77aP-sTJS&v3$b2+6-~J;d`S?`YYpsfmX**3(u4RW#Ya9k|A}br035di zf;Jqib@&kaz#UzCV%2a(n1rsUWF8YC9a2Ykg>GZqOZZ-I$1zWdKfp|Vx;hA<^oPUM z?e{rL5RYULyfNxxQFKMxz7HziLd(vi`F7+07%bw2b-Z*Xln%K6m6mokE(2L$=|yK-BBq*jrmjsN|u$!?=gqp6w>{GZ>tl6_bfszQVVsmWR`R14k! zch3L5#R3v?!sCmE5Vy!n;y$9Ba@K|yim(ciMQ#bs37#W{zYU*sl9j@@lTU%;hr(mI zkpFHj(DJCV`|gZ0(sp}JWwA#J(!LdZ_A#y+f^2LNI*-U-V+{comn<@&r^mW)3>C4+ zSTLPIB7ShmyR(1z6AO^qvbz6v`?VDoO&Bp8iz->yrh3;1*?2%9o)v;sqmy*W=8-j9 z>R_lqN%V7$FTfQq;*h`NFB3R;oYVI%OvtD;7DFv+d|`j~ey!BjcLd{|}i1=z|x>A%`)UDIc;o+uAc;v)(bB+$DJiyhrEZca4xOFI0ltJhyjFYUP}VI&28 zv<%Gq8})UAzVPPg1cr zfYiZxA04sthZ=odUgH>)$HBYPPh8gnVm8FkKsIQ)t|O$QX4lFkf?MS{vRAkchDf9V z_5j!vz<{O$9{%uiqOa4@(XnBYg5t#2(-a*^|Jw~4fZBqem2F$j9jH9RgBaDA1k7fH9=e_I(R-VJa}Trc_XSj?nCy3Z#sYPVNNd z+ch{K3OIpKI2niH-##1!cJJaEKI32S?%Mi2lSAV({kCSTDI7$CinQ_0U_mv8@Yu>V zD<=xXa8cV)4O;mE+8+M)TjW%Nm2eIvn2k=DutOK@2rO;L2u+7&5TEL1^S44C8R+lW z#Fti<^UPK_ARYDNj@czlxZM)eaYm{+nA65Vcd=@qwJI4;6BAS`9Kh*Yjob`F3`e?P z=rH$yUEc(e*|>>RH}~O)Gh!etktm0XD@rB{%S}@%ZkcmrB@GF!OJNX}1{RQUTNyqlgndGQiSaEIJ)~C$2p0Y8;sB4sH@66gcZr z1vYvpjz!~VL9$A4b{YdVn3@EH`GYH+oCQz_v~Wu^>Ux4c28SUm88Q#2Copi*p=19# zss4WAu6qtuN9WJ*z5er&I%OE6Rl=mny6^>AQ5Sg)vohFBJq^2{drk^#l=6dlBa#r0 znKz!_1@!aorJY1h5u24e47C)pEq1)h(E92G*tl~gE-0s!KgLkxUC?|y`SqVS*WD3X z6{?xsl=8Y}Ge$F5xS?|ES4-LOcF?o#y~VGqJ-?ppt+lLlw-^CO1hg!>GMOV_!y#r(8Y^>0j>GC%8 z9_1aNg|iZlhr+>=Jph@SHVET2C?+d8Ffv}?|K?86h`p`i1O+YH4n!>E)6c0ms966y zPlL+5^f(_*96K0FIK*iXHelt1p9;JYuw>Dx1uOvO!V2K#1i22{ZA2BU>6n@PnWFwd zv4agr;m{=f4^?_pLMFG*w8*YKKS3ta{6QL=ov}H1;6PTxK?_a-z_@il*aW(fiSwz= zw@V|Aobt_`qj4(Ef47Vg-J5CO`n*17a8*OYjZE8?+1ffR+Q7%R;pUu?0nL@Pc$P&< zqlZk-d)+E%O8q*2J8;PVEMd31y+K^>7I8`F@H=LBp4%S{V}6sg8=%7Zr?$H;76GlW zKHKu-ISfmIXVdkpyEaJ4$kDb%P(O-C-RYajrPLt8Ca=!tl`$ZgF|pFNAL&LsR-Ou2 z+0Q?6Gis-zA-O5=XEB+8vx~bVjCLOVEL?k}q;(>-@S7iZi6DJFQxXce)bf!0h2pQY ze1f)pZqsPvwd=`WV$&iD0e9E40UHH15LFD4I%YmYhV&foYYTgPOJ>b7N+V22Xt{qp zmClF)|N19!cm}~`gah_fJ^;>+WB-m-gOE`O+*nafUiYM=M0l9LDtP*%Lw01{L<)l_ z1a0u9SC(QM`8koWp=7>Ag*bH~uVTeD9{2;$1BS}VtsQBh%)-lCl+1p-dgUY1xPXrL zT$@kDl`--AhH-;uhkbn_*oDx1hx$bQNQ7pS$J56Y zSFu2%h=%ouF>o!FWvTna)lkypqGI&wYQ*r4N*62O4U;HQ zQ3pbDUtTqZMNFPIz%BOswIeari#tU1-QOjDlHqhy8{TlavVo`!et2vO}ZY zk^+L-M;5jjdU_tJZ`KN^8IUBef>l)ZVARd!RT_x_KnYZJ_BO`C`DWadXW+!W9Z5%| z8{WU>2OSS|dX~9O#H}?3a(RW0V6^DC-z*0D3G2Z!^uXQBX z#9@g`LgV3ipFOW%BJ$v08rfxIy|GQz7m>BPre>JG^u{}_otNEj37TxB@PaFD{*LQr zaUPdD)=(}}(zYGF7j&vyK{sYfQv@1q7Tsj>`z~V=9BeMe^r}oF=lSGjAE0kyO5wxS zjtA>LR_?MP`T=o`6>7X%xW{ieKVb5C)9W0mN!TLN{=1cVDdt0xjF(U-3h(cK++#Q$ z(EKp_S-Z@I?a%&1wadKjoO2bums)}{L4ioDdU7?hmd=i6oyoXS$t~fUTg}Y2JV=&< zRSmlm<-^%TWEZpM27dux##s9n#{`07>3U?eC{UROk1~vYm`sBpWz+zbc<`uJGteTS zqxCPLru$g;gYV7WQ3pIP!-{NJ88H8^%~uF~|My*<^@VisrmhF6f1X}tS&HC-kkb=n z>LpGEr!oNai>%F|mkNptQ@TG>_gJlj3 zg`I6hjo!A&<0&nAGAbv2YbnvN8YGFl82!h5w3EizX(sm=QG7j0sk53AaGC*=iv>#s zmR*#Lke;~-RD{Ecr5MX`b)i+DqXG|rWZUI>p@3|`SV0ySBceVI3 z#?%c563aEFnvf2KX@h2?yO`y$s98eWi+T>Lm6OLllyVlAr(fA^QqPl}|%CucrK%-?pt(Gp9+a`AV3zn>=^ zyyOl35}!vI_84p4w0{J>Z@i4w{G~Ib&s_JUzKCrBpH;(J4KCYatZZnik=dbQmq`m@ zV)_Hr3RJ5V?uWO{I^`kZIVZKzxyL*miUjh&YW`o%ZA~D)ntBx(?Ibls#i~ON35|1J zSO4bBo}%VxuI zv$M9T=_jExD*JGs%Ia-9vhln6DI)_Zke1% z{x`wSUt5+sU{JpcC8m)A_Tr%9m(Vlv>FZO}Pd)ijam@4aYlRBa3F9@+Ox-K!9F(BxV?Q4G=v zvY?zPe`R5w^+1+Dl18r-mB6Eflh$qk6||1}St*H`BZY*9;uWg5k@|jz6+K?zG%S%Z zs6qS*mnuD|3zjV2Qx=@MSzdd9)8T?f8MC!AE)Hgiaz{bh7DuCymZpp=@4@R-lh44& z2MUda6rtlAC-Spbr>1?$!hrP`SF8O9p-X61NUTse$jA#5Sr?0nW=LT2n$P9&0N1!e zzi2E{czFt0SVkfCBKojH^)?fzm8k8=n^ZGdleg2KP9>jUcwnluc=rSV7src)YIFxd zpJ}L+F()V5U2XU-xAVga!G|f6tZ^BT=2a?aPK!LCRh9)%jo@ zDb_s+s6ajigFw7rA{bR`Huq&ZgzcJ_)$G2)xBEk3jy+p(1H&{X=Mnx2kQzAkozWq_ zW-Gubr3ZySdPo0^Xgyu<=JljQqqB?fzL9_6kX>!10R>VltG9#lO6W9Y$kt_6(UJXNR1L0<%NnZSb@00K{X2nB|!lyM@=XU{7 zi`D4#(5i~ij$p^mJ_y5tW6a46;vwe{k2Y~xW;rt-i zZulePu4(K_;kG`?3?Jw2+Wn#D>m!eGjUW0X9r7OEhZK0Y(oY2hW{lWr9rN3lo7(b? zvRVQE9;%IA%>&`UqvX+K8Ad1^@gA9PHtj$Sl#r1;SBo(4~uPe<+DGXXnOmQ zMhk%pQXPdlPnj_w4UiF|CEFs;owy^4?;mZE3yORU<@wI!T%n+Oa$P6K1BjYcVIS+y zkUi;8-y1!n@$}}GA^bLC^10|hkC*k@*VIvYGw3rC_-m9~P)=oBv5Fp^Pe*LvT;bVF z2`jn)qqad?JCz|r)>$IQ@-(|jx%l>msLk?bXnKSc*k`@u^Kjdbqeqmsd{&>CN z5{?+G=)Jo+y}07d5AUr!Gylb(My~dsLcz7pFun5*J2W&Ls2Rml>>4_#ZC!)&zG3C9 zt=@=JJ0;luYWOhEv|_qOiuGL?C;B_*#(Q|Wc%W`|DkF{d_8Q1HYiGKQAjy>4@;`#1ZmZ{~`Pb=jIU zlR+ zbn5ijTzLVB0Uh7g=@!yt=sLbtlyJfm$9EspX#9IEGn?ONCB-*2PPl`O^z+Bw7XclSa%55v0oq~e^Lm#B33kbkPzG_G%JV1V zj<*9P2O)dc#flfp9?G4QnTPSu0|e=F4OSDT5`13iHq}snvZ#_2x$D^n%|m}@X@_b? zg}1l2B4Vaw;!Wqv-b>HWov+?oy|I0MQ~YxqAT>e^5S39zdCitCNQ&t;FX|r4w=8IK ztt`&&=?YufG}}TXDFjU90>xopiZ0w9as5j=>*g32>)$SO~Qi71lx~uP|#6A#@ zmfDuij;887SaOi3NbzJkDmvLHG38~*5_u6equ_zn^=-qHL^!FS3Bk!x5sB3sMf**? zuxGL0J^ zL6O?&s9jjKVsjZFfdrDdZPA7%Gp>PW=&NH)1&$pyIwHv~+c$~NRC9$c=u;}YXmhpP zwoXztH(LME_fpOe69TjVbEdcCa;BOlVU?Hnc>h|)76130X4gshf*#&gTZ@>y4&4$I zXEZH_-IqF?Dweuy0#6SE!7p2cxf$J%TB30Vir^OtZ;xA+V5u?Oq>5kbx81PJO;`OW z-XdN8MMIpbdat!}D2`l{3h={X5SSuykGN%p;Vef3604i{}B{HZo!bVTq86Lv0ASjBPXJ^Jjv(@UeMxZAJTGC*0>eFWm6 zZj<59G{xbeu9b)EVxXsB0<^@_!o%X+@zEHD3kX07Qn3i=9h9T_4NW`;v;d!{00uM+ z1UiSCu_B2X8sfW=Zv^( zLtUrN&Asj~GKN7nSLN>6Dx-I}0#4O=?^2iIUx2_6st!i&l?*|uCgR559iQH$3s^nSF+QjP`TC-A( zTYJBZNq7050c39zAZoNB)w;mb(w>sI>0ES_S$QhfMN8Vks*2NIiq}WUb4k zqhFPK2gvCj$=>uth9>4u{xgFeauzglX6mvee%xOheuPDt(l zcM=?+0S3gFOSZK`xyA5jv6zu{DD`?wBIN+PRsn-jL)6Ndl7w;Ex)UEqn=IHt4S{kS z9Hy)@%nWCKE*6gv1EEKdlNiNNdC_lc*WA2cA2hi@;u2r8)2QsH(qDJ{i3JdDR}qKl zL^vXF}NVGDsqClLPJY`p$1ULT5P+d|FHS@+cka|851 z-#n0+!nvxa;gBXprwvwOYS$FXX2b5g)_uaj1tmtT;8;upoezMW34OM2F6{`pv_Flz zLg7>Y6TmpSd}3##u@IcF1xa82VzB;i`>Vy=K8C;P;W zPD7e`c{?pZYDF5-o+QnEztnnTCNjF~?A-;=cbHt&pTp_C6%fo9q59dL>Q)prvi^~& z(l<3#hg~MmUT&FWo_({nwif6ymt!oKHbc3wijW3}t(m(%?6NJ14dVnN=1l%?CLON~ z8Bs@K;^#{wBuB0w$>~+x?+JZ6r9?1P;`peInTwRDMUP1gQ7u>Y>v4(6=%u=B zU+U$OqRUdXxEbv`N&8b~RL}%cz}Bf+5D%bp+=^Q_?k}Hx;rh^a;*pBFFg0yCc?u{{ z^&=?yWwXl`G(K0c0M-2OR{uU%9sT>G`?a-uQq`SiHV;~Yl=r3i8I(_VcCXz{*)dV* zY6QY4Ih~^=ay-*5tuvW{IM7o$c)9eMo;U-B=9mAO%y~lKI@GfVD;M3~OMS*KekKv- z95r3tLIO@fQ**H#=!K-*U0rh)UPyo@R!cHybeiaxoByu8w>rSXdZA`Hr_3i;cw)He z{-g~~y9)j8xX9qa%6<+u+ut2C{i+)ej}@^~Wx62R75ih$t7H-8kN_it=Baz8N1svT zy(DXG5b#|Co;TowXP*rlZAw+Ba0K!f$PRFROx;3B69rD917*QonNlFVp31jzlKJ5` z$m%`}U7_i|QyXf`w?0Hl^+`&KIdM<5xc6A4_ICyMxO;$7&8!__oqk4HqJxyvt-VM|yGX;;aPtpDJeJZQ%VKXcW%?gEu+B=n=mnv3CVuXjD z+Yakmv==K{g7youUxz=LdA3bS@lq2Vcu1lfXLMOmYF z6i*iRU6N(OH9@wB$Tg{HRnqd#^BiJ{`zPv~m@=Mo?rks!Y_&2lzFLjJii5u1Pnj>A zC^xs4tI0Xn{VcUpW1Q;T!XAY1kSatJK&zw8<~cLC9AB8r0DSg0%Z_ku;UX{8bd36h z^d<;f7G!L5bb*!(evuO)a-no*=&k8fsvZ-i{ia0r(5L#plH=N496hf%?;}=bkpu2H zs8**{N&V%G6gJH$eRa>5y3Sv!BTcaJH}9EYA0lfJ`aG#xjZl~azbgW<5{qR-XyMIjyno_pA|<#z12m$LwzPJA zz8ZBoIo7f$52D<0I;wD=`D+r{voG(L-boM=nOXzK&fl&hh{_%iY&M?>3_70?z{4&S z7{;TR%tY>>yKy7|-2-n)q8)Zp{L|L`-i#9->$W8%*uD_J>o<}Y|7uXY)uD; z3__1)^Gix7A;8m!g;;}UkzODxV1jfU{sJ^sAFtj>nn&4W9e4vh#o&Kc-)63K5v_Um z6ni~YdbZZXHZU`Cs{1xy?+| zxKz{{9Fk&?0Z%isSng6Nv~E;ngOZkqP|m^*C+V~s>FlcN{nkovvN4`6G_|Lr=_sQI zkqtfTM*M)xm07N*8CJUL&dG?yg^%dGGU?SSG@vH#}N8S5WO#U+5yEd>u zC;l>y;_Du$^t9(1QAU{GCJF7i_*sT!q1lt`tp(0~=zH?mVq;-2dTYajSC$4l9;}L= zd#-{-wSoFCQfd=$EVKW-#^t{_R64)pGxp=Z`HcOx?rMCvO0G^QPE$=SE!SInLXqo1 zhp1oW9t^(Y&%jn`wshka(fGwOz9NT0hryTfry}Sd$a}; zA9;vDU}eI~XIGAmsAJA@TiSwKXz856(gLoA6 zWEjPq7rNwN3=wXZd6o0JwClj%`R~LU>-6y6=eJ7R$Y7q|EUJqjDM(Nv49*&`GCl?{WfgYZVD=x*TY!Eu-m@6YCxfwrm$_Zj*ctDEOT7FHUl~f~aNM>MMf4*m3 zXbmS^+nzy7Si6Kymvi;1<&#O~;LoqlvdB7S(Psu}>M9cISg=-)+av0W4^IgT*@&Y; zq7fpJG@uI$nm%U$MqMSSgxB@CBoiqM?Qc_dOECWNXrFrFh4kXnGST%Wo5M9OrdwM+ z(_(Q(olMFuS%(=&c}(tu(SQe_g4)$iT2cJUc7Kzi=vPc%d&4fRe1PvH<@?J}(&`;r z<|*M)W6{|b|C;@ZjC`~>kt_YDqSwqQj~+=KTq8386KQ(a2-$>S>w0jf%*9AgX+ly% zeK|wIj|u-s82vmTT~ss54Ka06U9kubJKQf1jkspjirhDUNCpy))C_It?P@D%qeD+z zy}mtZIb9kSBpAhbLSL7gdsC+{y8YU=xN~JGeQGMhwrFf*G&a{kPYFd`O7TidkYtC; z^J)jjUi4!AeW>wy1^ z;KYg_y-8LkyRNxg&FGZJKb*^bre;Y8KQ?svD+AJnS z$aPCT6Ke})5~H6|z-;o2R+%!~)Z|vA$u6MG$S%Qup`0nZV;&X}FG=)Uqu3hgRpN6; zNKP!*BqiCQ)BX$%aEL7*%h4D~gyW@M7(vppHN{PKHbhHQ;Bfrcg0nKwFjQw6JRNwo zYp-qZb537_t*?mBTG|}ru5eKy!qeIE8I_FX+W2mb46$!Kwmn87Ake9a+~_kfX{z2k z>Q(x}=>%08P}k8(=DkxrD5@R2G8H!LH+7j=p_4Mhb&C(I&CkPy*|TwDeD%hI%n-rr z?_FE=a7$A1)zg#~m@B3%a>MM{ohD48S*+DSozj6QJwyk-6Qz800(i6=Q*6duKXJT^i1tx+> zC=&EFwMo|DunD>*nU~7%F$PEOcDg zWW)sfN2_w7e__3|_e*=Mu-NV}0%FZ1`v4w4hNYBck}!vU7t1s&<>{azB2h+L^u1hC z*^3f-IVz=1la#4Pf?eO6lr)mu6YNTJi6_-=?1h#;^F)kOU;gu=hPlPd@+N2eVvPH4 zyoa05rqlm*Pv<%-YXP0AcfyTlI%W4RdZdD5^*rZc-}|CE7{iG^>)&ph%aY(Z8q7IekudulMv1k!?R7yEw|<*|q(e1r=-Hd)MwLA+PrUWQ3c%Ew0u-f zCMF1Z-y|gm<==^m^{xH%>T}P&<~{Fki-gBRRX)mrh<>ycZ-4q)}$YxFo%DRh^W zZ@NzZx~cxh4DFO z&+~r>|36%v2~?Hk+Wr|tLQFfHl+)3~VWXu26^S`8l$vab95NMA(K1wYt2vR(rsd(Y z61RdO4yah-fQqnD5io}o83Y4Sc7WmlqKtyf@c-Q}^?hgk*J`yor-Z%V_j&H&y081X zZnBeea;$wEADs!u)lv413r3lrMy-^6@fk~C@Ay}<^`5fe*7fTtyPad%R5%#2>cmJF z6YpgPeWqdans{DJ+5f9L(z_59#GRY;G;p{E?or|G37AHGUm zmEtiH)UNorcTvN`Q`bkQe$b{}yI)LM(*I=ZyX@=%YV+wkkFrhXQaq<(%%WI+f}wh* zOJIB3-q9|asEPa5S8M#Ur!VQg^cj0O8af3LEC)A${`0c zXGq{;l08NpGBSGGDs9b=eBPN9mHw-^n-qob*pDo+c(2V=oktCDz&RLok+Rg4YqSQM zd{xL;KKe0Ap2lK8)5x!pLn}NcpRhUwva8`d7mL&_{?7R)BEJS~px6hff+rt<(PrjR+Cqp`KAxkzK2Dv!>0<1q z6xxAvz$2c0XfyaPhi8nk4>)Y3o&y+$oCJ@j#(lQdBgCu8w9mA!KkWM&FC&Bz)hKh< z%NH7topoLDdBn{+jrabtuMO36Dl!v3$BtI7vX$hpx;9F_$aMWN56z~LeYjyhe2E zRf9WPAHh{X1oQ{ZDaE^uaWK(+x+Nl_X>t<*7J+Gr3Ym z>cV5lKh$Wv<1et|Z3HHBEo#qI6M3o5L2c(6kKsIB%x5a(9}?;PmYK7Q<#g+cKE?8b zvYKDwXAZ>uyM+rM)X`?ff0q42j|9i#Zb8#GsoI8`Mc27`e~Q2F?BaQve`dd73F}CO z3-4@;KIk@mQ1+*Pe&hq2u!$PJ%NwK8QwaT3nXn=B$N0mYnQsIb&qEP&njpUy7nsa+ z!HPLg=hJb$v*pzAG%HUWsprAWl{Y%kglCDKXWqzg=h#b`O%ZnX*Zl2Z;24A- zA+)P5#)j;nRflU)wlUAY`udA+qD+p4?CCablPW;{Kk7L?atSQMwydwtiYf$$p3KTy zN~5lQYH;g=eqKD`_icNQm|A#Dh_kaTh!sQ4-sd|;OvDvvb!Z%_hEQI%3LvV=6`*#H7qkzz?J8zN`Eedby3kGbI* zZe`!q)sAK7yt|jtxx8?hvq)=DH^nI7^Chsnh8lVsGBlt)s6anL7NBSKeO9cec^ZE! zB}wF(wWJAEOdGrZ#E?G;|Dk-&Km9kUBvJ5?c%t999g@fDVv%T$R-KPU>eDIjLHKFr zDmGhYe`1kn6P7=V)+$|o;z3OW5n=78eOIAd(PMG<(^)@w&DGXqWH$YNv(CoscqK_a z&;Qh(N5pjE2^U4~${Q|^52TlJIZn@v7|ZH5x=ht17CsMoW$mZ?|G1NMB689BIa_Jo zcrUW*c_|aV!hsa|mg+{DydQF)XqNJa66wluOrk*K z3+et&mxt?qF;W|BhJ?Y>`#u4Zo#cY(9+1G@=qOP;e0?<$%%ei$;?cA7G)UA|xBu_; z%cDkF(y)zNX_lrY+rMXj-Q*}2Jp*mYF|{_^!XHVlr{a~&F#I?PQauOZyB@0Pn@;#w zzZhS^Rt@$UM#D##b^ec~>*XnzmGhDqFx@a5q;W)NdvM2YNh#{4C34jk#}cqLVAU2K zk61J#tzj^(8Xi0Y=(2E@`{jvvm_L|0JgnP|86Lw~rTqVI-j*YEzGge^MwW2NJ*d4{ z+p=|$8~4mP@TjJF+%UI?mvK~Bmo?>3vHwnk;qM#|{OWvsh;pa%NR*EZ%lb)5|?}u5Y!MyvM>_WVfG9RL#NzIh{SGg8tLl z$*Jj=lYV#Rt3y0|kdt`3^Apa+Dmjf4A4idzj5rhNDZ9f>I3INpTM$|OE9rUm`I$G; zc8GVKVRBA+pZ8a3_nI7S*d4j3$p3Tsbm}?2NR{8oH1HuS5c#ryD7<3=+IKEQ)uvsr zgb*7&ST|{Bq`HrFkReh-(L4J=K<9_C}9ceV23PzKXp>fRiK28}R;qRiSrQ&(#G`8_7(1 z|LRO$q`jH|j55nq2_paBo%^lk|4)OA`s*C*HO|h?>>TyY88ssGS;dd)@4L-Roq3S?}+U@P@Xm3NZE_`mES8t()t6YqjSab>BDNp0zeR)|rB>&(EksMDfX~ zDN`fgh`2dprvdqs%rDV(lLtjB;b8bX&x()7YfsCHLaYo>b`o*Wetm?Ex!L_Mh$$`_ zR=X(o7R9RbE*hq0p$#1(+Zi?eMw#8;GbSC#60ulvGxLcx*__Ie1I<>;-HnT!&T%QF z`Sftn%0gl+bx=$t$xk_>+gtonSUah3J{>=^V@Rb*e8|Xwp@pn(YOl;N>{Bzkc~$4F z;OsSq_J`{v`)N<-seJSoV^63;K*mUGijxMXKIG=j8B}XM>+E6$FTWXelW9PETU%RG z(^CKH_HPEPI!mFuv*yW^%Wo9VblLYtI4Yo?E?>b!D>CmM^}u z+bYG8nrqmV2og?>oLyXa%wzrz%Hyj{Et-B@?p=3h7Uk#zcMaENXSed3Y;h|E91yIk z?J1?+bba;|;wiU%38zA40hx=Nk<1&bD1Y;RzxZAIEhaIA|9b}?6@RbXLHR8vixWR* z3c{^2J_;^iF4f82|I2+wD%Ugv4~`b~=~;tO>6z>Ht-XA{acHiA`kih1TdLG7=x`Ll zdw0?e6bH8^i9J`xFGjY-N>%62_Hw4d**u-cn&ywmH}mYTbUMqaDyw|);-5DT$mEig zaz`RO52EhYxeyN*&p|v{!Y9$KuJ2h%PxK0xaN|e4Eo%dp?~sfjSW}( z>-j61*1RHpB1J6Ke>qR)^ZTgHOe0xv2Q#R38dGuMUrwffrHv%=J>;7$l63Ub5+%d<+{jz7@9D={ml~prc9@}&_bavb_L+g)b z(zYWep6_mXLOi140>N zRrVobJ@jW($l;6kQ*d~nr!PBcej^G_OG5tsB^cPR*1i>{3wSrUAa9g;`B>>O2dZ0d zuK6l9g!7fBE0$m6BSoP9sj<(BTb1A;_i&uOhs$oi?DRD>V-(eFRi%LSXe?6Gjq+q) zLUWv=<0!X^hq$IXYler1CV%ZuG>RMr7wP(s(?_I#V!%V%sg{2iV5a{$Bd#<35geD~ft_JA+BsxwNQrP$B$Nf0uRVl!Gk>fRe9=oN! zNyIk)hfOK zy(}r!?9o)j?dGWSY^7vvGaoM2M7p}E37?-08M!N5Ud19_bwh)n+1WXo&t;-EGLe9D zF^hCZ>!%)?c5V&^10==|-|y@-%_9ysp1wEkI;=t}p_qD4H(cf=P(~>&DbvV}RVmUR zqUyNVTY9%&HGOGHY5CedxRp|nPYKOVlukbXtpy$5sZN~mw;PdRLgPJ)htl+W_{6Lz zKPgrW^Jo-Icz%{8ss}cqg$`@HwSW3^Cncg7cDrJkNCQnDg^>Zx>NGk5YW~b~bI6#N z>y!)F$I-Z_*-;m-q{_9~nF;H&R1e&=I^{#FhDXP1Yi>1R4WUlx`1YpV&KS*m5q9c@ zGwA@hc@2B7jE33(mf(IlEjk|j{J$?ot6A#1iCr zBghzqz&+88pffQidmPnJ2}wJ`q?(eqkm@FP(_6<4eVd1T@=q z7If}-1fE6dalGzVdRcp8fqo{YG#+byHRIZpQXy2Jl_=qlLT!|K`UhnO^6qDHvQJaq zy6uak%VfXn85Ipc#M)`n3sX7dho_I^KJ#VM#?Yb9uZ<^LAF|-o$l!=T{B*$m0(=guTQqP zL@JkdU0&|8j5JUPPA4CgI^BR2>=RKq3si@egU~hILjvv^7D0NN2^C71JybLM@_m|n zE3E zcs~(r!k|yhs~?m#bypcWJxTZ+Z`Te03BrgG=Ouf4?^J#W2h#$U5G@yAQcpJlpYI!K zPjgJPsZz{+MH=8UX8Rl$AM5FIN$o}xF{5lJlcLJu16S71^z#7Tc@?a%m zM)Y{}>a=7zbhFRww3}cw{C?%`vW*g6ny=Z}9|k(g&SY9BAZy!lAM$Tq?}U!zN2iDW z+CT?WRvdL+L7aO2Z(ii?k=>g=lV?HIbc_Jimt-$UWQlZ&)IHqu#$xGVk$ofh@WtEA zrV+(ICkd)*HN`XUuLn~DW|hzC9jn>7sq0c68CpBqK9aX}@he35C9B&rfy`#YK+X_k zILDv*=Ju?|HlaNj*|)5z9y6JWO?0k;XVhle5Pr|btRo;!Qc|g ziFChgS7+_Qqfx0E8)yS5iUEGt$z{ zL`#lLkV2J%n=(7_Ni&WNxfjbOj+obd+0_b0#iRXMPjb6h4T}T+MF&4ksU9_IAKoGqaPVd+}k_^U1@Q*hS za0Yhox#lU84pn04d;vze?exT9K($e$>>c7FO>5kmwbK|vy1184x$J2%$}Cz+;?;&8 zmoiURrJUgMmKFO;v+2=rZ8SF}{R``-H)ja!aeCefkb7zGS>r}>XtDQ&x+kSk{Pe}% zdAd3`M6gfK3wcJI(MtUS0zH%+84?$^kgvrMTUBwxMXD+%%1D|`0dv9sT~ z*WW7=SXsJ9Sh!kX!7Zy4(8>NpSLY+`B^o>c2z6PRQkjau(Ha1@uF5p~2gV1m6Nn{W zC4TN96@@fyM=w1CE$}}rbiI>& z!6#L1A9Lr@nXU5Fn7Vvj{rQ10Z&8I9N&`^rzxGLU6T<+HkpO}D9F?OdluD&wa@IfqioQ87 z<7Brsr0`{N6uvxEquO<~S)2wzcojh1-RNAr!6-LLdXX|4qNDub=FQGudiKh(&WMk> z*x}v!&8&A{|M2h|uF=i6OfOunc6fL#cHP)RUOJ~`HfH75Wa8&Fv)tKGguqi6_IG!U z4j3kq4ot$~EX%05dBg>np+3i#`w|YP4c=jnHz4E|*%nr$sUq@@Ixp&-WA~xO`+-Ep z<>Pj1f^xAj0mX^rzR42Aah4E}##?h_yHm(KaWj#f1lZk4MMaShEV)H-6 zz-KZWGq0um+Gw3WPD2jr=AC>>E9eNP)~Xsxwe{nBBcBNmys~a5luntrLn?&!4*%O7 z3S+}(cD78TA8Ye&M^kxHY}-b^>ccX2nCSg(^!^?8);ux@6Atx?Mvw<~RUlIpiX#nM z0cVp_)-_ML-P=}eE0&t(93Q5|(UzxQ54#F|4ud89u_0?|%S$WPXG2uZH+dfCRQLp8 z*h^Ivg-qDP8Bfkb@RB{F@Wn_$_(+cFv1n!8i1f-^Q&Qt12!PK8nbc#WH?nal1){^bAtoQax7mFx?x%WIML>YlmrDsR-`iQ*hB6I zBileW-|A)SNF9L3P0(sJ)+}njuhkXTWCcoy^X6>Syv<$|{D*V{-WB6<*Uz{2&Gl6o;dxi6@AQkUK(Km`keP+#S37_`iB^+l9mFyuj)hPk`N=O1pIp{P5`<+7y_@W-}QQ2pn#%eiBjb#1Pjm1ga-0O6d|i-pL3$6vD4 zqTnZ_OwIVx310tNIC`M%BK3bNbq&^UGa_f}()n$V`6=sgGGc=$A$+2bC)fwnMUF7c z$6GJT#U5n2r)ACtUqTgRQ(ijRK=d1GW(%KLL}iopLNa895MwPjrsK@qLq&m54q+0s z<9g^myw^z@;VB?{D`!!spRuWF#05X=+^?cA1T|&EzDYOl!Ul#-2AXMUV)@3lg6Kae zbSLe<6HU}r&L;Z!LSee{QkR*R8$-DXjS~Ychm;A0T@boVR>W0d5S)_>cy%(8UWG&74wfal4ZDRpZzp6N zp#W%%&(~iQ5ik)(Ln-YLmQwI|q^wqd=~iKyw*2_^m{%_}i3}g=u9ik@kocHGMB!)* zTSn)YB5w?K1q?xcC*QY=?Fu2I>sm4^WnJ@hGQ}@wJPegdZJmdXTUse=F1%DHZMjj) z4xymtC&Erq^oxXL$_hyZ7Z0WrvntW_Wbgh|$_mSMNR{DN)nG&{`}jRE#bzaYOACPJnjB3v)OmjjbY5QW>Y*xucqOn_fF+uKCXVb^ZOt z8DF+{tG{AjI@P51GtX4lZ+Yn8T`b8!{<`}_Az2DhMiv8|L-@XoKWKz8iV-3^ds#4$ zBcHMoh#XbzwgvMptZ1}ku}Aa^-M_6LKUEf3#wm+sa8&lcFj6e@ctN)(M>()CK&`-j zBRfP?5)b%EXNqRQa1zy*7Dc*KnIEyXN9TsO>+QWe&2!*4U#;$jmNcPz2S(oPzX!!X z5`M=F3#WQ7Y@K-?V%+Z^o@eCWqVk!sl1 z+7)}=?ff|Y7tM^D2PB zJw!~|fFBquq`$+*ceAs{ny^?~OtdKBj@4@yC&P8uYM)n)nLNYplI%qo>LK4DiUcG$ z^h^;;AvuuM&2v7#{flw~SOh7YfBH3{(F*ytN#qVlOlV`1H?B;b)UL(+1^;2Q8%Mg# z&qn!-cw<+LO@8JLAFF`{{2DS3r+S`RId#f~yqfPe+b&SnJqHL+jCn*o>Ofupt!|Ti zX3`gxA4D}_nOc!Xm9@zx*_h29b6zN%Fn!!gA6{?OK%POekeiChl-<<>JOvTk);_mw z8BK%8$%Ue9%YqNroS!C2^k;U(urpw7h<`xTOv|(|R5LW{_KyZhqCoIek^-y6;y&MX zF#{m?3k_am&mnos%7*5=$k5c7@77&_J%@|&eDYO9@V{SVRjqki>Lc4mnpE}Wt#UI9 z*Hl(P?vor5$#R$Q$r-YxmB@|~N`K^ep#qZ3c}-Uf7U;~`rVu*>_8>NRE)1iSc49xE z6?)>`ptO>xr9H`){<0bXwT^0=)_sVOuUtHZmnT8KE$w!AH>B^8O+tvQXZK9|rz_lh zL*4<7as0HY5q}EbbIRqd9nXS0cP}8wC$~1Hb+)$$B_-lr-d>z^9T7Y%Cxxh0IP{HI zkJykhs~h#QVnT7NN!rmg*sL5c5Gfe;cUzQf)pFlg(a1!DEy;cGzamR;e?@~@7w`|T zT08j|KM?m8Ph)Ka2SilSq85MLcIadrAtT7*225*q@8Xw_dv&4b8m)s#Xt2+YCM{Xr zNtM!Bi-d#1RV&+z1|t=v)2$bLT1EE)`-B`XNHg1@2v;bpNSxxkiiVq%Fx{yYWMLbA zG64k`8=*sWJklg`O^^h!{;RSb$k6u4adKPov*o_uStAnTV(YS7Lz^C0U)ql~S%SXM zBc~0{MU@>crR*WGVy{$5M^8SA(5bg9`FL=ks)0)FOi|zRYoqL;o!!ROoF!V}hOTS4 zozK=eY|gD+ywnZC6732pvV0}62}P3>$~(Pm;XM|Ya~AxR9ot$tE3(;y*wqBsu1i~k z_Mc}XbHv+b(c600{>m|cBFTXqpR8uv7AQZtH7HF6GhM5JFo>mW*8YwOnnI|p&n4NH zpwI#{Ze}Q3@#u}Qffvb^xt0ANOq@~Tq6UDKK9C*off(+H33pGcb^~Rc6X5!9g#U7Xm~5DG5H-d+YsXuEK;n_Xv!RyiRxi8c z^H^nRaV=eLr#B%yB6PeZt#oilicaT``BP=p&To{fYsY4|BE$trfz596LjE;8=fdzJ z)+;JFZ<}Fux~p5ciEHVvE3I-YT`bnyr6b65&b{tsK02*`n=vD5K(&Ah;=&b31AIrN z+x~0S)ZBa@U%bJtVtQW}MCX=8Hr&Hp5I~^5 z$c01yp^$Jzc%yY{TMWB@l>Ctod^Jl|4X6XbpPr|)cB@h}0Uk`~tSjlDvd7Tfx3i-$ zEv=-QVvY;^u=(932%$8L-!4jhlny;9@s4M_MA%3OZ6nfK+u2N9Mn#rGR8`+JDQ`K` zTh<$ASqfd6LXK-L`VcS1fBfZ(Waf>;#R$7ugUs$z>dEhLKXjm{k1*Nu*-CIw_w#HE z|F5eotZW=DX4sBQW&LrxRcDJcr*VuaN@|c$eKqVD6hZO#RF9{(yoj)DA9{-j7HcuG-~Z=%#yhjrQy&u>}M{lZ4Pa*QO| zXF_a8;7*p&r4jRGlXM>YUKK}>ZOxfQX<-@0T-(hejC}_&z{0qlK!j>-h~o3k$HD4%SRnsIIRS^y+=*%Xm* zOc$`hJ*j#&OwwL?b<@t@ufLSN^obVKBAQ!0XD_Q;tuFOVl{zX`ehr*kHe@NeXLvew zNnBN`SZ*|uQI^xlA1@}SXuBM!$M?3^RkS6$E!2Y8HQ$1V+em zFIsqUzy-UvljX`b(gUn#$E;$j(~1|#tilw5qsn4CmY=_v8?Bpetobn7uI-USy54d& zje`VZwvQWO{)_a}1%uk1k}5g-F(>Wr>gfG(s@!_)q^jn{_*2e=Cz7C2cvAA*1iqjX zRd$BebS4k??xe-TKlF-%U$AbbZ`h_k}v+!H% znJ$*6lNA-ca*7c9A+ zAgsN*a%)R{GPZU+PHU$G3Q;Au9_aWZm`Q^vUeccW&KK7^$Cus3Ppq=FeLpMoTwLGA z@_OSOmV?JYMniD|^V$T-TBCpvbdar!yQgn(R@Kh-s~yMMDB1mA9;Ik(DPt#tAI)V! znMedWK~p*TJ-OTZ_Rnaid2Y^T^@{lv`xGvo-7JD9S-Aw?+>QgP3}6g5j24rNu8S&d zi)=h83PhadW!@sJa$n>j>^i1!ZKI^d6E>Lhxp^J?*rBRhrGgE<00d_qT|dhkYUGPT zS4}BQczhdY)woDNgzfJ~G()0~X1f$A3qC_C9(zxDT3k{9il#$T#55^Bix3N9)1``X zST`_TvvXS3CsFld%2uoWZ1uEhB0Su6MI{*2=Jw`ENSz$Ch*d}5(XjMScQzC>3&$kkV zgEa`*g=RRgrO#A`yQ!WB;KM6Rxc&zl;3^gYM64-;O!sB#4z%J4#EKR4(5KgUj-Iyq zmT&fN?LGezXu;{^3n=qI%_eg(8LJFtFI*0)tSGPTm9{hkQJ=0@05|HSNItORHVfgr z(?v^6T8iYzt<7fILa}Xeb+^j?OUh*&EXm12d50*A;Dx#rpy#+14d{2IUD-Kz%O z@{@L%kXPSj0e`XWvcl&br%#%fZ>21zZz4D|Ck1me)Q&XNvH=@w)uB!wV#b<4AUb|~ z!>&5-D{6SO?G$V?1o$xgCaU%==T3B8SWqW2w(k5I3OCYoL~lw`^a$wcjMI~CUdfpn zaWPqaf?16A`NwNEs#wiZ9z%)%NGx98>;4jHj6H9}JRj^q7-M zqSet`a8mK-BH^;gOJ*f&85LJIqPa^!m7F~JSK6EH?B_^L7qarGOWNODfSASBsjfzR zHlVW};lUMKv6_+@l~fya7v|GC_Nf>R)2W2~?#hA)x<_GGA!~THFHR4@(uE{2b=j3_ zK^G|r=GG=l2}kD=_WDh)T)Pleb#U7=X%=*9!PfLZmAqDEvrR0V1=OL_KuOHT3~gux z=Soje?TEO3;ryUQp0f`;j?xAEv$hC|YgJwDEQ_?|ioj2ZZAV_+un*4{ew!)-8tVt} zN4862%;u=Ir$xe3%MR2clBKT>G=LDc?~T->76JyXXykVz96nuG(Hp?#O^v}vq=;0O$bQKEP*7JVMLA8x9Yk6w zZiTg|O?^7p>>GiblESwX!n-o!t#i~797~qIk_xU2vLh$99Pu7PF{^WNB6fW1#rw?< zFXCG(f(6P)NYAh=UrIi(;qp@k&wr&iRQBjzvJq7Tc zNdFJyObBL8UshzOSVa;eP)#~_UR%s-dM)0ua%N2%l zD+P0oiFCPls{FlO&U+)LP}HYT;@I;)h6YmK^MjC)1~Fi1jMfmN!>*j`#~v38P0FuL z%Q0cY5}lK{N1MJ)HPC)Yt2x%IuF9?BJhe{WPceC}uyUR)IrX9FdU{;MVqFvCz=0Rnys{TFz=12?l!sa2FXk1Uk}o+-_~h7yAJQJZR^0 z!7{c68`7L;oy4~KH=TkCe6@(Z)dRvbqb8B zwX2ZV23C}+Mz8}`u2jK&rJ!IBeA)5sv?Z0c3#ACQKMaT`=L*dXiPlPFlA8%k zgg6!=N#Ikc+B6TY9Tba>gVx|nS(<~F>Ee)9j#BiRte#<8I)A2C1haM{cZ-r*{f?84 zBJ;R&HNcRRB71Bp>mQqwCACeMa}>2d-0u7m1e4Z{Sb_)*2gf(vxFidHnK(rWDn z%Nl6|82EG>*)DrOcb&>m>C&~_KtQKNWyrus5sACN2jG9I?%h#Ns)dz;seoVs<+pvx z3Z<;6=_t+FaQ{1%W+wK*EC7kt=4SVn1 zYX99W#DCFew|l*n^*nf-Pu{j?P9Dy$#Sd4xEWfw+Gc1i4`mV3pJV3;7nP|1GK%Yv= zZ%iv_V@h}KS?T6^=>X^J!|162We(|4%0gb>oLqoV6v@lW@q@W5VP29Y4)5u+*66!G z{(0m4g2d#@jWF7tTv(v4ZvR#D=6K3h3gkungkA!oORC-Z9Fq2;!lUhQ-yR7bc6s-SHtZ1_io$Sz5*CwuQkl?c_-9pgfB-CfJo6W8%N{AIf5Wh#KQ7S+L3rJ{5_Z&mI z-EnHqH^l;u1yAUoQV`G%i}gogg#nFsu5ryLy>T?@rFO9@=qX+cKu*Z#hGiXw{)L3d zlA)-4xAj4m8)@o@hzac7n{FL&Z%PMk7Xq+(UyA;QoA&V%?FVELQNIhi197dmvAq^6 z5?R*}MQGH#YR*!)RLhZOqYC7$CH~tn~DB#Drpn@mRVU zLpii4#Upi^Hb|@j7$^cS-J*6vHi+WB{(iO0>26o)Z~{QAO|+E#7&>5jKC>+bfmR}R z<*#=hqK|Hw^ILDAQEY8C%rk za*uk6%!^E>P{Uf3%zGB4{hZBHPpSqu%BbxLdPTD=XdPSQi)NLlzIb}Uw$*2C^(x&M z>Jk|!Vn9`EuMBs|F)M~4e#QT%T?0ZPldAGF$sElc%wPSVjdLpg=c2Ddj9(5JSdP2OK1LJlT-xkTJ=$T>0~2W0SMUO`WHY`JdzVv5kU!7oq%M7}{0hmJ2lyf~rZT#L7fOQ3p zcY%q>#=HPE#QIzAEXH5X^rx&jZ{VUJ9ZY{bR_cmm8wDkjGlCT3 z2<9DVY{%%Zz+jpG6Low*t{@u8&o&=OOvL?*n52}7inR=mocgvCHdvBl)`*o3f!;9C z=x`A=r>oJtf_xNFhAoStctpkR36p^QA=fkI9$@luDf4c&7+MZJlVu661llZjZUCyv z$ntY)0v3(K1>9G^pdfsM_ZnIWmE$+`EdJMgF>RPqI^uX+3=VWS+e(umsPI8kqR4tA zL>Wjm8gMT7j%0RnZUg`8J!`eII{x~fqW)UCJ`elAXudZyCGk(NI z%P|B#BoqO42hM?YrpCJOs>Wdelv)>C!gB?gp!)G=LiF&0t%%~g=!L$j1UzaBBD$NA zT)F!D2NA22dByfeC#y%AEj2;Kp<-&lF#oFdVFc;m8aBoFEuD-1pnv;ZW=t89H@67O>sIn@&A_Yf~LQpi{nRm2?h|L%D2$1}&>PpE>h3sTIZk zO60dQi;{VaGt3=UMc~5<0&n?>V)t|n1ziCO*Ot*(v|dR z6-df%dm;xAUQIj#a%W+Zar8Hbu>ZYuRPWu_P=}Kq_!_@sM`!;BQZZ>zBmxFuqoh>O znjltnnunWtO>DDVr^4p-;X@(;*d3_KRAgQbbE6yu8HY`Ai9a)7NG)!@iwxV}EK&b! zX+9mn@aPp$y8dGMhg6ghH#)xGj<<{(cGReVIz;2ffSZqaxGAD$l15Va2P=}4flA`zL7}|zM7V%?7^GUA+K#V5 zDYhhXE4@GPTg^ekVQ9$*EyffyWJ$suw@^Iil%(gLF~P!FJYKnj{s1ZPSMY+u)9I+D zsoz);VC1UdlG7L%j3*{04k&a-bfc_N%MFy02{B6by4B^U7uPeM5_X8rA4wNgl?cv| z{Kc1YF?c+Nl~hB{(G=A%i)Y`}ur_tdi~ z;}p9|?SS!Qs6g}D%?M-<#zfCReJN>G3G;qR6ezen4nM^}Q4tDLSSBPEPgoB*xu(&Z z(_#({ZNKVk@x+yB^?R=vJ^gKv*^LK>sq!2R-V_gqZsi8`U|uNOcSkIjiN`k|Q(dl0 zV7ny3SL|(;IY6w$9DRrO&G{_7H{gvV2$hWKRqN!DT=0u zLa9Urib`0lR%s^JKVR8fYJ&%SX>)zxY8uke1M1T9-xfvLVW-Ab$65~awq90hznarF zq5k?hd;NI)W7M&|^kc;(8p&2;e4d{UO2>4R0$kdQpF}MPoWYcTMFHac!u6LUHV1nA zYiZQ$kBt9ZnM~q^^@bb*;4-hok#JTtzn5cEo-;%e3KN zj=P>|0B2_g<#YKd@N|VTcG*&JYZ`ZAT(lM5wfI{XH?Gop+p60?)ohA+$V%dyx<8V( zXw;5tpq0~7D?V{BKZ__I8(TG9lb*Xzc)6~ZCv4vU53FI_+!bzz(D~%mw0$zebHLas z(c^I(CZ0VYfyrd|)kg;P+dJDD2aN49(pDUfGlE2nZaZYiE!d7lo)1nAZhpL5;Ywld z!MGU@7D^g@oFeirMVMAMK0@AzA=6>dv2`jmrzHndg9}aXUd^dkR}qbR9`}>9miOlS zyWrDdgm^V>_Gab7MBbR*3pqfuSKy@~wKk|;&_REas6T48YVmX=d^A_Je0j5+MqUJe1d5q5)9;P;* zu4Nju8!qI4d`$so6#tLl+hmc`2ZQgAGfOgYEA`FK<*TXKt58=rCX1Cj=dClI&H!c{ z-Y=9og-i}8&T)O^oJunc!-aWTnTd>x>a8v#?43n(KQ-m%QSyXAc8D_*&Y;R--- z{}igv^!v{)1hrOCYC2c#iL5W1fZRVH^ZIjfP)rIVum=sglE-NNMmLS7gpyd%-P zs-j#j?lSu9*HjXu2ZcJ1=yr9H=f9&hIveeZ&HCudMg7X(wGWhg)8NPCj7KWviCkZ* z26)1#V{OKou$SYClE!`A7(ZTWZJ(MhUWw&a|MEH@lZ+O3;D?siSyNtZsiOE*yJ~Nz0l7p zP&}>qJ+iOO?K9Q-mHXN}9-(d7FU-E2A?kkHfvHjb#43CpsS|l(ke7bQI{U4rbceIK3HPP0S6Lv#cC3>X zb5&-pQpwiB{N%O^sv2#oxFIH{RQJQ8)|+dO^{8AyXfn;DG;$7T;FOAi6R}3;#?+JNr*NjVIPmh8-OsP}s z*I@^*UvOajw^;4;<8Aw7Oqem~b@7uf6E|8iM=#QOe~9T|)H1Lnqe2f+)r!Af&SqG@ zV+)`B{KiiM+ERcmL8JL%?s(*EFA{L$-6Qx;s;H*l^u6Ns)UfFf<2(jf>>LTI zsu=@K5e8x}g$v)CD(Zv6I@i(jr+MlJvKjMFr+X1SeJn5EqAKAwfb#XG75tz+w9|Y> zNW|2Zl_9!&I&#&qt1Ic&bFMh#SRtvnS*+>k`T&}$e#5_z>;hJW5m;+`6*Vn&rJ=sR zc470U2UaAh!gu{h@H|zNQtir`cSwwr2w3W{u_G>R*J+l# z@HRjS)i+4VhOY{Xaje$BiR6Ickvk7;_7mx10AXS?PmB`q z-rILxKg~#b?TLYA6AE#jVW1lA}3OnR^0Eacb|l1{Cmm1kqC${&Etvz&I?X$VoYUYX(8ovao)2 z;d#?&3@+!p zN()(jf7LE`Y?d9o7)VT@9nXtM8#btq>&-#0<~Zp4 z>a}w}bQCv1KVV?0Mw@8U98;yYq`b#TS*=#hFIZpV+uO?x+3|jPKX_mq6rzY>PS) z4corR)+E|5X@TWF2NQ1tEUc;)hi)om zx#e}Skp)OnITlW-=pCZNlT%nf6f3U^+7*7)va8l4wlEy$Sb!h)xoL@El>v+n3fj-C z$AkuQ0A5|{eRE$onf)asv)-ufXucIZg<|u@Z;K7_9ZYvZZ0YfX0RO^b8|$~?Gq$7<_uZxn!Jv~vB0kmIRpaZILL;RP6Qek) zMN^q$uI1v12_`2P`&&!76#2B-dh9;Kc5P8$AKAcIU6MpY?hqN-9~g%r(Dm<>!Jm-t zRfcG0pBl+7gBW#76t5T(imM2An_@pBlH>##1KL=oN2AxceHfBD=bT1cggkGe&+Oq0 ze>f3RTi|1S?@7Nm18ZL6B!dOijWdgi7!dI8WTQ!@=em-u@ZvF`S72H$GewG$V@S3t z>obAkx+!y*qKB20l`L-xS+%HGZD@7U@40tC;FL8b=5-SlfLCTpHsWvw03e#YP+_#3 zzjlZhbfnL#^m;TLz>3+vV zQ_20zMyw56f;-bXhnWtfCsXe8!q&3(&$N}1hHLJw#O}3PrEC1Mq@;vwCMcYqMxETJ zHHcN{+%ixy<8odfAs)s|nEo=Y<(A5*(vim)bTP#&(WE8ps_(3W1Y6zO)d>x|)x!Zv zi}HUP?I4)TZ`E_bfH-P~jxCmNwd0THr(y)9&AYSVWpV5NH^4_R5+%#xSAq`q&T_+g zM6p*SQIUwdJ^%7_@>*#^sp(z6=ohxms$hNlH^C(Z`&d>&)b%eLv3-q6($mO+=Jd2s zma=o9rBHpxJ^(jx@InD%F<-LmuN|K1kBDplJGt|Q1bx1#>5GmTE?#@nsMNJ!DStNF zK>e)8y;BaK!&c_fL@QoSQ3JzY%0b$0-_gu%>7J>_84mPv0o54$4ZRz{a}JUNTw0m{ zPeQ!dwP`G@`2YD!?rpDBf$8Cn#66pG+c@VpyemZ%eG0=&AXc9Y;5(^+TT@Gli%~_t zUX_|6CZ9ZUax5;?TuCbV6U#A+ca%aDAbDVDrC`}(r9)OL9R*%31V@?2Px>xMR=DKx zQ!j0PElm$&roo_U#a!u{_+~VdAp~v?u0YT(reRyQ;*czU!K@zE9Xu?fjBjY^lwlhM zUBP-Pb6mc8*mQ-;B>4g(GUCgSP%miLpy*fV*L1!GzzP~UTk|QBT6QMLN!tE430L;I zEL_rBZxxtEn+|+R^2KkQmquOUXkdlo5kEW`314b7C0&N)Z7xZV*0oKFKOGbBVCPS> z(rxmEIV0P4*-)$VY11ZqGF9q5;9J<4Ae%7W_ib@^!|;5v&PJ~FkTOD3ITs_^`1C&I zEZ9UFvjfF#{Sc~n4ONxPH$6T~k@h z%mUY5=o*9+C+2E@Ecl)rg2>`W@ZuCuAu)F#L4 z?vv!NgNHpOC=md(ejIrvLsZ3aHb<*H+1tRrlReSt8N&p6B>Ft+LC(w zyy&bjmHlecUWmeQF0;<2=nVj~L=GF#?v(VJJjB+kf$wlWcTak%*Lw+M4=R^Z~^X zn8jLXAFcr`eNb!uc1C@a3oeZgk|;v27k(s=%yZk`j>2X!=1tK*159#tClh8oX+HtX zybAIe1VC0Ha*UzT0hUt*@!NSmW5g91VMN81nGH?SRM~;xj<)8VTL&a(9Gt3a@T$Vp zyhp$^`Zll6C$j>Gdd`AMrxDtZkJrBwjd zdob=u!jY}7ed8UnWvbT2rqYIoEw;fzu;-gt3LZPXR~p4|^! zahRNTVx&G$h85&)6T&fi|A_Z1P$$rC8q5p~oxa8@9-r*Lx_A2~6gV7;RV_SQFpr)d)9nY~hYQ}zG0mA} zn)b)2_BU%fI)X}kE%c6L%zzTTV70pDaT=|Om=*y~ZJ99Ht?Qbaib?S8k7S2E(Om#W zjGto7vP2WjKrAd+zXTl%GyZw=S6Tb{YB;lb|+)SU1Bpg z1)m;5D{rm@HFkmV9n69!n@$!QpmIld)?ffXpueOG11lFR$*s%jp|1a2GIL<+&z-Xj z2WZ_zj^Dv7O_qD3pvyDN;wBU|7BTK)5}OpB$3MW{6r_!DhRDpz6}=)~m3~gF2c&p@ zk_!at*~=`F(%4x20T?IKB-(j^Qm~nXl(^$kjpapf$3Xz^eX8tl02d(J43bZTqn6`;CXdUY7Xk{vk10 zOLM~=ZmzBUZNl~hgl)LfTj63dwLP*k$~Q(fhM`^Vz}M=O=X#gn=$1=bt~>n zAR55m^p5?xmCH=xtrL%gyL3O>EuIg^Qa?rsFarqy2?=z34yt`y8tlMO&b z3200yj7TEKhlEnq%ft`3=x%DYC!Iw|%%kwvYjTfKheRC7-BI6gp(J?De-+KMw)YUDRYOdq_6K?Ykx zG>C*WshETW#Z039R&Xbo8*IEkTsWytr8t7AKaucTE_|~`j0+&5C=`0D$|OA!jSea5pLF)}QHKSTR`Ph;LPG1+5~$APyrV*=bsvkQUcR#NG# zo?nouAE4E`Uf>X?Mg2pz6v$+hIF57YI;p!z`BEkZmbm^$$nO>KY$T43I*6*5=rGHO z6zd2Hhfp(U2xLY*bh7cN9 z!gXfok=%;Vo{BR~RU;fxVQ(}Hdb+0(GR`nVmd^ZX(2OAm;#({zl|rqM@g#}T*B9zs z++@M2q{f!N&pnuC;0VBOr_yZWisw?U_XZngIzdA$qo=>i=K*7z=6eRw8xoHV$px^M z#!&LJ+yk$NCOA!&xw|Di{;!k_e)H_YifSQv$tb10x$FQENs{opJ-3AgO{5|cWM(q2 z5cQAR+ILwRd3IsJsojJ;>Dar%)~2Gs;9yfm;Owi$JyQ^v+p-?7Yc&@RngcS!g#UoU zQ`@G>!cgYLloWMwkw0ZP1+GGj<%Q6@Y}NcUR2pVVIi9;`$FCo`gmh#iWLdt|^2KYf zYXr92yh=sQ-ac5(WKJj@VrpgyErTN_Jp_zZ;=FWIFqvn2<_y!{@Bi`@W8FUm;rjn> zv7B27Q(YO_x$}iH{SOclVJ)+!ahAm^P!az`e^eEHCn z+k9oKj1I*c5vIn0&JH#wB|Ks5Lp)WCRhTgW$O?~D2n?iD%2+DZ>grX=NvfZmii@#0 z%AIpyWGEjd-*OsFTFcul=6I6ef+9!)Molp?h%c0MqV!9`kAX1^IZ3`ItFreh;K?L5 zzrVXVukY1iiRIfisa_9^*A6wThd*o*fJ2;WqLQMaXMEC2opoC&q8COnKLrG2)Sy_r zen5TtN zEm)F#F)Xm?t!^8PURb_z92s)KnUcj` z(hD_T+_U&ViY=Gk@R4}yOs=0@P_Y=mzyvrcOUh&vg%tS1)$*9JP=&a`a*L%l#SZ9A zYI$;UL|%kYNY3o*I%i4)%9II6?U1tQ0Y^3guF_$NZ7o03yAXJ&SL!y`jC@ymU#=x|+G-EaRj|SG$%l!k$&KKBC0T4=Pm(OHQ}IY+dEg zNMIw7(~m$i$#z!=@#~J_mJgU=hG> znhGg?6ki+pkW3b9aAI znp>arV|-+w_MdGkm-yL*rnKd}axKK&|GmCUQm)cE2^9-q5}k>!-pc9wT0~FRFZmS1 z^-=tt7cf9ZQCVILk8&br4BGCT`%9MXePdv8niDSeUG1M6d=I|7Tbg^jZx8O|Bc&m~ zSG7pO3uAXiKpbsJIKc0f%YTU?qo`>)S^1>*{c5j*Spcrc$U?YAfk?qk3NL%Fe&IGyw{oRGdrS>Sejuc7dzH;AdLaQ zNTb*Z7nhVs2mJEo(6_Oej;j=bVVs8V7V$Hs%kS@Zm&eI(zYr&KunM4iPnj=n-%dLv zvxtQJ&4aBPJ#|WGIQ)hU_ELSLJ{&x!l6HNl+i-unxwaVsz_s|CqAC|Rl&y_sb z)f^i+tx3q|G~bzQK|=;|K&3&;@Z7fKuKUfyN3Q8!`?+&)*uSq^|R_?5f?9iXu$pvX_Y%JQ{E83JDSXjjy z15Z?*|9zHTRhj+Co(=ff+dK`L^!KfW0oi}-h5~p2Fe=nsI^>ixS0_A1$45&J0#Aa) zf|c*?gG9kOYdl*aS$y|J@}tjW`mmb&c!l}}B+TL`EU^`ajkGOBe)TtY7ryA|DCX-5 z*FnoB!~6FAq21_I!9AO+JZ$&|-5GsJLASJT$Olu2aZL2Ei*CA%x8UAsP0fZSo!?Z%?l5=k-IHbb- zm)VLWD8Jy~PW&?T`hJ)z(9n^G(a{NhZX34cdgrZw^m>w>-abxtw-{87Q&=d#bzH^Xb(~Bd#oYNP z)?)T*#3^21lBAktdHlXCr1mTC=SItOv*I@90R^Av74>{JvW;C!-Dk{oF)!Cb)HPq4 z2q6Wl;>03m3APauG)UFj3zD4OG(*OiFGjz_%-t~kWkT7b?iWMW_L8fSV6ug6GF`x7 ze$lGA>O!A;-S_{gHaMl@ldPXF^7p4&QxV@>x_>PJZ^eN>)_!W?zs1_{q;_peo}dt8 z%A~&e%9^zZi!hV&lWrLswDL!3_%ZwKC~Hk^{(a?);<Na5~Dn51M(`Tq!Z>USwo~}RD*%8b-6xC4_xf#DE&KUcT)=Ej0KrJIx*S@tY zhOssbTX&;@{sgjmo-W59pMPlgr6<91iTCYWh} zNV&{>Ll`;h*r)x<@T_(nyGBDJ-Q?Whll{^kQ{=JO}_Tp0g+eSMjW69HnTj@yHL!F$D28F6(dOVjh-f!cFxd zw)x!q^bjhX%Ukz8l&wxd0p=-x;sfEU#;JW_bn<4 z02dK_$W?P)*!vAMPEgn-T^Iew6Sl+u<^s51j?eNDhKQP~m}4rVcv)VYMXaXshkPa- z9PZwVqN?{3a9hE#xao2Q3!Ta`Gv%f?ALtyTE|K41>q6XNY?~Nf@0UUY3>Si`ix!gq zY{|!T(g|OwzW^!Ow>Ius1@Vw&i!aun=>a+l%5!|xNHtFCmNl zKdoB35;Z6OLsJ$5E++Pg$Q;dhN)^3r^huQ_afR{JDpd$3$+t!Gq^OZnq)IkkZu~#O z-aH`cdi(!p2GJ0cqQty%fojAnikjqtp-`4M;(~^#5Mhd_(4=9wfq-clX#zu_s3@+X zhzkOm%Ho!y18#^3$)X?$A&AN@{2piQ-p}Xr`)>c-rG}aJ@;c`{&+{zLmPy?y^0aMd zFYc^)k$XEn4DSz1#n$JQJ0J-#jMEJD({G89paQ6m*U(sYJUNf)n|rgXhj$g^oxA9& z*YuKg(XIV7@mDniCVcz;lXq?EVqV`(G?G06bm@!|^ ztV0GrE8MEgb2IZJYK4EQa`=pXv@8LSV zH|sZT-+vjPwap1*3eju2C5?YEM=_kh{2QqWMtDZHm&14`%%=gZKF`60y%(fJ#;yT= zr^03PZq}r$VbRUgCsJ3x*?XahCOVNz)|I*+YGBZ+ACU6KMnxrFQN>EK5UA9&nOT= zjbv?&i@B&4GtQ84h#z7Fq1JcXiNP#D3|Sgj?02^-QSeBO-Z~7av7D&=khFN9aoGMs zY>aAE%l-hu%y3+wQtz0~JgP-tklP+zh2r@cx%kjKvPtC021ez#vFj^N`u%|*_$Heh zw6arY(6UazAd^H{aCYU8u$CI1PBc|!Y4aWAEVfMTd^WXedzO0c-N&2(M)U~A>Mx}k zLVPpjO|9S={`SmaR%m*d4U8~P4nV%r{#KATTV%DfyxV`G%nV@kD4m7js!)k<_WKJ< zmc4+X{SPEwtR}(HC{n~1lXF6`2DNk9aWAC{8Yb!#y5{BR7PYtM}OkA&~?LWw)>u$%%|v+yGZ%we}Z%boe`NZ zN+MNT?7Z1rOl={jhjtj7T-NQ=^zcX1FAQNFXfNK(!1K z>O=hKDz44u#^@^j>J|g>+Z-_t+jOE+$(h#u6fER%{_4XqAV%MuP`&w0-@e0Tv+`-S zD!r4tY_od_xv1(`nw$XjAUoN!to`!1HvBJz{1YG-GGO_SQd44$$T2xIm8R)NY@}yh znip#&DejK0`n};_#>B4jzQOCLPSS^|UD^{hZ$v<1G3l32RMl_gj!VgQom7 z5TZU1A**D!NhueBQ&I?$R+XoI`yM7jw=yS^u5}D^5M|-C+g@fV=+qUfJW?9;T zJkPL1IIdEhYaw#qx6R+m&TsG!&Trvr07@)^m~0kj?mB(5#~nD>Q_mW=Uz16Su8-TY zgl9t3QK>g-*RE;e9wHV`dDm-tZyx3si_(qGFI|FiIs#$}loG_P7s7KQz zn6ge>-#=Ja!~P~V0Ro#_+uPIbjpVj5MS&$!w~`)#rBh&R_)uQ;{l(x!x!l}kdTZ85 z@pokDE3NxaV5jTY@~nBb{O{V^N=q5T@8rG@3;vPs}(_gOBi!HFM zeQRQNh)b%zfBNQ+okl5x<2*{!{47Zad+YDtx%M-*eN6 zw@M&a9&cmUBdRpDSZU3vS>n*N2oJxj?v2n)+I*NAz<{v0YSppUW!}A$vm5?&MGk!* zjV7N=_xiB-6}e<~n)bfV0Ed(r(b{JH)s{ZaoehgSi|Ff7YmOI*TSW#C9$scYO2D}o zF8M_y|7L!DZof78Z?XM_Mbi>a7?s9^zw|zW zg8c9v$ytmJT8ajj(NQvxJTB>8nqO002>@Qi^ zkIu2y_7>1R{t)*lW(u&xWb9*P0a4+y-pQ_JrI#zWL4XNhm{+qhfB2o%PLwdr=<$gt zl{|=%o0PqSWtEdrTKHf)*wycBcVSW#XC!Bq%99>wdw7NRH~y1|6^%r?elRMdUyy=a z=jj4{>y^ob-2i3}oSSq@q0XQOfN@=XF;+XCn=k0hM7yNjNKk>Xp|xqVpGt zmBbYkHVQW7T2gr%Oh3B%4`kT}KUQUdr8~3hnN&jBvSfcf16kYWZDXSKYVX{EvX6B2 zJT>&%hJLw?4(k_RuqtY>kxx!BOF_lwn&2D#UZn6)g|9+8i;SROR`fSyCa15C=wkb; zt9G?Qvs6l4<0r1t8hq{?hlfdbdoo#`{KBg@m96{dpMF-MR<1~&4>+cjhsxbc^ZfkI z(-0eyb)3|y{9|@^|B)Ex7I>3&cX#u(zHQs3a*GfB?9N3rM@2Y_ZIMc8nvevJHpf!c zF_mI9eSj~FT<;_=ipkIpGVT{$@y>yi#M;+=RLAs(3N|Cido~Fdj0`hqY&r1hsPz$c z>Hx||;Lu0g4SiXBs=@&64rH@DU1s1CFHTf`hi~WMd6XKw{iwQkcXY#wCSGozY}Wm) z>v-!$(BfbQQ5|5Tnh?fdRw)_345`TyMxD)Awz=+QK#fC<{$BzVlT;_thp5$_|H_yq zoeJrb8&+keGR9S8V`?2i_D%9jE@PLtm|XS{XY$(xzYWYqrARfz+T^H&RKG=v*=F`# z*^s3p_V6%47>X(jcQ1YJP&&bU3Vq&nZBwW$y~++d-kwCAJ3&ZS;&tp0Sew9L^(@+2 zD3RMGy4zltq+e!d=jZ8`Uefa5Xsp%o%ESM*O!kyDEU0Lh4DiHVoXK~1P?NP& zSn4V7Jdz~Uh!Wa8`iTHH`H-gz^2ph*>5itciWWF4ohKf)A7R3h`BqxRKyOJpj_}x* z_h#mi@lJZX8ORXdp7xMc;Z+RymL@O2frNe_pRfvN zRChyJwZ^C(uU7jF=W2j@^Gwv;7JKG6TpE$=dQ+#mflPP=O}s^^&l-71qGlNOqQ+;< zIST7oJJl)_CiVHIr$AK%ZP@)yDz23O%xPrpA#%n$7974xOpsF|I5-28Tst^tAaX8u zdL-K=B3;H_O3?sroDk0QtW^{}q^rg5)$PwzPv)`$Oc4G)CCm8Q4K=e@x!&COZ$rKP zvY|vE66^M$(gGg0Etn2gR8O4nPVPT)or~91{9JYFaD47f>aQedxPJbn^3*I`_T-xv zUlITa+~U8yu|I@}Z+KN?>>adch*}`;z=eIu()_PF4YmK@n&trM6t-{Y}101(}IuCfbEXy_J>JexiQ;?uHHHadm{BMhfOM>`w?R9k~R@qVhg8 z7^1Xs`<@^xbJjL;ZzXS>$)Ouy54-NMEkg;S!icPhr7IWu(vIS!j0s$37((k`iV3 za(Xo__SysNG9bMuN)DsIFxWzhxj^av7ES7egO-ntApL9i-E(^+ab;we5oHo07M6=_3{O343>+es{%(i zQhO@x)R*ioccNL~!2^0SJ>-SJGO#~Z_sn5c076!pmaR9pxo zD2xBiRCQe;TeZn`D=bL%v2=mKUo1MthQ_EavSv?OfJRp>d}0I9X>gnZ=otI^raag~ zFVof{!`L2av0s{AAF)0od`zQb)$uXXaq|F;*KQ+V>zsBAU|e@cnCn<8*nKgSK%4*Y0vC~&YH8~S&4B&Fc%P^ z^X8JG^OAr|i4ykDP-@P8zmZz1DR6si9+RjdBt9oOlBOIzn|wdTE~<;a3HvKk^Rxv< zbT-X{lGeCZ_sxFeD`7g&h2N|CT)iRy%Sx9E($|Ns`kO2~#$Yc*<&G*f3mQxlu41u; z4wp6nw%VSwy2{SQqAYP?0{6LLA=HTyHoqROK@*F5HK#1x93rW7KzrQ}`qY7t`$to) z1XCQTRL*n3?)PsuuG}F@x}~H3odb4webw~WJJ;?VERDvrL@*`?SfHh0(G-Q<--#BH z!OcC>$-_8BPL` zrO;O>5mqxB%guNmN4MbML=?OFURItdQhE={1Oq|7?L;_6P75=uQ2HJ4A-{hGRFnSx zd45q)M=vXo?_hTlbVWV~D<4DBufJkdSTt~6Hp;BqcX3tz-#tU%D4+*NmWW4xt0v|L zr!N@9-xuWVA3P;XZ>Wuqu@z1mE1pg1Sw`GF?;o(O-vLEIoX^51rw5maEqt@+?%**i z0mxW6(!j7|ozL!McRZ(Y^V-wT?rg8JKTsPV{mqn^-_7Ixh&70Y-y!nD?_9-R^>hD) zCc^SVmYIVO#QT#ApdsM9?KX+~Aa%~CgS^82+?*Dna<$bKbuY5q1wrNI{3py%dj{7 z6qT{;_jXtS8}01X@!sES8QbFnn|~UBacasl)DHuDyP7TOa9Xq^{L8zsz3wh+Evout znbE=5-8(<%@~_gnW5X5>Sp4?u5qP_Df)gFoP1lNO=lwQyuPS#xGQT3CQmWz z9d*$~$fAL2(ZRlbC_dMJ@wur@pO*PCBMg*-;rBXR7trFF>A zO)HlFq5mft{5t|)L-Nm^2}?v7*oAeqVV!NI3lt*Ic#8VYXnW*^_ml)@XJsM5jY@fh z2ykoc8#buWFNT)3Kuj5P<}wU2GtePKQdE@j5E3-L5WIM-dq?~r)G+7x86ZFS2SS~T zl2L<1M9SH#Uk@vFv(>`IrL&!jgNM{3Sd>TNFt??(bz;Md7ca8vj(4D}aBY%E7f)+( zV`F4$K}PkY&vI2?zpkBRgC1f(y)stCYMtq`CU`tu=YfnSM!iewBSNjC{&5|h#L_^=@cA7p%j#{OO`Q`vijh%}JbzG6&BLmIx zb{LS!=MY;Won_VQ*OhzZ*6>A%G5``$5m5npzleofh|IZ{mXlkKm^UtOVnsgU{ZH< zlxuxMmusVEqV3&hruKBcgW7%0L*uU%hgHYJn^yBY-95$@9Sj!*+(*Ga9?Z#pCL7M4 zJUCGr+V}WJJDVWwu4)(A-ofSdpH^i5yz`yQ>*vPb z-ltS&Wn~ovFGiKzG9R+xN+3Fu8o{nn}?9U84$-@2@FAwj71|mQT#$u3X}tP%B4oLs8^k z)x`}t;*4ugPfB0w5S^7lx*fmoHQWT35=?e2_?oBKa&V<#J_M|LwtxWymmO z^=cWwKaMk?n#{~@z2Rjg+3Bsu5)0=27<4(%wymEzTXfyE8R(jxY_b8PJetnpTct>?B(E!HmFhrE=F@T) zGbe3*%t92<9*?eBT{_4EPVD6k<@&c}9cc~uX&|O;JJ71GEx$+DZr0cP;rrW~>f&>! zpZ5FS=M4IoqH~V(>g7hGz!NN@Y9(*3_{fnVIp|>DpGSXgU7OO!#|L@Qa4Wq%s@l)J zw8u5^({PHYt7#1mXCN1eNh;hsY;itZ1d_<`2>$3x#Y7@4Z+|%cYic@&m?TvmcXzIQ z*NS6{95v$dHQV=yG4dI@yn49iq0NEZ3WnI(@%(uZ9TR^G#B=#Jcq9K{yrlsqENk*p zTAw?@^YhE<-5K-eA1ev|TafCou3L^}KmA2zU$wp4NvBLs zL63Ex)lQYAEp3k1APjkrlX_k-Lf;wbZ#%-YayII!%Bt-}#l0_I;{7Xd^{OHh^kH-O z^LcA@8v_^bvlq`M%JCs-3Hvf;EJ#Q86eo}*CvvtrD?7U`(;oPa*y+RbMiniowRTYz zzR0x0yG%2z-hd-BD&S%FTB4}Fb7v+;$8Bd7a|*C9&K;Gd9W#g|>H>anCbH80TJ9PR z*~E+lxF71-Dg;{(56Ut6R^+M2@>G`_uiyDj=f3tgKOFm}PA7*3HM=CZ;)5Yc&gS%$ zb6pe9If;!}M_d_FfyO(s&O>u_>!ua&SYQwvTj>%v@QLZ{!PX|Iv)ad)rl(*-xMBmO zqO)lIHJK2Y|HXkpBH}7Sx!8qj+8bd??itIZ3#YzhCczG-i|ghE=jgUSo%I;uVHIt8 zlZu1uPz)!M5xV3w6Gj$b@?pDiQxym(&p6J}D|G0u4og)SU&#M=FMz#h=|+Ndi3+IG z+xyri+I-P(k+@O#=NZQdWq$`yn`te{s`ift%i?kl{wVhI=IY&dYwd|rKYbAWY&L2& zsKGn@B5w&G+ccZe+`A(|(xV@ueO2hN#u@c)h zM2cGTq5m??MKxEtm5I{Cx8+Ato0E%zvlsLeS9U$FQ#%wnXpdqH)7scd%|Ejme69x( z{1$5J6P3RAf{)L_E{^$it*j8XptucTzx{28Dj~xQIPZk^IFl_#C&LHDcE)o8@!+UIlQF7R60ttO2&b(< z0eT6*L)S2MRts%+cv?+eW_T+e9z38Tv=LIkE^eq(UvubuV$}Im@P;>gzT*C2zg zJ#vIJ>hs~oWv#8Ph{DT7Hmeo*QHLsG?D7AEL>mO?sUu?O5+G4F(@pBVB>%&fi&)bP zj7FE3dBQeo`)p0!z^E?D+&916W+bnKvo^)7*DHpE#(4F)A=;CuXon>6<7t_PXkY)I zc6iHdn0-#0N1X)?Y(;Uj(t!`+aRwYF6_)A2gcJh8#E|0lh?dqKqTd@8)^Y-Qaw+10RZvk@sL8qG z<1+>Y`K5l=^tr$;z5TU&pXC)`hDPq8Bfn@K(BN}r>gyGquje5bxQ4EXZ>aHS*aEWL zV(O!DFSY}XJ2whfHm&8m&pLGFR$aHm5A`p0(8ohxzsH&Ss6Kq{z^g{Sdid0^D+3ZE zX0OJq41MpI9@qCtWKi&fq6aN~9p5OBLYj<@`x-%c)}3X+K6)rMn}3Xqwf)kEzn*ZC zuSi)%CYeqE z@5?bECIfv6pp^3`nOh-lKii+^gD8BWW_)P$1tZ-?B0~m1Rsy>37eDWGAIni7R*${* z!{0Hfq=`_#;d15^NzP^nYn^QJds41UMf5Xm#yJC9tJ&?bNh1+RpFw1O&@EtC?jjT4 zU$sZ|`rO%9{4w1F-F*+hRi)1IH@|w(DQ2|&?9lpaXHctoUIJ1TdF#WoVJo`09e1~m zC>oJ_h@&K|!J^~_lUN^B{JxAJB>rp&6~ZYHtJps+a?^sj)N@mmF}~xk4gnLo&hMwU z#`Upa9o@zvbMBwUHO2AvH$2P}ZOYG^mQmHx(j&}SL9x27Z3p#I_P*uQi5CVA9EZdA z_abjkQiB&`03G*&Nxsop1yK+m&|+xIf`2PX2FQVBS=@E(KccIj@7Cix?4-VgRT)c&;z`^%953-_u+OM+8+&IZO$u3p5|R4Y?a zbZJ9^XSmcs4@v~8)+OPIT*p-X5qz7gJbB9R7%oqT5Ikb+v%^ig=+DRC|JbDIw*Sr4HeF}wt1b@-63+x~{|NB$JyOSR# zDqFghwjGp+xUCCO^q@N5v8nMF`O_H-_SbCZ^ux-r(1t399;KIVehPz}h zv}T*Y*!c)PX>Jcn=Znc5cegvu4lgoiCa2cnZTUvDU}%m^Z5BjupIn(#Nl`F}ber~U zncT7I)6v`P2eK|abHjT}&k=Swx`*S-5k5MIE*41u}{kU@Hw3bh>Jl?~Mv8g~B zC@;T>An(`;^*1O>f9{2XA7#Y1edq#uOGI9oy_;RWoui-PpGpfn@3RKmZ zXiw{OZ7&#K_9~m5{i3n&zzw*TE)#YutDidh_Xck8E8$yB;T$o#;(NS-31q~OqT%J z<@rZsM@x=4oAuy!_pP?42O&ula}suf?E=IH8gEFYq~S_~KPUIwqwEmn;Y1rnI~n6S zubof3lr&{F?VyaI>F?0T`C@4hvDg69*ip5p25+wx2BPSpPiI{x)+VWem-U8yC2a@o z9jct)Oivl+)KB%J`K!K4Menkyv%{Sf9$mCY8x%m$I-4F&pLBc}MZ)MZYzsNm(oGNs zueR4N4hv}Gf8g5kCUN+Ut(r>kzwz?*7QNgQutDwTkjMUCQpm55r9RF)Jctv>;p8VY zGo&T{$sY0uN<@msnL}F)5bklC%}JGm@JI<-*xLL?qTWuOJI*#`@h-x*LhqiOwO~hZ z+b#LSgS3q0s{`wd3T8KbZk?OigzmFd$8DQJkQpo~}lzb6%4jQQ}p{Yl5e|0;njvqBp+S z+a9#XYL16vdLYh!o8HWy0ncBwoOKx%v$PI=N#5du@3RA`;{NS7?axm?>%dV5;v5d) zePe=KjDP~ssu0|N`~7rM3Szd7{uxk2a9slFz4n^}^nmk6V1((#I8Wf`5DuUu>Eq}3 zdjhRP`b!Q8D(J7qvXZt?xYDc{)Qc#XvpqblY@B3|V4gMcD%-&mhB+yk?8K88O>B)B zEgaemfi#?653?Z1gbBM}GD;BS4Ow-%_7`W7v3z&y_BYh+TjCEj_H_&8$o5He z^499=Hcih?cM?^Ngm^(sT%ty6Z~EUOBlFAca}KBpYVpxOhRp$O@@?O)dK(OJ^3KkN zH^5B)dOq2)O7-=V=yhaRqwT{{Mm6*J@Ak;BLV+seo65D7_jz>xIx@uu%pN?<>A>6P z*DH5G02svXQ`$dpDP*g0n_qffc6)KQ9)|-#%sD7tc&j!4@-H6hG=EWn+aPkTf(+Xz zQ;!3eeS{QS?K8)(-8=Mt_8Zrg@z(bxA-x^XlRVN2?UzzZ7$7vpUXb+SXi1ZX1R3X} zm!tc?7~xAEXLYGc?$@j{s`5%VaMzj;$N`cJe?4fOX*N8fh}}+(rirOyBzmDR)uSux z|2M|CuJZna?MF&Fkb~AzV-Ucw?PGi#2!K)LTwQatDLjIj!I3 zICaO;&(xo_JMDI;N@6t>!J#Bs+;(MexESrx$C>sIR_zdCUL za5d%4(UH=xm#i@l+t+X{Npjq}%tN4RpU_?KeVABcM&A7+`HmC4IKE3aN$^XrwZN@P zQcOk}b#eXQ?2QXHJNLk#;X+ag#Tpj7&SznbQA7VhPP1avQ-mGaJ21jz!nspTV}<#F z$CDTxufA`!r0X3?x?r4aBEqy61DSGo_TbV=ZGHd2p^FH-RmpfV zo0P{5(g)@aij9qITHR6_Pq+N=T!*UFKDcH0j*m(DfPYPdC7}p~G;3L_wt=CCRuv~U z^o{#gBqu<@;Kf{->R)1q2bzA=`LEG-bkVW-4C|px!Yds-mI^GKtqNqNt&hGioM>>6 zlc#YVW^7z`>8Ydr(mLS2_tVqQI(iCY*X3lB@@?NW^(7e91dU8h_#0jIKIU$2&F{o?GGkS$NI%^G-2x zR^7)IsO&#II0G*)*?@IYZ-Ug%g&9vj?b*fci=vs2AxDYi)+S4W@_Hl^QlML5c*^gq4i`#f64lYd^G&b;0^L% zeUBA1emncMSC-UW)J=-pU;FV(lRGph&gqlr?CA@-t|*;}H=a1GeTErvK78wve159; ziXD{S^S^%bdSXNQ)VD~W5;X~Gzl!AuYms@f#CK}=+s@`rxpn8JU)ky4?Df_hzjH|% zp(^3k2_+tw!z%CDxM_bc(r>jgDJQdOr6myc4@v|bh2|5KXV7wldT^ef2iW8&|4&;R z8VUukw@znj5sHGUko1hzJG!~?l9x^)otm&as}8;EfmWd?-#MFiZtSkxXmZ)VW@4a+ zh7cgw<|N?d%JiX<8=L5qk29+esWdY}-?N8N26~7f2s5XG+KYSGn+2$EK?dPBFd)8PB;EBCV_tR)vwgb_w_MLr)NA3S8> zhSCAVlk@-&vrd)Cl4E{0K=`qJI+hRKv9zFRHCU2x8Go3E05y?myCk2~U`>3kvLNJ4 z-PO)1aaK?yQkUThhuKT@bNt_?B_kN*v%q_U!ExQ!{Ws(4v_5-rr?0|W?Kibc0B96gC)raYI)105GZaH44?{Il1x_tk(%0IVs zJG%AsXRpWl`YBgGy`_pbe#O5yJ+6C~VQW3;V_TsrcXJ5T_4v|xQB8kqmPxoQuRHB; z_QNn&DYg{o+s=msr5GixoTp%CqW~>rQQ_TfUD!Y)7P#Eb#nMtA^iC1Z-CPUX#K)No(LmU)E)7^sVqud@S!vbkw#J{v8M$w=fE@|2OLVdHzuz}e=>W;L zrv3e_&xas$=bU%r-EP+#JxgWhT9Tkt&*V#<8^+02Vcin2n5w$uw5Dh5yV+%K3c(DP z*fR1AhtmD_do0&xj^u8(^y%5F{*5hcD{K1dbkCr=lzdh;T&W9OVW1vW0KI)EUHez2 z1CHKlpSt-IvofeJI{bp!x}b2Uzq&Zx9N2-9MNIugUHy0L@KnpiG@HyZ_sQ!~HU#x` zlU@_f?NSD?A?z!5xIkKP=Q%y*diC0J-jHDLiur^}w-^J5=D80%T{D^VDD(s_K03zhV@x+4EToyS$pR88AVpLZ#wD;} zA#1`pn(3KLI+V`XY*e@PoT4qPAPD+ra2+4=O(73l|354>Y+8sR&nRjgA5^SM3Yj=8 zeDSL;!(RJ+`W$(tN`D%o;EGQ-)|78=pHQ%Jod=*}C-1c^8qRUb6ze#?GB+D+9ZWT^D3R` zs>Ph1l)a~}@NvY$X)T>g3SUvXC%V9dJ80|UM!A)SpHZ8Ycn);2extXgv)Oi4%9W{K z1Qw*|pB>AlsYQ=2+BT#pu-PCG7a3_8kiwq(Mg)+K1SzD-bGj+(@P=_lKabRyy^^F; zJi9z@vb^YS;#hb7#@-Y$JV<8w$)=J!&r?n>#yV`TdnD|U_0el6w&*8+M!B;IB-X{O zW0NEabNohyRJ`^^%wO^X;3(>y=TJ>93I1nwiB|&4Y-3C1IWI{f0h<-j?{0AaCkBDx z)8%;WsV$Kc>|Y!|zh$C#fI^t8)%{seU2b9uH~tJ_xP0b-&LPkgoolW{cbT;`^Yi7! z=^h~H?kfx&{EWU#RxVAe#O${8$(j`a3o(zc3$9Bik#M`i_o^HvTQ`=kOS@=>-sam=JdK6goimcy zuz#T83XXQx?Q#X!>RWP4Rjydug~;* zg2AajG?u6fJ)v27Cg*W0QS07a-#zU)7Qnzl-VJ><6ITrQEAa~vpE(vAEBRgXHok3a z3G<;}eAlAhlQP8G*u|`8ugklr*V(Ku^2j^??xhk&Peclx00CHSJ*ZM}(Ays=t z{buJa_xN@XRD2dn(P>WIi?6-a?M6|AB}Le`2Gl-Qx+>#uWF4p&;_UTv$o;&jZkk~M zcFqL83Qw!3j4QgL)sM1xzE^e;`Q&^{PsZ9kDcujHkHY71a)4Fclfo~R1mnMoMwp_7 z-lt3DFZ}zYe_c|kPE@iVxqFfY3Yrjd>f-hXJHwPqSES{w9XGj)yLG%TOZkUf)m2pK{=xb&ERx?#_iHSxH}xE4A?VO0V^-VKHm< z>QXsM>tdZV&O-0Z#Bn(I(Y!2umiPV{=sh#VuBA&_0?C~x<$#Q8 zi{Qnqpd$jIDPitb$6ykpiU%zm3}RWq1087`B}>z$IRLn>j;oC6^YY=jSdKmSFZpRL z9X5y33o=iP=Hs^6SIZT8$sJ3PuRtpc$Gpr3U#)2>0f)$(}=h-4)EhwWS0=1xm=qb=Ym0Po%+W2Lr6R)ws`4OhLjkB7g({e<|7Bk6vA z01Ub?W-R!AJ&|3E(Re)z{Kx9!IJczzuV`3lw^JIWIQ)Mbq-DVBkhaEJE~~p=&z~}~ znm^F2v2gYp-fjIQT?Mj``5R9)F__0og(@O1J6P1(RfPd??lmv^+n9BM@pT~ z8~-$l^80)CV@Kid^!+I_)>vr9JUrHvRoC}m!fb{u$((w2_;IIp(no<_ zDAtqm2p4)u_gCi9v^=MdmIac1J-fVi+;>WK^UuEFcWS<41NqjBnBA0trqMI3HLwhi zuAgB>PZSZ+CZ>na3TB{^$~+Cz@}AJn|Jj{N!wKJx*Dk@gLnV7|xR97p8GYWxti;SC zX|Z#O%6M@~?7LABCh(s!}`l-cQq_L&D#T(=1pZIqTU*(n*u2D ziOcF<<;i5Yy>>2o(lGy$ErsNshc})oe(0vRw;a!b5vQ8I+Gfb2WjaiiD=Ky=gBO?K z6J&IZmbXN)O8twEJrQz$gGw$^u{?m05KpVct5{+F~*#d$@}eI1Ffe_{Pd&CD%)>&YBvHkbN2s6ZC6RxJX^2$PNnOiZ^Z_aN9)%}D$+EwrUm!1nHq=fyW<%53*$e%}M)g#^Lb~b(dy>?MW@wBYoAP|}+DCJ`LSxx};A&ZxxQ5xzlmn#J9%WEQ2Dae!=6C$yN zgIHlKj%&23c+`??mWrkqFwM+;R~_K|1KyJlBuY+l_TM(+QqH|B(92mpeZ)iyh+kkkt=& zVwnL+kE0m?WK*<^*kz$Mh#VR<66x_zg(6+{#!DEwFC&j96En$tT`A><%oAI?Pz|s@ z-sEwlW_q!5te;;>zmINbHX+nWR=VJ~dE_dfk9G6vGDXOg&8W1jJt)muon5yLM`xs6Npdz3Iv+4`Ovj%j)WG>Mfq0~SN=rF0BiVHHviYn`q3eqf95j;{b1i86-{zh*>jz?0570<`g~r>9%2@w^g5@Y(_+4*|97+ zXmB02ZEDHeB%aaDss@j=zG!O_n4l-4sWJDuEM+jSu}?lRlWU!`*cy+SS$Ih>vyr{M z`hCw-fCsFKaEq$)-Xw{EtXMs0Z-{eat5`46;1>7v=dW)0Rhw3sS3bnh_cru_xtoJF zDd!SsM`2}uzIT9~6%RhvWfSHkd4pQ=ilo|mkK=J%ioY^rZhItr=J4kH4(A0Yi zTaC2_vx|K@4%FAwb^F78a)ij~0s+ZdOIHRI`s)M)5v4%@= z;*O_}=L~ep zIvPK_I@1S?Ykk@4%8?%MO9Wp3;8MsKB|2TeGLlP|o>mrgb_E(RG)1%uu5&Pmw6Ndv zIFo?Kd4yP0?@kH!lT1=xa2jath*jS$eR8-<5=KeP)LtE%;Bll90o$Q;CwI9_cd_0S zOXEM&hrzEaq~3nc>q_Sgv!1v_Rv+?`IW9FcehAjZ5RofVIO^>X$0~);Kic+9P6cR5 z0`js^Jk`4WD>OngZ{v9-AmfO7mz{lg{hJ}h!JSVo$u8*61JY-JA`#D;TQ`O{*p`JD zS{r6q8oX5Ujd@lC-HA8LqZ(g*4QYh+$9cb~e>3dn z_O^Y%_($6a7k>Eg)RgF65du9>k}$qN!fcUDO#s%dO8z3Zj0W^{b&-KRrR+n zyf$qO)XZ@I{{+Ldk3!EGWKF~Q32>NXW`!FYnf(-KqtwX3sfJzLYDj}=fF0>3aV?GW z^b(fdmnS8URZf6gQ%PxdST{%Dy@hS0uyq6g-lncc+1a{p3I_!>F_G*!)ObMlu-CG- zaEMolAN-D?^DXOnIU zCH&hKmJ@8sW4MY7h8$hcKD)P!0#_i*u3d8Z;f4$c$u!8Nz{DJXHUsTKJgLv^DjXA&5nSig(X1zqiViL{fZ_=`)-TnRQI@>Iv6eb4vc7He=ZrujRl4!^9`ZE>;=6_E2kOmPVG>(0MI^K?P0 zaTn*$97x%+^ZlEB6usP5LJpOk9XDB7K}clN-aeWO$0fYSNX9K8|l8}PQai`#+4 zIqxhE|8bel*DnOeIj(Zc)R{kA8AmH3S;6nY*YvFtM3(PM=TE4IFV#T&8nS`SDQC1 zH8ZFLls#XSr}IosdH53qS49@bHB#kimzaOH{9R+0IhXqiVWp5%;siJ)P@Llto&?3URCX$HSv9zT8bGd5cDtwyB?O$BN4k? z9(@7wkTM%ESa?|VsCMsjI@Q}BF8G9k3N;@?!fC+jVsP1m&M$iOJX$#+^FBDeh|4@^0lSFq@;EmH!Y;Js<*L>rW4oLs7tp2M1R^EbKxggi5k0IYqkfanHY`^m1BNoF_w~)IW z13b%M7IqI{!ZvCzwXaqKQhOFRm4$UQg?%k!2R`WuyVm>c-&b4W<;Qy-s)^~b4Mi%y z@vLUpmeN2cCSZiSBV(C(^U8U>a14k)e$jGfND`F+DYTm#1uib)8LBj6nn!x-{^K3RHS`o_|_er!K1DP@rnivE+7TBulljU=}8$P z?oAf--)dF^(K7(6W3+H8Uq368D0OpL&pCDX@YxJbu08LJr znk0q0Y)Usj3c`@K!Ftjn>;{a(>Kr3&?NLA(ZXiA7O16Eaz7VHcRC9wk9#lWo*%U%) z#j`RfwgUJ`4Ck49ygVR1`~BX^ocXo|vnUI*+b zoD!|rCeTg}aVVWC;ezjnOlHr!s~34g($6>JzIK+@6(Le~=j%!q`;u%{dnS`~6E(kH z(@s`nAYAV@l16wcfL^!A5yu(7X?YOoq=&g65||)Ilp@Atg>`m>X2&E=-pq?5={PY1 zAz;Vw(Chws`)v1J z)9gVV@5E;JaI2%yD9KsyU=oJ(lx@n1kjC|W(@lG(Q*40hLV~^P)6K)c@{co}%g$N|9!DOHoEY*Mf zmuQzD;Y)J`aGr@73^S!Ws14KG@57hSt~k2!Mqy-UdtK*rMeH7Qk&N6Ym}XCMEml3) z+Nal~t-gIiDRelM|1fQ(^tob4O{;^SZEy^M^+klVxpxt((#+X-vAKI%<(59vTfbX> zrS!m?tEigMKSGH@)oZ*fcJztSptNwS*ZSU%?()`lj^DfqN${37(?h) zxwyq(73&scF}2s6o+6%SX@86MG@=1}h29evQw!&R8gJw5#WRx)&B+8K$`+u9Ge}L8 zW;YqoMI}=_n=-<(YuEFA=%BbLe$Dg z3X?2W3zb5&Ua{H>Kg=gB{73kcG7|c>tp)97PEIXWdR~eQy=(bGo1S$*G)!2!%?A4U zPcI^1^hfa18`IXrnQQ3PWXaDh8FjGy;DiKm!amUGnSpy$;N^LK6Pq%N8}_Lw`cqB7 zJ|Q!tkH>S^0|FRACegliDb$BqMQvAhmV85NKtd3fO`R!z*B}iMrLK)wq-lxpOyVn@ zHCItKCXckxtknPCnzeiQyBp(b%Wuqskftui#ZSamUK(c#&(Z$892_QRUCc&@qjEwS zNAF33y&q@Zp_)o18%{=a)AWaQve!|A z5-pvcW2wzZ4{f?R7oQj?yL=dxgh7S?xcN9!5y>NawoCc0XJX~J?-Y$CcEhavYc?KP z{4_MXsRUg%X>pg*IN1c}C~o}~_WZk8RqLFaLa%M?c}WNKy?4E#zqfy84BklFTvpzV zB#~pcxHK!hvcD~D#-_Lfsnmn>>6k=$TIxbM7XA%Wh8?HZ;-CNA^kjP5cX4k?7#)$& zC+NrSY5QuGz1Xr-_#hDwx7RC8WZEfr8$SU>0@j~HP=StC%zyKDt zbk;U}BBna}QppF1qdalyY|Cac@lQqC3`MV-=ZD<7Y5vw`mz$YSpVVqgp$k?lNt?fm zKuSF)9X%Ov2emy=A0SXSDYbY>GgBfwUU-N*Ka2Ovu^7`lW1(kHD}vW|XeulWn6_qs zM&V>V;=;SeqYkTr8CNp6vnqY^bfs<=t)LBc-780G6hWJs+Gu7cNh}&cdP^q8aC^7w z5bDhatCDES!CtG$@`~7QzFFIC{9{N{(jPGcy6(`5^y8^SMJ}<&zxIeq> zT)!08$tSx1wfb7~n(_tz?5Im}CazKZ=dH!f^Bc9wpu@M0T!Wo-gt&*8wOAA1yR}OSz4I<(VZVvE4zb{`i zHar94SiEg-x5UHGzqL7Sm-tD6-au!W1t{OXIsO9WUBI#$;=a*TOnt=27D`axD5;NMwzJXt?+K zQ^CGVu};y>YhzV_*FU|d;P~o^rk}y~P`3~7=J^QDvnbAIB{q%>9NyZoh(Q|xJ$o+c zp4I<(tf{d--W0MA2`gbjfq~&g-K3Sa^G!Yk2Z;+;Q$L>zR|*frnvJ@qzEZSDuMhUR zP9HhDO}I&gWoXFBVwximM+Lr*xHOuiI12ELaqE9mXy(G{O9eS6QuXua>cdq}kI~T( zer4*aCC&S8#)aL8-Sgpslzr!%hiVj&bh_c~Eyfh+XP#sBivM1F9_g7J!wDs$ZPzoY zc=IDo^0}n)1k9a*WP%D~I18ncO;yNbMK*imIW0jc2zhJcXLBVK3Ltn8r43mE0g!C} zAo@&kwSb&|MvW`fJu^|y9_8si_NJ+G0`@ticvL8gHo&cC^;2~v!id5;KyA#>8|K5` z`GT0ecG>YS?b7%<6s?N;gWA4QI>4u3ENGHXzqlpPR$(heUygT_WoUeyCDC&Dqmo5! zp6&U2>|7$>l43g-E2?Efk9!scQr)3`W*_s{2-~6SnKPosE`2r0cYqzrZb@-jgw=j%$>1s-N)o=nyBKcgZPNK8ZFf@(1Ww<4nVXjh}) z+^f6faEPOKx4zp`YDr{X!Sw?Ze%9CEwc_lP!mTRz;Ls`8Ap5yRN(4y0@f}R3KPmfj zoTi32`rd}ILKGNs3%)XW(TkE^_1a6GN5HiWUl^oM?i(4JtJ|>0jtg*7GmmZC*Y3w||RyPMhm3mY3H}&?< zcCNf`RKWf?f~@C;Jx;I7CN6qco7!HGfzy3R>luAeA14sHJYS|DmpG-XbTlIPNf3)p{Nd?MMUXCkBsC$$L%F35Xt z8l*t`{^?m{G}A|CWDC?+r!ECVJ(Vz7oMb8;=^Cm2|wRYvE^_81GhnuSHk) z4)0y<2QN{e4&*}gQ4)$y*icNBBA<)a5^Ld}%FB;DZY#k@S0KG%v6PEFF#~#4MEh0= z;-sJg!)&qKaqO?tHxS@vf@asBZcOzy# zIBTz++la)BMGtQ5uhp4|u#TI9<0yIz8+xBrg%3*i>EbtO#L>d)W5gmuf78f{9m8RB z7}rU{w%8%~i=8PG;=!eDe;aAGKE1r1Vd>cZR$~_Dg2n^Wo*Z96&ju@37+6jw&l5Mo zRq{=d@3pf*@t=_(Pv?X_9h>ZoTCPv?)c&;TTR^}@DFu*Kj2TsA%j#Pm>*vaZeRomlk*NYlg z#s9@@E&Wfi-Q^W~yGZIM?iePEguvN~_(}MZOoinGq_k4$Ec9FylSGItUr6iKu0<=8 z0LuGxJ)+8n-ZJIzFyRZ&&+!ufUs*m?Xh1BHbYv6h*omIRs=>pJf3NTF-908!NHbb9 zoK3&r`H-jz`mzeYa*T`>T|Bs&GREk)^g+Mz;h#Q_Gs@^R&O1xmyziW9rAQ@ojj5mZ zxQXU#1!3sH=H+$MsVIh%3$?unrOcrmX2*3XaOt=tEL&)7fbP@f7C&3k)&rdosGDR; zX2heXaO!N-9lqGeU3#X;zk8Q;KF#i+rP~>VtRRbAW*6K%-xJSviHc9kOO|McBHh&7 z*2U_`od5xUf|QW?4!s`@KsY@7I^djI*R*27+UIv}!(Z-EI=F|P==!I=G9tO^|H*Vw zH!dDNQ+u;dajV3b&ckk@x94H1^esTpUhMk( z&R>}eej9Mz@U0^pVAySG@gYl)=<5~h5-AIeY1))tO+!jKgeK9=CfR*(W35m=-6aj5 zwk9F?w{(^p!#QY@Gb;O!{@|W8mvJaSe2L0EKU;?D{fPRSD^j0E zm)DJQh5+q${ap@(Y!;(_LvyBAtWPhx=@pJ7T#uYO?u2m+S|$wCZM2`f?53~xt-rI+ z?rDD|WL&LZ&MuKPc^(d}WDsI(%oGNB8(T5eYg1@rt0^gJLjaKZlIPyNQ% zj;kDb_&e33vr?qc>GtniYw_(XX$d#Y>kU7e%Ts!%dg4vt_A&wvXI!5h1Hyn!PijB? zQOjfj{ry&Em+Gm-BRGF)#Ub9}L{~APK~cG&11QNXV0rY%qL7S~7xw~KUXw}53NJ{E zp^WmqbUq8Apk48-UPuoUS_U|L;YAx=PEk{h-<$GjFDyAvW)2}Rr1_O+<>J-RO-TJf z<}y%UHozQ(>3i9sBaY+wi%^u2t(k_A86&Ik(P&2MnYR&ld)nW^*M;6T@Bc`T39#cH z*Wq_}J<8T?6eTY4>5stR*5r*0GKhUjV>ytgtu;gJ6W7@@@`;`%9!{}Pv};N76P?$D z9wm<5`fbnT;`FSq$qY~9sot1lH`dcKqg`$8GB8oa@XqsD0r#3}Z=9c3^?3l@G%jYn z{w!bH`JoqZ=>0RL(jU~()Y(xgvq}tS&?K&Jq*$FNe&>c)_PXNC1u0C;zk7qmADEp6Y&aPPaU~|i@lG6i5Z}Plu z!-NI)Iin>{YOjYW=D6-VxynW*JYum6 z1kf}Xaw%|+^jOSOtSB$;Ist#aTroeOYmL1o{Tb5pH||WLWi`@F$JyR} zza%fvBl9=7F;B9OfE~?b_Fqi5!wy#g{-T%bBUKaO4JZ}1PcQ6g!{mS(-Y^?-AHjf@ zZ0#bp4i87?VMWx}@cNzrl{qV`|NObvo)c2Bx~7J)&9I70aGITx_T<1Un<+QDTj9Id z7ec#vF_M)%@|&)>5eA%^gs=kaz{h8RQ4mN%W|%$p5QerIeHanEleR9_;GIYtsT z4huJ6v++@dxcpwA;Lp>m-Dh^KgkK}J5d#%pE_mAR1)r<=aNVU{o{&!KSnQ2f(FvKn z0G$KXAvhccRs|yEF~ZnW`q=r)`81My3>*??gOXOXL*a3yE(TJ~>6?$__!??}R3eUTnr z)4DxrIf{JxeGrZdc|#w5WQ(25(a4bp)i0Bl3*g$P93dv;GC~P?bX09L0_DHoZOV13ns!U{u=y}T5rOV@zHar zMCxXcg%XS%X?4Eb>NpGw1FK*Z#ln!53=_~AbExB5jY_gxV%(~-M*FF{lRuHGB0Mw_ z-5fukSj+t|Z+^Sk85kMT5zguG^$A$Z9-TKSG|pp!HoaBGNRwk9%6_U}DcB@CQ?mvJ zW7wZOzkk$sxWM(V?#~;CV>3AdrkHYg8{=%~sdXU!AF0^=5iDPtf~)ITo+5h3OVWSw z_xgqH^_8$`#ovG({k1Qm%AHr6aK_z#UTSS~%&a*QerehKE|nT*a58NHZ&PL6Qb$M; z;X@JMG?=v06xEKj(^BYhn6H;)!j}2>JZ0S@w>>b(y8FeFt1T=(1P(iAU3oSU190F6 zEA8@v7fl|Vp0Xk;KgvTahmU%73_C1r}J?gg>#s7HcLvh5` zdlJ_KT={L{4LXrvinsO~AxwsI`{* zz>Qk##$88j2`id1tKez>`J0~z7HH2V4uoB%u{7bqCFiR`u%7?rUSt+(|A~-D^|6VT z!TNc%t}+lsZeTWU5geg|mz-C@)I1c!Q_u~;79Pu%?U5w8`?pEH1AUj;k-%=&?4iZ*Bk9jx^uAI;Uz()e#0QW;W|2g*P z!fds9N@R9B1{}rQ(V}C4JK7k#H>m*i>WPzfDDCh>utRqq?o@AP$QLFb9cO&R(xp~0 zWM~TC@cZ|d7d)Sje%&P6R1Q0E_!0i*?p>556`$aY=6W08px54xFA!0)W-j7k)y}|| z37~upnXkFS1zTY_p2B)KSZ|dK<_1O>3b@_Yd}mz!Mrohrf_>xN$U4Kh@UZfp3)!GDd`XGOn>T)#@%r=!izCshcjBKN5<&_+|k65Fy-Wv=NsuxKCs ztg{kv;JnCjFe_}`DHS`9chLgeG42eqs{WHr7cL!#nh03AwfNE6 zOf`B$f7V`EH||#JURv}GH-M6VD{7>c-a({&MtP$X}Ho+&5r9j6DkZQ|RQB zZa=j733DVuu}mdAtXp>eHB1f>uE?{(0*0oQfhH%(zXWHBEOPozC??+&pFa4QbCKJI zBd9v-5hTT~-+6-xFUk>C#n6W#jIsSwlaq_DTct7bl`vwJ=+b;{9N)Fh^*yg3-d~Ju z&vh#p2M9z0DoH=JRS$$L!Bns3^UlsMDQ5x*NBRwuQ_pWcpC#;jd2nsLHiYX6zaTLx*K$;2#jh&S(0yZK zuRwc)9CMeOOrn|>Cb)k@*JO>Qq=8Wmyn+uuxEC}=V>+f{yYYb~wzlj(7y>whuUg%4 z>hW^H^|W!gslN_oieV&*S%Cn2?}Mf9(nfXAP<`9hT&j%pt3%;9s4 zn8kzJF(C$(n2Zd#^N0@vqft6mX|b?UkP5qh7{4t@xII1(JKP)Z^5E0dVL7F9B_`I8 zTW24go?%6&XcQd2gCEsLX*=#rWRD$I{b|?qz)pkw(@53yFWh4DC%q;}p|pBF6^S|R zxC&49nw7WbKC*MFaT5v1-Zw7;PUCovxZvaoJCRJ8rlmkFqe8Kc-?{&*uCa|%3Rk?HDgr?CtM z!-prbo};ws%sPSSpJGw!<%ryW8K&E=n)o$@5X?F%PKVY+P64A*t6 zAf5-i2{=ErA+#^7Elrt)A&nKpl6|VX559 zg-&1KV+-RiyCd8QMGprxHll)Gss|3*FPUuXZ|^6ny8}-HBR?|Z;y3E~>eKri+cg8O zV9gVbGrHStDiUwNodrhGP^*)d0I5#k1~~dSM52g%gYf(V0;Gh3v{FI*m}&2U!K*57 zR$7#>Xma$Sm(Ns-QPXVN=sHQA#L+Eey_aH@N8U00Js7J}OQjh9pI+FeGDOAO)7f`s z{2R#ojDx%ryx=YP1|oY!%|=-=WtI`=V`k)yo~E`9&fFAS4$M+cWDiIHrr?_u%EUh8 z_8Wjrz$Mb7qL&=Pr29d0685F|DxJX#V0dnwkKFK0`6^+z9$uHr(hDI!>aqR1c;a=1 zMhk)&URUMv)g4MKy496486}bulTq6E{QL8C+^e1i3W|Lw%dR1t0ZZH{+^RGM36^vLGG%Od6nkAP3%3h_9HNFaFJ#ox%@yBJ!M64RSWc zmMI9}h~KxDpHu}WCDxGDmjPP0=44l+c}nybbj^fBV4!ZjEr?vL;P4$u4&XH6iBCBW zmK*39A(lmQp7e^uYB!M+yvmc?o`^w&>~NRHebT}6SsHuqDlwmv&_~!b%{vIyK3PJJ z)7`wX4)aa8wU3s=@Wf6XBykP9cJf=r;5MT(FX=`z!F!4%uJ7HwT;rzLv&zY2E8{Yb z%#=CDPjWs0?831#c+|#KqQX1}AF+@6*gcivDAOs0mJu;WQMJG3wba`~JY?N;=cQIF zJEeck>hkfEmJKffB@k6(c{cKxwU(3R~NXAGPt`+*@7%E?`&3>u~sU zSwvwu?BVAz1tlzuD`D(c`fmo_81E*1r4 z*SBAX6`h?l&eXN%E5@6AvQV!eXrlzSh@2*_?Hc944{r1_#(%o5r%TEwOQlgob~|3L zomwbM`=ph>K>NLS>dv6Iye@q~C@K2Hf*AMtqbV5^ItQOM zPAA3_^PK^?9byQ4?6(3k;xQsAv3iy9`F1GKQIJtR?YwR#oK7?-@||?$6)=Eb3~+zp z68enZg76!G8wKBeZ~m?lSJ7_?*`GL<1NW+gLLS2KVq3hCi6|ctz%brS`pkeAXJuwU z&78;#|F8c+v`FZ&O1uA!B6HI9Aa7#H5W78dI8E= zvH3|)w9mm~T&$6)2DeQzTGRLI+?iCXBJjpMoOc@!A1YMfZU_Dr+rS6a>6v_0B7Y{D`8i8hvZz zpKI!bUYnW|_}*Y)@irW$mQCkUY0@RUbDb_J;gd-BXD=K(Buy90uAGHMW=!BOYz)$< zm0Yb*?SCahO*a*+d z_V>4|!3kiyxHtmqb)VoTpKYVvxd$@Bri!h zm;^XB8>7gcg+xXr>Opegql=2U4gKhXX|NS)G&>siXjGsXF2!gRf)B@xsb2`6$z%Nf zZ#=vyGlGL5>B;Aq--q#TBGPw|4$%X~ z!epAsB8fjz155E>W`mkxar*I>1EZj0*E(uZ_H~cKXX8k;d9!7B-}@So%Eb|m_>vs9 zK~Q1t^Sbl`h=jCRiPMUV$`Lwu97zsDu^vBnwaz1MLjL(;6H~tS8{ORu%BhpY_(O*; z8{y0u2E0m2EWB@etz-&U_f-R3o<>HUT4+~*=VKLl3D*J{(jy2?r|71?9H`vx>J-h~ zM6rq=&)}={gx2DSs3OK8xC?oUees+_mgpQIk6`lxf?R!H8}~RkW(M&>KXw@N_jOgR z?*VnO%`@16&wk~w>{y2-7_fQpc8j6wN(gvjx%}SHIL&>;dK7%J^Z2@5AQKO4!BBjJ zbP`Y<-Q)oKo!rK&R)*~#^+8*)Php+p0&d?8DiWc5Fwj03bpYuSOAy604M9EQ9B z&Z1xkqVFy*O!`|3P>?;4%fn|YEpBLNAW@JQ*{CjWeblAV#}$a92(Wj5L9d7$$&mk6 zJ4|r8ty=f~?H>6=Y#!cy+VoZI^C$Hy5frixRBMpxV3+)IFAT^SA@B4jdy*~z9Q>8$ zr`iwMU*n&RQ>xFYZe~^7=j@FQ3?I2+ZU=0l%82zf&OUZ86tiAnRmGlv;N2oU#B_x$ zL6WGUVJ9vyX8wfAf0_u?G4*Gli~s>5X1?x% zX2p-FCIMuqHOO8p56RJl9qYc0L9-(x?)(~oMrOAC0r1reYuL77 z-db#vqu zKouj*ctgn{p^mc<*ZwQuli13!Ek+)Ip>KJ32?G@nOcBM9iWuuD4%33!fs z61?ruW4lN|&6?cmbBU-lK{#fDso1>=;Nm-l)$wuTh*nqXsP;6(0R#kLm4_pG#@QtD6VnrBey5G>bzS#knX!( z#c+zn209s7IkGV295oGag}prk&4@Hb-o8Yx-!TT)7TdlK^;aScs4(@c!Vs0h7N(Jh z%rs_46!MN#W+Fbp+dGVp(EkS%uh6Z7QYQ!+`Xc@4!~b4nhcq-@1D?@OxOR30EJDfc zP!wITU)Y2f#sQ#Js-SFQjON;gK5%_xCRWAi5uKPaPj2(ui@k#4Hsz$Z`2P}#ZvCN`V^7(z5iSu?y%)gwqW_3)1L^u-C`w*?n`XzHnuwFksa zHH6=-@A7+C*aA;8H?SSZd5`^K2Y&S_x|CLh_$|e(2kjf7A%8LaDFH73GT}^o?ZmpL zHezqqyTy<3p5|W~d&)x+qdCTbVZ}cG$8h*dA^rBRfrgL{SA2dTe$@mwuCixf zXcTPI8R2&D1x?+-*xjoW3e3r+ung-!CyQTLO5p)W8~Md>TJY-XjWO_$aiq$dkJHG&!R3#1iWlUG@){LP@%_a zMK~ocp24N0k_pbMb#d!owNH0W>>93y!MOg#Iy3!NhaKI#13YO~TOYC-Y-C@))~Og7 z$Zq@uMsD25S6<=4m@@*7d`?x}3tkV&0!n#g?K$)M3>;`~E^r2AG^DIHSykFR~y)a4d3H3M5mpotW%d&5MXQJ-C-?4hs_LTxK#X=haNATn%s4q!|AU>Uq*)zCJCgbrb!F@+;C#GOB* zXpiT(`tZiYJAY8SxVa!;!hy3mz?&!b?L6)egO1o|sCCOLB?5@trTVs@SICSLCj_@{INfSn z(s5?}%v5|EF8k^Q=IlOm0&`MjY&mxp-WcNz}I``nDj3?%IYaxI7B4$`D)=n#>_ zECJ=_L7WA?$^%;wq>#OnOSS8aNGWEebSzAHxw6-OmWxzw9riJUB%g{a4sU`iDFh>0piXHzym(vvtSRe zyk(vDGFw6Wh0BYT75ZL#)KSS5GW(hF)YqmPXvp@$aTJ^8s1L1^ePSE@DhbgNyO2FR z;Yl3VsJ~v@5%bVgQ}^*27g)bSt945|J!pbX{^p*p>;nTn76#l;US{LX;hL+2^T>!h zSa0YA{oq=?t5ud_1QfPhZ8G#c*ALOq8J7^kS)43a*evG_x8zZ1%%UzNJa#F0lKCy# zMcqEI-F*n?($(JGU14XeLFb5yek`nKP+Iv^pG`E?4gE2HqiOf&a)p9=!gee zX@!9a3Tv4{aD_pTgzIoj{;G?~R(YG8?5D~+3U`$gHO;dUrAh=K80kh|CbM@7BQMDz zw~dGs(fBj94=rYiIp`P*)7Q)sKRl+>K{s|Fm$>E&%Vb)9Nw)teg=#SwVD}^KN zu;M{-g)l{u+H#jnIne?{i99*6cnmgX%@=bV1A9R30Hy9V|Z8C`NTmY0I za-bu8-XFIRQ#iSvtI#PxZwR40kQ|*Jt*yg0{|k$9B4GQ3WevaprspZbNd;GzY+^%D zqn4vJ`q`W;!!5%mOGC^3fWTfqR>kUxzjF-v%z*Xn1lC3MgDY!37FRY@PjxVW7YwU( z@FYNn`SZ^EYcb8#b7oqKiIuKZfqgvqc9rpp4PdH|4Os2!H3K%=6PEgT*l zPQ$s-L@LE3#j+de;SN4=m(y}Tjhy2EJ6^@Wq%>>XB=FIDJn=mCCZX>YDKxrv*6@)m zAB+cgZQ-Yla^O^cAYEI;Omih(xw&<8I)=Wmy4s>X)y<{~v_YEEPHyfBk=%^_Ap;d4$204~a8( z1^&jahfw_;ho&Q?mnV+@&xJLo04YeDOUZhpD-A@TG;?ta4#-eGPd7zA_l6)(rA|+% z{m)(1!~4WVG4#r+H*utPs0SG$57{&3LDiJBppY9Hg{d^2mJ$qn=^Zadt7g$FC_l1V zyH5PGHQ{Bj)<4|PWsC(lSncGx{k^AIQDM65_pPb>mmN7y}Ky?3>dlGQW-0 z{6*#S*8KwBR+xo>^M5r2pw&-q$))o#qC@`*rDQ}a+_X4*aO5Pt#hcua-(O9j+b@Nm zX{HusS9RO8NZfx5BZw;S+u)bx!l=AVq;k5!2#J#9TB&kgJocwj*luiA}69A@Q+`D8bYsvO-qjj6n+p{KEl<&ptrQ)XLcmF7l@r z0!fkiJRc^yt3GQ>Y{05O!SRO~{nwj!bH6fWjN;l9BfFBj*e> zmy9(&hsr`5aw+^f+aI1IsY^N>pv|Uf(LL%k+O6u31LB!;GlH38HM|g+TyLP6HShuw zOpypQJ?n-I#cqQE@1l3-84AM`pBBUQ=je$jyAcEH|B}3X?OLB>ZSlSYwg_lcd4B8v zA?uaAW?D)}+|euf1xG>qi3C_zhYTfloSHKJFoQ`{+}1{Z7fp>Irr^E6)eykT3b+`edVZ*7UeE#Zk7|ew`)FC@^*YcaoeVS~( z%8?>v!-A@4^K9pY$wLcK%37yczfyV>I9S7O=&Z+3|fU?N>>$~2?PNqqLpBmSU%Sr zvUNRx5WIm4bAMd_4Xenvd#9fl|L)4YhR43?UDq#Rl)mC~O{mt(=Htg8vC|Qsr;Rd@w2MP#D9{?T!zv^Kitu2hKy~JH{h&rjKtcfwcB?AF zTPVl%pq2}$JlSej88aNubwTIoa2})ARbz0X1c@}1ywa&}!0icperDRNNM>5Uu|?!@ z(`ZeH1g9qp5r*|Hu)9)w%|s(}L1%Z)r?+%kOu*uhaWatGs%N8g7;nK3sz8NRcYl|w zAbiGa=tWoK{t984{s`AHpY<3(Mh%44tXSF2q96g|TF%ex+LmQ_lPX-&sl2J3vq0?? zlhYW-_mf*iRI>Z&&x(%cZtf`7tJ7me7T5n_PF#l)VM^g&`nZC-mC#L(p8Wy1)(T3y z*fe9AnuoS0^*MVE|(17`RH&D}ukCo;c+Fiq+sd zz^C?WGEZD@IE$77J!tBFmRxE*o8cR}M*@aSI4#UE&kapp^sq*8ps0?{6@c$mf2fmC zcym|OG_@$VD{b?8o29%Iwl}#E5C*}Mih?=NC6uC$$QY_}4?jppxgR6tuTd<}hdHc@ zGeVqfo(Hbmif(A&y%KZ69K6j`a>0&%knW1JE0BDu#JJd;MMcz}xyfx2bW(F|-P}id z%7(w)U;7&7;>!5-oAG|(Ud6{<7GK8%9SVc#vcoDz>}CvoeMVu9FStpx#6={yD3Gro zq}lXRjN_7mSNQ2PlC~tORAuuQA$W3)7Zsv}R4CbtamrLHi^9~ibAiBtB?U8Ty(|k= zU*)Yak_ht1BhVN78322+olkg!U@tRAN3Apn_2mRP#V$Wf%rWKC=qi<*!hml}PU(#& z_IuN;7w5pC4vuhc_)I$3^~hTx2`U2$05U~S3t<5A2iPUhjm0eirKkavL9mKY1jvJF z!=?}Bv++ugE;XM6uuf7Sg+6qPVCxM4Mb>p~qiuDF=ZKg%woobH)-qQF_%$Ryzzo;& z;wwvXl*vO;1U3`G&Mx-Jr0#sFa(G=zNB(njpP*1lzxVC?Z`^uAU zX0_fsCqOHL;jI)#pS|t$K%Lgg!TVM$+y@a`I2H}22*6UNJxB_CwmDe2=9_=5#@P!d z4jryqT;7_@`qsXNH8WbnY9v`QkJd{=R+Q?qy(b7KpuMJ}h{NUY|9xjM5b*Lv>1QB3 zJ=O`9_{h^d3cY-@*6eUCr;)wV*iVXj?1$TNph=CC7Ge+>J`*&WL3d>P|p$lAidSEah%%p$SnfwvM3>JS$XU!MJwz> z$_>4$R}CH*iO)~PUjjvj%OdTQ@kIr){MC8F`5hUD!#>lVBphf#jJ_N2yJN*$7;Jv^ zD)V!q_dxJ16bS@`bGv7JpcD6+ifVfuN`SXO@S&{dVF!vKbJm}>d!q(x$>|yy%p18+ zaYZ({&+8}cb2EKuoQo`fp1xF5W9XFux($GiM)XlWusFxlc}i4%z>5YPDyS$Z+Oa=_ zJpi53=LI;FnCS->f$oTZ>Dl02;sx+bD=Oa^oV}s1Ff$p}aAAU$Ew4isHb8>Yb8g_w zm$(Bd7t@>$JG)}{3@JygCn7GyhAv@0nP5psM-J+QL9i>5OW11N|@-7C}gZGH7v#5tyqyaBk<*C^ z#06B!DLOtYyp(};F;X$1Xo6P_xjX;9rnrI#Ycu9`;e8^(n`yd(&w8+c19AS=I`I|! z;ibDANl*ehB4!1+xSN?u^uD6cDnRCpra>O2ea(8b2xs7>0QVr|Zj}xP|F65c_NhtN zecAB7XFK(Weo&U&|6HuMm<N^-ROAkN%*&3KfUNO3*I~XnnPtWM%EpRZn^mphoNvWRX2^FMh!Qgs^a;(5RlM0Fb zfFW~G&VZUijj0nQ$fU#Rl2l1c?o&f59wXn}RB(|v$wfUideSVEi5zkPIkqBIk{Xp< z(6u+Uyn(=#EcS_%Gy8A zOhf&_KtbyW{R^V(W_GC*bNbAFeDRcbv611=oUOn0Rhn|u=}f9JQL(<^rD*jns5&7) z9JcJgp1&INR|G`|FTBaK`59Jmh7MU{tzywQkfb5lfv3PNU&Hr8zyUNfIO7k##}q|@ z3f0`7Z|~~wKB-WPkDPRNm9=&~k5%9fWGxxnWvJ5#Gye0i3O$rdL zV=)Yv5fQKOCyWO+JI^`-ptt2}-f(N}Fm3$` zyMy_KRGZ4xXaB~195I^4F;4y2;*D>w5epMMY^*~C+XW%EO)jrPy6k>*GNbHU|j{7Kzr$OIppl&*6X_uyuKI+Bol85dCe<}Bb+f?E0lkd0!M zvuoJ2NWgC3ISXIp3Z<_Ei_z$Q(wrj4qgoXPqQOj9iY%JZGjI{fXi%|)H=@^q z6lBJr7@U53i-<=KgklS2>03w)tN;*ss8k|&HengJc8=%4tF)pE^ZEDO-g* zT&xfpeeynt)yny+1*y>qcbaz)^8<)+!F@qzw#(t_FxIq~()9Pb@|}F~q0Cc|)YUHkQxL zyy2vQj{AlWoyV4{sGn*dR@yfy*NpznoLD>pg>#_)(|Yc2iZzJI$1V@3&QxMi!Bzj0 zpE~q&l%_N1Sb+}QN_8Jvl=C2O@^nQEh&xw&QOb@@B zShhl79~)3w25t;n(Fj&L^u%Eb__$DNE)IzcjRxqGWx8s?Wu&pL+do zEkL66Rk&hDAg*elsA6!|jAI@;TT1M=@8?mD8jE1GrONQxltSa_g`er^EMi)j6M8zi z=|M1{94eL>91!0#`5m_(B}hgZ5-_8SbNwyQ+(l%j*?&?S;rn_*1C}SOLr^%fZe8B1 zIFyUve9(tru?31^cR?*CSH}aRSVWo@*;Ra&qx8k*@D;3C%=AfOsnD(J(;_=+zuH)& zru0fWTSH>ZEK+P049h)7p(E|-3$ha&Ektac%Oj6UMYBO- ztu&)MTYJX8A4L^z0h9qa##Q?<0NYs$5J0pp6uini7OWDDkC@Yj#S8w<3O4!Bb>oOp!*;M9cw_> z0y`tH)9A^|*YmM=04Gso!3l};eIWObn%Z52cUyYnO8*+^(2=#eXKRliM`v+(0x}W$ zADP4-B0*Zb-xPdnYh3Jg3}6%##2ai_hS=vl8;zx4Pqdaz7Gt_hHx$Wy06GsPI%$Najw8|-e>LS-xs7$6wHETvUX02)rO)3mBq~OpS3I? zp%x*PGybCW?pURWyNIKf;teY-NKAeXKeWa*LqlY&c9<9x^`#sXP_|6 zu!5AW6G*bV`7}x|bXF}RC!-E%IG2626>yV^FU{Hsg)UY-JgpP1sbtkG66K(GL);k2 zy!hZm-sIU9n|_%gqBK!Vx91=CneOI-Zn$`Ap|OMQ4Iw@QfC!Dos7&qOVO+jvaIuy(>7=HLm=;hO0ID8%Y|%jd}|`~ThE=(?GuwqPXk&3Ac=iqCQ5hM@bU^0Ya{#d-}B2S9{Q-7KhmR}pjwekZ)N zIab(Ogv4iIq_IQlG#hb1^^fx5%1YzL-On`t+DsBwDLZW`1OU6MJ-vCh`e)D{ z0>;M^9tu0}k9OrtS7QTe0r12G$Z}^o<>3)EEin6+*b+M5?c4Tc|9+KekA?smT*V8tBLQKNi`c z*_H!wLOEaS0|bLk0m@=v#?(7tGX2hvTm@JIohgEW_9ioQMvNSOTP~1TN5eIkqhkGk zyaTS==}p;cs*$+^fMC87V0e6_jSHx288tQyVpja@_!E=_HK5Cl@4_#VDiH4~ zSXqz$0@`}6G6lXnCmXIp2Nad%p0`QY7(5`lR&;dohFblI9pt6G3o?!kz!Lq^#PMMj zFeyYdvMZcl&{O;>`V`29E$$&=r5l>%*FvEIDF!u4jqHsA zTwR!FqyL5I=P}_f>#-08D#_de{(E<&ov#+uUVkYruMD)j-SgP?OMGHyaR_FWS^sgb zNJq-Or~~0o8eqvwL?2Kia5C%rdOL*bvemk0GCf|urzS!5P|7Q0zi=eQmdu%k4s>+W z{_c@Ols6EAxgvZ59sqJUn!VVvE#4|R9e~DgfZImsNxI*6_P!9QF_YuZu2unQ|D*g0 zz6bi{Y^JuqXufUzJTwPz2IH|T$ckF4uS3z3%&kQ!cU!Pd?*4;Hbz$AGlLf7(Vts$f z>AL>XHPsj)&b_I2q$)4#!(}1fE{;ndnerVUOxN$oejsG%x~^%POWB;7jLFEI$Xw{j zqbY_04{@@04R>i%E6kwA#X>Mm(rF?D0-bxz<@i%Aiyej_MP=% z@71otrUXMrVR9|AJ-PP3mv-lUz6;es(9n^fo%mvSz_;XJ0ESu{HLueQ{|k;&|GkF# z0%!fd=uRTl?_<9&`3`j>S1I;D<6bcuU^Y5z`9zDe*uIa-wyNb-n($}UDQ9~<>1Gw) zxW_^`zp2D1Jelt8xCv+cbAWT8DFvTrHu4>V=Y=-4-fqYy^fv<|e-?~BGjw(^UzS@T zJhj|pLC2|Z*ZA7if!sFa|#qt<*+aql~)S5Q4o|FxSo z8%%yB!~;_hgEaS64mvs^=Hb4cf)*apU0>XV+9S|YFAW=W!E)M)OG)ZZIaZy9Vi4pE zsk*X<1_u{401`UzpPZkDlnjLcdexD&m={C1TU}oK3Nt(#zD>RZ^t{z&@N%^OTGT3} z7H;0*ox$R;+M&WG>a+%@unBntJ&%^|dwfVm19&dPqP9Q;hwR4hh=KYEU#RZFYMH5K z*Q7#<(sG;(<#h4yR}tXqrW7_76$7Rz&+aevwroOb7z%U0nmQ@$0l*KKBT#_Y!~?<^ zeY(2_g)-^3>C)00+GSb&!dne8kEGRAT**plm`F|**A!m$xA%Aw%5MP;<%uRz|I=u+ z{S@xL**=Hdss=*K&i*2@ZKrYNviY|g8h&g=W`S&UpwsWAzqLhVWpN{jIIy>i&*OGp zK*vufd#37tt{5cz`!=ysJ&*R`*1>x{1SSar_w$L`Mq7`=e4}>tAHm0k@U(+pe#(Jk zR*+*OEAsR=uQ}?gzean`CNr6lo|yfuBVX&uBOrs$SaKa^(H+r&^h)hmNu>|;ez`AE zabaQv!F0?R!~SEUvia*~hR^!wz6stcXnH=ALDDT6h#Yhr84e$rK*TG+EcFuCjG?AI zS`s*Rn2nHm$V<#}BZc?*#~gR;N4vZlDikiM4X&^>lKaUXqs&@^kNGyIqNE4w2o@;_ zjdZHR&?*FMu=Nie#Im5tP$!`2 zOl!1`(et5YQe2+KJtdck()qye4QJ?8Rq_v0%p+1zzTuC{Si$rb4ihE2CLgx>p zO}2GO?;48gS6c`l`|kFJM1;BnJ-?;`-sv*6nOm!1D8y3ck(t`hq)X~-woM)NQ+*Jg zB>Fta)F~h@(wHSawzhQC5lw1vFOt4Ea)QbI5UX$r2|HT@4RDwtLa~H;SZ_peDC1E` zqg9gz{Xql2gxy^4-&3mUSsUc|UrzXqzarLTjgOc1oz6zgtH7A{j`Dn1`cjWRPT!d?FmF z4%PYV&DYJWM8X@4KQE-)vU zTx<*nZ_?X){pCWVKMg-w1JgwWir;|_VoEb|pGg{stW>U%OwhDTWb00=mbp*&4`GrE z4Yn5&U+M#`pywYFr^)8#4Y@On!oSu*GyZzu+``?5+YXg(!23ffkE1`3I|6e7$Zlx1 zEVmW}u2{)ZuVw`(;&Y!v!zdVW*mr*CK=HqG4^GEw54x$=L9_A@=Q2yCfy;;L=t7(`b8Zdr^QI+ebbvBtrBbhx#3+1t>Btl zL41_m%=+EzCYmy-NxoPSZve=UnE1c0sr0>ui8D{-eQVJyP_+mT?~->-I= zkCf%9@O|IN zJ9T)YW%E@J9%F*~KRK1_GGWGtC}I){ZUQk#A{LO=1AgHHx~%_wOOLI(NVhcI|M0*G zXq3O~Hr9vA6|F)BJJDV?L1g1Ow`K$nZc^ijiz+(3X_uWe2!qSxgX0@y&<1VaNhW~0|G`P4~o?{RjUW~ zchUaW`Hmg2mT+oplqW;i$TqRbLoh$l`vI?X*>)U~Xu;lOo_mMB7aHLG5Wiog#5`PI5^PoQ#lDVSU zg!>kUA7+his)VYlhx{C(uHc$e)k0TPh*W^$+k4LhtS&N<9ZgehMzK%oNZek2uTFfg z*2wW!=LgDlQ>talA}&h@SAJW%LS&q2_{m>eY~!AXv?o40hsBQny`@RmsE9-{OKymf zTG->E4=()$-CaN+VfAolnLXCiqI2eF_1-&lKfvW91EU9i>m{@~W*hQSAlIEO9zRn) zT5|_Q>*rh> z90q}cvUllUQ;?d_(KBTJffb_QQ!;ZXDWZ7baw^v;U&8i69b)X&ZrNRYD7}cp;H{VJ z+|e9o^P1L1<>KD?uQki_E^6*zPf?2va}TJZ35sn-rsPU;3!`ll8nFXRCBDhvnH8x(2}c03p?aYFD4Y%h$C&)jbD(ZoOl^dg9O(F%c87B8S3{7n zPEiSW@xYwK;>v=Z@F zvci;m;buy6oWbCyQ1A4T&ht+3=OP!HN%;E?|SiXnQFf1q2U9fNz!2lW(+ z2@4P?^Su{RxsiyFZ~B{$zQ6|keQxgW;xRNnNi+DS{|_}KM4yOPRr@pW#UOvW&&SU} z)WWz_+kh(BJ!y)AQzs3kQ$-QnNut~Z%L+u)NVEHwV%vjr@R-V9(YxaHBQ0fG;yl`VGt^RA3l zemdseH)>`QeAFO_FMYldy)K$~G)rNe(Js)Tn(@XuvcBM33jKI5<5S+2Mq}!244vTS zgJD7x>1gW|m7|>jxzYopmotu%wo#RC-v{&ITdTF+uD$ z#|pg>9HB?0?5Pzr5->3IM;+F>t01CRyi>^U8XH_oL|~+%aMPeXo}_1Qhd zx_kQB@V4-zHal92U3}^&zdH$K7;l0u2wws-85&^|QSrtQcJf`g ztYsGo+=@mZw4$gpariNhp!=En!$g?>3*Gy}jMdc^P}2CLB+)}p6dh1}BU0r4qi`&h z3ZA1hd|zm00kMf+-tXOg!LSQl%g6?5ZtefIAE^SO`EMS+I;g0H86 z#k}3l@*V#U*t?Q!Re}}xr!Q6>bte5DSBh<}1sg=#iF@QyxhO!FWQxlFY?%3a;&!Y#4wz z%FV9#=gmK&&q#i;+?;xTV0hYk{lljIw@>#)e;4-sA=Sdz)%$gG>ifEc!YjgL zh;T4H%{qN6_R!(%!$}VIN&Fn!Vm0#0aeoTf=RY;Q78T z2TKo>gTrO)VYw!EKNUPRiyL+o+0E{npfP`M6fn{a+*{Io(5_xAtK&`v%Q`q>O9XbV zwIVx6nkVED6(AMg6y7JT#fx;Q2nAkWe}8}Pn|lq?s<)(fC$^lRjsX8JG26IVB)|)y zxEH+nb64wI&{y+R`>SP2HPI?Uz;kMDO9jzji-}#m0UUeyubpK}qVsNTy?XGn8v^Eo zD07$UPO$d?O>Wq`vhmHj4DMRz1Y%kfJEr$|_TXoVeP6Eu)MpRu*>ebMUa4GH;2Tx; zwAqE8E8BWg%+teUmgUn?8=DT82_C>n2+z*t2TIam+Y7KA(>hT;sH_^U; z`f{#siA%i~ZEFB>g({blp8l=t0T|%X%K<<_BQ0VJ>X=$=%pufXW2kMOLEE;{(mvs? zHf@niYE>qqXQhdncPSh*&gfz~=^74hy=wLmWRKC>SC(RWweU2B=0$~lU;DW8AQcbs zW+ONnJwk(HdHMVqg@dmcDaOEStkCyk zJgADWK{+b7!tg^H`q&JQD3Z=a5Sw5qy1T?qBclzsY{XWKeIM`Fm-hX-%=Upf*11(w zYO(tYlRyr2^MH870iYHv3fuNIP1p<3j)q_xy6c|8YPZ`7>9;&rIelpq>12(GamUPC zY7n++>*^;p z4F>~XqpS!Cd0`sUKi0wI70h>!b^ORr!M1|bs8sNU*V0lG(m_atkCcs&Dg$zp8;Gzj zF4)1!@NO~fl~}ZD7y0Bm{+BtwJ`KZ9#K++a+uZuPb+0Zl14uLc_GGadTcBc}5d$HW zIO5#v)HOV%1u;=m$I@kPgeZ=t1Rn%? z2Df8j9iT3b9$qRzN(M8VI0t@%(<8BZcF%;n$$K!$j!g{GvV$c%39;k`CP)N+J0OIG z%rWk(raH%H)M^Qe+$KJ|iSBBa>&hy}zqJ5{{izKHxm=8;3{qNtV;8wvP|I;pgMWmU zwk(PU`|Y`f@9+(3lF)&I77OedLB$;vjyI&4RFqty^;Fzr81j`veuH0F#j~G-|xF3v*o#bw0)+I3{}qZZ}a#51fh1 z@9A8$<<@mA7Ae+C;n7SJZH;_wGy2+PozN3EI+oKbKm(M06qa7qf)OTzXZ?eNpJn2( zB3~=~BGOg(kI1zJ6Mhtq4rABU>{A_H=}JGt^F<|>o107Hs|O6~H&V<3 ziWUb}LCXS*P;9`_RG7?b?0W>VtddXFonEB?TmQ_)@s? zJ$MQqOPCc;Z}5;O+f|o27B&?sHUvSaJ*fs_PC!YB&d=yCD${2&&VqsMIw29*XOy_& z@PB=QJ*?VxuXB;~{akV8kH^k=@N_xstBpXaSnNZo3F{HCd}(ZU$R6mX=#{yBctg*9 zOT!uNujZxHB7DIu0g{ETMbW5t1QPB{=mCFmumqA~5VeVgfDcUAdmCI_(v>V&uH>9x zqZl@8b#3p3v=_dfXS&XGE{a}sam&yjs(1t3SyMr%esEJ}jj_h?MSA*HR2cOe`v<~@ zvD=yyQ$=}m6L8{Uj&dAYz90B}!!GvP9akIZ{QNN@a|@B`27V*(F*Y8KuEt(*(6Mdj z{E4%mjRQFV(on?*Wm_dY>Hi&zQ?`g~bRwIfKV>695TCKW4M+;ui}v&>ZEFQ3t9!K( zVOvi(-?(uGgk)(pV!XD?X-@!L&o$h44X>j{FV?w)#$g-Q1bjNQd;LUDn7(@zm1dgC zKpV(BR-mbdI%^iU1f#Jo9B!oT?bsC=r_7o)H0sf))6GeDTm_&f zKpSiE76Jh{XnWLF+ZJLhm6Gb6k%U|^eM(&=1n>m)AxO~qZ@pqW4Zx0mzFC4|4phGQ zpmqt?>0J(WY(546H+S(xGz5$r4GAN^xtrM6i2k&Cj~ZYV^MMdY#z2w= zrU3`%MgYZ6Z%JYwmH$W{Smsq|#|g0!!;=K~iU(Tgc214VRuMW~YQ5krcUQ2aLs#OBo0XPsEEX08zOc{^OOT)KRl{?jDG+77r z$p)9%v9GP z>Vxe534kIn`$e(x*s{Jamv&{0g(8BWFU~~g%#E&YZ(dPZaa#{sPI#O@j7Lx!zSpLe zJ%j=f8WL~BEIL{dx#Bts&}JL2UhT|ds;3p&eR#KLc%6t{EZ^;*N<%LX$y3USLPsUdvh4cDD&j(kd?YTmvs~9z`Tl)cb-52ElS#}Dq8u%;jI&s5iQwRi-3+yO^TN%nG%NJh zNo%w%#G(2DS!-tBFPHpgXaCNBF zo&;k9L#y?+g~&??I%A$z2f$9+U%x%PoGNMt##5n{;Xp0$O^u5g@d$cd4knm@!?WEl@>|Bvhl>}9%Z+3~W z>EL9vs-eKGz0Q1{Rgu)HIvDp1yDU|-6mSpL4?y?-RaSg{QtMU%-K|>z5%Vy97>Lj) zy`y|=_4eF)75N7b70YO8Kw6#(M(>?NzFCHU zOlxZC-ZlS(rr2S@A=cIwiz=-X7;Co(&3uku0Fqu*_Iq-a&dPYeyET9NlikxJ`5UfRRq{%2=E{^OK9J+Ks z{I9z+J;pm=vH|mWKz^4j3m3_HEAi2~@J^67Z(wmDaDqN|ZW=Y3yrWMvs5OT0W|>_v zgod!~BA~|Qu^LlHA(%C~c&eOW9=nM0A4d|>?ok_SH(X#_{b$${C&r{KcLYUM2>G-; z8i1|>HBA`WS6%O?k92p3ONOW8x;E;D*WI>%xAEzegtxa9VI|&!7WmXzL3@AUKk0HP zE}pQJ*;l3Fxf>yVVd+ICtpF!`;N0lD*>1O0RCM0vN-TuMY77HmO6&$S3i;XPKY`VE z3ZGiIQCIWjjsZ%M2y;>-5?oXT#n8GL$hKX5pXO(~^AI8q?T^16%#+f}1hGZo z4RX-NNd+_m(ghEM$li1C+*Z}0uf;yb5OzuhPv|Qd#JpQKkFpePg$(ix#y_iYk5u;d z_Hh_q-2Qb_ozI>Ljmeg~c|+g?l-<~_9rp+Vi3tvwY83{hsj-RqHMJDmQXXL2o<)k^ z7VtUK3j;B@#dE*KHa35XWnf5$VV5l5tdVNFGeTbm#h@&wS`{ooLc-dh(O>XX{(an4 z4d|}RtceQ0WQDCT889Tm^QA>WuStiG75A9Bq>rwUUa=N!WHANOa1d^7MfS-MQyDEi zY&vse(Y#RDo7g$osTbNNe{eMHnuVLS_$FpJ8=F_w$Rv;$g(c5Jj1j{;0eldvZENe? zPB3uzL|Na{?(Wmbp62GC7iOzsR1x{vcYCN7?ZKipCM=8MG>~O85-0{)X{*!1$kr_! z+pOH=~9vFNA(BK)iAhLqc&r0z9AC}IEY3R z+%s^ed7;0U-^*4-SQAO7vES?sUUfePpqRei-fNgFO7h^j0Un`XqsOdPD>;sz&!N|J zwBb2OfSt~$TJlWfNvmQ#5md5Nj96v6B1#hlbSNZ21{F;eT<7k zlxu!VQeY+iRuyl^e59%tPlz*VsD8303N!*XZ%czVmUk|?jWrh7EQQJkA!A|WdJaJ& zz@W4Tl&}^{4@&R>#7}Bea9Jq;m}MXe1iostBKt&Pir-Cf7K$ay6u_@H7cyL4Ros2UR(xS+iaTwt!z2dMt$JWl^pjxhf?7r8F@Cbm z6VJnyq`1-ecE$Ng=YNh67hJ^er6= z_MC%JQIJvKj-vi5%BzwU5p4BenZ zA@AFQ`v8FglLp!k1UiD04A`{`t14WW%r5X%F@S#Q;QEx^h^B6CAj~qC4z6_y=ZBPH znz8EN+Ub40AzFvJ<23vla`rC5)JAYaK0%@4X4HrO>oRiB0wpCDdF@=d(bav+Ew-27 zz+tq42+cNSZ$q`~wgs3UGzaBsDmCTEO}K%>-{a6Fv~Fel?WkLb?RiugA%EM2rx2e4 zsdQ~H56R~S^3TqNMtPva!0m|y=&*C&3ry!?Y`R6QsF%~b0q_6zIb7dX6sv)319bB6 zV2MbV>bZ+hAKc7J{*L-JcZ4bVv|kC01nkwN^~uDg=$y^uQ9mW)L5r{(g_5PR_`n|! z98UM%Bbi$Gf7p5#uqw;6?H_O#kx^JOjx%nbrKuoIn11F4GD{Y?X&6C)05e1pmXSki^Uh?# zTF-Oe*XF#=>pbhG?H>?FnL0-66724fXZzf80%dPPd9(m)`X3PaB@f{t!iylZ1HZ6( z%-Df&q@f@+H z?MP8LRPT)vDVKGFSQ1+k`h?=-+Ju|>>NyAl10~E_xHElw$V)2WL*#D|y$=!$fjKPF z62nIojQ=3#2b!}Y7IBtYS>ng?Q%bj|Rm@r_;~C(xOK1|X<6xBsHb~2p+nj)hj5cb| zcguf2Bi6Z3i+d?YE4=2>y~f#0zRXG*6gVnbd#NUXs*^XwA_FP7uS^MkZPbP8X&g{< zrI$)i>^iDO7s5dvIS3g)&5gQl+lvPi{@K~H+Osh#cTW{R-=Wf*lanCHg!{WT8;xdu z`lAuHMdUFxcYqp+Y4YBxf@1kJ?f(M5uPx*gJ=+CqgW-lQwd_7)$Fc6ktUBA%kO*Ks z-TAra=Q^zF*J0J`pCMuW3O+wTt@2z$X8HNbo=ffS{daOKC*<^zIl$L(xf-DXl~I>eFJ%iI!p=%+ z8BSQZTe}#s^io<-yQRxSgt`~IZvbTA;G?ANMZ&1gCMw*Hnv*{Dno1PI$M^)ji59>j zml!Iuz3r6A#onD~3$1d0P?E2=nooeu)|}0hik0R?GK0;kHle}@=}}>&UBIO{dtFR=0YpVL+}aB zZRAbZL~%o7>y}Juo%h4P0_yHCthXU9B2E zJs<2(->y5X!~pGg8hSEV(?--U3y9sHxR+3X@qrbeYye=!8Oc&BoN|zMziRqrF1a~VwsdMSaHGQj-?{zc)4nK&|`wvLfMYwq^$gAeW5OGBi8G$v(e z`)5X*toiy8fs3>iQ12s0-ri}n$r%W(zPe8FkMIB2X|j}92WsixzT17gK0Z2itCf%8 z>*O!ymL|>^WoK2sO_WlzOzV@pXkej8Ox>)kOow%R9cf7|dmm%8KGtksu#YwE z4vZYxeh!9sBFk2O?V1f!kA#k(fE(iF?a=A(Ba(`-E8d7+dFi0BZg%6dXKOAU%*i=7 zK8a+JCfWq3O|!=5y7gYKRlG9962hap>QhWz#;uhTK%@5n`=Ph$IKPTRlA9ZO; z0m%KjBg&0SpJ@{2JgHumr$ykX*2p~SeDQhu0v0IZkdY~5+F`be2&n6@o1q<&NBE8iXL9T_KdKr z5vq!xYCY}oFZB0|v{}1fRtbkJT$4q45SoOp@mfDt3=SCMoeZ*iOaEB-#VdY;=QA}$ z*2xd?wC(cGuM>L-5AjDr^3KnT*EvsR<(=WV*%TU891ok_$%PrbLVmQ-A3*|;3_9w+UTbB5Zw(j7eM zU@l5sZz`715llCddOr7=mGc6&@?7`ftMJAz_vf^@kK8g>!>4sW)_6^-Lw(V z3N6R<)m!@9B1j`?W2J2#q2;rThR@?}_lur&n29s=wSL@E4F|Tpmrt|S?+mZLzP|q1 zo36{3FRz;Ev%4+dD#k{ssZ&fSj1*RnNj;&lmQ7LJLM@qusnQ{*DM?XLp;nm+fHB`5 zpx?*f@$H+g6?hl0zH9zYy><-fWbsK=Fk2Pr1FNsDH(;#8=jxJ?>()&`_fx8JJW-tE zH?!G5=H^G~#Tl|_r28ONX5o5SX@htVXa)qkZrwO1=Y(~ z1-fZeodQVedEnXy%M4son}p1)?5ro&TjV?(;vXQK@?z3P+B@~?VXlhRx2orQprH8t zot->&k#jbmm}E;>x;549$*sTO#W>yjy~)Z^!nfSPzO?>@FD%#@OjL%X`wlmC?yE^> zi`6}l9!g z<9>T}uJ)~%&qMmo(7)^eDg5pDm(K6qh%(aE3U{B2UnoNoHP*LXLag;cnU(R;HWb;o zbP)Yd7?p;L?2D`B5|E2X<{tEqKJdhe>KT2o@c^eNEqp0IHy54I>veUga9z4$!*kNd zwN`aKbV@ZMYOMKCd*|nk%Ok3O(qCI?=^gqWG*PcRV=P+9fRpUClNHVRyPqlOEm=i9 z`uf9Or{~!65}gwi*B)EO{*|qxJM)x~MgnEl6xKgaIh|VLV_mVkXVF52=5D`_psI59@7wkhi?;L0x5RTkS4PLtAGMV2MeYPO+K<-~J2M z?=bGr95jY%ZL%Wfy;|zz9v;fSd0eU3edZa25j{c!avd&BlwF8HF<%L*Y1M=UCr)fI z(#nL+k1CuQIgfqNnq?HIr$!eQ;#E#g>djDRVoZJzm@KE>>kU^Y^$zNvK)=$@_vdFF zQdIfRwR{n-;r9{@ku@l-DF-bea|gdJ`CF5%R8;Ij%XA&D3?Ugi;0 z&-;w1`RszzCxxqa6 zpbA7HBo`W#yn>&{2z9yWw{vZAHT^p67v|M0v*@#w8?y`@ zAxD*?1icL@wtcI&^gP0(`&xz8I6A?15TI6cvh|sH{_g!3O!D$JD48h*Hj0l=b;`gq zl>@%syEf28ThZ4L_EnO`Fyz9JGjHrD+|Bw_G2M-k_rj&HHs4E(+m_<-l77g^U$|vj zE!QtT<=|+cTpk>K;r8I&Z3buCM&9?^h#yJMN92^)nMokOJjLhD3*iQ3 z$b~gN?-my0uyZf@&6Vs3M|v5JpiPuS?!J-1Pp@(x{(jT-b@}i}kErIKWMa;M zRqH8PE=W_jlXEHPT=$(L2!?@!^JGbw>O^oiDC zNaEg^&3&Rmtj)(1(y8;P@X-0@Z{GQ=c~Xy-*Nvks6@A}RFCazhwun)24+eajKGjN_ zgX~)hHOWkhz&GNC78F_qEoA@5IJ#hB71KflXe#u^(fbHgxIsz=N2W~KO-R)Q1I{NXYvLl*e^pAXe zq&QuIoU>X6`9=TD=NRopR`b6`za)I=oPkAH&)cA`_L6tbByF-LYsi@d6AQSskuQ07 zPEg0wEEtmxQ;kwoGq0n|RarJyR-`nlct zh&V|mru^|)WOv&0w9zPCJNF{z@XFaG$&cg^_?+EGZ1kc0tW}~HqIczSy3cLe4;GxA z_>AxQu>97St4nIgN?T&x(lcqUk2cgNS(ia*6rzL2>72vqCs+y}mrll{vGbAg$wmQY zplp?Pv;Ci}{-D_@3IYFEPA*+tDH{otG5RI^c}GFbvQ(OGJ^-ngthwjK>K+o<=uoWm zCz+YeC#CuHA}&~o!6tWpbIKKJr5l$xm(kz8sr?+CJ_(!vgAIK~^^+6K_pniJfA`CE z3R|sFws=3J@T8%VTOa;ocu0bVtfE|?6|L|0O*$)j?!;}< zkAwHHJj#5+f9H@Jta+2xU8{CMoGbjoSK@ZqRQilwoU*I+#QR4@3wNvOBz(1`A(Zi` zo;-|3RQW8j^OwV(T23Vu@1mN|;0@iL)9OBAFm364pX5H9M;Gj=+hdr!+WPU|EVEDJ zVg7%zC7s(bD`#Jaf+2s<#yh9b+s&b>(;MIOA6Hjy}c8{Ip-{iRHE*`c1p@ z9h`!{zf@q*ztEDpw=k=tvomN>>Uv`YQ^XI22B!9r-x(zgxmN7n7@VU0)K~APW_2mW zX@s~ZUUWD5T0k(jOd0oD&OrWs05iNB_$XOZ{;XzGOLv?z zZ0nQ6Dq(aob^#=1*llVT?67yqtWS?rNGmo|q6AwthewYv!)H}4Qdqrhtt=uy5Hk}t z(cvb+3%yq1UXncY0_i$ox&CC33kik*mTu%QNHa}c{z(E7Ra$_q(h6;MsGnoyDh`;R z*%a@TTH4k&sgk}@>g;X%DUAf3qq1FnoPH?aMQ}9CH_l1jZ}dbM%L!#cA-3jiw9-xv z{YNs>%WNv-J;~Gex^L>;5IOtwruq8XjT^t&)IaNtgR&(g#P*k&Bi>nP?a%Q6nK-ZC zxb5>yP6}%?1^-mx1j=|gd4nxgeeC&n3eci7uqw$MGJ z)0jfItZRC9o;r;lLk?loUF#4=a=s4k7oJsiK07X3K`a9EcKmoShZ|+D>l^{D19yOS z$^^+hG*0@)enUpZ$4)Dq*reWB<)cS?r6kKpDJag;Y&|P>ZlQXlDUQe&4!!r&JkkcB z)mv4Ju~fi;05~slBt0;7Yv-q<-A`{)&YUV-wK?z<(K5EOBPy_}v&Sz$0Y3ZR1cm04 z|IdXbdHzbuKPklvJcXK^!zbn#YK;K39UZww0cN#6t1I24{-tc%%{&jx>w-hNk%~dq z^`xH!2o&w4-5Y6}y#Civjyffgw1O!qbpt=4SW_X9;J@!>dGEC7f5#hb8bQaHL2z+T zIEV`@S$rv$VI+AGtjF_NY{uxn93Gu(dB?k8@DuBe!p_NZ*{%#39NPYjFAoGwPYIHt z1q`VZD(4GO#;O(r@g27s8=lhgYFcjax)*{6|-OD7~Bo2TrLN){OQH%a);4eR~ zA$QI9Ka>JAB$_Fp$A@LGP03tPxa3D7DJeo#k)%Oc{8FnG=nUcHf@IA_Olm#e5Nwbp z^!7Yy8evyAPao5huV-a`{54_fT7~{O9?M8ziJ1-=(L=l$+LMEM;i+dQ=tDWPmSa{I z5}HSABOm?*q9<4PBsh02pje+IkSUKHveS`5SxoGqD`PRCq_yFh}aH;N#EZ!))BOn#>o87l5dHhTjPLc}QXbft7K5B)# zllE51l|C=nL|iVKc;yc<3v8(?N5mWcdggN#r0zwq(Ae4*&Vzx@kV98{ykP|1^4F_FBz_cw_ zH_xX(-E2MxzsL+tviC*XnYYIptt_l`w(RX{*(DIV@hvZJx~@PUDeqo)1vMjLDG=z4 zNHsT5<66{e08u zc^tTw(ylj)dn1r$q1-mi-PnD?)fT28=BDQ6&71LZxbtk?813{~Flp~vYnlZrzX?Lq zyWZ=;GJ$2e8HW_7j?GlACHjX4$Ws_Y zeS93Kqtc8D0Kv)JT=tSdQqc`~Vx8181QBOz4z;1@D#2a|8VqSTMpQb3;A%a78{8x* zX)-DbtM~S_xazj2Z43!rC^MojXqc*ZO>r7DK`*(;6KU`pCMTizWuR~k(mXV8`x z38yz4)IOFOBa{w`?ZJ{NjUsxYo+l5;0il{JBk4f(RvF#nBBkQu1pjqwS5NRteA6|W z&#y|Sg26kag4$SFmZ){7Hb>R^3R&O#8+$)s882#at5(Kf3_uPMARckMyAuDh_NSxw z3iVG~Q*>@`D|T<%`IrW|zCWSo#kjYoP5nb%e#)I?_rn@Ok62}B*gS#c(30Z2<5L1_ ztzx!Jy)28rA-1pKKjQ1)Jj8bH{YZUzV<`}}=JsVNNB!bMM(2g4pB%2m->Ih)eN?jH2L%xe2nzajc>UVNbT z@nn(RNA;(9@6x<0tXP2dS)*CJgY|v~I%2n7E8N?+x@#3bSw(Z$^Xm`q1<(J~tev|= zb7N3T(a0GPEEpmr?RPPcYd-|QrzvRlhWHG8cNe4)$WmV4@UZ*e3I�ao&`5%8mOO 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%0Da9X{%m-lI9jhRTGYk7T{gIHO*N3eQqNyk=W0r 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 A&3V7JY;CZfA&Nubj44(TbT|P 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 wq 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+-9nCF3TT%a0Jg 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©x6eNBQJ8el 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 0 and x2 - x1 > eps and y2 - y1 > eps: inst['clean_bbox'] = [ round(float(x), 3) for x in [x1, y1, x2, y2] ] + if is_rbox_anno: + inst['clean_rbox'] = [xc, yc, box_w, box_h, angle] bboxes.append(inst) else: logger.warning( @@ -129,6 +141,9 @@ class COCODataSet(DetDataset): continue gt_bbox = np.zeros((num_bbox, 4), dtype=np.float32) + if is_rbox_anno: + gt_rbox = np.zeros((num_bbox, 5), dtype=np.float32) + gt_theta = np.zeros((num_bbox, 1), dtype=np.int32) gt_class = np.zeros((num_bbox, 1), dtype=np.int32) is_crowd = np.zeros((num_bbox, 1), dtype=np.int32) difficult = np.zeros((num_bbox, 1), dtype=np.int32) @@ -139,6 +154,9 @@ class COCODataSet(DetDataset): catid = box['category_id'] gt_class[i][0] = self.catid2clsid[catid] gt_bbox[i, :] = box['clean_bbox'] + # xc, yc, w, h, theta + if is_rbox_anno: + gt_rbox[i, :] = box['clean_rbox'] is_crowd[i][0] = box['iscrowd'] # check RLE format if 'segmentation' in box and box['iscrowd'] == 1: @@ -150,12 +168,22 @@ class COCODataSet(DetDataset): if has_segmentation and not any(gt_poly): continue - gt_rec = { - 'is_crowd': is_crowd, - 'gt_class': gt_class, - 'gt_bbox': gt_bbox, - 'gt_poly': gt_poly, - } + if is_rbox_anno: + gt_rec = { + 'is_crowd': is_crowd, + 'gt_class': gt_class, + 'gt_bbox': gt_bbox, + 'gt_rbox': gt_rbox, + 'gt_poly': gt_poly, + } if 'image' in self.data_fields else {} + else: + gt_rec = { + 'is_crowd': is_crowd, + 'gt_class': gt_class, + 'gt_bbox': gt_bbox, + 'gt_poly': gt_poly, + } if 'image' in self.data_fields else {} + for k, v in gt_rec.items(): if k in self.data_fields: coco_rec[k] = v diff --git a/ppdet/data/transform/batch_operators.py b/ppdet/data/transform/batch_operators.py index bd99c6f93..0cca6eddf 100644 --- a/ppdet/data/transform/batch_operators.py +++ b/ppdet/data/transform/batch_operators.py @@ -31,12 +31,8 @@ from ppdet.utils.logger import setup_logger logger = setup_logger(__name__) __all__ = [ - 'PadBatch', - 'BatchRandomResize', - 'Gt2YoloTarget', - 'Gt2FCOSTarget', - 'Gt2TTFTarget', - 'Gt2Solov2Target', + 'PadBatch', 'BatchRandomResize', 'Gt2YoloTarget', 'Gt2FCOSTarget', + 'Gt2TTFTarget', 'Gt2Solov2Target', 'RboxPadBatch' ] @@ -787,3 +783,111 @@ class Gt2Solov2Target(BaseOperator): data['grid_order{}'.format(idx)] = gt_grid_order return samples + + +@register_op +class RboxPadBatch(BaseOperator): + """ + Pad a batch of samples so they can be divisible by a stride. + The layout of each image should be 'CHW'. And convert poly to rbox. + Args: + pad_to_stride (int): If `pad_to_stride > 0`, pad zeros to ensure + height and width is divisible by `pad_to_stride`. + """ + + def __init__(self, pad_to_stride=0, pad_gt=False): + super(RboxPadBatch, self).__init__() + self.pad_to_stride = pad_to_stride + self.pad_gt = pad_gt + + def __call__(self, samples, context=None): + """ + Args: + samples (list): a batch of sample, each is dict. + """ + coarsest_stride = self.pad_to_stride + + max_shape = np.array([data['image'].shape for data in samples]).max( + axis=0) + if coarsest_stride > 0: + max_shape[1] = int( + np.ceil(max_shape[1] / coarsest_stride) * coarsest_stride) + max_shape[2] = int( + np.ceil(max_shape[2] / coarsest_stride) * coarsest_stride) + + for data in samples: + im = data['image'] + im_c, im_h, im_w = im.shape[:] + padding_im = np.zeros( + (im_c, max_shape[1], max_shape[2]), dtype=np.float32) + padding_im[:, :im_h, :im_w] = im + data['image'] = padding_im + if 'semantic' in data and data['semantic'] is not None: + semantic = data['semantic'] + padding_sem = np.zeros( + (1, max_shape[1], max_shape[2]), dtype=np.float32) + padding_sem[:, :im_h, :im_w] = semantic + data['semantic'] = padding_sem + if 'gt_segm' in data and data['gt_segm'] is not None: + gt_segm = data['gt_segm'] + padding_segm = np.zeros( + (gt_segm.shape[0], max_shape[1], max_shape[2]), + dtype=np.uint8) + padding_segm[:, :im_h, :im_w] = gt_segm + data['gt_segm'] = padding_segm + if self.pad_gt: + gt_num = [] + if 'gt_poly' in data and data['gt_poly'] is not None and len(data[ + 'gt_poly']) > 0: + pad_mask = True + else: + pad_mask = False + + if pad_mask: + poly_num = [] + poly_part_num = [] + point_num = [] + for data in samples: + gt_num.append(data['gt_bbox'].shape[0]) + if pad_mask: + poly_num.append(len(data['gt_poly'])) + for poly in data['gt_poly']: + poly_part_num.append(int(len(poly))) + for p_p in poly: + point_num.append(int(len(p_p) / 2)) + gt_num_max = max(gt_num) + + for i, sample in enumerate(samples): + assert 'gt_rbox' in sample + assert 'gt_rbox2poly' in sample + gt_box_data = -np.ones([gt_num_max, 4], dtype=np.float32) + gt_class_data = -np.ones([gt_num_max], dtype=np.int32) + is_crowd_data = np.ones([gt_num_max], dtype=np.int32) + + if pad_mask: + poly_num_max = max(poly_num) + poly_part_num_max = max(poly_part_num) + point_num_max = max(point_num) + gt_masks_data = -np.ones( + [poly_num_max, poly_part_num_max, point_num_max, 2], + dtype=np.float32) + + gt_num = sample['gt_bbox'].shape[0] + gt_box_data[0:gt_num, :] = sample['gt_bbox'] + gt_class_data[0:gt_num] = np.squeeze(sample['gt_class']) + is_crowd_data[0:gt_num] = np.squeeze(sample['is_crowd']) + if pad_mask: + for j, poly in enumerate(sample['gt_poly']): + for k, p_p in enumerate(poly): + pp_np = np.array(p_p).reshape(-1, 2) + gt_masks_data[j, k, :pp_np.shape[0], :] = pp_np + sample['gt_poly'] = gt_masks_data + sample['gt_bbox'] = gt_box_data + sample['gt_class'] = gt_class_data + sample['is_crowd'] = is_crowd_data + # ploy to rbox + polys = sample['gt_rbox2poly'] + rbox = bbox_utils.poly_to_rbox(polys) + sample['gt_rbox'] = rbox + + return samples diff --git a/ppdet/data/transform/operators.py b/ppdet/data/transform/operators.py index fabdf859c..eb21ee5a1 100644 --- a/ppdet/data/transform/operators.py +++ b/ppdet/data/transform/operators.py @@ -536,6 +536,18 @@ class RandomFlip(BaseOperator): bbox[:, 2] = width - oldx1 return bbox + def apply_rbox(self, bbox, width): + oldx1 = bbox[:, 0].copy() + oldx2 = bbox[:, 2].copy() + oldx3 = bbox[:, 4].copy() + oldx4 = bbox[:, 6].copy() + bbox[:, 0] = width - oldx1 + bbox[:, 2] = width - oldx2 + bbox[:, 4] = width - oldx3 + bbox[:, 6] = width - oldx4 + bbox = [bbox_utils.get_best_begin_point_single(e) for e in bbox] + return bbox + def apply(self, sample, context=None): """Filp the image and bounding box. Operators: @@ -567,6 +579,10 @@ class RandomFlip(BaseOperator): if 'gt_segm' in sample and sample['gt_segm'].any(): sample['gt_segm'] = sample['gt_segm'][:, :, ::-1] + if 'gt_rbox2poly' in sample and sample['gt_rbox2poly'].any(): + sample['gt_rbox2poly'] = self.apply_rbox(sample['gt_rbox2poly'], + width) + sample['flipped'] = True sample['image'] = im return sample @@ -704,6 +720,16 @@ class Resize(BaseOperator): [im_scale_x, im_scale_y], [resize_w, resize_h]) + # apply rbox + if 'gt_rbox2poly' in sample: + if np.array(sample['gt_rbox2poly']).shape[1] != 8: + logger.warn( + "gt_rbox2poly's length shoule be 8, but actually is {}". + format(len(sample['gt_rbox2poly']))) + sample['gt_rbox2poly'] = self.apply_bbox(sample['gt_rbox2poly'], + [im_scale_x, im_scale_y], + [resize_w, resize_h]) + # apply polygon if 'gt_poly' in sample and len(sample['gt_poly']) > 0: sample['gt_poly'] = self.apply_segm(sample['gt_poly'], im_shape[:2], @@ -1934,3 +1960,30 @@ class Poly2Mask(BaseOperator): ] sample['gt_segm'] = np.asarray(masks).astype(np.uint8) return sample + + +@register_op +class Rbox2Poly(BaseOperator): + """ + Convert rbbox format to poly format. + """ + + def __init__(self): + super(Rbox2Poly, self).__init__() + + def apply(self, sample, context=None): + assert 'gt_rbox' in sample + assert sample['gt_rbox'].shape[1] == 5 + rrects = sample['gt_rbox'] + x_ctr = rrects[:, 0] + y_ctr = rrects[:, 1] + width = rrects[:, 2] + height = rrects[:, 3] + x1 = x_ctr - width / 2.0 + y1 = y_ctr - height / 2.0 + x2 = x_ctr + width / 2.0 + y2 = y_ctr + height / 2.0 + sample['gt_bbox'] = np.stack([x1, y1, x2, y2], axis=1) + polys = bbox_utils.rbox2poly(rrects) + sample['gt_rbox2poly'] = polys + return sample diff --git a/ppdet/engine/export_utils.py b/ppdet/engine/export_utils.py index e6fa7f5d9..744775cd9 100644 --- a/ppdet/engine/export_utils.py +++ b/ppdet/engine/export_utils.py @@ -31,6 +31,7 @@ TRT_MIN_SUBGRAPH = { 'SSD': 60, 'RCNN': 40, 'RetinaNet': 40, + 'S2ANet': 40, 'EfficientDet': 40, 'Face': 3, 'TTFNet': 3, diff --git a/ppdet/engine/trainer.py b/ppdet/engine/trainer.py index be2c14e68..c64bbe5b8 100644 --- a/ppdet/engine/trainer.py +++ b/ppdet/engine/trainer.py @@ -31,7 +31,7 @@ from paddle.static import InputSpec from ppdet.core.workspace import create from ppdet.utils.checkpoint import load_weight, load_pretrain_weight -from ppdet.utils.visualizer import visualize_results +from ppdet.utils.visualizer import visualize_results, save_result from ppdet.metrics import Metric, COCOMetric, VOCMetric, WiderFaceMetric, get_infer_results from ppdet.data.source.category import get_categories import ppdet.utils.stats as stats @@ -333,7 +333,11 @@ class Trainer(object): def evaluate(self): self._eval_with_loader(self.loader) - def predict(self, images, draw_threshold=0.5, output_dir='output'): + def predict(self, + images, + draw_threshold=0.5, + output_dir='output', + save_txt=False): self.dataset.set_images(images) loader = create('TestReader')(self.dataset, 0) @@ -369,6 +373,7 @@ class Trainer(object): if 'mask' in batch_res else None segm_res = batch_res['segm'][start:end] \ if 'segm' in batch_res else None + image = visualize_results(image, bbox_res, mask_res, segm_res, int(outs['im_id']), catid2name, draw_threshold) @@ -380,6 +385,9 @@ class Trainer(object): logger.info("Detection bbox results save in {}".format( save_name)) image.save(save_name, quality=95) + if save_txt: + save_path = os.path.splitext(save_name)[0] + '.txt' + save_result(save_path, bbox_res, catid2name, draw_threshold) start = end def _get_save_image_name(self, output_dir, image_path): diff --git a/ppdet/ext_op/README.md b/ppdet/ext_op/README.md new file mode 100644 index 000000000..7ada0acf7 --- /dev/null +++ b/ppdet/ext_op/README.md @@ -0,0 +1,38 @@ +# 自定义OP编译 +旋转框IOU计算OP是参考[自定义外部算子](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op/new_custom_op.html) 。 + +## 1. 环境依赖 +- Paddle >= 2.0.1 +- gcc 8.2 + +## 2. 安装 +``` +python3.7 setup.py install +``` + +按照如下方式使用 +``` +# 引入自定义op +from rbox_iou_ops import rbox_iou + +paddle.set_device('gpu:0') +paddle.disable_static() + +rbox1 = np.random.rand(13000, 5) +rbox2 = np.random.rand(7, 5) + +pd_rbox1 = paddle.to_tensor(rbox1) +pd_rbox2 = paddle.to_tensor(rbox2) + +iou = rbox_iou(pd_rbox1, pd_rbox2) +print('iou', iou) +``` + +## 3. 单元测试 +单元测试`test.py`文件中,通过对比python实现的结果和测试自定义op结果。 + +由于python计算细节与cpp计算细节略有区别,误差区间设置为0.02。 +``` +python3.7 test.py +``` +提示`rbox_iou OP compute right!`说明OP测试通过。 diff --git a/ppdet/ext_op/rbox_iou_op.cc b/ppdet/ext_op/rbox_iou_op.cc new file mode 100644 index 000000000..05890fd2b --- /dev/null +++ b/ppdet/ext_op/rbox_iou_op.cc @@ -0,0 +1,46 @@ +/* Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + +#include "paddle/extension.h" + +#include + +std::vector RboxIouCPUForward(const paddle::Tensor& rbox1, const paddle::Tensor& rbox2); +std::vector RboxIouCUDAForward(const paddle::Tensor& rbox1, const paddle::Tensor& rbox2); + + +#define CHECK_INPUT_SAME(x1, x2) PD_CHECK(x1.place() == x2.place(), "input must be smae pacle.") +std::vector RboxIouForward(const paddle::Tensor& rbox1, const paddle::Tensor& rbox2) { + CHECK_INPUT_SAME(rbox1, rbox2); + if (rbox1.place() == paddle::PlaceType::kCPU) { + return RboxIouCPUForward(rbox1, rbox2); + } + else if (rbox1.place() == paddle::PlaceType::kGPU) { + return RboxIouCUDAForward(rbox1, rbox2); + } +} + +std::vector> InferShape(std::vector rbox1_shape, std::vector rbox2_shape) { + return {{rbox1_shape[0], rbox2_shape[0]}}; +} + +std::vector InferDtype(paddle::DataType t1, paddle::DataType t2) { + return {t1}; +} + +PD_BUILD_OP(rbox_iou) + .Inputs({"RBOX1", "RBOX2"}) + .Outputs({"Output"}) + .SetKernelFn(PD_KERNEL(RboxIouForward)) + .SetInferShapeFn(PD_INFER_SHAPE(InferShape)) + .SetInferDtypeFn(PD_INFER_DTYPE(InferDtype)); diff --git a/ppdet/ext_op/rbox_iou_op.cu b/ppdet/ext_op/rbox_iou_op.cu new file mode 100644 index 000000000..0581f782f --- /dev/null +++ b/ppdet/ext_op/rbox_iou_op.cu @@ -0,0 +1,507 @@ +/* Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ + + +#include +#include + +#ifdef __CUDACC__ +// Designates functions callable from the host (CPU) and the device (GPU) +#define HOST_DEVICE __host__ __device__ +#define HOST_DEVICE_INLINE HOST_DEVICE __forceinline__ +#else +#include +#define HOST_DEVICE +#define HOST_DEVICE_INLINE HOST_DEVICE inline +#endif + +#include "paddle/extension.h" + +#include + +namespace { + +template +struct RotatedBox { + T x_ctr, y_ctr, w, h, a; +}; + +template +struct Point { + T x, y; + HOST_DEVICE_INLINE Point(const T& px = 0, const T& py = 0) : x(px), y(py) {} + HOST_DEVICE_INLINE Point operator+(const Point& p) const { + return Point(x + p.x, y + p.y); + } + HOST_DEVICE_INLINE Point& operator+=(const Point& p) { + x += p.x; + y += p.y; + return *this; + } + HOST_DEVICE_INLINE Point operator-(const Point& p) const { + return Point(x - p.x, y - p.y); + } + HOST_DEVICE_INLINE Point operator*(const T coeff) const { + return Point(x * coeff, y * coeff); + } +}; + +template +HOST_DEVICE_INLINE T dot_2d(const Point& A, const Point& B) { + return A.x * B.x + A.y * B.y; +} + +template +HOST_DEVICE_INLINE T cross_2d(const Point& A, const Point& B) { + return A.x * B.y - B.x * A.y; +} + +template +HOST_DEVICE_INLINE void get_rotated_vertices( + const RotatedBox& box, + Point (&pts)[4]) { + // M_PI / 180. == 0.01745329251 + //double theta = box.a * 0.01745329251; + //MODIFIED + double theta = box.a; + T cosTheta2 = (T)cos(theta) * 0.5f; + T sinTheta2 = (T)sin(theta) * 0.5f; + + // y: top --> down; x: left --> right + pts[0].x = box.x_ctr - sinTheta2 * box.h - cosTheta2 * box.w; + pts[0].y = box.y_ctr + cosTheta2 * box.h - sinTheta2 * box.w; + pts[1].x = box.x_ctr + sinTheta2 * box.h - cosTheta2 * box.w; + pts[1].y = box.y_ctr - cosTheta2 * box.h - sinTheta2 * box.w; + pts[2].x = 2 * box.x_ctr - pts[0].x; + pts[2].y = 2 * box.y_ctr - pts[0].y; + pts[3].x = 2 * box.x_ctr - pts[1].x; + pts[3].y = 2 * box.y_ctr - pts[1].y; +} + +template +HOST_DEVICE_INLINE int get_intersection_points( + const Point (&pts1)[4], + const Point (&pts2)[4], + Point (&intersections)[24]) { + // Line vector + // A line from p1 to p2 is: p1 + (p2-p1)*t, t=[0,1] + Point vec1[4], vec2[4]; + for (int i = 0; i < 4; i++) { + vec1[i] = pts1[(i + 1) % 4] - pts1[i]; + vec2[i] = pts2[(i + 1) % 4] - pts2[i]; + } + + // Line test - test all line combos for intersection + int num = 0; // number of intersections + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + // Solve for 2x2 Ax=b + T det = cross_2d(vec2[j], vec1[i]); + + // This takes care of parallel lines + if (fabs(det) <= 1e-14) { + continue; + } + + auto vec12 = pts2[j] - pts1[i]; + + T t1 = cross_2d(vec2[j], vec12) / det; + T t2 = cross_2d(vec1[i], vec12) / det; + + if (t1 >= 0.0f && t1 <= 1.0f && t2 >= 0.0f && t2 <= 1.0f) { + intersections[num++] = pts1[i] + vec1[i] * t1; + } + } + } + + // Check for vertices of rect1 inside rect2 + { + const auto& AB = vec2[0]; + const auto& DA = vec2[3]; + auto ABdotAB = dot_2d(AB, AB); + auto ADdotAD = dot_2d(DA, DA); + for (int i = 0; i < 4; i++) { + // assume ABCD is the rectangle, and P is the point to be judged + // P is inside ABCD iff. P's projection on AB lies within AB + // and P's projection on AD lies within AD + + auto AP = pts1[i] - pts2[0]; + + auto APdotAB = dot_2d(AP, AB); + auto APdotAD = -dot_2d(AP, DA); + + if ((APdotAB >= 0) && (APdotAD >= 0) && (APdotAB <= ABdotAB) && + (APdotAD <= ADdotAD)) { + intersections[num++] = pts1[i]; + } + } + } + + // Reverse the check - check for vertices of rect2 inside rect1 + { + const auto& AB = vec1[0]; + const auto& DA = vec1[3]; + auto ABdotAB = dot_2d(AB, AB); + auto ADdotAD = dot_2d(DA, DA); + for (int i = 0; i < 4; i++) { + auto AP = pts2[i] - pts1[0]; + + auto APdotAB = dot_2d(AP, AB); + auto APdotAD = -dot_2d(AP, DA); + + if ((APdotAB >= 0) && (APdotAD >= 0) && (APdotAB <= ABdotAB) && + (APdotAD <= ADdotAD)) { + intersections[num++] = pts2[i]; + } + } + } + + return num; +} + +template +HOST_DEVICE_INLINE int convex_hull_graham( + const Point (&p)[24], + const int& num_in, + Point (&q)[24], + bool shift_to_zero = false) { + assert(num_in >= 2); + + // Step 1: + // Find point with minimum y + // if more than 1 points have the same minimum y, + // pick the one with the minimum x. + int t = 0; + for (int i = 1; i < num_in; i++) { + if (p[i].y < p[t].y || (p[i].y == p[t].y && p[i].x < p[t].x)) { + t = i; + } + } + auto& start = p[t]; // starting point + + // Step 2: + // Subtract starting point from every points (for sorting in the next step) + for (int i = 0; i < num_in; i++) { + q[i] = p[i] - start; + } + + // Swap the starting point to position 0 + auto tmp = q[0]; + q[0] = q[t]; + q[t] = tmp; + + // Step 3: + // Sort point 1 ~ num_in according to their relative cross-product values + // (essentially sorting according to angles) + // If the angles are the same, sort according to their distance to origin + T dist[24]; + for (int i = 0; i < num_in; i++) { + dist[i] = dot_2d(q[i], q[i]); + } + +#ifdef __CUDACC__ + // CUDA version + // In the future, we can potentially use thrust + // for sorting here to improve speed (though not guaranteed) + for (int i = 1; i < num_in - 1; i++) { + for (int j = i + 1; j < num_in; j++) { + T crossProduct = cross_2d(q[i], q[j]); + if ((crossProduct < -1e-6) || + (fabs(crossProduct) < 1e-6 && dist[i] > dist[j])) { + auto q_tmp = q[i]; + q[i] = q[j]; + q[j] = q_tmp; + auto dist_tmp = dist[i]; + dist[i] = dist[j]; + dist[j] = dist_tmp; + } + } + } +#else + // CPU version + std::sort( + q + 1, q + num_in, [](const Point& A, const Point& B) -> bool { + T temp = cross_2d(A, B); + if (fabs(temp) < 1e-6) { + return dot_2d(A, A) < dot_2d(B, B); + } else { + return temp > 0; + } + }); +#endif + + // Step 4: + // Make sure there are at least 2 points (that don't overlap with each other) + // in the stack + int k; // index of the non-overlapped second point + for (k = 1; k < num_in; k++) { + if (dist[k] > 1e-8) { + break; + } + } + if (k == num_in) { + // We reach the end, which means the convex hull is just one point + q[0] = p[t]; + return 1; + } + q[1] = q[k]; + int m = 2; // 2 points in the stack + // Step 5: + // Finally we can start the scanning process. + // When a non-convex relationship between the 3 points is found + // (either concave shape or duplicated points), + // we pop the previous point from the stack + // until the 3-point relationship is convex again, or + // until the stack only contains two points + for (int i = k + 1; i < num_in; i++) { + while (m > 1 && cross_2d(q[i] - q[m - 2], q[m - 1] - q[m - 2]) >= 0) { + m--; + } + q[m++] = q[i]; + } + + // Step 6 (Optional): + // In general sense we need the original coordinates, so we + // need to shift the points back (reverting Step 2) + // But if we're only interested in getting the area/perimeter of the shape + // We can simply return. + if (!shift_to_zero) { + for (int i = 0; i < m; i++) { + q[i] += start; + } + } + + return m; +} + +template +HOST_DEVICE_INLINE T polygon_area(const Point (&q)[24], const int& m) { + if (m <= 2) { + return 0; + } + + T area = 0; + for (int i = 1; i < m - 1; i++) { + area += fabs(cross_2d(q[i] - q[0], q[i + 1] - q[0])); + } + + return area / 2.0; +} + +template +HOST_DEVICE_INLINE T rboxes_intersection( + const RotatedBox& box1, + const RotatedBox& box2) { + // There are up to 4 x 4 + 4 + 4 = 24 intersections (including dups) returned + // from rotated_rect_intersection_pts + Point intersectPts[24], orderedPts[24]; + + Point pts1[4]; + Point pts2[4]; + get_rotated_vertices(box1, pts1); + get_rotated_vertices(box2, pts2); + + int num = get_intersection_points(pts1, pts2, intersectPts); + + if (num <= 2) { + return 0.0; + } + + // Convex Hull to order the intersection points in clockwise order and find + // the contour area. + int num_convex = convex_hull_graham(intersectPts, num, orderedPts, true); + return polygon_area(orderedPts, num_convex); +} + +} // namespace + +template +HOST_DEVICE_INLINE T +rbox_iou_single(T const* const box1_raw, T const* const box2_raw) { + // shift center to the middle point to achieve higher precision in result + RotatedBox box1, box2; + auto center_shift_x = (box1_raw[0] + box2_raw[0]) / 2.0; + auto center_shift_y = (box1_raw[1] + box2_raw[1]) / 2.0; + box1.x_ctr = box1_raw[0] - center_shift_x; + box1.y_ctr = box1_raw[1] - center_shift_y; + box1.w = box1_raw[2]; + box1.h = box1_raw[3]; + box1.a = box1_raw[4]; + box2.x_ctr = box2_raw[0] - center_shift_x; + box2.y_ctr = box2_raw[1] - center_shift_y; + box2.w = box2_raw[2]; + box2.h = box2_raw[3]; + box2.a = box2_raw[4]; + + const T area1 = box1.w * box1.h; + const T area2 = box2.w * box2.h; + if (area1 < 1e-14 || area2 < 1e-14) { + return 0.f; + } + + const T intersection = rboxes_intersection(box1, box2); + const T iou = intersection / (area1 + area2 - intersection); + return iou; +} + + +// 2D block with 32 * 16 = 512 threads per block +const int BLOCK_DIM_X = 32; +const int BLOCK_DIM_Y = 16; + +/** + Computes ceil(a / b) +*/ +template +__host__ __device__ __forceinline__ T CeilDiv0(T a, T b) { + return (a + b - 1) / b; +} + +static inline int CeilDiv(const int a, const int b) { + return (a + b -1) / b; +} + +template +__global__ void rbox_iou_cuda_kernel( + const int rbox1_num, + const int rbox2_num, + const T* rbox1_data_ptr, + const T* rbox2_data_ptr, + T* output_data_ptr) { + + // get row_start and col_start + const int rbox1_block_idx = blockIdx.x * blockDim.x; + const int rbox2_block_idx = blockIdx.y * blockDim.y; + + const int rbox1_thread_num = min(rbox1_num - rbox1_block_idx, blockDim.x); + const int rbox2_thread_num = min(rbox2_num - rbox2_block_idx, blockDim.y); + + __shared__ T block_boxes1[BLOCK_DIM_X * 5]; + __shared__ T block_boxes2[BLOCK_DIM_Y * 5]; + + + // It's safe to copy using threadIdx.x since BLOCK_DIM_X >= BLOCK_DIM_Y + if (threadIdx.x < rbox1_thread_num && threadIdx.y == 0) { + block_boxes1[threadIdx.x * 5 + 0] = + rbox1_data_ptr[(rbox1_block_idx + threadIdx.x) * 5 + 0]; + block_boxes1[threadIdx.x * 5 + 1] = + rbox1_data_ptr[(rbox1_block_idx + threadIdx.x) * 5 + 1]; + block_boxes1[threadIdx.x * 5 + 2] = + rbox1_data_ptr[(rbox1_block_idx + threadIdx.x) * 5 + 2]; + block_boxes1[threadIdx.x * 5 + 3] = + rbox1_data_ptr[(rbox1_block_idx + threadIdx.x) * 5 + 3]; + block_boxes1[threadIdx.x * 5 + 4] = + rbox1_data_ptr[(rbox1_block_idx + threadIdx.x) * 5 + 4]; + } + + // threadIdx.x < BLOCK_DIM_Y=rbox2_thread_num, just use same condition as above: threadIdx.y == 0 + if (threadIdx.x < rbox2_thread_num && threadIdx.y == 0) { + block_boxes2[threadIdx.x * 5 + 0] = + rbox2_data_ptr[(rbox2_block_idx + threadIdx.x) * 5 + 0]; + block_boxes2[threadIdx.x * 5 + 1] = + rbox2_data_ptr[(rbox2_block_idx + threadIdx.x) * 5 + 1]; + block_boxes2[threadIdx.x * 5 + 2] = + rbox2_data_ptr[(rbox2_block_idx + threadIdx.x) * 5 + 2]; + block_boxes2[threadIdx.x * 5 + 3] = + rbox2_data_ptr[(rbox2_block_idx + threadIdx.x) * 5 + 3]; + block_boxes2[threadIdx.x * 5 + 4] = + rbox2_data_ptr[(rbox2_block_idx + threadIdx.x) * 5 + 4]; + } + + // sync + __syncthreads(); + + if (threadIdx.x < rbox1_thread_num && threadIdx.y < rbox2_thread_num) { + int offset = (rbox1_block_idx + threadIdx.x) * rbox2_num + rbox2_block_idx + threadIdx.y; + output_data_ptr[offset] = rbox_iou_single(block_boxes1 + threadIdx.x * 5, block_boxes2 + threadIdx.y * 5); + } +} + +#define CHECK_INPUT_GPU(x) PD_CHECK(x.place() == paddle::PlaceType::kGPU, #x " must be a GPU Tensor.") + +std::vector RboxIouCUDAForward(const paddle::Tensor& rbox1, const paddle::Tensor& rbox2) { + CHECK_INPUT_GPU(rbox1); + CHECK_INPUT_GPU(rbox2); + + auto rbox1_num = rbox1.shape()[0]; + auto rbox2_num = rbox2.shape()[0]; + + auto output = paddle::Tensor(paddle::PlaceType::kGPU); + output.reshape({rbox1_num, rbox2_num}); + + const int blocks_x = CeilDiv(rbox1_num, BLOCK_DIM_X); + const int blocks_y = CeilDiv(rbox2_num, BLOCK_DIM_Y); + + dim3 blocks(blocks_x, blocks_y); + dim3 threads(BLOCK_DIM_X, BLOCK_DIM_Y); + + PD_DISPATCH_FLOATING_TYPES( + rbox1.type(), + "rbox_iou_cuda_kernel", + ([&] { + rbox_iou_cuda_kernel<<>>( + rbox1_num, + rbox2_num, + rbox1.data(), + rbox2.data(), + output.mutable_data()); + })); + + return {output}; +} + + +template +void rbox_iou_cpu_kernel( + const int rbox1_num, + const int rbox2_num, + const T* rbox1_data_ptr, + const T* rbox2_data_ptr, + T* output_data_ptr) { + + int i, j; + for (i = 0; i < rbox1_num; i++) { + for (j = 0; j < rbox2_num; j++) { + int offset = i * rbox2_num + j; + output_data_ptr[offset] = rbox_iou_single(rbox1_data_ptr + i * 5, rbox2_data_ptr + j * 5); + } + } +} + + +#define CHECK_INPUT_CPU(x) PD_CHECK(x.place() == paddle::PlaceType::kCPU, #x " must be a CPU Tensor.") + +std::vector RboxIouCPUForward(const paddle::Tensor& rbox1, const paddle::Tensor& rbox2) { + CHECK_INPUT_CPU(rbox1); + CHECK_INPUT_CPU(rbox2); + + auto rbox1_num = rbox1.shape()[0]; + auto rbox2_num = rbox2.shape()[0]; + + auto output = paddle::Tensor(paddle::PlaceType::kCPU); + output.reshape({rbox1_num, rbox2_num}); + + PD_DISPATCH_FLOATING_TYPES( + rbox1.type(), + "rbox_iou_cpu_kernel", + ([&] { + rbox_iou_cpu_kernel( + rbox1_num, + rbox2_num, + rbox1.data(), + rbox2.data(), + output.mutable_data()); + })); + + return {output}; +} diff --git a/ppdet/ext_op/setup.py b/ppdet/ext_op/setup.py new file mode 100644 index 000000000..6859f0cc2 --- /dev/null +++ b/ppdet/ext_op/setup.py @@ -0,0 +1,6 @@ +from paddle.utils.cpp_extension import CppExtension, CUDAExtension, setup + +if __name__ == "__main__": + setup( + name='rbox_iou_ops', + ext_modules=CUDAExtension(sources=['rbox_iou_op.cc', 'rbox_iou_op.cu'])) diff --git a/ppdet/ext_op/test.py b/ppdet/ext_op/test.py new file mode 100644 index 000000000..83403edd3 --- /dev/null +++ b/ppdet/ext_op/test.py @@ -0,0 +1,154 @@ +import numpy as np +import os +import sys +import cv2 +import time +import shapely +from shapely.geometry import Polygon +import paddle + +paddle.set_device('gpu:0') +paddle.disable_static() + +try: + from rbox_iou_ops import rbox_iou +except Exception as e: + print('import custom_ops error', e) + sys.exit(-1) + +# generate random data +rbox1 = np.random.rand(13000, 5) +rbox2 = np.random.rand(7, 5) + +# x1 y1 w h [0, 0.5] +rbox1[:, 0:4] = rbox1[:, 0:4] * 0.45 + 0.001 +rbox2[:, 0:4] = rbox2[:, 0:4] * 0.45 + 0.001 + +# generate rbox +rbox1[:, 4] = rbox1[:, 4] - 0.5 +rbox2[:, 4] = rbox2[:, 4] - 0.5 + +print('rbox1', rbox1.shape, 'rbox2', rbox2.shape) + +# to paddle tensor +pd_rbox1 = paddle.to_tensor(rbox1) +pd_rbox2 = paddle.to_tensor(rbox2) + +iou = rbox_iou(pd_rbox1, pd_rbox2) +start_time = time.time() +print('paddle time:', time.time() - start_time) +print('iou is', iou.cpu().shape) + + +# get gt +def rbox2poly_single(rrect, get_best_begin_point=False): + """ + rrect:[x_ctr,y_ctr,w,h,angle] + to + poly:[x0,y0,x1,y1,x2,y2,x3,y3] + """ + x_ctr, y_ctr, width, height, angle = rrect[:5] + tl_x, tl_y, br_x, br_y = -width / 2, -height / 2, width / 2, height / 2 + # rect 2x4 + rect = np.array([[tl_x, br_x, br_x, tl_x], [tl_y, tl_y, br_y, br_y]]) + R = np.array([[np.cos(angle), -np.sin(angle)], + [np.sin(angle), np.cos(angle)]]) + # poly + poly = R.dot(rect) + x0, x1, x2, x3 = poly[0, :4] + x_ctr + y0, y1, y2, y3 = poly[1, :4] + y_ctr + poly = np.array([x0, y0, x1, y1, x2, y2, x3, y3], dtype=np.float32) + return poly + + +def intersection(g, p): + """ + Intersection. + """ + + g = g[:8].reshape((4, 2)) + p = p[:8].reshape((4, 2)) + + a = g + b = p + + use_filter = True + if use_filter: + # step1: + inter_x1 = np.maximum(np.min(a[:, 0]), np.min(b[:, 0])) + inter_x2 = np.minimum(np.max(a[:, 0]), np.max(b[:, 0])) + inter_y1 = np.maximum(np.min(a[:, 1]), np.min(b[:, 1])) + inter_y2 = np.minimum(np.max(a[:, 1]), np.max(b[:, 1])) + if inter_x1 >= inter_x2 or inter_y1 >= inter_y2: + return 0. + x1 = np.minimum(np.min(a[:, 0]), np.min(b[:, 0])) + x2 = np.maximum(np.max(a[:, 0]), np.max(b[:, 0])) + y1 = np.minimum(np.min(a[:, 1]), np.min(b[:, 1])) + y2 = np.maximum(np.max(a[:, 1]), np.max(b[:, 1])) + if x1 >= x2 or y1 >= y2 or (x2 - x1) < 2 or (y2 - y1) < 2: + return 0. + + g = Polygon(g) + p = Polygon(p) + #g = g.buffer(0) + #p = p.buffer(0) + if not g.is_valid or not p.is_valid: + return 0 + + inter = Polygon(g).intersection(Polygon(p)).area + union = g.area + p.area - inter + if union == 0: + return 0 + else: + return inter / union + + +# rbox_iou by python +def rbox_overlaps(anchors, gt_bboxes, use_cv2=False): + """ + + Args: + anchors: [NA, 5] x1,y1,x2,y2,angle + gt_bboxes: [M, 5] x1,y1,x2,y2,angle + + Returns: + + """ + assert anchors.shape[1] == 5 + assert gt_bboxes.shape[1] == 5 + + gt_bboxes_ploy = [rbox2poly_single(e) for e in gt_bboxes] + anchors_ploy = [rbox2poly_single(e) for e in anchors] + + num_gt, num_anchors = len(gt_bboxes_ploy), len(anchors_ploy) + iou = np.zeros((num_gt, num_anchors), dtype=np.float32) + + start_time = time.time() + for i in range(num_gt): + for j in range(num_anchors): + try: + iou[i, j] = intersection(gt_bboxes_ploy[i], anchors_ploy[j]) + except Exception as e: + print('cur gt_bboxes_ploy[i]', gt_bboxes_ploy[i], + 'anchors_ploy[j]', anchors_ploy[j], e) + iou = iou.T + print('intersection all sp_time', time.time() - start_time) + return iou + + +# make coor as int +ploy_rbox1 = rbox1 +ploy_rbox2 = rbox2 +ploy_rbox1[:, 0:4] = rbox1[:, 0:4] * 1024 +ploy_rbox2[:, 0:4] = rbox2[:, 0:4] * 1024 + +start_time = time.time() +iou_py = rbox_overlaps(ploy_rbox1, ploy_rbox2, use_cv2=False) +print('rbox time', time.time() - start_time) +print(iou_py.shape) + +iou_pd = iou.cpu().numpy() +sum_abs_diff = np.sum(np.abs(iou_pd - iou_py)) +print('sum of abs diff', sum_abs_diff) +if sum_abs_diff < 0.02: + print("rbox_iou OP compute right!") diff --git a/ppdet/metrics/coco_utils.py b/ppdet/metrics/coco_utils.py index 82d5cc856..a7ac32226 100644 --- a/ppdet/metrics/coco_utils.py +++ b/ppdet/metrics/coco_utils.py @@ -21,7 +21,7 @@ import sys import numpy as np import itertools -from ppdet.metrics.json_results import get_det_res, get_seg_res, get_solov2_segm_res +from ppdet.metrics.json_results import get_det_res, get_det_poly_res, get_seg_res, get_solov2_segm_res from ppdet.metrics.map_utils import draw_pr_curve from ppdet.utils.logger import setup_logger @@ -45,8 +45,12 @@ def get_infer_results(outs, catid, bias=0): infer_res = {} if 'bbox' in outs: - infer_res['bbox'] = get_det_res( - outs['bbox'], outs['bbox_num'], im_id, catid, bias=bias) + if len(outs['bbox']) > 0 and len(outs['bbox'][0]) > 6: + infer_res['bbox'] = get_det_poly_res( + outs['bbox'], outs['bbox_num'], im_id, catid, bias=bias) + else: + infer_res['bbox'] = get_det_res( + outs['bbox'], outs['bbox_num'], im_id, catid, bias=bias) if 'mask' in outs: # mask post process diff --git a/ppdet/metrics/json_results.py b/ppdet/metrics/json_results.py index 0c02cdba3..f56076661 100755 --- a/ppdet/metrics/json_results.py +++ b/ppdet/metrics/json_results.py @@ -43,6 +43,54 @@ def get_det_res(bboxes, bbox_nums, image_id, label_to_cat_id_map, bias=0): return det_res +def get_det_poly_res(bboxes, bbox_nums, image_id, label_to_cat_id_map, bias=0): + det_res = [] + k = 0 + for i in range(len(bbox_nums)): + cur_image_id = int(image_id[i][0]) + det_nums = bbox_nums[i] + for j in range(det_nums): + dt = bboxes[k] + k = k + 1 + num_id, score, x1, y1, x2, y2, x3, y3, x4, y4 = dt.tolist() + if int(num_id) < 0: + continue + category_id = int(num_id) + rbox = [x1, y1, x2, y2, x3, y3, x4, y4] + dt_res = { + 'image_id': cur_image_id, + 'category_id': category_id, + 'bbox': rbox, + 'score': score + } + det_res.append(dt_res) + return det_res + + +def get_det_poly_res(bboxes, bbox_nums, image_id, label_to_cat_id_map, bias=0): + det_res = [] + k = 0 + for i in range(len(bbox_nums)): + cur_image_id = int(image_id[i][0]) + det_nums = bbox_nums[i] + for j in range(det_nums): + dt = bboxes[k] + k = k + 1 + num_id, score, x1, y1, x2, y2, x3, y3, x4, y4 = dt.tolist() + if int(num_id) < 0: + continue + category_id = int(num_id) + rbox = [x1, y1, x2, y2, x3, y3, x4, y4] + dt_res = { + 'image_id': cur_image_id, + 'category_id': category_id, + 'bbox': rbox, + 'score': score + } + det_res.append(dt_res) + return det_res + + def get_seg_res(masks, bboxes, mask_nums, image_id, label_to_cat_id_map): import pycocotools.mask as mask_util seg_res = [] diff --git a/ppdet/modeling/architectures/__init__.py b/ppdet/modeling/architectures/__init__.py index 6ffb47115..ae881607c 100644 --- a/ppdet/modeling/architectures/__init__.py +++ b/ppdet/modeling/architectures/__init__.py @@ -14,6 +14,7 @@ from . import ssd from . import fcos from . import solov2 from . import ttfnet +from . import s2anet from .meta_arch import * from .faster_rcnn import * @@ -24,3 +25,4 @@ from .ssd import * from .fcos import * from .solov2 import * from .ttfnet import * +from .s2anet import * diff --git a/ppdet/modeling/architectures/s2anet.py b/ppdet/modeling/architectures/s2anet.py new file mode 100644 index 000000000..72e9e820a --- /dev/null +++ b/ppdet/modeling/architectures/s2anet.py @@ -0,0 +1,100 @@ +# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import paddle +from ppdet.core.workspace import register, create +from .meta_arch import BaseArch +import numpy as np + +__all__ = ['S2ANet'] + + +@register +class S2ANet(BaseArch): + __category__ = 'architecture' + __inject__ = [ + 's2anet_head', + 's2anet_bbox_post_process', + ] + + def __init__(self, backbone, neck, s2anet_head, s2anet_bbox_post_process): + """ + S2ANet, see https://arxiv.org/pdf/2008.09397.pdf + + Args: + backbone (object): backbone instance + neck (object): `FPN` instance + s2anet_head (object): `S2ANetHead` instance + s2anet_bbox_post_process (object): `S2ANetBBoxPostProcess` instance + """ + super(S2ANet, self).__init__() + self.backbone = backbone + self.neck = neck + self.s2anet_head = s2anet_head + self.s2anet_bbox_post_process = s2anet_bbox_post_process + + @classmethod + def from_config(cls, cfg, *args, **kwargs): + backbone = create(cfg['backbone']) + kwargs = {'input_shape': backbone.out_shape} + neck = cfg['neck'] and create(cfg['neck'], **kwargs) + + out_shape = neck and neck.out_shape or backbone.out_shape + kwargs = {'input_shape': out_shape} + s2anet_head = create(cfg['s2anet_head'], **kwargs) + s2anet_bbox_post_process = create(cfg['s2anet_bbox_post_process'], + **kwargs) + + return { + 'backbone': backbone, + 'neck': neck, + "s2anet_head": s2anet_head, + "s2anet_bbox_post_process": s2anet_bbox_post_process, + } + + def _forward(self): + body_feats = self.backbone(self.inputs) + if self.neck is not None: + body_feats = self.neck(body_feats) + self.s2anet_head(body_feats) + if self.training: + loss = self.s2anet_head.get_loss(self.inputs) + total_loss = paddle.add_n(list(loss.values())) + loss.update({'loss': total_loss}) + return loss + else: + im_shape = self.inputs['im_shape'] + scale_factor = self.inputs['scale_factor'] + nms_pre = self.s2anet_bbox_post_process.nms_pre + pred_scores, pred_bboxes = self.s2anet_head.get_prediction(nms_pre) + + # post_process + pred_cls_score_bbox, bbox_num, index = self.s2anet_bbox_post_process.get_prediction( + pred_scores, pred_bboxes, im_shape, scale_factor) + + # output + output = {'bbox': pred_cls_score_bbox, 'bbox_num': bbox_num} + return output + + def get_loss(self, ): + loss = self._forward() + return loss + + def get_pred(self): + output = self._forward() + return output diff --git a/ppdet/modeling/bbox_utils.py b/ppdet/modeling/bbox_utils.py index 3308684aa..c77a5aec5 100644 --- a/ppdet/modeling/bbox_utils.py +++ b/ppdet/modeling/bbox_utils.py @@ -16,6 +16,7 @@ import math import paddle import paddle.nn.functional as F import math +import numpy as np def bbox2delta(src_boxes, tgt_boxes, weights): @@ -260,3 +261,268 @@ def bbox_iou(box1, box2, giou=False, diou=False, ciou=False, eps=1e-9): return iou - (rho2 / c2 + v * alpha) else: return iou + + +def rect2rbox(bboxes): + """ + :param bboxes: shape (n, 4) (xmin, ymin, xmax, ymax) + :return: dbboxes: shape (n, 5) (x_ctr, y_ctr, w, h, angle) + """ + bboxes = bboxes.reshape(-1, 4) + num_boxes = bboxes.shape[0] + + x_ctr = (bboxes[:, 2] + bboxes[:, 0]) / 2.0 + y_ctr = (bboxes[:, 3] + bboxes[:, 1]) / 2.0 + edges1 = np.abs(bboxes[:, 2] - bboxes[:, 0]) + edges2 = np.abs(bboxes[:, 3] - bboxes[:, 1]) + angles = np.zeros([num_boxes], dtype=bboxes.dtype) + + inds = edges1 < edges2 + + rboxes = np.stack((x_ctr, y_ctr, edges1, edges2, angles), axis=1) + rboxes[inds, 2] = edges2[inds] + rboxes[inds, 3] = edges1[inds] + rboxes[inds, 4] = np.pi / 2.0 + return rboxes + + +def delta2rbox(Rrois, + deltas, + means=[0, 0, 0, 0, 0], + stds=[1, 1, 1, 1, 1], + wh_ratio_clip=1e-6): + """ + :param Rrois: (cx, cy, w, h, theta) + :param deltas: (dx, dy, dw, dh, dtheta) + :param means: + :param stds: + :param wh_ratio_clip: + :return: + """ + means = paddle.to_tensor(means) + stds = paddle.to_tensor(stds) + deltas = paddle.reshape(deltas, [-1, deltas.shape[-1]]) + denorm_deltas = deltas * stds + means + + dx = denorm_deltas[:, 0] + dy = denorm_deltas[:, 1] + dw = denorm_deltas[:, 2] + dh = denorm_deltas[:, 3] + dangle = denorm_deltas[:, 4] + + max_ratio = np.abs(np.log(wh_ratio_clip)) + dw = paddle.clip(dw, min=-max_ratio, max=max_ratio) + dh = paddle.clip(dh, min=-max_ratio, max=max_ratio) + + Rroi_x = Rrois[:, 0] + Rroi_y = Rrois[:, 1] + Rroi_w = Rrois[:, 2] + Rroi_h = Rrois[:, 3] + Rroi_angle = Rrois[:, 4] + + gx = dx * Rroi_w * paddle.cos(Rroi_angle) - dy * Rroi_h * paddle.sin( + Rroi_angle) + Rroi_x + gy = dx * Rroi_w * paddle.sin(Rroi_angle) + dy * Rroi_h * paddle.cos( + Rroi_angle) + Rroi_y + gw = Rroi_w * dw.exp() + gh = Rroi_h * dh.exp() + ga = np.pi * dangle + Rroi_angle + ga = (ga + np.pi / 4) % np.pi - np.pi / 4 + ga = paddle.to_tensor(ga) + + gw = paddle.to_tensor(gw, dtype='float32') + gh = paddle.to_tensor(gh, dtype='float32') + bboxes = paddle.stack([gx, gy, gw, gh, ga], axis=-1) + return bboxes + + +def rbox2delta(proposals, gt, means=[0, 0, 0, 0, 0], stds=[1, 1, 1, 1, 1]): + """ + + Args: + proposals: + gt: + means: 1x5 + stds: 1x5 + + Returns: + + """ + proposals = proposals.astype(np.float64) + + PI = np.pi + + gt_widths = gt[..., 2] + gt_heights = gt[..., 3] + gt_angle = gt[..., 4] + + proposals_widths = proposals[..., 2] + proposals_heights = proposals[..., 3] + proposals_angle = proposals[..., 4] + + coord = gt[..., 0:2] - proposals[..., 0:2] + dx = (np.cos(proposals[..., 4]) * coord[..., 0] + np.sin(proposals[..., 4]) + * coord[..., 1]) / proposals_widths + dy = (-np.sin(proposals[..., 4]) * coord[..., 0] + np.cos(proposals[..., 4]) + * coord[..., 1]) / proposals_heights + dw = np.log(gt_widths / proposals_widths) + dh = np.log(gt_heights / proposals_heights) + da = (gt_angle - proposals_angle) + + da = (da + PI / 4) % PI - PI / 4 + da /= PI + + deltas = np.stack([dx, dy, dw, dh, da], axis=-1) + means = np.array(means, dtype=deltas.dtype) + stds = np.array(stds, dtype=deltas.dtype) + deltas = (deltas - means) / stds + deltas = deltas.astype(np.float32) + return deltas + + +def bbox_decode(bbox_preds, + anchors, + means=[0, 0, 0, 0, 0], + stds=[1, 1, 1, 1, 1]): + """decode bbox from deltas + Args: + bbox_preds: [N,H,W,5] + anchors: [H*W,5] + return: + bboxes: [N,H,W,5] + """ + means = paddle.to_tensor(means) + stds = paddle.to_tensor(stds) + num_imgs, H, W, _ = bbox_preds.shape + bboxes_list = [] + for img_id in range(num_imgs): + bbox_pred = bbox_preds[img_id] + # bbox_pred.shape=[5,H,W] + bbox_delta = bbox_pred + anchors = paddle.to_tensor(anchors) + bboxes = delta2rbox( + anchors, bbox_delta, means, stds, wh_ratio_clip=1e-6) + bboxes = paddle.reshape(bboxes, [H, W, 5]) + bboxes_list.append(bboxes) + return paddle.stack(bboxes_list, axis=0) + + +def poly_to_rbox(polys): + """ + poly:[x0,y0,x1,y1,x2,y2,x3,y3] + to + rotated_boxes:[x_ctr,y_ctr,w,h,angle] + """ + rotated_boxes = [] + for poly in polys: + poly = np.array(poly[:8], dtype=np.float32) + + pt1 = (poly[0], poly[1]) + pt2 = (poly[2], poly[3]) + pt3 = (poly[4], poly[5]) + pt4 = (poly[6], poly[7]) + + edge1 = np.sqrt((pt1[0] - pt2[0]) * (pt1[0] - pt2[0]) + (pt1[1] - pt2[ + 1]) * (pt1[1] - pt2[1])) + edge2 = np.sqrt((pt2[0] - pt3[0]) * (pt2[0] - pt3[0]) + (pt2[1] - pt3[ + 1]) * (pt2[1] - pt3[1])) + + width = max(edge1, edge2) + height = min(edge1, edge2) + + rbox_angle = 0 + if edge1 > edge2: + rbox_angle = np.arctan2( + np.float(pt2[1] - pt1[1]), np.float(pt2[0] - pt1[0])) + elif edge2 >= edge1: + rbox_angle = np.arctan2( + np.float(pt4[1] - pt1[1]), np.float(pt4[0] - pt1[0])) + + def norm_angle(angle, range=[-np.pi / 4, np.pi]): + return (angle - range[0]) % range[1] + range[0] + + rbox_angle = norm_angle(rbox_angle) + + x_ctr = np.float(pt1[0] + pt3[0]) / 2 + y_ctr = np.float(pt1[1] + pt3[1]) / 2 + rotated_box = np.array([x_ctr, y_ctr, width, height, rbox_angle]) + rotated_boxes.append(rotated_box) + ret_rotated_boxes = np.array(rotated_boxes) + assert ret_rotated_boxes.shape[1] == 5 + return ret_rotated_boxes + + +def cal_line_length(point1, point2): + import math + return math.sqrt( + math.pow(point1[0] - point2[0], 2) + math.pow(point1[1] - point2[1], 2)) + + +def get_best_begin_point_single(coordinate): + x1, y1, x2, y2, x3, y3, x4, y4 = coordinate + xmin = min(x1, x2, x3, x4) + ymin = min(y1, y2, y3, y4) + xmax = max(x1, x2, x3, x4) + ymax = max(y1, y2, y3, y4) + combinate = [[[x1, y1], [x2, y2], [x3, y3], [x4, y4]], + [[x4, y4], [x1, y1], [x2, y2], [x3, y3]], + [[x3, y3], [x4, y4], [x1, y1], [x2, y2]], + [[x2, y2], [x3, y3], [x4, y4], [x1, y1]]] + dst_coordinate = [[xmin, ymin], [xmax, ymin], [xmax, ymax], [xmin, ymax]] + force = 100000000.0 + force_flag = 0 + for i in range(4): + temp_force = cal_line_length(combinate[i][0], dst_coordinate[0]) \ + + cal_line_length(combinate[i][1], dst_coordinate[1]) \ + + cal_line_length(combinate[i][2], dst_coordinate[2]) \ + + cal_line_length(combinate[i][3], dst_coordinate[3]) + if temp_force < force: + force = temp_force + force_flag = i + if force_flag != 0: + pass + return np.array(combinate[force_flag]).reshape(8) + + +def rbox2poly_single(rrect): + """ + rrect:[x_ctr,y_ctr,w,h,angle] + to + poly:[x0,y0,x1,y1,x2,y2,x3,y3] + """ + x_ctr, y_ctr, width, height, angle = rrect[:5] + tl_x, tl_y, br_x, br_y = -width / 2, -height / 2, width / 2, height / 2 + # rect 2x4 + rect = np.array([[tl_x, br_x, br_x, tl_x], [tl_y, tl_y, br_y, br_y]]) + R = np.array([[np.cos(angle), -np.sin(angle)], + [np.sin(angle), np.cos(angle)]]) + # poly + poly = R.dot(rect) + x0, x1, x2, x3 = poly[0, :4] + x_ctr + y0, y1, y2, y3 = poly[1, :4] + y_ctr + poly = np.array([x0, y0, x1, y1, x2, y2, x3, y3], dtype=np.float32) + poly = get_best_begin_point_single(poly) + return poly + + +def rbox2poly(rrects): + """ + rrect:[x_ctr,y_ctr,w,h,angle] + to + poly:[x0,y0,x1,y1,x2,y2,x3,y3] + """ + polys = [] + for rrect in rrects: + x_ctr, y_ctr, width, height, angle = rrect[:5] + tl_x, tl_y, br_x, br_y = -width / 2, -height / 2, width / 2, height / 2 + rect = np.array([[tl_x, br_x, br_x, tl_x], [tl_y, tl_y, br_y, br_y]]) + R = np.array([[np.cos(angle), -np.sin(angle)], + [np.sin(angle), np.cos(angle)]]) + poly = R.dot(rect) + x0, x1, x2, x3 = poly[0, :4] + x_ctr + y0, y1, y2, y3 = poly[1, :4] + y_ctr + poly = np.array([x0, y0, x1, y1, x2, y2, x3, y3], dtype=np.float32) + poly = get_best_begin_point_single(poly) + polys.append(poly) + polys = np.array(polys) + return polys diff --git a/ppdet/modeling/heads/__init__.py b/ppdet/modeling/heads/__init__.py index 9ed5fc2e3..9263aa812 100644 --- a/ppdet/modeling/heads/__init__.py +++ b/ppdet/modeling/heads/__init__.py @@ -22,6 +22,7 @@ from . import solov2_head from . import ttf_head from . import cascade_head from . import face_head +from . import s2anet_head from .bbox_head import * from .mask_head import * @@ -33,3 +34,4 @@ from .solov2_head import * from .ttf_head import * from .cascade_head import * from .face_head import * +from .s2anet_head import * diff --git a/ppdet/modeling/heads/s2anet_head.py b/ppdet/modeling/heads/s2anet_head.py new file mode 100644 index 000000000..12e0c3144 --- /dev/null +++ b/ppdet/modeling/heads/s2anet_head.py @@ -0,0 +1,872 @@ +# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import paddle +from paddle import ParamAttr +import paddle.nn as nn +import paddle.nn.functional as F +from paddle.nn.initializer import Normal, Constant +from ppdet.core.workspace import register +from ppdet.modeling import ops +from ppdet.modeling import bbox_utils +from ppdet.modeling.proposal_generator.target_layer import RBoxAssigner +import numpy as np + + +class S2ANetAnchorGenerator(object): + """ + S2ANetAnchorGenerator by np + """ + + def __init__(self, + base_size=8, + scales=1.0, + ratios=1.0, + scale_major=True, + ctr=None): + self.base_size = base_size + self.scales = scales + self.ratios = ratios + self.scale_major = scale_major + self.ctr = ctr + self.base_anchors = self.gen_base_anchors() + + @property + def num_base_anchors(self): + return self.base_anchors.shape[0] + + def gen_base_anchors(self): + w = self.base_size + h = self.base_size + if self.ctr is None: + x_ctr = 0.5 * (w - 1) + y_ctr = 0.5 * (h - 1) + else: + x_ctr, y_ctr = self.ctr + + h_ratios = np.sqrt(self.ratios) + w_ratios = 1 / h_ratios + if self.scale_major: + ws = (w * w_ratios[:] * self.scales[:]).reshape([-1]) + hs = (h * h_ratios[:] * self.scales[:]).reshape([-1]) + else: + ws = (w * self.scales[:] * w_ratios[:]).reshape([-1]) + hs = (h * self.scales[:] * h_ratios[:]).reshape([-1]) + + # yapf: disable + base_anchors = np.stack( + [ + x_ctr - 0.5 * (ws - 1), y_ctr - 0.5 * (hs - 1), + x_ctr + 0.5 * (ws - 1), y_ctr + 0.5 * (hs - 1) + ], + axis=-1) + base_anchors = np.round(base_anchors) + # yapf: enable + + return base_anchors + + def _meshgrid(self, x, y, row_major=True): + xx, yy = np.meshgrid(x, y) + xx = xx.reshape(-1) + yy = yy.reshape(-1) + if row_major: + return xx, yy + else: + return yy, xx + + def grid_anchors(self, featmap_size, stride=16): + # featmap_size*stride project it to original area + base_anchors = self.base_anchors + feat_h, feat_w = featmap_size + shift_x = np.arange(0, feat_w, 1, 'int32') * stride + shift_y = np.arange(0, feat_h, 1, 'int32') * stride + shift_xx, shift_yy = self._meshgrid(shift_x, shift_y) + shifts = np.stack([shift_xx, shift_yy, shift_xx, shift_yy], axis=-1) + # shifts = shifts.type_as(base_anchors) + # first feat_w elements correspond to the first row of shifts + # add A anchors (1, A, 4) to K shifts (K, 1, 4) to get + # shifted anchors (K, A, 4), reshape to (K*A, 4) + + #all_anchors = base_anchors[:, :] + shifts[:, :] + all_anchors = base_anchors[None, :, :] + shifts[:, None, :] + # all_anchors = all_anchors.reshape([-1, 4]) + # first A rows correspond to A anchors of (0, 0) in feature map, + # then (0, 1), (0, 2), ... + return all_anchors + + def valid_flags(self, featmap_size, valid_size): + feat_h, feat_w = featmap_size + valid_h, valid_w = valid_size + assert valid_h <= feat_h and valid_w <= feat_w + valid_x = np.zeros([feat_w], dtype='uint8') + valid_y = np.zeros([feat_h], dtype='uint8') + valid_x[:valid_w] = 1 + valid_y[:valid_h] = 1 + valid_xx, valid_yy = self._meshgrid(valid_x, valid_y) + valid = valid_xx & valid_yy + valid = valid.reshape([-1]) + + # valid = valid[:, None].expand( + # [valid.size(0), self.num_base_anchors]).reshape([-1]) + return valid + + +class AlignConv(nn.Layer): + def __init__(self, in_channels, out_channels, kernel_size=3, groups=1): + super(AlignConv, self).__init__() + self.kernel_size = kernel_size + self.align_conv = paddle.vision.ops.DeformConv2D( + in_channels, + out_channels, + kernel_size=self.kernel_size, + padding=(self.kernel_size - 1) // 2, + groups=groups, + weight_attr=ParamAttr(initializer=Normal(0, 0.01)), + bias_attr=None) + + @paddle.no_grad() + def get_offset(self, anchors, featmap_size, stride): + """ + Args: + anchors: [M,5] xc,yc,w,h,angle + featmap_size: (feat_h, feat_w) + stride: 8 + Returns: + + """ + anchors = paddle.reshape(anchors, [-1, 5]) # (NA,5) + dtype = anchors.dtype + feat_h, feat_w = featmap_size + pad = (self.kernel_size - 1) // 2 + idx = paddle.arange(-pad, pad + 1, dtype=dtype) + + yy, xx = paddle.meshgrid(idx, idx) + xx = paddle.reshape(xx, [-1]) + yy = paddle.reshape(yy, [-1]) + + # get sampling locations of default conv + xc = paddle.arange(0, feat_w, dtype=dtype) + yc = paddle.arange(0, feat_h, dtype=dtype) + yc, xc = paddle.meshgrid(yc, xc) + + xc = paddle.reshape(xc, [-1, 1]) + yc = paddle.reshape(yc, [-1, 1]) + x_conv = xc + xx + y_conv = yc + yy + + # get sampling locations of anchors + # x_ctr, y_ctr, w, h, a = np.unbind(anchors, dim=1) + x_ctr = anchors[:, 0] + y_ctr = anchors[:, 1] + w = anchors[:, 2] + h = anchors[:, 3] + a = anchors[:, 4] + + x_ctr = paddle.reshape(x_ctr, [x_ctr.shape[0], 1]) + y_ctr = paddle.reshape(y_ctr, [y_ctr.shape[0], 1]) + w = paddle.reshape(w, [w.shape[0], 1]) + h = paddle.reshape(h, [h.shape[0], 1]) + a = paddle.reshape(a, [a.shape[0], 1]) + + x_ctr = x_ctr / stride + y_ctr = y_ctr / stride + w_s = w / stride + h_s = h / stride + cos, sin = paddle.cos(a), paddle.sin(a) + dw, dh = w_s / self.kernel_size, h_s / self.kernel_size + x, y = dw * xx, dh * yy + xr = cos * x - sin * y + yr = sin * x + cos * y + x_anchor, y_anchor = xr + x_ctr, yr + y_ctr + # get offset filed + offset_x = x_anchor - x_conv + offset_y = y_anchor - y_conv + # x, y in anchors is opposite in image coordinates, + # so we stack them with y, x other than x, y + offset = paddle.stack([offset_y, offset_x], axis=-1) + # NA,ks*ks*2 + # [NA, ks, ks, 2] --> [NA, ks*ks*2] + offset = paddle.reshape(offset, [offset.shape[0], -1]) + # [NA, ks*ks*2] --> [ks*ks*2, NA] + offset = paddle.transpose(offset, [1, 0]) + # [NA, ks*ks*2] --> [1, ks*ks*2, H, W] + offset = paddle.reshape(offset, [1, -1, feat_h, feat_w]) + return offset + + def forward(self, x, refine_anchors, stride): + featmap_size = (x.shape[2], x.shape[3]) + offset = self.get_offset(refine_anchors, featmap_size, stride) + x = F.relu(self.align_conv(x, offset)) + return x + + +@register +class S2ANetHead(nn.Layer): + """ + S2Anet head + Args: + stacked_convs (int): number of stacked_convs + feat_in (int): input channels of feat + feat_out (int): output channels of feat + num_classes (int): num_classes + anchor_strides (list): stride of anchors + anchor_scales (list): scale of anchors + anchor_ratios (list): ratios of anchors + target_means (list): target_means + target_stds (list): target_stds + align_conv_type (str): align_conv_type ['Conv', 'AlignConv'] + align_conv_size (int): kernel size of align_conv + use_sigmoid_cls (bool): use sigmoid_cls or not + reg_loss_weight (list): loss weight for regression + """ + __shared__ = ['num_classes'] + __inject__ = ['anchor_assign'] + + def __init__(self, + stacked_convs=2, + feat_in=256, + feat_out=256, + num_classes=15, + anchor_strides=[8, 16, 32, 64, 128], + anchor_scales=[4], + anchor_ratios=[1.0], + target_means=(.0, .0, .0, .0, .0), + target_stds=(1.0, 1.0, 1.0, 1.0, 1.0), + align_conv_type='AlignConv', + align_conv_size=3, + use_sigmoid_cls=True, + anchor_assign=RBoxAssigner().__dict__, + reg_loss_weight=[1.0, 1.0, 1.0, 1.0, 1.0]): + super(S2ANetHead, self).__init__() + self.stacked_convs = stacked_convs + self.feat_in = feat_in + self.feat_out = feat_out + self.anchor_list = None + self.anchor_scales = anchor_scales + self.anchor_ratios = anchor_ratios + self.anchor_strides = anchor_strides + self.anchor_base_sizes = list(anchor_strides) + self.target_means = target_means + self.target_stds = target_stds + assert align_conv_type in ['AlignConv', 'Conv', 'DCN'] + self.align_conv_type = align_conv_type + self.align_conv_size = align_conv_size + + self.use_sigmoid_cls = use_sigmoid_cls + self.cls_out_channels = num_classes if self.use_sigmoid_cls else 1 + self.sampling = False + self.anchor_assign = anchor_assign + self.reg_loss_weight = reg_loss_weight + + self.s2anet_head_out = None + + # anchor + self.anchor_generators = [] + for anchor_base in self.anchor_base_sizes: + self.anchor_generators.append( + S2ANetAnchorGenerator(anchor_base, anchor_scales, + anchor_ratios)) + + self.fam_cls_convs = nn.Sequential() + self.fam_reg_convs = nn.Sequential() + + for i in range(self.stacked_convs): + chan_in = self.feat_in if i == 0 else self.feat_out + + self.fam_cls_convs.add_sublayer( + 'fam_cls_conv_{}'.format(i), + nn.Conv2D( + in_channels=chan_in, + out_channels=self.feat_out, + kernel_size=3, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(0)))) + + self.fam_cls_convs.add_sublayer('fam_cls_conv_{}_act'.format(i), + nn.ReLU()) + + self.fam_reg_convs.add_sublayer( + 'fam_reg_conv_{}'.format(i), + nn.Conv2D( + in_channels=chan_in, + out_channels=self.feat_out, + kernel_size=3, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(0)))) + + self.fam_reg_convs.add_sublayer('fam_reg_conv_{}_act'.format(i), + nn.ReLU()) + + self.fam_reg = nn.Conv2D( + self.feat_out, + 5, + 1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(0))) + prior_prob = 0.01 + bias_init = float(-np.log((1 - prior_prob) / prior_prob)) + self.fam_cls = nn.Conv2D( + self.feat_out, + self.cls_out_channels, + 1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(bias_init))) + + if self.align_conv_type == "AlignConv": + self.align_conv = AlignConv(self.feat_out, self.feat_out, + self.align_conv_size) + elif self.align_conv_type == "Conv": + self.align_conv = nn.Conv2D( + self.feat_out, + self.feat_out, + self.align_conv_size, + padding=(self.align_conv_size - 1) // 2, + bias_attr=ParamAttr(initializer=Constant(0))) + + elif self.align_conv_type == "DCN": + self.align_conv_offset = nn.Conv2D( + self.feat_out, + 2 * self.align_conv_size**2, + 1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(0))) + + self.align_conv = paddle.vision.ops.DeformConv2D( + self.feat_out, + self.feat_out, + self.align_conv_size, + padding=(self.align_conv_size - 1) // 2, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=False) + + self.or_conv = nn.Conv2D( + self.feat_out, + self.feat_out, + kernel_size=3, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(0))) + + # ODM + self.odm_cls_convs = nn.Sequential() + self.odm_reg_convs = nn.Sequential() + + for i in range(self.stacked_convs): + ch_in = self.feat_out + # ch_in = int(self.feat_out / 8) if i == 0 else self.feat_out + + self.odm_cls_convs.add_sublayer( + 'odm_cls_conv_{}'.format(i), + nn.Conv2D( + in_channels=ch_in, + out_channels=self.feat_out, + kernel_size=3, + stride=1, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(0)))) + + self.odm_cls_convs.add_sublayer('odm_cls_conv_{}_act'.format(i), + nn.ReLU()) + + self.odm_reg_convs.add_sublayer( + 'odm_reg_conv_{}'.format(i), + nn.Conv2D( + in_channels=self.feat_out, + out_channels=self.feat_out, + kernel_size=3, + stride=1, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(0)))) + + self.odm_reg_convs.add_sublayer('odm_reg_conv_{}_act'.format(i), + nn.ReLU()) + + self.odm_cls = nn.Conv2D( + self.feat_out, + self.cls_out_channels, + 3, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(bias_init))) + self.odm_reg = nn.Conv2D( + self.feat_out, + 5, + 3, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0.0, 0.01)), + bias_attr=ParamAttr(initializer=Constant(0))) + + self.base_anchors = dict() + self.featmap_sizes = dict() + self.base_anchors = dict() + self.refine_anchor_list = [] + + def forward(self, feats): + fam_reg_branch_list = [] + fam_cls_branch_list = [] + + odm_reg_branch_list = [] + odm_cls_branch_list = [] + + self.featmap_sizes = dict() + self.base_anchors = dict() + self.refine_anchor_list = [] + + for i, feat in enumerate(feats): + fam_cls_feat = self.fam_cls_convs(feat) + + fam_cls = self.fam_cls(fam_cls_feat) + # [N, CLS, H, W] --> [N, H, W, CLS] + fam_cls = fam_cls.transpose([0, 2, 3, 1]) + fam_cls_reshape = paddle.reshape( + fam_cls, [fam_cls.shape[0], -1, self.cls_out_channels]) + fam_cls_branch_list.append(fam_cls_reshape) + + fam_reg_feat = self.fam_reg_convs(feat) + + fam_reg = self.fam_reg(fam_reg_feat) + # [N, 5, H, W] --> [N, H, W, 5] + fam_reg = fam_reg.transpose([0, 2, 3, 1]) + fam_reg_reshape = paddle.reshape(fam_reg, [fam_reg.shape[0], -1, 5]) + fam_reg_branch_list.append(fam_reg_reshape) + + # prepare anchor + featmap_size = feat.shape[-2:] + self.featmap_sizes[i] = featmap_size + init_anchors = self.anchor_generators[i].grid_anchors( + featmap_size, self.anchor_strides[i]) + + init_anchors = bbox_utils.rect2rbox(init_anchors) + self.base_anchors[(i, featmap_size[0])] = init_anchors + + #fam_reg1 = fam_reg + #fam_reg1.stop_gradient = True + refine_anchor = bbox_utils.bbox_decode( + fam_reg.detach(), init_anchors, self.target_means, + self.target_stds) + + self.refine_anchor_list.append(refine_anchor) + + if self.align_conv_type == 'AlignConv': + align_feat = self.align_conv(feat, + refine_anchor.clone(), + self.anchor_strides[i]) + elif self.align_conv_type == 'DCN': + align_offset = self.align_conv_offset(feat) + align_feat = self.align_conv(feat, align_offset) + elif self.align_conv_type == 'Conv': + align_feat = self.align_conv(feat) + + or_feat = self.or_conv(align_feat) + odm_reg_feat = or_feat + odm_cls_feat = or_feat + + odm_reg_feat = self.odm_reg_convs(odm_reg_feat) + odm_cls_feat = self.odm_cls_convs(odm_cls_feat) + + odm_cls_score = self.odm_cls(odm_cls_feat) + # [N, CLS, H, W] --> [N, H, W, CLS] + odm_cls_score = odm_cls_score.transpose([0, 2, 3, 1]) + odm_cls_score_reshape = paddle.reshape( + odm_cls_score, + [odm_cls_score.shape[0], -1, self.cls_out_channels]) + + odm_cls_branch_list.append(odm_cls_score_reshape) + + odm_bbox_pred = self.odm_reg(odm_reg_feat) + # [N, 5, H, W] --> [N, H, W, 5] + odm_bbox_pred = odm_bbox_pred.transpose([0, 2, 3, 1]) + odm_bbox_pred_reshape = paddle.reshape( + odm_bbox_pred, [odm_bbox_pred.shape[0], -1, 5]) + odm_reg_branch_list.append(odm_bbox_pred_reshape) + + self.s2anet_head_out = (fam_cls_branch_list, fam_reg_branch_list, + odm_cls_branch_list, odm_reg_branch_list) + return self.s2anet_head_out + + def get_prediction(self, nms_pre): + refine_anchors = self.refine_anchor_list + fam_cls_branch_list, fam_reg_branch_list, odm_cls_branch_list, odm_reg_branch_list = self.s2anet_head_out + pred_scores, pred_bboxes = self.get_bboxes( + odm_cls_branch_list, + odm_reg_branch_list, + refine_anchors, + nms_pre, + cls_out_channels=self.cls_out_channels, + use_sigmoid_cls=self.use_sigmoid_cls) + return pred_scores, pred_bboxes + + def smooth_l1_loss(self, pred, label, delta=1.0 / 9.0): + """ + Args: + pred: pred score + label: label + delta: delta + Returns: loss + """ + assert pred.shape == label.shape and label.numel() > 0 + assert delta > 0 + diff = paddle.abs(pred - label) + loss = paddle.where(diff < delta, 0.5 * diff * diff / delta, + diff - 0.5 * delta) + return loss + + def get_fam_loss(self, fam_target, s2anet_head_out): + (labels, label_weights, bbox_targets, bbox_weights, pos_inds, + neg_inds) = fam_target + fam_cls_branch_list, fam_reg_branch_list, odm_cls_branch_list, odm_reg_branch_list = s2anet_head_out + + fam_cls_losses = [] + fam_bbox_losses = [] + st_idx = 0 + featmap_sizes = [self.featmap_sizes[e] for e in self.featmap_sizes] + num_total_samples = len(pos_inds) + len( + neg_inds) if self.sampling else len(pos_inds) + num_total_samples = max(1, num_total_samples) + + for idx, feat_size in enumerate(featmap_sizes): + feat_anchor_num = feat_size[0] * feat_size[1] + + # step1: get data + feat_labels = labels[st_idx:st_idx + feat_anchor_num] + feat_label_weights = label_weights[st_idx:st_idx + feat_anchor_num] + + feat_bbox_targets = bbox_targets[st_idx:st_idx + feat_anchor_num, :] + feat_bbox_weights = bbox_weights[st_idx:st_idx + feat_anchor_num, :] + st_idx += feat_anchor_num + + # step2: calc cls loss + feat_labels = feat_labels.reshape(-1) + feat_label_weights = feat_label_weights.reshape(-1) + + fam_cls_score = fam_cls_branch_list[idx] + fam_cls_score = paddle.squeeze(fam_cls_score, axis=0) + fam_cls_score1 = fam_cls_score + + # gt_classes 0~14(data), feat_labels 0~14, sigmoid_focal_loss need class>=1 + feat_labels = paddle.to_tensor(feat_labels) + feat_labels_one_hot = paddle.nn.functional.one_hot( + feat_labels, self.cls_out_channels + 1) + feat_labels_one_hot = feat_labels_one_hot[:, 1:] + feat_labels_one_hot.stop_gradient = True + + num_total_samples = paddle.to_tensor( + num_total_samples, dtype='float32', stop_gradient=True) + + fam_cls = F.sigmoid_focal_loss( + fam_cls_score1, + feat_labels_one_hot, + normalizer=num_total_samples, + reduction='none') + + feat_label_weights = feat_label_weights.reshape( + feat_label_weights.shape[0], 1) + feat_label_weights = np.repeat( + feat_label_weights, self.cls_out_channels, axis=1) + feat_label_weights = paddle.to_tensor( + feat_label_weights, stop_gradient=True) + + fam_cls = fam_cls * feat_label_weights + fam_cls_total = paddle.sum(fam_cls) + fam_cls_losses.append(fam_cls_total) + + # step3: regression loss + fam_bbox_pred = fam_reg_branch_list[idx] + feat_bbox_targets = paddle.to_tensor( + feat_bbox_targets, dtype='float32', stop_gradient=True) + feat_bbox_targets = paddle.reshape(feat_bbox_targets, [-1, 5]) + + fam_bbox_pred = fam_reg_branch_list[idx] + fam_bbox_pred = paddle.squeeze(fam_bbox_pred, axis=0) + fam_bbox_pred = paddle.reshape(fam_bbox_pred, [-1, 5]) + fam_bbox = self.smooth_l1_loss(fam_bbox_pred, feat_bbox_targets) + loss_weight = paddle.to_tensor( + self.reg_loss_weight, dtype='float32', stop_gradient=True) + fam_bbox = paddle.multiply(fam_bbox, loss_weight) + feat_bbox_weights = paddle.to_tensor( + feat_bbox_weights, stop_gradient=True) + fam_bbox = fam_bbox * feat_bbox_weights + fam_bbox_total = paddle.sum(fam_bbox) / num_total_samples + + fam_bbox_losses.append(fam_bbox_total) + + fam_cls_loss = paddle.add_n(fam_cls_losses) + fam_cls_loss = fam_cls_loss * 2.0 + fam_reg_loss = paddle.add_n(fam_bbox_losses) + return fam_cls_loss, fam_reg_loss + + def get_odm_loss(self, odm_target, s2anet_head_out): + (labels, label_weights, bbox_targets, bbox_weights, pos_inds, + neg_inds) = odm_target + fam_cls_branch_list, fam_reg_branch_list, odm_cls_branch_list, odm_reg_branch_list = s2anet_head_out + + odm_cls_losses = [] + odm_bbox_losses = [] + st_idx = 0 + featmap_sizes = [self.featmap_sizes[e] for e in self.featmap_sizes] + num_total_samples = len(pos_inds) + len( + neg_inds) if self.sampling else len(pos_inds) + num_total_samples = max(1, num_total_samples) + for idx, feat_size in enumerate(featmap_sizes): + feat_anchor_num = feat_size[0] * feat_size[1] + + # step1: get data + feat_labels = labels[st_idx:st_idx + feat_anchor_num] + feat_label_weights = label_weights[st_idx:st_idx + feat_anchor_num] + + feat_bbox_targets = bbox_targets[st_idx:st_idx + feat_anchor_num, :] + feat_bbox_weights = bbox_weights[st_idx:st_idx + feat_anchor_num, :] + st_idx += feat_anchor_num + + # step2: calc cls loss + feat_labels = feat_labels.reshape(-1) + feat_label_weights = feat_label_weights.reshape(-1) + + odm_cls_score = odm_cls_branch_list[idx] + odm_cls_score = paddle.squeeze(odm_cls_score, axis=0) + odm_cls_score1 = odm_cls_score + + # gt_classes 0~14(data), feat_labels 0~14, sigmoid_focal_loss need class>=1 + feat_labels = paddle.to_tensor(feat_labels) + feat_labels_one_hot = paddle.nn.functional.one_hot( + feat_labels, self.cls_out_channels + 1) + feat_labels_one_hot = feat_labels_one_hot[:, 1:] + feat_labels_one_hot.stop_gradient = True + + num_total_samples = paddle.to_tensor( + num_total_samples, dtype='float32', stop_gradient=True) + odm_cls = F.sigmoid_focal_loss( + odm_cls_score1, + feat_labels_one_hot, + normalizer=num_total_samples, + reduction='none') + + feat_label_weights = feat_label_weights.reshape( + feat_label_weights.shape[0], 1) + feat_label_weights = np.repeat( + feat_label_weights, self.cls_out_channels, axis=1) + feat_label_weights = paddle.to_tensor(feat_label_weights) + feat_label_weights.stop_gradient = True + + odm_cls = odm_cls * feat_label_weights + odm_cls_total = paddle.sum(odm_cls) + odm_cls_losses.append(odm_cls_total) + + # # step3: regression loss + feat_bbox_targets = paddle.to_tensor( + feat_bbox_targets, dtype='float32') + feat_bbox_targets = paddle.reshape(feat_bbox_targets, [-1, 5]) + feat_bbox_targets.stop_gradient = True + + odm_bbox_pred = odm_reg_branch_list[idx] + odm_bbox_pred = paddle.squeeze(odm_bbox_pred, axis=0) + odm_bbox_pred = paddle.reshape(odm_bbox_pred, [-1, 5]) + odm_bbox = self.smooth_l1_loss(odm_bbox_pred, feat_bbox_targets) + loss_weight = paddle.to_tensor( + self.reg_loss_weight, dtype='float32', stop_gradient=True) + odm_bbox = paddle.multiply(odm_bbox, loss_weight) + feat_bbox_weights = paddle.to_tensor( + feat_bbox_weights, stop_gradient=True) + odm_bbox = odm_bbox * feat_bbox_weights + odm_bbox_total = paddle.sum(odm_bbox) / num_total_samples + odm_bbox_losses.append(odm_bbox_total) + + odm_cls_loss = paddle.add_n(odm_cls_losses) + odm_cls_loss = odm_cls_loss * 2.0 + odm_reg_loss = paddle.add_n(odm_bbox_losses) + return odm_cls_loss, odm_reg_loss + + def get_loss(self, inputs): + # inputs: im_id image im_shape scale_factor gt_bbox gt_class is_crowd + + # compute loss + fam_cls_loss_lst = [] + fam_reg_loss_lst = [] + odm_cls_loss_lst = [] + odm_reg_loss_lst = [] + + im_shape = inputs['im_shape'] + for im_id in range(im_shape.shape[0]): + np_im_shape = inputs['im_shape'][im_id].numpy() + np_scale_factor = inputs['scale_factor'][im_id].numpy() + # data_format: (xc, yc, w, h, theta) + gt_bboxes = inputs['gt_rbox'][im_id].numpy() + gt_labels = inputs['gt_class'][im_id].numpy() + is_crowd = inputs['is_crowd'][im_id].numpy() + gt_labels = gt_labels + 1 + + # featmap_sizes + featmap_sizes = [self.featmap_sizes[e] for e in self.featmap_sizes] + anchors_list, valid_flag_list = self.get_init_anchors(featmap_sizes, + np_im_shape) + anchors_list_all = [] + for ii, anchor in enumerate(anchors_list): + anchor = anchor.reshape(-1, 4) + anchor = bbox_utils.rect2rbox(anchor) + anchors_list_all.extend(anchor) + anchors_list_all = np.array(anchors_list_all) + + # get im_feat + fam_cls_feats_list = [e[im_id] for e in self.s2anet_head_out[0]] + fam_reg_feats_list = [e[im_id] for e in self.s2anet_head_out[1]] + odm_cls_feats_list = [e[im_id] for e in self.s2anet_head_out[2]] + odm_reg_feats_list = [e[im_id] for e in self.s2anet_head_out[3]] + im_s2anet_head_out = (fam_cls_feats_list, fam_reg_feats_list, + odm_cls_feats_list, odm_reg_feats_list) + + # FAM + im_fam_target = self.anchor_assign(anchors_list_all, gt_bboxes, + gt_labels, is_crowd) + if im_fam_target is not None: + im_fam_cls_loss, im_fam_reg_loss = self.get_fam_loss( + im_fam_target, im_s2anet_head_out) + fam_cls_loss_lst.append(im_fam_cls_loss) + fam_reg_loss_lst.append(im_fam_reg_loss) + + # ODM + refine_anchors_list, valid_flag_list = self.get_refine_anchors( + featmap_sizes, image_shape=np_im_shape) + refine_anchors_list = np.array(refine_anchors_list) + im_odm_target = self.anchor_assign(refine_anchors_list, gt_bboxes, + gt_labels, is_crowd) + + if im_odm_target is not None: + im_odm_cls_loss, im_odm_reg_loss = self.get_odm_loss( + im_odm_target, im_s2anet_head_out) + odm_cls_loss_lst.append(im_odm_cls_loss) + odm_reg_loss_lst.append(im_odm_reg_loss) + fam_cls_loss = paddle.add_n(fam_cls_loss_lst) + fam_reg_loss = paddle.add_n(fam_reg_loss_lst) + odm_cls_loss = paddle.add_n(odm_cls_loss_lst) + odm_reg_loss = paddle.add_n(odm_reg_loss_lst) + return { + 'fam_cls_loss': fam_cls_loss, + 'fam_reg_loss': fam_reg_loss, + 'odm_cls_loss': odm_cls_loss, + 'odm_reg_loss': odm_reg_loss + } + + def get_init_anchors(self, featmap_sizes, image_shape): + """Get anchors according to feature map sizes. + + Args: + featmap_sizes (list[tuple]): Multi-level feature map sizes. + image_shape (list[dict]): Image meta info. + Returns: + tuple: anchors of each image, valid flags of each image + """ + num_levels = len(featmap_sizes) + + # since feature map sizes of all images are the same, we only compute + # anchors for one time + anchor_list = [] + for i in range(num_levels): + anchors = self.anchor_generators[i].grid_anchors( + featmap_sizes[i], self.anchor_strides[i]) + anchor_list.append(anchors) + + # for each image, we compute valid flags of multi level anchors + valid_flag_list = [] + for i in range(num_levels): + anchor_stride = self.anchor_strides[i] + feat_h, feat_w = featmap_sizes[i] + h, w = image_shape + valid_feat_h = min(int(np.ceil(h / anchor_stride)), feat_h) + valid_feat_w = min(int(np.ceil(w / anchor_stride)), feat_w) + flags = self.anchor_generators[i].valid_flags( + (feat_h, feat_w), (valid_feat_h, valid_feat_w)) + valid_flag_list.append(flags) + + return anchor_list, valid_flag_list + + def get_refine_anchors(self, featmap_sizes, image_shape): + num_levels = len(featmap_sizes) + + refine_anchors_list = [] + for i in range(num_levels): + refine_anchor = self.refine_anchor_list[i] + refine_anchor = paddle.squeeze(refine_anchor, axis=0) + refine_anchor = refine_anchor.numpy() + refine_anchor = np.reshape(refine_anchor, + [-1, refine_anchor.shape[-1]]) + refine_anchors_list.extend(refine_anchor) + + # for each image, we compute valid flags of multi level anchors + valid_flag_list = [] + for i in range(num_levels): + anchor_stride = self.anchor_strides[i] + feat_h, feat_w = featmap_sizes[i] + h, w = image_shape + valid_feat_h = min(int(np.ceil(h / anchor_stride)), feat_h) + valid_feat_w = min(int(np.ceil(w / anchor_stride)), feat_w) + flags = self.anchor_generators[i].valid_flags( + (feat_h, feat_w), (valid_feat_h, valid_feat_w)) + valid_flag_list.append(flags) + + return refine_anchors_list, valid_flag_list + + def get_bboxes(self, cls_score_list, bbox_pred_list, mlvl_anchors, nms_pre, + cls_out_channels, use_sigmoid_cls): + assert len(cls_score_list) == len(bbox_pred_list) == len(mlvl_anchors) + + mlvl_bboxes = [] + mlvl_scores = [] + + idx = 0 + for cls_score, bbox_pred, anchors in zip(cls_score_list, bbox_pred_list, + mlvl_anchors): + cls_score = paddle.reshape(cls_score, [-1, cls_out_channels]) + if use_sigmoid_cls: + scores = F.sigmoid(cls_score) + else: + scores = F.softmax(cls_score, axis=-1) + + # bbox_pred = bbox_pred.permute(1, 2, 0).reshape(-1, 5) + bbox_pred = paddle.transpose(bbox_pred, [1, 2, 0]) + bbox_pred = paddle.reshape(bbox_pred, [-1, 5]) + anchors = paddle.reshape(anchors, [-1, 5]) + + if nms_pre > 0 and scores.shape[0] > nms_pre: + # Get maximum scores for foreground classes. + if use_sigmoid_cls: + max_scores = paddle.max(scores, axis=1) + else: + max_scores = paddle.max(scores[:, 1:], axis=1) + + topk_val, topk_inds = paddle.topk(max_scores, nms_pre) + anchors = paddle.gather(anchors, topk_inds) + bbox_pred = paddle.gather(bbox_pred, topk_inds) + scores = paddle.gather(scores, topk_inds) + + target_means = (.0, .0, .0, .0, .0) + target_stds = (1.0, 1.0, 1.0, 1.0, 1.0) + bboxes = bbox_utils.delta2rbox(anchors, bbox_pred, target_means, + target_stds) + mlvl_bboxes.append(bboxes) + mlvl_scores.append(scores) + + idx += 1 + + mlvl_bboxes = paddle.concat(mlvl_bboxes, axis=0) + mlvl_scores = paddle.concat(mlvl_scores) + if use_sigmoid_cls: + # Add a dummy background class to the front when using sigmoid + padding = paddle.zeros( + [mlvl_scores.shape[0], 1], dtype=mlvl_scores.dtype) + mlvl_scores = paddle.concat([padding, mlvl_scores], axis=1) + + return mlvl_scores, mlvl_bboxes diff --git a/ppdet/modeling/post_process.py b/ppdet/modeling/post_process.py index bfebe98b4..ca69ac3d0 100644 --- a/ppdet/modeling/post_process.py +++ b/ppdet/modeling/post_process.py @@ -17,7 +17,7 @@ import paddle import paddle.nn as nn import paddle.nn.functional as F from ppdet.core.workspace import register -from ppdet.modeling.bbox_utils import nonempty_bbox +from ppdet.modeling.bbox_utils import nonempty_bbox, rbox2poly from . import ops try: from collections.abc import Sequence @@ -215,3 +215,89 @@ class FCOSPostProcess(object): centerness, scale_factor) bbox_pred, bbox_num, _ = self.nms(bboxes, score) return bbox_pred, bbox_num + + +@register +class S2ANetBBoxPostProcess(object): + __inject__ = ['nms'] + + def __init__(self, nms_pre=2000, min_bbox_size=0, nms=None): + super(S2ANetBBoxPostProcess, self).__init__() + self.nms_pre = nms_pre + self.min_bbox_size = min_bbox_size + self.nms = nms + self.origin_shape_list = [] + + def get_prediction(self, pred_scores, pred_bboxes, im_shape, scale_factor): + """ + pred_scores : [N, M] score + pred_bboxes : [N, 5] xc, yc, w, h, a + im_shape : [N, 2] im_shape + scale_factor : [N, 2] scale_factor + """ + # TODO: support bs>1 + pred_ploys = rbox2poly(pred_bboxes.numpy()) + pred_ploys = paddle.to_tensor(pred_ploys) + pred_ploys = paddle.reshape( + pred_ploys, [1, pred_ploys.shape[0], pred_ploys.shape[1]]) + + pred_scores = paddle.to_tensor(pred_scores) + # pred_scores [NA, 16] --> [16, NA] + pred_scores = paddle.transpose(pred_scores, [1, 0]) + pred_scores = paddle.reshape( + pred_scores, [1, pred_scores.shape[0], pred_scores.shape[1]]) + pred_cls_score_bbox, bbox_num, index = self.nms(pred_ploys, pred_scores) + + # post process scale + # result [n, 10] + if bbox_num > 0: + pred_bbox, bbox_num = self.post_process(pred_cls_score_bbox[:, 2:], + bbox_num, im_shape[0], + scale_factor[0]) + + pred_cls_score_bbox = paddle.concat( + [pred_cls_score_bbox[:, 0:2], pred_bbox], axis=1) + else: + pred_cls_score_bbox = paddle.to_tensor( + np.array( + [[-1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], + dtype='float32')) + bbox_num = paddle.to_tensor(np.array([1], dtype='int32')) + return pred_cls_score_bbox, bbox_num, index + + def post_process(self, bboxes, bbox_num, im_shape, scale_factor): + """ + Rescale, clip and filter the bbox from the output of NMS to + get final prediction. + + Args: + bboxes(Tensor): bboxes [N, 8] + bbox_num(Tensor): bbox_num + im_shape(Tensor): [1 2] + scale_factor(Tensor): [1 2] + Returns: + bbox_pred(Tensor): The output is the prediction with shape [N, 8] + including labels, scores and bboxes. The size of + bboxes are corresponding to the original image. + """ + + origin_shape = paddle.floor(im_shape / scale_factor + 0.5) + + origin_h = origin_shape[0] + origin_w = origin_shape[1] + + bboxes[:, 0::2] = bboxes[:, 0::2] / scale_factor[0] + bboxes[:, 1::2] = bboxes[:, 1::2] / scale_factor[1] + + zeros = paddle.zeros_like(origin_h) + x1 = paddle.maximum(paddle.minimum(bboxes[:, 0], origin_w - 1), zeros) + y1 = paddle.maximum(paddle.minimum(bboxes[:, 1], origin_h - 1), zeros) + x2 = paddle.maximum(paddle.minimum(bboxes[:, 2], origin_w - 1), zeros) + y2 = paddle.maximum(paddle.minimum(bboxes[:, 3], origin_h - 1), zeros) + x3 = paddle.maximum(paddle.minimum(bboxes[:, 4], origin_w - 1), zeros) + y3 = paddle.maximum(paddle.minimum(bboxes[:, 5], origin_h - 1), zeros) + x4 = paddle.maximum(paddle.minimum(bboxes[:, 6], origin_w - 1), zeros) + y4 = paddle.maximum(paddle.minimum(bboxes[:, 7], origin_h - 1), zeros) + bbox = paddle.stack([x1, y1, x2, y2, x3, y3, x4, y4], axis=-1) + bboxes = (bbox, bbox_num) + return bboxes diff --git a/ppdet/modeling/proposal_generator/target_layer.py b/ppdet/modeling/proposal_generator/target_layer.py index 272de2ff0..a64a2e8d1 100644 --- a/ppdet/modeling/proposal_generator/target_layer.py +++ b/ppdet/modeling/proposal_generator/target_layer.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. +# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -11,11 +11,12 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - +import sys import paddle - from ppdet.core.workspace import register, serializable from .target import rpn_anchor_target, generate_proposal_target, generate_mask_target, libra_generate_proposal_target +from ppdet.modeling import bbox_utils +import numpy as np @register @@ -246,3 +247,170 @@ class MaskAssigner(object): # mask_rois, mask_rois_num, tgt_classes, tgt_masks, mask_index, tgt_weights return outs + + +@register +class RBoxAssigner(object): + """ + assigner of rbox + Args: + pos_iou_thr (float): threshold of pos samples + neg_iou_thr (float): threshold of neg samples + min_iou_thr (float): the min threshold of samples + ignore_iof_thr (int): the ignored threshold + """ + + def __init__(self, + pos_iou_thr=0.5, + neg_iou_thr=0.4, + min_iou_thr=0.0, + ignore_iof_thr=-2): + super(RBoxAssigner, self).__init__() + + self.pos_iou_thr = pos_iou_thr + self.neg_iou_thr = neg_iou_thr + self.min_iou_thr = min_iou_thr + self.ignore_iof_thr = ignore_iof_thr + + def anchor_valid(self, anchors): + """ + + Args: + anchor: M x 4 + + Returns: + + """ + if anchors.ndim == 3: + anchors = anchors.reshape(-1, anchor.shape[-1]) + assert anchors.ndim == 2 + anchor_num = anchors.shape[0] + anchor_valid = np.ones((anchor_num), np.uint8) + anchor_inds = np.arange(anchor_num) + return anchor_inds + + def assign_anchor(self, + anchors, + gt_bboxes, + gt_lables, + pos_iou_thr, + neg_iou_thr, + min_iou_thr=0.0, + ignore_iof_thr=-2): + """ + + Args: + anchors: + gt_bboxes:[M, 5] rc,yc,w,h,angle + gt_lables: + + Returns: + + """ + assert anchors.shape[1] == 4 or anchors.shape[1] == 5 + assert gt_bboxes.shape[1] == 4 or gt_bboxes.shape[1] == 5 + anchors_xc_yc = anchors + gt_bboxes_xc_yc = gt_bboxes + + # calc rbox iou + anchors_xc_yc = anchors_xc_yc.astype(np.float32) + gt_bboxes_xc_yc = gt_bboxes_xc_yc.astype(np.float32) + anchors_xc_yc = paddle.to_tensor(anchors_xc_yc, place=paddle.CPUPlace()) + gt_bboxes_xc_yc = paddle.to_tensor( + gt_bboxes_xc_yc, place=paddle.CPUPlace()) + + try: + from rbox_iou_ops import rbox_iou + except Exception as e: + print('import custom_ops error', e) + sys.exit(-1) + + iou = rbox_iou(gt_bboxes_xc_yc, anchors_xc_yc) + iou = iou.numpy() + iou = iou.T + + # every gt's anchor's index + gt_bbox_anchor_inds = iou.argmax(axis=0) + gt_bbox_anchor_iou = iou[gt_bbox_anchor_inds, np.arange(iou.shape[1])] + gt_bbox_anchor_iou_inds = np.where(iou == gt_bbox_anchor_iou)[0] + + # every anchor's gt bbox's index + anchor_gt_bbox_inds = iou.argmax(axis=1) + anchor_gt_bbox_iou = iou[np.arange(iou.shape[0]), anchor_gt_bbox_inds] + + # (1) set labels=-2 as default + labels = np.ones((iou.shape[0], ), dtype=np.int32) * ignore_iof_thr + + # (2) assign ignore + labels[anchor_gt_bbox_iou < min_iou_thr] = ignore_iof_thr + + # (3) assign neg_ids -1 + assign_neg_ids1 = anchor_gt_bbox_iou >= min_iou_thr + assign_neg_ids2 = anchor_gt_bbox_iou < neg_iou_thr + assign_neg_ids = np.logical_and(assign_neg_ids1, assign_neg_ids2) + labels[assign_neg_ids] = -1 + + # anchor_gt_bbox_iou_inds + # (4) assign max_iou as pos_ids >=0 + anchor_gt_bbox_iou_inds = anchor_gt_bbox_inds[gt_bbox_anchor_iou_inds] + # gt_bbox_anchor_iou_inds = np.logical_and(gt_bbox_anchor_iou_inds, anchor_gt_bbox_iou >= min_iou_thr) + labels[gt_bbox_anchor_iou_inds] = gt_lables[anchor_gt_bbox_iou_inds] + + # (5) assign >= pos_iou_thr as pos_ids + iou_pos_iou_thr_ids = anchor_gt_bbox_iou >= pos_iou_thr + iou_pos_iou_thr_ids_box_inds = anchor_gt_bbox_inds[iou_pos_iou_thr_ids] + labels[iou_pos_iou_thr_ids] = gt_lables[iou_pos_iou_thr_ids_box_inds] + return anchor_gt_bbox_inds, anchor_gt_bbox_iou, labels + + def __call__(self, anchors, gt_bboxes, gt_labels, is_crowd): + + assert anchors.ndim == 2 + assert anchors.shape[1] == 5 + assert gt_bboxes.ndim == 2 + assert gt_bboxes.shape[1] == 5 + + pos_iou_thr = self.pos_iou_thr + neg_iou_thr = self.neg_iou_thr + min_iou_thr = self.min_iou_thr + ignore_iof_thr = self.ignore_iof_thr + + anchor_num = anchors.shape[0] + anchors_inds = self.anchor_valid(anchors) + anchors = anchors[anchors_inds] + gt_bboxes = gt_bboxes + is_crowd_slice = is_crowd + not_crowd_inds = np.where(is_crowd_slice == 0) + + # Step1: match anchor and gt_bbox + anchor_gt_bbox_inds, anchor_gt_bbox_iou, labels = self.assign_anchor( + anchors, gt_bboxes, + gt_labels.reshape(-1), pos_iou_thr, neg_iou_thr, min_iou_thr, + ignore_iof_thr) + + # Step2: sample anchor + pos_inds = np.where(labels >= 0)[0] + neg_inds = np.where(labels == -1)[0] + + # Step3: make output + anchors_num = anchors.shape[0] + bbox_targets = np.zeros_like(anchors) + bbox_weights = np.zeros_like(anchors) + pos_labels = np.ones(anchors_num, dtype=np.int32) * -1 + pos_labels_weights = np.zeros(anchors_num, dtype=np.float32) + + pos_sampled_anchors = anchors[pos_inds] + #print('ancho target pos_inds', pos_inds, len(pos_inds)) + pos_sampled_gt_boxes = gt_bboxes[anchor_gt_bbox_inds[pos_inds]] + if len(pos_inds) > 0: + pos_bbox_targets = bbox_utils.rbox2delta(pos_sampled_anchors, + pos_sampled_gt_boxes) + bbox_targets[pos_inds, :] = pos_bbox_targets + bbox_weights[pos_inds, :] = 1.0 + + pos_labels[pos_inds] = labels[pos_inds] + pos_labels_weights[pos_inds] = 1.0 + + if len(neg_inds) > 0: + pos_labels_weights[neg_inds] = 1.0 + return (pos_labels, pos_labels_weights, bbox_targets, bbox_weights, + pos_inds, neg_inds) diff --git a/ppdet/utils/visualizer.py b/ppdet/utils/visualizer.py index 5327fef1d..ecf959541 100644 --- a/ppdet/utils/visualizer.py +++ b/ppdet/utils/visualizer.py @@ -20,8 +20,9 @@ from __future__ import unicode_literals import numpy as np from PIL import Image, ImageDraw import cv2 - from .colormap import colormap +from ppdet.utils.logger import setup_logger +logger = setup_logger(__name__) __all__ = ['visualize_results'] @@ -86,21 +87,32 @@ def draw_bbox(image, im_id, catid2name, bboxes, threshold): if score < threshold: continue - xmin, ymin, w, h = bbox - xmax = xmin + w - ymax = ymin + h - if catid not in catid2color: idx = np.random.randint(len(color_list)) catid2color[catid] = color_list[idx] color = tuple(catid2color[catid]) # draw bbox - draw.line( - [(xmin, ymin), (xmin, ymax), (xmax, ymax), (xmax, ymin), - (xmin, ymin)], - width=2, - fill=color) + if len(bbox) == 4: + # draw bbox + xmin, ymin, w, h = bbox + xmax = xmin + w + ymax = ymin + h + draw.line( + [(xmin, ymin), (xmin, ymax), (xmax, ymax), (xmax, ymin), + (xmin, ymin)], + width=2, + fill=color) + elif len(bbox) == 8: + x1, y1, x2, y2, x3, y3, x4, y4 = bbox + draw.line( + [(x1, y1), (x2, y2), (x3, y3), (x4, y4), (x1, y1)], + width=2, + fill=color) + xmin = min(x1, x2, x3, x4) + ymin = min(y1, y2, y3, y4) + else: + logger.error('the shape of bbox must be [M, 4] or [M, 8]!') # draw label text = "{} {:.2f}".format(catid2name[catid], score) @@ -112,6 +124,23 @@ def draw_bbox(image, im_id, catid2name, bboxes, threshold): return image +def save_result(save_path, bbox_res, catid2name, threshold): + """ + save result as txt + """ + with open(save_path, 'w') as f: + for dt in bbox_res: + catid, bbox, score = dt['category_id'], dt['bbox'], dt['score'] + if score < threshold: + continue + # each bbox result as a line + # for rbox: classname score x1 y1 x2 y2 x3 y3 x4 y4 + # for bbox: classname score x1 y1 w h + bbox_pred = '{} {} '.format(catid2name[catid], score) + ' '.join( + [str(e) for e in bbox]) + f.write(bbox_pred + '\n') + + def draw_segm(image, im_id, catid2name, diff --git a/tools/infer.py b/tools/infer.py index c33d7a438..a73e14a67 100755 --- a/tools/infer.py +++ b/tools/infer.py @@ -71,6 +71,11 @@ def parse_args(): type=str, default="vdl_log_dir/image", help='VisualDL logging directory for image.') + parser.add_argument( + "--save_txt", + type=bool, + default=False, + help="whether to record the data to VisualDL.") args = parser.parse_args() return args @@ -120,7 +125,8 @@ def run(FLAGS, cfg): trainer.predict( images, draw_threshold=FLAGS.draw_threshold, - output_dir=FLAGS.output_dir) + output_dir=FLAGS.output_dir, + save_txt=FLAGS.save_txt) def main(): -- Gitee From 7bd57165584953e3b9ab336fd5510c7286649f32 Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Wed, 14 Apr 2021 11:27:49 +0800 Subject: [PATCH 32/90] fix bbox_loss in cascade rcnn (#2615) --- ppdet/modeling/heads/cascade_head.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ppdet/modeling/heads/cascade_head.py b/ppdet/modeling/heads/cascade_head.py index 0ee23c040..aed59661b 100644 --- a/ppdet/modeling/heads/cascade_head.py +++ b/ppdet/modeling/heads/cascade_head.py @@ -137,7 +137,7 @@ class CascadeXConvNormHead(nn.Layer): @register class CascadeHead(BBoxHead): __shared__ = ['num_classes', 'num_cascade_stages'] - __inject__ = ['bbox_assigner'] + __inject__ = ['bbox_assigner', 'bbox_loss'] """ Cascade RCNN bbox head @@ -161,7 +161,8 @@ class CascadeHead(BBoxHead): num_classes=80, bbox_weight=[[10., 10., 5., 5.], [20.0, 20.0, 10.0, 10.0], [30.0, 30.0, 15.0, 15.0]], - num_cascade_stages=3): + num_cascade_stages=3, + bbox_loss=None): nn.Layer.__init__(self, ) self.head = head self.roi_extractor = roi_extractor @@ -172,6 +173,7 @@ class CascadeHead(BBoxHead): self.num_classes = num_classes self.bbox_weight = bbox_weight self.num_cascade_stages = num_cascade_stages + self.bbox_loss = bbox_loss self.bbox_score_list = [] self.bbox_delta_list = [] -- Gitee From 197c59055cc5a02da5b32643f02c3fafe57fd050 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Wed, 14 Apr 2021 20:17:47 +0800 Subject: [PATCH 33/90] [Cherry pick] add ppyolo tiny (#2603) * add PP-YOLO tiny --- configs/ppyolo/README.md | 14 ++ configs/ppyolo/_base_/optimizer_650e.yml | 22 ++ configs/ppyolo/_base_/ppyolo_tiny.yml | 55 +++++ configs/ppyolo/_base_/ppyolo_tiny_reader.yml | 43 ++++ configs/ppyolo/ppyolo_tiny_650e_coco.yml | 10 + ppdet/modeling/heads/yolo_head.py | 27 ++- ppdet/modeling/necks/yolo_fpn.py | 184 +++++++++++++++++ static/configs/ppyolo/README.md | 14 ++ static/configs/ppyolo/README_cn.md | 12 ++ static/configs/ppyolo/ppyolo_tiny.yml | 193 ++++++++++++++++++ .../ppdet/modeling/anchor_heads/yolo_head.py | 189 +++++++++++++++++ 11 files changed, 753 insertions(+), 10 deletions(-) create mode 100644 configs/ppyolo/_base_/optimizer_650e.yml create mode 100644 configs/ppyolo/_base_/ppyolo_tiny.yml create mode 100644 configs/ppyolo/_base_/ppyolo_tiny_reader.yml create mode 100644 configs/ppyolo/ppyolo_tiny_650e_coco.yml create mode 100755 static/configs/ppyolo/ppyolo_tiny.yml diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index 6917e6945..91a1f4ec0 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -71,6 +71,20 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: - PP-YOLO_MobileNetV3 used 4 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md). - PP-YOLO_MobileNetV3 inference speed is tested on Kirin 990 with 1 thread. +### PP-YOLO tiny + +| Model | GPU number | images/GPU | Model Size | Post Quant Model Size | input shape | Box APval | Kirin 990 4xCore(FPS) | download | config | post quant model | +|:----------------------------:|:-------:|:-------------:|:----------:| :-------------------: | :---------: | :------------------: | :-------------------: | :------: | :----: | :--------------: | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 320 | 20.6 | 92.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [inference model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 416 | 22.7 | 65.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [inference model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | + +**Notes:** + +- PP-YOLO-tiny is trained on COCO train2017 datast and evaluated on val2017 dataset,Box APval is evaluation results of `mAP(IoU=0.5:0.95)`, Box APval is evaluation results of `mAP(IoU=0.5)`. +- PP-YOLO-tiny used 8 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md). +- PP-YOLO-tiny inference speed is tested on Kirin 990 with 4 threads by arm8 +- we alse provide PP-YOLO-tiny post quant inference model, which can compress model to **1.3MB** with nearly no inference on inference speed and performance + ### PP-YOLO on Pascal VOC PP-YOLO trained on Pascal VOC dataset as follows: diff --git a/configs/ppyolo/_base_/optimizer_650e.yml b/configs/ppyolo/_base_/optimizer_650e.yml new file mode 100644 index 000000000..79a1f98ea --- /dev/null +++ b/configs/ppyolo/_base_/optimizer_650e.yml @@ -0,0 +1,22 @@ +epoch: 650 + +LearningRate: + base_lr: 0.005 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 430 + - 540 + - 610 + - !LinearWarmup + start_factor: 0. + steps: 4000 + +OptimizerBuilder: + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0005 + type: L2 diff --git a/configs/ppyolo/_base_/ppyolo_tiny.yml b/configs/ppyolo/_base_/ppyolo_tiny.yml new file mode 100644 index 000000000..d03e2bb86 --- /dev/null +++ b/configs/ppyolo/_base_/ppyolo_tiny.yml @@ -0,0 +1,55 @@ +architecture: YOLOv3 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV3_large_x0_5_pretrained.pdparams +norm_type: sync_bn +use_ema: true +ema_decay: 0.9998 + +YOLOv3: + backbone: MobileNetV3 + neck: PPYOLOTinyFPN + yolo_head: YOLOv3Head + post_process: BBoxPostProcess + +MobileNetV3: + model_name: large + scale: .5 + with_extra_blocks: false + extra_block_filters: [] + feature_maps: [7, 13, 16] + +PPYOLOTinyFPN: + detection_block_channels: [160, 128, 96] + spp: true + drop_block: true + +YOLOv3Head: + anchors: [[10, 15], [24, 36], [72, 42], + [35, 87], [102, 96], [60, 170], + [220, 125], [128, 222], [264, 266]] + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + loss: YOLOv3Loss + +YOLOv3Loss: + ignore_thresh: 0.5 + downsample: [32, 16, 8] + label_smooth: false + scale_x_y: 1.05 + iou_loss: IouLoss + +IouLoss: + loss_weight: 2.5 + loss_square: true + +BBoxPostProcess: + decode: + name: YOLOBox + conf_thresh: 0.005 + downsample_ratio: 32 + clip_bbox: true + scale_x_y: 1.05 + nms: + name: MultiClassNMS + keep_top_k: 100 + nms_threshold: 0.45 + nms_top_k: 1000 + score_threshold: 0.005 diff --git a/configs/ppyolo/_base_/ppyolo_tiny_reader.yml b/configs/ppyolo/_base_/ppyolo_tiny_reader.yml new file mode 100644 index 000000000..4cbc090c9 --- /dev/null +++ b/configs/ppyolo/_base_/ppyolo_tiny_reader.yml @@ -0,0 +1,43 @@ +worker_num: 4 +TrainReader: + inputs_def: + num_max_boxes: 100 + sample_transforms: + - Decode: {} + - Mixup: {alpha: 1.5, beta: 1.5} + - RandomDistort: {} + - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} + - RandomCrop: {} + - RandomFlip: {} + batch_transforms: + - BatchRandomResize: {target_size: [192, 224, 256, 288, 320, 352, 384, 416, 448, 480, 512], random_size: True, random_interp: True, keep_ratio: False} + - NormalizeBox: {} + - PadBox: {num_max_boxes: 100} + - BboxXYXY2XYWH: {} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + - Gt2YoloTarget: {anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]], anchors: [[10, 15], [24, 36], [72, 42], [35, 87], [102, 96], [60, 170], [220, 125], [128, 222], [264, 266]], downsample_ratios: [32, 16, 8]} + batch_size: 32 + shuffle: true + drop_last: true + mixup_epoch: 500 + use_shared_memory: true + +EvalReader: + sample_transforms: + - Decode: {} + - Resize: {target_size: [320, 320], keep_ratio: False, interp: 2} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + batch_size: 8 + drop_empty: false + +TestReader: + inputs_def: + image_shape: [3, 320, 320] + sample_transforms: + - Decode: {} + - Resize: {target_size: [320, 320], keep_ratio: False, interp: 2} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + batch_size: 1 diff --git a/configs/ppyolo/ppyolo_tiny_650e_coco.yml b/configs/ppyolo/ppyolo_tiny_650e_coco.yml new file mode 100644 index 000000000..288a0eba8 --- /dev/null +++ b/configs/ppyolo/ppyolo_tiny_650e_coco.yml @@ -0,0 +1,10 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + './_base_/ppyolo_tiny.yml', + './_base_/optimizer_650e.yml', + './_base_/ppyolo_tiny_reader.yml', +] + +snapshot_epoch: 1 +weights: output/ppyolo_tiny_650e_coco/model_final diff --git a/ppdet/modeling/heads/yolo_head.py b/ppdet/modeling/heads/yolo_head.py index fa8f95797..033089ab2 100644 --- a/ppdet/modeling/heads/yolo_head.py +++ b/ppdet/modeling/heads/yolo_head.py @@ -20,6 +20,7 @@ class YOLOv3Head(nn.Layer): __inject__ = ['loss'] def __init__(self, + in_channels=[1024, 512, 256], anchors=[[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]], anchor_masks=[[6, 7, 8], [3, 4, 5], [0, 1, 2]], @@ -41,6 +42,8 @@ class YOLOv3Head(nn.Layer): data_format (str): data format, NCHW or NHWC """ super(YOLOv3Head, self).__init__() + assert len(in_channels) > 0, "in_channels length should > 0" + self.in_channels = in_channels self.num_classes = num_classes self.loss = loss @@ -59,16 +62,16 @@ class YOLOv3Head(nn.Layer): else: num_filters = len(self.anchors[i]) * (self.num_classes + 5) name = 'yolo_output.{}'.format(i) - yolo_output = self.add_sublayer( - name, - nn.Conv2D( - in_channels=128 * (2**self.num_outputs) // (2**i), - out_channels=num_filters, - kernel_size=1, - stride=1, - padding=0, - data_format=data_format, - bias_attr=ParamAttr(regularizer=L2Decay(0.)))) + conv = nn.Conv2D( + in_channels=self.in_channels[i], + out_channels=num_filters, + kernel_size=1, + stride=1, + padding=0, + data_format=data_format, + bias_attr=ParamAttr(regularizer=L2Decay(0.))) + conv.skip_quant = True + yolo_output = self.add_sublayer(name, conv) self.yolo_outputs.append(yolo_output) def parse_anchor(self, anchors, anchor_masks): @@ -116,3 +119,7 @@ class YOLOv3Head(nn.Layer): return y else: return yolo_outputs + + @classmethod + def from_config(cls, cfg, input_shape): + return {'in_channels': [i.channels for i in input_shape], } diff --git a/ppdet/modeling/necks/yolo_fpn.py b/ppdet/modeling/necks/yolo_fpn.py index 9b8a6d40a..15309eac6 100644 --- a/ppdet/modeling/necks/yolo_fpn.py +++ b/ppdet/modeling/necks/yolo_fpn.py @@ -262,6 +262,77 @@ class PPYOLODetBlock(nn.Layer): return route, tip +class PPYOLOTinyDetBlock(nn.Layer): + def __init__(self, + ch_in, + ch_out, + name, + drop_block=False, + block_size=3, + keep_prob=0.9, + data_format='NCHW'): + """ + PPYOLO Tiny DetBlock layer + + Args: + ch_in (list): input channel number + ch_out (list): output channel number + name (str): block name + drop_block: whether user DropBlock + block_size: drop block size + keep_prob: probability to keep block in DropBlock + data_format (str): data format, NCHW or NHWC + """ + super(PPYOLOTinyDetBlock, self).__init__() + self.drop_block_ = drop_block + self.conv_module = nn.Sequential() + + cfgs = [ + # name, in channels, out channels, filter_size, + # stride, padding, groups + ['.0', ch_in, ch_out, 1, 1, 0, 1], + ['.1', ch_out, ch_out, 5, 1, 2, ch_out], + ['.2', ch_out, ch_out, 1, 1, 0, 1], + ['.route', ch_out, ch_out, 5, 1, 2, ch_out], + ] + for cfg in cfgs: + conv_name, conv_ch_in, conv_ch_out, filter_size, stride, padding, \ + groups = cfg + self.conv_module.add_sublayer( + name + conv_name, + ConvBNLayer( + ch_in=conv_ch_in, + ch_out=conv_ch_out, + filter_size=filter_size, + stride=stride, + padding=padding, + groups=groups, + name=name + conv_name)) + + self.tip = ConvBNLayer( + ch_in=ch_out, + ch_out=ch_out, + filter_size=1, + stride=1, + padding=0, + groups=1, + name=name + conv_name) + + if self.drop_block_: + self.drop_block = DropBlock( + block_size=block_size, + keep_prob=keep_prob, + data_format=data_format, + name=name + '.dropblock') + + def forward(self, inputs): + if self.drop_block_: + inputs = self.drop_block(inputs) + route = self.conv_module(inputs) + tip = self.tip(route) + return route, tip + + @register @serializable class YOLOv3FPN(nn.Layer): @@ -497,3 +568,116 @@ class PPYOLOFPN(nn.Layer): @property def out_shape(self): return [ShapeSpec(channels=c) for c in self._out_channels] + + +@register +@serializable +class PPYOLOTinyFPN(nn.Layer): + __shared__ = ['norm_type', 'data_format'] + + def __init__(self, + in_channels=[80, 56, 34], + detection_block_channels=[160, 128, 96], + norm_type='bn', + data_format='NCHW', + **kwargs): + """ + PPYOLO Tiny FPN layer + + Args: + in_channels (list): input channels for fpn + detection_block_channels (list): channels in fpn + norm_type (str): batch norm type, default bn + data_format (str): data format, NCHW or NHWC + kwargs: extra key-value pairs, such as parameter of DropBlock and spp + + """ + super(PPYOLOTinyFPN, self).__init__() + assert len(in_channels) > 0, "in_channels length should > 0" + self.in_channels = in_channels[::-1] + assert len(detection_block_channels + ) > 0, "detection_block_channelslength should > 0" + self.detection_block_channels = detection_block_channels + self.data_format = data_format + self.num_blocks = len(in_channels) + # parse kwargs + self.drop_block = kwargs.get('drop_block', False) + self.block_size = kwargs.get('block_size', 3) + self.keep_prob = kwargs.get('keep_prob', 0.9) + + self.spp_ = kwargs.get('spp', False) + if self.spp_: + self.spp = SPP(self.in_channels[0] * 4, + self.in_channels[0], + k=1, + pool_size=[5, 9, 13], + norm_type=norm_type, + name='spp') + + self._out_channels = [] + self.yolo_blocks = [] + self.routes = [] + for i, ( + ch_in, ch_out + ) in enumerate(zip(self.in_channels, self.detection_block_channels)): + name = 'yolo_block.{}'.format(i) + if i > 0: + ch_in += self.detection_block_channels[i - 1] + yolo_block = self.add_sublayer( + name, + PPYOLOTinyDetBlock( + ch_in, + ch_out, + name, + drop_block=self.drop_block, + block_size=self.block_size, + keep_prob=self.keep_prob)) + self.yolo_blocks.append(yolo_block) + self._out_channels.append(ch_out) + + if i < self.num_blocks - 1: + name = 'yolo_transition.{}'.format(i) + route = self.add_sublayer( + name, + ConvBNLayer( + ch_in=ch_out, + ch_out=ch_out, + filter_size=1, + stride=1, + padding=0, + norm_type=norm_type, + data_format=data_format, + name=name)) + self.routes.append(route) + + def forward(self, blocks): + assert len(blocks) == self.num_blocks + blocks = blocks[::-1] + + yolo_feats = [] + for i, block in enumerate(blocks): + if i == 0 and self.spp_: + block = self.spp(block) + + if i > 0: + if self.data_format == 'NCHW': + block = paddle.concat([route, block], axis=1) + else: + block = paddle.concat([route, block], axis=-1) + route, tip = self.yolo_blocks[i](block) + yolo_feats.append(tip) + + if i < self.num_blocks - 1: + route = self.routes[i](route) + route = F.interpolate( + route, scale_factor=2., data_format=self.data_format) + + return yolo_feats + + @classmethod + def from_config(cls, cfg, input_shape): + return {'in_channels': [i.channels for i in input_shape], } + + @property + def out_shape(self): + return [ShapeSpec(channels=c) for c in self._out_channels] diff --git a/static/configs/ppyolo/README.md b/static/configs/ppyolo/README.md index 3d8f2af9e..f8f707634 100644 --- a/static/configs/ppyolo/README.md +++ b/static/configs/ppyolo/README.md @@ -88,6 +88,20 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: - Pruning detectiom head of PP-YOLO model with ratio as 75%, while the arguments are `--pruned_params="yolo_block.0.2.conv.weights,yolo_block.0.tip.conv.weights,yolo_block.1.2.conv.weights,yolo_block.1.tip.conv.weights" --pruned_ratios="0.75,0.75,0.75,0.75"` - For Slim PP-YOLO training, evaluation, inference and model exporting, please see [Distill pruned model](../../slim/extentions/distill_pruned_model/README.md) +### PP-YOLO tiny + +| Model | GPU number | images/GPU | Model Size | Post Quant Model Size | input shape | Box APval | Kirin 990 4xCore(FPS) | download | config | config | post quant model | +|:----------------------------:|:-------:|:-------------:|:----------:| :-------------------: | :----------:| :------------------: | :-------------------: | :------: | :----: | :----: | :--------------: | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 320 | 20.6 | 92.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_tiny.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/static/configs/ppyolo/ppyolo_tiny.yml) | [inference model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 416 | 22.7 | 65.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_tiny.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/static/configs/ppyolo/ppyolo_tiny.yml) | [inference model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | + +**Notes:** + +- PP-YOLO-tiny is trained on COCO train2017 datast and evaluated on val2017 dataset,Box APval is evaluation results of `mAP(IoU=0.5:0.95)`, Box APval is evaluation results of `mAP(IoU=0.5)`. +- PP-YOLO-tiny used 8 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md). +- PP-YOLO-tiny inference speed is tested on Kirin 990 with 4 threads by arm8 +- we alse provide PP-YOLO-tiny post quant inference model, which can compress model to **1.3MB** with nearly no inference on inference speed and performance + ### PP-YOLO on Pascal VOC PP-YOLO trained on Pascal VOC dataset as follows: diff --git a/static/configs/ppyolo/README_cn.md b/static/configs/ppyolo/README_cn.md index 68ca89d41..a811a7e0d 100644 --- a/static/configs/ppyolo/README_cn.md +++ b/static/configs/ppyolo/README_cn.md @@ -87,6 +87,18 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: - 卷积通道检测对Head部分剪裁掉75%的通道数,及剪裁参数为`--pruned_params="yolo_block.0.2.conv.weights,yolo_block.0.tip.conv.weights,yolo_block.1.2.conv.weights,yolo_block.1.tip.conv.weights" --pruned_ratios="0.75,0.75,0.75,0.75"` - PP-YOLO 轻量级裁剪模型的训练、评估、预测及模型导出方法见[蒸馏通道剪裁模型](../../slim/extentions/distill_pruned_model/README.md) +### PP-YOLO tiny模型 + +| 模型 | GPU 个数 | 每GPU图片个数 | 模型体积 | 后量化模型体积 | 输入尺寸 | Box APval | Kirin 990 1xCore (FPS) | 模型下载 | 配置文件 | 后量化模型 | +|:----------------------------:|:----------:|:-------------:| :--------: | :------------: | :----------:| :------------------: | :--------------------: | :------: | :------: | :--------: | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 320 | 20.6 | 92.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [预测模型](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 416 | 22.7 | 65.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [预测模型](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | + +- PP-YOLO-tiny 模型使用COCO数据集中train2017作为训练集,使用val2017作为测试集,Box APval为`mAP(IoU=0.5:0.95)`评估结果, Box AP50val为`mAP(IoU=0.5)`评估结果。 +- PP-YOLO-tiny 模型训练过程中使用8GPU,每GPU batch size为32进行训练,如训练GPU数和batch size不使用上述配置,须参考[FAQ](../../docs/FAQ.md)调整学习率和迭代次数。 +- PP-YOLO-tiny 模型推理速度测试环境配置为麒麟990芯片4线程,arm8架构。 +- 我们也提供的PP-YOLO-tiny的后量化压缩模型,将模型体积压缩到**1.3M**,对精度和预测速度基本无影响 + ### Pascal VOC数据集上的PP-YOLO PP-YOLO在Pascal VOC数据集上训练模型如下: diff --git a/static/configs/ppyolo/ppyolo_tiny.yml b/static/configs/ppyolo/ppyolo_tiny.yml new file mode 100755 index 000000000..aa80ebf41 --- /dev/null +++ b/static/configs/ppyolo/ppyolo_tiny.yml @@ -0,0 +1,193 @@ +architecture: YOLOv3 +use_gpu: true +max_iters: 300000 +log_smooth_window: 100 +log_iter: 100 +save_dir: output +snapshot_iter: 10000 +metric: COCO +pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/MobileNetV3_large_x0_5_pretrained.tar +weights: output/ppyolo_tiny/model_final +num_classes: 80 +use_fine_grained_loss: true +use_ema: true +ema_decay: 0.9998 + +YOLOv3: + backbone: MobileNetV3 + yolo_head: PPYOLOTinyHead + use_fine_grained_loss: true + +MobileNetV3: + norm_type: sync_bn + norm_decay: 0. + model_name: large + scale: .5 + extra_block_filters: [] + feature_maps: [1, 2, 3, 4, 6] + +PPYOLOTinyHead: + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + anchors: [[10, 15], [24, 36], [72, 42], + [35, 87], [102, 96], [60, 170], + [220, 125], [128, 222], [264, 266]] + detection_block_channels: [160, 128, 96] + norm_decay: 0. + scale_x_y: 1.05 + yolo_loss: YOLOv3Loss + spp: true + drop_block: true + nms: + background_label: -1 + keep_top_k: 100 + nms_threshold: 0.45 + nms_top_k: 1000 + normalized: false + score_threshold: 0.01 + +YOLOv3Loss: + ignore_thresh: 0.5 + scale_x_y: 1.05 + label_smooth: false + use_fine_grained_loss: true + iou_loss: IouLoss + +IouLoss: + loss_weight: 2.5 + max_height: 512 + max_width: 512 + +LearningRate: + base_lr: 0.005 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 200000 + - 250000 + - 280000 + - !LinearWarmup + start_factor: 0. + steps: 4000 + +OptimizerBuilder: + optimizer: + momentum: 0.949 + type: Momentum + regularizer: + factor: 0.0005 + type: L2 + +TrainReader: + inputs_def: + fields: ['image', 'gt_bbox', 'gt_class', 'gt_score'] + num_max_boxes: 100 + dataset: + !COCODataSet + image_dir: train2017 + anno_path: annotations/instances_train2017.json + dataset_dir: train_data/dataset/coco + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + with_mixup: True + - !MixupImage + alpha: 1.5 + beta: 1.5 + - !ColorDistort {} + - !RandomExpand + fill_value: [123.675, 116.28, 103.53] + ratio: 2 + - !RandomCrop {} + - !RandomFlipImage + is_normalized: false + - !NormalizeBox {} + - !PadBox + num_max_boxes: 100 + - !BboxXYXY2XYWH {} + batch_transforms: + - !RandomShape + sizes: [192, 224, 256, 288, 320, 352, 384, 416, 448, 480, 512] + random_inter: True + - !NormalizeImage + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + is_scale: True + is_channel_first: false + - !Permute + to_bgr: false + channel_first: True + # Gt2YoloTarget is only used when use_fine_grained_loss set as true, + # this operator will be deleted automatically if use_fine_grained_loss + # is set as false + - !Gt2YoloTarget + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + anchors: [[10, 15], [24, 36], [72, 42], + [35, 87], [102, 96], [60, 170], + [220, 125], [128, 222], [264, 266]] + downsample_ratios: [32, 16, 8] + iou_thresh: 0.25 + num_classes: 80 + batch_size: 32 + shuffle: true + mixup_epoch: 200 + drop_last: true + worker_num: 16 + bufsize: 4 + use_process: true + +EvalReader: + inputs_def: + fields: ['image', 'im_size', 'im_id'] + num_max_boxes: 100 + dataset: + !COCODataSet + image_dir: val2017 + anno_path: annotations/instances_val2017.json + dataset_dir: train_data/dataset/coco + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + - !ResizeImage + target_size: 320 + interp: 2 + - !NormalizeImage + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + is_scale: True + is_channel_first: false + - !PadBox + num_max_boxes: 100 + - !Permute + to_bgr: false + channel_first: True + batch_size: 1 + drop_empty: false + worker_num: 2 + bufsize: 4 + +TestReader: + inputs_def: + image_shape: [3, 320, 320] + fields: ['image', 'im_size', 'im_id'] + dataset: + !ImageFolder + anno_path: annotations/instances_val2017.json + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + - !ResizeImage + target_size: 320 + interp: 2 + - !NormalizeImage + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + is_scale: True + is_channel_first: false + - !Permute + to_bgr: false + channel_first: True + batch_size: 1 diff --git a/static/ppdet/modeling/anchor_heads/yolo_head.py b/static/ppdet/modeling/anchor_heads/yolo_head.py index 645b1e835..c7cf14822 100644 --- a/static/ppdet/modeling/anchor_heads/yolo_head.py +++ b/static/ppdet/modeling/anchor_heads/yolo_head.py @@ -163,6 +163,7 @@ class YOLOv3Head(object): filter_size, stride, padding, + groups=None, act='leaky', name=None): conv = fluid.layers.conv2d( @@ -171,6 +172,7 @@ class YOLOv3Head(object): filter_size=filter_size, stride=stride, padding=padding, + groups=groups, act=None, param_attr=ParamAttr(name=name + ".conv.weights"), bias_attr=False) @@ -649,3 +651,190 @@ class YOLOv4Head(YOLOv3Head): outputs.append(block_out) return outputs + + +@register +class PPYOLOTinyHead(YOLOv3Head): + """ + Head block for YOLOv3 network + + Args: + norm_decay (float): weight decay for normalization layer weights + num_classes (int): number of output classes + anchors (list): anchors + anchor_masks (list): anchor masks + nms (object): an instance of `MultiClassNMS` + detection_block_channels (list): the channel number of each + detection block. + """ + __inject__ = ['yolo_loss', 'nms'] + __shared__ = ['num_classes', 'weight_prefix_name'] + + def __init__(self, + norm_decay=0., + num_classes=80, + anchors=[[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], + [59, 119], [116, 90], [156, 198], [373, 326]], + anchor_masks=[[6, 7, 8], [3, 4, 5], [0, 1, 2]], + detection_block_channels=[128, 96], + drop_block=False, + block_size=3, + keep_prob=0.9, + yolo_loss="YOLOv3Loss", + spp=False, + nms=MultiClassNMS( + score_threshold=0.01, + nms_top_k=1000, + keep_top_k=100, + nms_threshold=0.45, + background_label=-1).__dict__, + weight_prefix_name='', + downsample=[32, 16, 8], + scale_x_y=1.0, + clip_bbox=True): + super(PPYOLOTinyHead, self).__init__( + norm_decay=norm_decay, + num_classes=num_classes, + anchors=anchors, + anchor_masks=anchor_masks, + drop_block=drop_block, + block_size=block_size, + keep_prob=0.9, + spp=spp, + yolo_loss=yolo_loss, + nms=nms, + weight_prefix_name=weight_prefix_name, + downsample=downsample, + scale_x_y=scale_x_y, + clip_bbox=clip_bbox) + self.detection_block_channels = detection_block_channels + + def _detection_block(self, + input, + channel, + is_first=False, + is_test=True, + name=None): + assert channel % 2 == 0, \ + "channel {} cannot be divided by 2 in detection block {}" \ + .format(channel, name) + + conv = input + if self.use_spp and is_first: + c = conv.shape[1] + conv = self._spp_module(conv, name="spp") + conv = self._conv_bn( + conv, + c, + filter_size=1, + stride=1, + padding=0, + name='{}.spp.conv'.format(name)) + + if self.drop_block: + conv = DropBlock( + conv, + block_size=self.block_size, + keep_prob=self.keep_prob, + is_test=is_test) + + conv = self._conv_bn( + conv, + ch_out=channel, + filter_size=1, + stride=1, + padding=0, + groups=1, + name='{}.0'.format(name)) + conv = self._conv_bn( + conv, + channel, + filter_size=5, + stride=1, + padding=2, + groups=channel, + name='{}.1'.format(name)) + conv = self._conv_bn( + conv, + channel, + filter_size=1, + stride=1, + padding=0, + name='{}.2'.format(name)) + route = self._conv_bn( + conv, + channel, + filter_size=5, + stride=1, + padding=2, + groups=channel, + name='{}.route'.format(name)) + tip = self._conv_bn( + route, + channel, + filter_size=1, + stride=1, + padding=0, + name='{}.tip'.format(name)) + return route, tip + + def _get_outputs(self, input, is_train=True): + """ + Get PP-YOLO tiny head output + + Args: + input (list): List of Variables, output of backbone stages + is_train (bool): whether in train or test mode + + Returns: + outputs (list): Variables of each output layer + """ + + outputs = [] + + # get last out_layer_num blocks in reverse order + out_layer_num = len(self.anchor_masks) + blocks = input[-1:-out_layer_num - 1:-1] + + route = None + for i, block in enumerate(blocks): + if i > 0: # perform concat in first 2 detection_block + block = fluid.layers.concat(input=[route, block], axis=1) + route, tip = self._detection_block( + block, + channel=self.detection_block_channels[i], + is_first=i == 0, + is_test=(not is_train), + name=self.prefix_name + "yolo_block.{}".format(i)) + + # out channel number = mask_num * (5 + class_num) + num_filters = len(self.anchor_masks[i]) * (self.num_classes + 5) + with fluid.name_scope('yolo_output'): + block_out = fluid.layers.conv2d( + input=tip, + num_filters=num_filters, + filter_size=1, + stride=1, + padding=0, + act=None, + param_attr=ParamAttr( + name=self.prefix_name + + "yolo_output.{}.conv.weights".format(i)), + bias_attr=ParamAttr( + regularizer=L2Decay(0.), + name=self.prefix_name + + "yolo_output.{}.conv.bias".format(i))) + outputs.append(block_out) + + if i < len(blocks) - 1: + # upsample + route = self._conv_bn( + input=route, + ch_out=self.detection_block_channels[i], + filter_size=1, + stride=1, + padding=0, + name=self.prefix_name + "yolo_transition.{}".format(i)) + route = self._upsample(route) + + return outputs -- Gitee From d781fa969894b2106d09124b941cbb3e68e43d16 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Wed, 14 Apr 2021 21:22:47 +0800 Subject: [PATCH 34/90] [Cherry pick] fix travis & redownload (#2621) * try fix travis --- .travis.yml | 2 +- ppdet/utils/download.py | 54 ++++++++++++++++++++++++++++++----------- 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1cf4a2f2b..e9841259f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,7 @@ addons: - python2.7-dev ssh_known_hosts: 13.229.163.131 before_install: - - sudo pip install -U virtualenv pre-commit pip + - sudo pip install -U virtualenv pre-commit pip -i https://pypi.tuna.tsinghua.edu.cn/simple - docker pull paddlepaddle/paddle:latest - git pull https://github.com/PaddlePaddle/PaddleDetection release/2.0 diff --git a/ppdet/utils/download.py b/ppdet/utils/download.py index 3b50ddd01..9e983efa6 100644 --- a/ppdet/utils/download.py +++ b/ppdet/utils/download.py @@ -23,6 +23,8 @@ import shutil import requests import tqdm import hashlib +import base64 +import binascii import tarfile import zipfile @@ -257,20 +259,21 @@ def get_path(url, root_dir, md5sum=None, check_exist=True): if fullpath.find(k) >= 0: fullpath = osp.join(osp.split(fullpath)[0], v) - exist_flag = False if osp.exists(fullpath) and check_exist: - exist_flag = True - logger.debug("Found {}".format(fullpath)) - else: - exist_flag = False - fullname = _download(url, root_dir, md5sum) + if _check_exist_file_md5(fullpath, md5sum, url): + logger.debug("Found {}".format(fullpath)) + return fullpath, True + else: + os.remove(fullpath) - # new weights format which postfix is 'pdparams' not - # need to decompress - if osp.splitext(fullname)[-1] not in ['.pdparams', '.yml']: - _decompress(fullname) + fullname = _download(url, root_dir, md5sum) - return fullpath, exist_flag + # new weights format which postfix is 'pdparams' not + # need to decompress + if osp.splitext(fullname)[-1] not in ['.pdparams', '.yml']: + _decompress(fullname) + + return fullpath, False def download_dataset(path, dataset=None): @@ -324,7 +327,8 @@ def _download(url, path, md5sum=None): fullname = osp.join(path, fname) retry_cnt = 0 - while not (osp.exists(fullname) and _md5check(fullname, md5sum)): + while not (osp.exists(fullname) and _check_exist_file_md5(fullname, md5sum, + url)): if retry_cnt < DOWNLOAD_RETRY_LIMIT: retry_cnt += 1 else: @@ -355,8 +359,30 @@ def _download(url, path, md5sum=None): if chunk: f.write(chunk) shutil.move(tmp_fullname, fullname) - - return fullname + return fullname + + +def _check_exist_file_md5(filename, md5sum, url): + # if md5sum is None, and file to check is weights file, + # read md5um from url and check, else check md5sum directly + return _md5check_from_url(filename, url) if md5sum is None \ + and filename.endswith('pdparams') \ + else _md5check(filename, md5sum) + + +def _md5check_from_url(filename, url): + # For weights in bcebos URLs, MD5 value is contained + # in request header as 'content_md5' + req = requests.get(url, stream=True) + content_md5 = req.headers.get('content-md5') + req.close() + if not content_md5 or _md5check( + filename, + binascii.hexlify(base64.b64decode(content_md5.strip('"'))).decode( + )): + return True + else: + return False def _md5check(fullname, md5sum=None): -- Gitee From 86fc771c294248052be4f30f5eb073cf3a9373a7 Mon Sep 17 00:00:00 2001 From: shangliang Xu Date: Wed, 14 Apr 2021 22:55:20 +0800 Subject: [PATCH 35/90] add save only in eval/train test=develop (#2605) --- ppdet/engine/trainer.py | 5 +++- ppdet/metrics/metrics.py | 55 +++++++++++++++++++++++++--------------- tools/eval.py | 9 ++++++- tools/train.py | 6 +++++ 4 files changed, 52 insertions(+), 23 deletions(-) diff --git a/ppdet/engine/trainer.py b/ppdet/engine/trainer.py index c64bbe5b8..a25554be3 100644 --- a/ppdet/engine/trainer.py +++ b/ppdet/engine/trainer.py @@ -125,6 +125,8 @@ class Trainer(object): bias = self.cfg['bias'] if 'bias' in self.cfg else 0 output_eval = self.cfg['output_eval'] \ if 'output_eval' in self.cfg else None + save_prediction_only = self.cfg['save_prediction_only'] \ + if 'save_prediction_only' in self.cfg else False # pass clsid2catid info to metric instance to avoid multiple loading # annotation file @@ -145,7 +147,8 @@ class Trainer(object): clsid2catid=clsid2catid, classwise=classwise, output_eval=output_eval, - bias=bias) + bias=bias, + save_prediction_only=save_prediction_only) ] elif self.cfg.metric == 'VOC': self._metrics = [ diff --git a/ppdet/metrics/metrics.py b/ppdet/metrics/metrics.py index cae3a2e09..e4ad1544f 100644 --- a/ppdet/metrics/metrics.py +++ b/ppdet/metrics/metrics.py @@ -69,6 +69,7 @@ class COCOMetric(Metric): self.output_eval = kwargs.get('output_eval', None) # TODO: bias should be unified self.bias = kwargs.get('bias', 0) + self.save_prediction_only = kwargs.get('save_prediction_only', False) self.reset() def reset(self): @@ -104,13 +105,17 @@ class COCOMetric(Metric): json.dump(self.results['bbox'], f) logger.info('The bbox result is saved to bbox.json.') - bbox_stats = cocoapi_eval( - output, - 'bbox', - anno_file=self.anno_file, - classwise=self.classwise) - self.eval_results['bbox'] = bbox_stats - sys.stdout.flush() + if self.save_prediction_only: + logger.info('The bbox result is saved to {} and do not ' + 'evaluate the mAP.'.format(output)) + else: + bbox_stats = cocoapi_eval( + output, + 'bbox', + anno_file=self.anno_file, + classwise=self.classwise) + self.eval_results['bbox'] = bbox_stats + sys.stdout.flush() if len(self.results['mask']) > 0: output = "mask.json" @@ -120,13 +125,17 @@ class COCOMetric(Metric): json.dump(self.results['mask'], f) logger.info('The mask result is saved to mask.json.') - seg_stats = cocoapi_eval( - output, - 'segm', - anno_file=self.anno_file, - classwise=self.classwise) - self.eval_results['mask'] = seg_stats - sys.stdout.flush() + if self.save_prediction_only: + logger.info('The mask result is saved to {} and do not ' + 'evaluate the mAP.'.format(output)) + else: + seg_stats = cocoapi_eval( + output, + 'segm', + anno_file=self.anno_file, + classwise=self.classwise) + self.eval_results['mask'] = seg_stats + sys.stdout.flush() if len(self.results['segm']) > 0: output = "segm.json" @@ -136,13 +145,17 @@ class COCOMetric(Metric): json.dump(self.results['segm'], f) logger.info('The segm result is saved to segm.json.') - seg_stats = cocoapi_eval( - output, - 'segm', - anno_file=self.anno_file, - classwise=self.classwise) - self.eval_results['mask'] = seg_stats - sys.stdout.flush() + if self.save_prediction_only: + logger.info('The segm result is saved to {} and do not ' + 'evaluate the mAP.'.format(output)) + else: + seg_stats = cocoapi_eval( + output, + 'segm', + anno_file=self.anno_file, + classwise=self.classwise) + self.eval_results['mask'] = seg_stats + sys.stdout.flush() def log(self): pass diff --git a/tools/eval.py b/tools/eval.py index 56e350d92..16f6acee8 100755 --- a/tools/eval.py +++ b/tools/eval.py @@ -66,6 +66,12 @@ def parse_args(): action="store_true", help="whether per-category AP and draw P-R Curve or not.") + parser.add_argument( + '--save_prediction_only', + action='store_true', + default=False, + help='Whether to save the evaluation results only') + args = parser.parse_args() return args @@ -85,7 +91,7 @@ def run(FLAGS, cfg): # init parallel environment if nranks > 1 init_parallel_env() - # build trainer + # build trainer trainer = Trainer(cfg, mode='eval') # load weights @@ -102,6 +108,7 @@ def main(): cfg['bias'] = 1 if FLAGS.bias else 0 cfg['classwise'] = True if FLAGS.classwise else False cfg['output_eval'] = FLAGS.output_eval + cfg['save_prediction_only'] = FLAGS.save_prediction_only merge_config(FLAGS.opt) place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') diff --git a/tools/train.py b/tools/train.py index 0ae86da07..675163b4e 100755 --- a/tools/train.py +++ b/tools/train.py @@ -75,6 +75,11 @@ def parse_args(): type=str, default="vdl_log_dir/scalar", help='VisualDL logging directory for scalar.') + parser.add_argument( + '--save_prediction_only', + action='store_true', + default=False, + help='Whether to save the evaluation results only') args = parser.parse_args() return args @@ -110,6 +115,7 @@ def main(): cfg['fleet'] = FLAGS.fleet cfg['use_vdl'] = FLAGS.use_vdl cfg['vdl_log_dir'] = FLAGS.vdl_log_dir + cfg['save_prediction_only'] = FLAGS.save_prediction_only merge_config(FLAGS.opt) place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') -- Gitee From fb38470f1cb032da4786fa35959b1b4969514a77 Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Thu, 15 Apr 2021 09:54:04 +0800 Subject: [PATCH 36/90] [cherry-pick] add ppyolov2 (#2628) * add ppyolov2 * fix bugs and modify docs * modify code and doc according to review * fix bugs while resolving conflicts --- configs/ppyolo/README.md | 56 ++- configs/ppyolo/README_cn.md | 55 ++- configs/ppyolo/_base_/optimizer_365e.yml | 21 ++ configs/ppyolo/_base_/ppyolov2_r50vd_dcn.yml | 65 ++++ configs/ppyolo/_base_/ppyolov2_reader.yml | 43 +++ .../ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml | 20 + .../ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml | 10 + ppdet/modeling/backbones/darknet.py | 4 +- ppdet/modeling/losses/iou_aware_loss.py | 4 +- ppdet/modeling/necks/yolo_fpn.py | 350 ++++++++++++++++-- ppdet/modeling/ops.py | 5 + static/configs/ppyolo/README.md | 45 +-- static/configs/ppyolo/README_cn.md | 44 +-- static/configs/ppyolo/ppyolov2_r101vd_dcn.yml | 89 +++++ static/configs/ppyolo/ppyolov2_r50vd_dcn.yml | 89 +++++ static/configs/ppyolo/ppyolov2_reader.yml | 111 ++++++ .../ppdet/modeling/anchor_heads/yolo_head.py | 234 +++++++++++- .../ppdet/modeling/losses/iou_aware_loss.py | 3 +- static/ppdet/modeling/losses/yolo_loss.py | 1 - 19 files changed, 1129 insertions(+), 120 deletions(-) create mode 100644 configs/ppyolo/_base_/optimizer_365e.yml create mode 100644 configs/ppyolo/_base_/ppyolov2_r50vd_dcn.yml create mode 100644 configs/ppyolo/_base_/ppyolov2_reader.yml create mode 100644 configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml create mode 100644 configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml create mode 100644 static/configs/ppyolo/ppyolov2_r101vd_dcn.yml create mode 100644 static/configs/ppyolo/ppyolov2_r50vd_dcn.yml create mode 100644 static/configs/ppyolo/ppyolov2_reader.yml diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index 91a1f4ec0..ba73b470a 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -38,17 +38,20 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | backbone | input shape | Box APval | Box APtest | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | download | config | |:------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :-------------------: | :------------: | :---------------------: | :------: | :------: | -| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | + **Notes:** @@ -62,8 +65,8 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | Model Size | input shape | Box APval | Box AP50val | Kirin 990 1xCore(FPS) | download | config | |:----------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :--------------------: | :--------------------: | :------: | :------: | -| PP-YOLO_MobileNetV3_large | 4 | 32 | 28MB | 320 | 23.2 | 42.6 | 14.1 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_mbv3_large_coco.yml) | -| PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | +| PP-YOLO_MobileNetV3_large | 4 | 32 | 28MB | 320 | 23.2 | 42.6 | 14.1 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_mbv3_large_coco.yml) | +| PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | **Notes:** @@ -91,9 +94,9 @@ PP-YOLO trained on Pascal VOC dataset as follows: | Model | GPU number | images/GPU | backbone | input shape | Box AP50val | download | config | |:------------------:|:----------:|:----------:|:----------:| :----------:| :--------------------: | :------: | :-----: | -| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | ## Getting Start @@ -184,4 +187,23 @@ Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3. - Performance and inference spedd are measure with input shape as 608 - All models are trained on COCO train2017 datast and evaluated on val2017 & test-dev2017 dataset,`Box AP` is evaluation results as `mAP(IoU=0.5:0.95)`. - Inference speed is tested on single Tesla V100 with batch size as 1 following test method and environment configuration in benchmark above. -- [YOLOv3-DarkNet53](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml) with mAP as 39.0 is optimized YOLOv3 model in PaddleDetection,see [Model Zoo](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/MODEL_ZOO.md) for details. +- [YOLOv3-DarkNet53](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml) with mAP as 39.0 is optimized YOLOv3 model in PaddleDetection,see [Model Zoo](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/MODEL_ZOO.md) for details. + +## Citation + +``` +@misc{long2020ppyolo, +title={PP-YOLO: An Effective and Efficient Implementation of Object Detector}, +author={Xiang Long and Kaipeng Deng and Guanzhong Wang and Yang Zhang and Qingqing Dang and Yuan Gao and Hui Shen and Jianguo Ren and Shumin Han and Errui Ding and Shilei Wen}, +year={2020}, +eprint={2007.12099}, +archivePrefix={arXiv}, +primaryClass={cs.CV} +} +@misc{ppdet2019, +title={PaddleDetection, Object detection and instance segmentation toolkit based on PaddlePaddle.}, +author={PaddlePaddle Authors}, +howpublished = {\url{https://github.com/PaddlePaddle/PaddleDetection}}, +year={2019} +} +``` diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index 648d15fe4..9de54d118 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -38,17 +38,19 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | 模型 | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box APval | Box APtest | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | 模型下载 | 配置文件 | |:------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :-------------------: | :------------: | :---------------------: | :------: | :------: | -| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | **注意:** @@ -63,8 +65,8 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | 模型 | GPU个数 | 每GPU图片个数 | 模型体积 | 输入尺寸 | Box APval | Box AP50val | Kirin 990 1xCore (FPS) | 模型下载 | 配置文件 | |:----------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :--------------------: | :--------------------: | :------: | :------: | -| PP-YOLO_MobileNetV3_large | 4 | 32 | 28MB | 320 | 23.2 | 42.6 | 14.1 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_mbv3_large_coco.yml) | -| PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | +| PP-YOLO_MobileNetV3_large | 4 | 32 | 28MB | 320 | 23.2 | 42.6 | 14.1 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_mbv3_large_coco.yml) | +| PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | - PP-YOLO_MobileNetV3 模型使用COCO数据集中train2017作为训练集,使用val2017作为测试集,Box APval为`mAP(IoU=0.5:0.95)`评估结果, Box AP50val为`mAP(IoU=0.5)`评估结果。 - PP-YOLO_MobileNetV3 模型训练过程中使用4GPU,每GPU batch size为32进行训练,如训练GPU数和batch size不使用上述配置,须参考[FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md)调整学习率和迭代次数。 @@ -76,9 +78,9 @@ PP-YOLO在Pascal VOC数据集上训练模型如下: | 模型 | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box AP50val | 模型下载 | 配置文件 | |:------------------:|:-------:|:-------------:|:----------:| :----------:| :--------------------: | :------: | :-----: | -| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | ## 使用说明 @@ -169,4 +171,23 @@ PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。 - 精度与推理速度数据均为使用输入图像尺寸为608的测试结果 - Box AP为在COCO train2017数据集训练,val2017和test-dev2017数据集上评估`mAP(IoU=0.5:0.95)`数据 - 推理速度为单卡V100上,batch size=1, 使用上述benchmark测试方法的测试结果,测试环境配置为CUDA 10.2,CUDNN 7.5.1 -- [YOLOv3-DarkNet53](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml)精度38.9为PaddleDetection优化后的YOLOv3模型,可参见[模型库](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/MODEL_ZOO.md) +- [YOLOv3-DarkNet53](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml)精度38.9为PaddleDetection优化后的YOLOv3模型,可参见[模型库](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/MODEL_ZOO.md) + +## 引用 + +``` +@misc{long2020ppyolo, +title={PP-YOLO: An Effective and Efficient Implementation of Object Detector}, +author={Xiang Long and Kaipeng Deng and Guanzhong Wang and Yang Zhang and Qingqing Dang and Yuan Gao and Hui Shen and Jianguo Ren and Shumin Han and Errui Ding and Shilei Wen}, +year={2020}, +eprint={2007.12099}, +archivePrefix={arXiv}, +primaryClass={cs.CV} +} +@misc{ppdet2019, +title={PaddleDetection, Object detection and instance segmentation toolkit based on PaddlePaddle.}, +author={PaddlePaddle Authors}, +howpublished = {\url{https://github.com/PaddlePaddle/PaddleDetection}}, +year={2019} +} +``` diff --git a/configs/ppyolo/_base_/optimizer_365e.yml b/configs/ppyolo/_base_/optimizer_365e.yml new file mode 100644 index 000000000..d834a4ce0 --- /dev/null +++ b/configs/ppyolo/_base_/optimizer_365e.yml @@ -0,0 +1,21 @@ +epoch: 365 + +LearningRate: + base_lr: 0.005 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 243 + - !LinearWarmup + start_factor: 0. + steps: 4000 + +OptimizerBuilder: + clip_grad_by_norm: 35. + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0005 + type: L2 diff --git a/configs/ppyolo/_base_/ppyolov2_r50vd_dcn.yml b/configs/ppyolo/_base_/ppyolov2_r50vd_dcn.yml new file mode 100644 index 000000000..6288adeed --- /dev/null +++ b/configs/ppyolo/_base_/ppyolov2_r50vd_dcn.yml @@ -0,0 +1,65 @@ +architecture: YOLOv3 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_pretrained.pdparams +norm_type: sync_bn +use_ema: true +ema_decay: 0.9998 + +YOLOv3: + backbone: ResNet + neck: PPYOLOPAN + yolo_head: YOLOv3Head + post_process: BBoxPostProcess + +ResNet: + depth: 50 + variant: d + return_idx: [1, 2, 3] + dcn_v2_stages: [3] + freeze_at: -1 + freeze_norm: false + norm_decay: 0. + +PPYOLOPAN: + drop_block: true + block_size: 3 + keep_prob: 0.9 + spp: true + +YOLOv3Head: + anchors: [[10, 13], [16, 30], [33, 23], + [30, 61], [62, 45], [59, 119], + [116, 90], [156, 198], [373, 326]] + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + loss: YOLOv3Loss + iou_aware: true + iou_aware_factor: 0.5 + +YOLOv3Loss: + ignore_thresh: 0.7 + downsample: [32, 16, 8] + label_smooth: false + scale_x_y: 1.05 + iou_loss: IouLoss + iou_aware_loss: IouAwareLoss + +IouLoss: + loss_weight: 2.5 + loss_square: true + +IouAwareLoss: + loss_weight: 1.0 + +BBoxPostProcess: + decode: + name: YOLOBox + conf_thresh: 0.01 + downsample_ratio: 32 + clip_bbox: true + scale_x_y: 1.05 + nms: + name: MatrixNMS + keep_top_k: 100 + score_threshold: 0.01 + post_threshold: 0.01 + nms_top_k: -1 + background_label: -1 diff --git a/configs/ppyolo/_base_/ppyolov2_reader.yml b/configs/ppyolo/_base_/ppyolov2_reader.yml new file mode 100644 index 000000000..747253131 --- /dev/null +++ b/configs/ppyolo/_base_/ppyolov2_reader.yml @@ -0,0 +1,43 @@ +worker_num: 8 +TrainReader: + inputs_def: + num_max_boxes: 100 + sample_transforms: + - Decode: {} + - Mixup: {alpha: 1.5, beta: 1.5} + - RandomDistort: {} + - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} + - RandomCrop: {} + - RandomFlip: {} + batch_transforms: + - BatchRandomResize: {target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768], random_size: True, random_interp: True, keep_ratio: False} + - NormalizeBox: {} + - PadBox: {num_max_boxes: 100} + - BboxXYXY2XYWH: {} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + - Gt2YoloTarget: {anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]], anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]], downsample_ratios: [32, 16, 8]} + batch_size: 12 + shuffle: true + drop_last: true + mixup_epoch: 25000 + use_shared_memory: true + +EvalReader: + sample_transforms: + - Decode: {} + - Resize: {target_size: [640, 640], keep_ratio: False, interp: 2} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + batch_size: 8 + drop_empty: false + +TestReader: + inputs_def: + image_shape: [3, 640, 640] + sample_transforms: + - Decode: {} + - Resize: {target_size: [640, 640], keep_ratio: False, interp: 2} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + batch_size: 1 diff --git a/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml b/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml new file mode 100644 index 000000000..0f1aee746 --- /dev/null +++ b/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml @@ -0,0 +1,20 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + './_base_/ppyolov2_r50vd_dcn.yml', + './_base_/optimizer_365e.yml', + './_base_/ppyolov2_reader.yml', +] + +snapshot_epoch: 8 +weights: output/ppyolov2_r101vd_dcn_365e_coco/model_final +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet101_vd_ssld_pretrained.pdparams + +ResNet: + depth: 101 + variant: d + return_idx: [1, 2, 3] + dcn_v2_stages: [3] + freeze_at: -1 + freeze_norm: false + norm_decay: 0. diff --git a/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml b/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml new file mode 100644 index 000000000..a5e1bc335 --- /dev/null +++ b/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml @@ -0,0 +1,10 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + './_base_/ppyolov2_r50vd_dcn.yml', + './_base_/optimizer_365e.yml', + './_base_/ppyolov2_reader.yml', +] + +snapshot_epoch: 8 +weights: output/ppyolov2_r50vd_dcn_365e_coco/model_final diff --git a/ppdet/modeling/backbones/darknet.py b/ppdet/modeling/backbones/darknet.py index 9bf0cdaa9..13af903d4 100755 --- a/ppdet/modeling/backbones/darknet.py +++ b/ppdet/modeling/backbones/darknet.py @@ -18,7 +18,7 @@ import paddle.nn.functional as F from paddle import ParamAttr from paddle.regularizer import L2Decay from ppdet.core.workspace import register, serializable -from ppdet.modeling.ops import batch_norm +from ppdet.modeling.ops import batch_norm, mish from ..shape_spec import ShapeSpec __all__ = ['DarkNet', 'ConvBNLayer'] @@ -77,6 +77,8 @@ class ConvBNLayer(nn.Layer): out = self.batch_norm(out) if self.act == 'leaky': out = F.leaky_relu(out, 0.1) + elif self.act == 'mish': + out = mish(out) return out diff --git a/ppdet/modeling/losses/iou_aware_loss.py b/ppdet/modeling/losses/iou_aware_loss.py index f5599588c..1e6aa8bf0 100644 --- a/ppdet/modeling/losses/iou_aware_loss.py +++ b/ppdet/modeling/losses/iou_aware_loss.py @@ -42,7 +42,7 @@ class IouAwareLoss(IouLoss): iou = bbox_iou( pbox, gbox, giou=self.giou, diou=self.diou, ciou=self.ciou) iou.stop_gradient = True - ioup = F.sigmoid(ioup) - loss_iou_aware = (-iou * paddle.log(ioup)).sum(-2, keepdim=True) + loss_iou_aware = F.binary_cross_entropy_with_logits( + ioup, iou, reduction='none') loss_iou_aware = loss_iou_aware * self.loss_weight return loss_iou_aware diff --git a/ppdet/modeling/necks/yolo_fpn.py b/ppdet/modeling/necks/yolo_fpn.py index 15309eac6..873e43f0e 100644 --- a/ppdet/modeling/necks/yolo_fpn.py +++ b/ppdet/modeling/necks/yolo_fpn.py @@ -25,6 +25,32 @@ from ..shape_spec import ShapeSpec __all__ = ['YOLOv3FPN', 'PPYOLOFPN'] +def add_coord(x): + b = x.shape[0] + if self.data_format == 'NCHW': + h = x.shape[2] + w = x.shape[3] + else: + h = x.shape[1] + w = x.shape[2] + + gx = paddle.arange(w, dtype='float32') / (w - 1.) * 2.0 - 1. + if self.data_format == 'NCHW': + gx = gx.reshape([1, 1, 1, w]).expand([b, 1, h, w]) + else: + gx = gx.reshape([1, 1, w, 1]).expand([b, h, w, 1]) + gx.stop_gradient = True + + gy = paddle.arange(h, dtype='float32') / (h - 1.) * 2.0 - 1. + if self.data_format == 'NCHW': + gy = gy.reshape([1, 1, h, 1]).expand([b, 1, h, w]) + else: + gy = gy.reshape([1, h, 1, 1]).expand([b, h, w, 1]) + gy.stop_gradient = True + + return gx, gy + + class YoloDetBlock(nn.Layer): def __init__(self, ch_in, channel, norm_type, name, data_format='NCHW'): """ @@ -87,6 +113,7 @@ class SPP(nn.Layer): pool_size, norm_type, name, + act='leaky', data_format='NCHW'): """ SPP layer, which consist of four pooling layer follwed by conv layer @@ -101,6 +128,7 @@ class SPP(nn.Layer): """ super(SPP, self).__init__() self.pool = [] + self.data_format = data_format for size in pool_size: pool = self.add_sublayer( '{}.pool1'.format(name), @@ -118,13 +146,18 @@ class SPP(nn.Layer): padding=k // 2, norm_type=norm_type, name=name, + act=act, data_format=data_format) def forward(self, x): outs = [x] for pool in self.pool: outs.append(pool(x)) - y = paddle.concat(outs, axis=1) + if self.data_format == "NCHW": + y = paddle.concat(outs, axis=1) + else: + y = paddle.concat(outs, axis=-1) + y = self.conv(y) return y @@ -204,28 +237,7 @@ class CoordConv(nn.Layer): self.data_format = data_format def forward(self, x): - b = x.shape[0] - if self.data_format == 'NCHW': - h = x.shape[2] - w = x.shape[3] - else: - h = x.shape[1] - w = x.shape[2] - - gx = paddle.arange(w, dtype='float32') / (w - 1.) * 2.0 - 1. - if self.data_format == 'NCHW': - gx = gx.reshape([1, 1, 1, w]).expand([b, 1, h, w]) - else: - gx = gx.reshape([1, 1, w, 1]).expand([b, h, w, 1]) - gx.stop_gradient = True - - gy = paddle.arange(h, dtype='float32') / (h - 1.) * 2.0 - 1. - if self.data_format == 'NCHW': - gy = gy.reshape([1, 1, h, 1]).expand([b, 1, h, w]) - else: - gy = gy.reshape([1, h, 1, 1]).expand([b, h, w, 1]) - gy.stop_gradient = True - + gx, gy = add_coord(x) if self.data_format == 'NCHW': y = paddle.concat([x, gx, gy], axis=1) else: @@ -273,7 +285,6 @@ class PPYOLOTinyDetBlock(nn.Layer): data_format='NCHW'): """ PPYOLO Tiny DetBlock layer - Args: ch_in (list): input channel number ch_out (list): output channel number @@ -333,6 +344,73 @@ class PPYOLOTinyDetBlock(nn.Layer): return route, tip +class PPYOLODetBlockCSP(nn.Layer): + def __init__(self, + cfg, + ch_in, + ch_out, + act, + norm_type, + name, + data_format='NCHW'): + """ + PPYOLODetBlockCSP layer + + Args: + cfg (list): layer configs for this block + ch_in (int): input channel + ch_out (int): output channel + act (str): default mish + name (str): block name + data_format (str): data format, NCHW or NHWC + """ + super(PPYOLODetBlockCSP, self).__init__() + self.data_format = data_format + self.conv1 = ConvBNLayer( + ch_in, + ch_out, + 1, + padding=0, + act=act, + norm_type=norm_type, + name=name + '.left', + data_format=data_format) + self.conv2 = ConvBNLayer( + ch_in, + ch_out, + 1, + padding=0, + act=act, + norm_type=norm_type, + name=name + '.right', + data_format=data_format) + self.conv3 = ConvBNLayer( + ch_out * 2, + ch_out * 2, + 1, + padding=0, + act=act, + norm_type=norm_type, + name=name, + data_format=data_format) + self.conv_module = nn.Sequential() + for idx, (layer_name, layer, args, kwargs) in enumerate(cfg): + kwargs.update(name=name + layer_name, data_format=data_format) + self.conv_module.add_sublayer(layer_name, layer(*args, **kwargs)) + + def forward(self, inputs): + conv_left = self.conv1(inputs) + conv_right = self.conv2(inputs) + conv_left = self.conv_module(conv_left) + if self.data_format == 'NCHW': + conv = paddle.concat([conv_left, conv_right], axis=1) + else: + conv = paddle.concat([conv_left, conv_right], axis=-1) + + conv = self.conv3(conv) + return conv, conv + + @register @serializable class YOLOv3FPN(nn.Layer): @@ -430,7 +508,12 @@ class PPYOLOFPN(nn.Layer): in_channels=[512, 1024, 2048], norm_type='bn', data_format='NCHW', - **kwargs): + coord_conv=False, + conv_block_num=3, + drop_block=False, + block_size=3, + keep_prob=0.9, + spp=False): """ PPYOLOFPN layer @@ -438,7 +521,12 @@ class PPYOLOFPN(nn.Layer): in_channels (list): input channels for fpn norm_type (str): batch norm type, default bn data_format (str): data format, NCHW or NHWC - kwargs: extra key-value pairs, such as parameter of DropBlock and spp + coord_conv (bool): whether use CoordConv or not + conv_block_num (int): conv block num of each pan block + drop_block (bool): whether use DropBlock or not + block_size (int): block size of DropBlock + keep_prob (float): keep probability of DropBlock + spp (bool): whether use spp or not """ super(PPYOLOFPN, self).__init__() @@ -446,14 +534,12 @@ class PPYOLOFPN(nn.Layer): self.in_channels = in_channels self.num_blocks = len(in_channels) # parse kwargs - self.coord_conv = kwargs.get('coord_conv', False) - self.drop_block = kwargs.get('drop_block', False) - if self.drop_block: - self.block_size = kwargs.get('block_size', 3) - self.keep_prob = kwargs.get('keep_prob', 0.9) - - self.spp = kwargs.get('spp', False) - self.conv_block_num = kwargs.get('conv_block_num', 2) + self.coord_conv = coord_conv + self.drop_block = drop_block + self.block_size = block_size + self.keep_prob = keep_prob + self.spp = spp + self.conv_block_num = conv_block_num self.data_format = data_format if self.coord_conv: ConvLayer = CoordConv @@ -583,14 +669,12 @@ class PPYOLOTinyFPN(nn.Layer): **kwargs): """ PPYOLO Tiny FPN layer - Args: in_channels (list): input channels for fpn detection_block_channels (list): channels in fpn norm_type (str): batch norm type, default bn data_format (str): data format, NCHW or NHWC kwargs: extra key-value pairs, such as parameter of DropBlock and spp - """ super(PPYOLOTinyFPN, self).__init__() assert len(in_channels) > 0, "in_channels length should > 0" @@ -681,3 +765,197 @@ class PPYOLOTinyFPN(nn.Layer): @property def out_shape(self): return [ShapeSpec(channels=c) for c in self._out_channels] + + +@register +@serializable +class PPYOLOPAN(nn.Layer): + __shared__ = ['norm_type', 'data_format'] + + def __init__(self, + in_channels=[512, 1024, 2048], + norm_type='bn', + data_format='NCHW', + act='mish', + conv_block_num=3, + drop_block=False, + block_size=3, + keep_prob=0.9, + spp=False): + """ + PPYOLOPAN layer with SPP, DropBlock and CSP connection. + + Args: + in_channels (list): input channels for fpn + norm_type (str): batch norm type, default bn + data_format (str): data format, NCHW or NHWC + act (str): activation function, default mish + conv_block_num (int): conv block num of each pan block + drop_block (bool): whether use DropBlock or not + block_size (int): block size of DropBlock + keep_prob (float): keep probability of DropBlock + spp (bool): whether use spp or not + + """ + super(PPYOLOPAN, self).__init__() + assert len(in_channels) > 0, "in_channels length should > 0" + self.in_channels = in_channels + self.num_blocks = len(in_channels) + # parse kwargs + self.drop_block = drop_block + self.block_size = block_size + self.keep_prob = keep_prob + self.spp = spp + self.conv_block_num = conv_block_num + self.data_format = data_format + if self.drop_block: + dropblock_cfg = [[ + 'dropblock', DropBlock, [self.block_size, self.keep_prob], + dict() + ]] + else: + dropblock_cfg = [] + + # fpn + self.fpn_blocks = [] + self.fpn_routes = [] + fpn_channels = [] + for i, ch_in in enumerate(self.in_channels[::-1]): + if i > 0: + ch_in += 512 // (2**(i - 1)) + channel = 512 // (2**i) + base_cfg = [] + for j in range(self.conv_block_num): + base_cfg += [ + # name, layer, args + [ + '{}.0'.format(j), ConvBNLayer, [channel, channel, 1], + dict( + padding=0, act=act, norm_type=norm_type) + ], + [ + '{}.1'.format(j), ConvBNLayer, [channel, channel, 3], + dict( + padding=1, act=act, norm_type=norm_type) + ] + ] + + if i == 0 and self.spp: + base_cfg[3] = [ + 'spp', SPP, [channel * 4, channel, 1], dict( + pool_size=[5, 9, 13], act=act, norm_type=norm_type) + ] + + cfg = base_cfg[:4] + dropblock_cfg + base_cfg[4:] + name = 'fpn.{}'.format(i) + fpn_block = self.add_sublayer( + name, + PPYOLODetBlockCSP(cfg, ch_in, channel, act, norm_type, name, + data_format)) + self.fpn_blocks.append(fpn_block) + fpn_channels.append(channel * 2) + if i < self.num_blocks - 1: + name = 'fpn_transition.{}'.format(i) + route = self.add_sublayer( + name, + ConvBNLayer( + ch_in=channel * 2, + ch_out=channel, + filter_size=1, + stride=1, + padding=0, + act=act, + norm_type=norm_type, + data_format=data_format, + name=name)) + self.fpn_routes.append(route) + # pan + self.pan_blocks = [] + self.pan_routes = [] + self._out_channels = [512 // (2**(self.num_blocks - 2)), ] + for i in reversed(range(self.num_blocks - 1)): + name = 'pan_transition.{}'.format(i) + route = self.add_sublayer( + name, + ConvBNLayer( + ch_in=fpn_channels[i + 1], + ch_out=fpn_channels[i + 1], + filter_size=3, + stride=2, + padding=1, + act=act, + norm_type=norm_type, + data_format=data_format, + name=name)) + self.pan_routes = [route, ] + self.pan_routes + base_cfg = [] + ch_in = fpn_channels[i] + fpn_channels[i + 1] + channel = 512 // (2**i) + for j in range(self.conv_block_num): + base_cfg += [ + # name, layer, args + [ + '{}.0'.format(j), ConvBNLayer, [channel, channel, 1], + dict( + padding=0, act=act, norm_type=norm_type) + ], + [ + '{}.1'.format(j), ConvBNLayer, [channel, channel, 3], + dict( + padding=1, act=act, norm_type=norm_type) + ] + ] + + cfg = base_cfg[:4] + dropblock_cfg + base_cfg[4:] + name = 'pan.{}'.format(i) + pan_block = self.add_sublayer( + name, + PPYOLODetBlockCSP(cfg, ch_in, channel, act, norm_type, name, + data_format)) + + self.pan_blocks = [pan_block, ] + self.pan_blocks + self._out_channels.append(channel * 2) + + self._out_channels = self._out_channels[::-1] + + def forward(self, blocks): + assert len(blocks) == self.num_blocks + blocks = blocks[::-1] + # fpn + fpn_feats = [] + for i, block in enumerate(blocks): + if i > 0: + if self.data_format == 'NCHW': + block = paddle.concat([route, block], axis=1) + else: + block = paddle.concat([route, block], axis=-1) + route, tip = self.fpn_blocks[i](block) + fpn_feats.append(tip) + + if i < self.num_blocks - 1: + route = self.fpn_routes[i](route) + route = F.interpolate( + route, scale_factor=2., data_format=self.data_format) + + pan_feats = [fpn_feats[-1], ] + route = fpn_feats[self.num_blocks - 1] + for i in reversed(range(self.num_blocks - 1)): + block = fpn_feats[i] + route = self.pan_routes[i](route) + if self.data_format == 'NCHW': + block = paddle.concat([route, block], axis=1) + else: + block = paddle.concat([route, block], axis=-1) + + route, tip = self.pan_blocks[i](block) + pan_feats.append(tip) + + return pan_feats[::-1] + + @classmethod + def from_config(cls, cfg, input_shape): + return {'in_channels': [i.channels for i in input_shape], } + + @property + def out_shape(self): + return [ShapeSpec(channels=c) for c in self._out_channels] diff --git a/ppdet/modeling/ops.py b/ppdet/modeling/ops.py index cbef3d6b4..e2c193030 100644 --- a/ppdet/modeling/ops.py +++ b/ppdet/modeling/ops.py @@ -41,9 +41,14 @@ __all__ = [ 'collect_fpn_proposals', 'matrix_nms', 'batch_norm', + 'mish', ] +def mish(x): + return x * paddle.tanh(F.softplus(x)) + + def batch_norm(ch, norm_type='bn', norm_decay=0., diff --git a/static/configs/ppyolo/README.md b/static/configs/ppyolo/README.md index f8f707634..0f363971c 100644 --- a/static/configs/ppyolo/README.md +++ b/static/configs/ppyolo/README.md @@ -38,21 +38,24 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | backbone | input shape | Box APval | Box APtest | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | download | config | |:------------------------:|:----------:|:----------:|:----------:| :----------:| :------------------: | :-------------------: | :------------: | :---------------------: | :------: | :-----: | -| YOLOv4(AlexyAB) | - | - | CSPDarknet | 608 | - | 43.5 | 62 | 105.5 | [model](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml) | -| YOLOv4(AlexyAB) | - | - | CSPDarknet | 512 | - | 43.0 | 83 | 138.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml) | -| YOLOv4(AlexyAB) | - | - | CSPDarknet | 416 | - | 41.2 | 96 | 164.0 | [model](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml) | -| YOLOv4(AlexyAB) | - | - | CSPDarknet | 320 | - | 38.0 | 123 | 199.0 | [model](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_2x.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_2x.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_2x.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_2x.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_2x.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_2x.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_2x.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_2x.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 512 | 29.3 | 29.5 | 357.1 | 657.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_r18vd.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_r18vd.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_r18vd.yml) | +| YOLOv4(AlexyAB) | - | - | CSPDarknet | 608 | - | 43.5 | 62 | 105.5 | [model](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/yolov4/yolov4_csdarknet.yml) | +| YOLOv4(AlexyAB) | - | - | CSPDarknet | 512 | - | 43.0 | 83 | 138.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/yolov4/yolov4_csdarknet.yml) | +| YOLOv4(AlexyAB) | - | - | CSPDarknet | 416 | - | 41.2 | 96 | 164.0 | [model](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/yolov4/yolov4_csdarknet.yml) | +| YOLOv4(AlexyAB) | - | - | CSPDarknet | 320 | - | 38.0 | 123 | 199.0 | [model](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/yolov4/yolov4_csdarknet.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_2x.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_2x.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_2x.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_2x.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_2x.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_2x.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_2x.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_2x.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.3 | 29.5 | 357.1 | 657.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r50vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r101vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml) | + **Notes:** @@ -69,8 +72,8 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | Model Size | input shape | Box APval | Box AP50val | Kirin 990 1xCore(FPS) | download | inference model download | config | |:----------------------------:|:----------:|:----------:| :--------: | :----------:| :------------------: | :--------------------: | :-------------------: | :------: | :----------------------: | :-----: | -| PP-YOLO_MobileNetV3_large | 4 | 32 | 18MB | 320 | 23.2 | 42.6 | 15.6 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.pdparams) | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.tar) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_mobilenet_v3_large.yml) | -| PP-YOLO_MobileNetV3_small | 4 | 32 | 11MB | 320 | 17.2 | 33.8 | 28.6 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small.pdparams) | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small.tar) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | +| PP-YOLO_MobileNetV3_large | 4 | 32 | 18MB | 320 | 23.2 | 42.6 | 15.6 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.pdparams) | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.tar) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_mobilenet_v3_large.yml) | +| PP-YOLO_MobileNetV3_small | 4 | 32 | 11MB | 320 | 17.2 | 33.8 | 28.6 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small.pdparams) | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small.tar) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | **Notes:** @@ -82,7 +85,7 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | Prune Ratio | Teacher Model | Model Size | input shape | Box APval | Kirin 990 1xCore(FPS) | download | inference model download | config | |:----------------------------:|:----------:|:----------:| :---------: | :-----------------------: | :--------: | :----------:| :------------------: | :-------------------: | :------: | :----------------------: | :-----: | -| PP-YOLO_MobileNetV3_small | 4 | 32 | 75% | PP-YOLO_MobileNetV3_large | 4.2MB | 320 | 16.2 | 39.8 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.pdparams) | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.tar) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | +| PP-YOLO_MobileNetV3_small | 4 | 32 | 75% | PP-YOLO_MobileNetV3_large | 4.2MB | 320 | 16.2 | 39.8 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.pdparams) | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.tar) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | - Slim PP-YOLO is trained by slim traing method from [Distill pruned model](../../slim/extentions/distill_pruned_model/README.md),distill training pruned PP-YOLO_MobileNetV3_small model with PP-YOLO_MobileNetV3_large model as the teacher model - Pruning detectiom head of PP-YOLO model with ratio as 75%, while the arguments are `--pruned_params="yolo_block.0.2.conv.weights,yolo_block.0.tip.conv.weights,yolo_block.1.2.conv.weights,yolo_block.1.tip.conv.weights" --pruned_ratios="0.75,0.75,0.75,0.75"` @@ -108,9 +111,9 @@ PP-YOLO trained on Pascal VOC dataset as follows: | Model | GPU number | images/GPU | backbone | input shape | Box AP50val | download | config | |:------------------:|:----------:|:----------:|:----------:| :----------:| :--------------------: | :------: | :-----: | -| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | ## Getting Start diff --git a/static/configs/ppyolo/README_cn.md b/static/configs/ppyolo/README_cn.md index a811a7e0d..392436ef4 100644 --- a/static/configs/ppyolo/README_cn.md +++ b/static/configs/ppyolo/README_cn.md @@ -38,21 +38,23 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | 模型 | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box APval | Box APtest | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | 模型下载 | 配置文件 | |:------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :-------------------: | :------------: | :---------------------: | :------: | :------: | -| YOLOv4(AlexyAB) | - | - | CSPDarknet | 608 | - | 43.5 | 62 | 105.5 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml) | -| YOLOv4(AlexyAB) | - | - | CSPDarknet | 512 | - | 43.0 | 83 | 138.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml) | -| YOLOv4(AlexyAB) | - | - | CSPDarknet | 416 | - | 41.2 | 96 | 164.0 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml) | -| YOLOv4(AlexyAB) | - | - | CSPDarknet | 320 | - | 38.0 | 123 | 199.0 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_csdarknet.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 512 | 29.3 | 29.5 | 357.1 | 657.9 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_r18vd.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_r18vd.yml) | -| PP-YOLO_ResNet18vd | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_r18vd.yml) | +| YOLOv4(AlexyAB) | - | - | CSPDarknet | 608 | - | 43.5 | 62 | 105.5 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/yolov4/yolov4_csdarknet.yml) | +| YOLOv4(AlexyAB) | - | - | CSPDarknet | 512 | - | 43.0 | 83 | 138.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/yolov4/yolov4_csdarknet.yml) | +| YOLOv4(AlexyAB) | - | - | CSPDarknet | 416 | - | 41.2 | 96 | 164.0 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/yolov4/yolov4_csdarknet.yml) | +| YOLOv4(AlexyAB) | - | - | CSPDarknet | 320 | - | 38.0 | 123 | 199.0 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/yolov4/yolov4_csdarknet.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.3 | 29.5 | 357.1 | 657.9 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r50vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r101vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml) | **注意:** @@ -70,8 +72,8 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | 模型 | GPU个数 | 每GPU图片个数 | 模型体积 | 输入尺寸 | Box APval | Box AP50val | Kirin 990 1xCore (FPS) | 模型下载 | 预测模型下载 | 配置文件 | |:----------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :--------------------: | :--------------------: | :------: | :----------: | :------: | -| PP-YOLO_MobileNetV3_large | 4 | 32 | 18MB | 320 | 23.2 | 42.6 | 14.1 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.pdparams) | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.tar) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_mobilenet_v3_large.yml) | -| PP-YOLO_MobileNetV3_small | 4 | 32 | 11MB | 320 | 17.2 | 33.8 | 21.5 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small.pdparams) | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.tar) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | +| PP-YOLO_MobileNetV3_large | 4 | 32 | 18MB | 320 | 23.2 | 42.6 | 14.1 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.pdparams) | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.tar) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_mobilenet_v3_large.yml) | +| PP-YOLO_MobileNetV3_small | 4 | 32 | 11MB | 320 | 17.2 | 33.8 | 21.5 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small.pdparams) | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_large.tar) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | - PP-YOLO_MobileNetV3 模型使用COCO数据集中train2017作为训练集,使用val2017作为测试集,Box APval为`mAP(IoU=0.5:0.95)`评估结果, Box AP50val为`mAP(IoU=0.5)`评估结果。 - PP-YOLO_MobileNetV3 模型训练过程中使用4GPU,每GPU batch size为32进行训练,如训练GPU数和batch size不使用上述配置,须参考[FAQ](../../docs/FAQ.md)调整学习率和迭代次数。 @@ -81,7 +83,7 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | 模型 | GPU 个数 | 每GPU图片个数 | 裁剪率 | Teacher模型 | 模型体积 | 输入尺寸 | Box APval | Kirin 990 1xCore (FPS) | 模型下载 | 预测模型下载 | 配置文件 | |:----------------------------:|:----------:|:-------------:| :---------: | :-----------------------: | :--------: | :----------:| :------------------: | :--------------------: | :------: | :----------: | :------: | -| PP-YOLO_MobileNetV3_small | 4 | 32 | 75% | PP-YOLO_MobileNetV3_large | 4.2MB | 320 | 16.2 | 39.8 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.pdparams) | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.tar) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | +| PP-YOLO_MobileNetV3_small | 4 | 32 | 75% | PP-YOLO_MobileNetV3_large | 4.2MB | 320 | 16.2 | 39.8 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.pdparams) | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.tar) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | - PP-YOLO 轻量级裁剪模型采用[蒸馏通道剪裁模型](../../slim/extentions/distill_pruned_model/README.md) 的方式训练得到,基于 PP-YOLO_MobileNetV3_small 模型对Head部分做卷积通道剪裁后使用 PP-YOLO_MobileNetV3_large 模型进行蒸馏训练 - 卷积通道检测对Head部分剪裁掉75%的通道数,及剪裁参数为`--pruned_params="yolo_block.0.2.conv.weights,yolo_block.0.tip.conv.weights,yolo_block.1.2.conv.weights,yolo_block.1.tip.conv.weights" --pruned_ratios="0.75,0.75,0.75,0.75"` @@ -105,9 +107,9 @@ PP-YOLO在Pascal VOC数据集上训练模型如下: | 模型 | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box AP50val | 模型下载 | 配置文件 | |:------------------:|:-------:|:-------------:|:----------:| :----------:| :--------------------: | :------: | :-----: | -| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/ppyolo/ppyolo_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | ## 使用说明 diff --git a/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml b/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml new file mode 100644 index 000000000..9ba339912 --- /dev/null +++ b/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml @@ -0,0 +1,89 @@ +architecture: YOLOv3 +use_gpu: true +max_iters: 450000 +log_iter: 100 +save_dir: output +snapshot_iter: 10000 +metric: COCO +pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet101_vd_ssld_pretrained.tar +weights: output/ppyolov2_r101vd_dcn/model_final +num_classes: 80 +use_fine_grained_loss: true +use_ema: true +ema_decay: 0.9998 + +YOLOv3: + backbone: ResNet + yolo_head: YOLOv3PANHead + use_fine_grained_loss: true + +ResNet: + norm_type: sync_bn + freeze_at: 0 + freeze_norm: false + norm_decay: 0. + depth: 101 + feature_maps: [3, 4, 5] + variant: d + dcn_v2_stages: [5] + +YOLOv3PANHead: + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + anchors: [[10, 13], [16, 30], [33, 23], + [30, 61], [62, 45], [59, 119], + [116, 90], [156, 198], [373, 326]] + norm_decay: 0. + iou_aware: true + iou_aware_factor: 0.5 + scale_x_y: 1.05 + spp: true + yolo_loss: YOLOv3Loss + nms: MatrixNMS + drop_block: true + +YOLOv3Loss: + ignore_thresh: 0.7 + scale_x_y: 1.05 + label_smooth: false + use_fine_grained_loss: true + iou_loss: IouLoss + iou_aware_loss: IouAwareLoss + +IouLoss: + loss_weight: 2.5 + max_height: 768 + max_width: 768 + +IouAwareLoss: + loss_weight: 1.0 + max_height: 768 + max_width: 768 + +MatrixNMS: + background_label: -1 + keep_top_k: 100 + normalized: false + score_threshold: 0.01 + post_threshold: 0.01 + +LearningRate: + base_lr: 0.005 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 300000 + - !LinearWarmup + start_factor: 0. + steps: 4000 + +OptimizerBuilder: + clip_grad_by_norm: 35. + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0005 + type: L2 + +_READER_: 'ppyolov2_reader.yml' diff --git a/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml b/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml new file mode 100644 index 000000000..7ceb75833 --- /dev/null +++ b/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml @@ -0,0 +1,89 @@ +architecture: YOLOv3 +use_gpu: true +max_iters: 450000 +log_iter: 100 +save_dir: output +snapshot_iter: 10000 +metric: COCO +pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_ssld_pretrained.tar +weights: output/ppyolov2_r50vd_dcn/model_final +num_classes: 80 +use_fine_grained_loss: true +use_ema: true +ema_decay: 0.9998 + +YOLOv3: + backbone: ResNet + yolo_head: YOLOv3PANHead + use_fine_grained_loss: true + +ResNet: + norm_type: sync_bn + freeze_at: 0 + freeze_norm: false + norm_decay: 0. + depth: 50 + feature_maps: [3, 4, 5] + variant: d + dcn_v2_stages: [5] + +YOLOv3PANHead: + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + anchors: [[10, 13], [16, 30], [33, 23], + [30, 61], [62, 45], [59, 119], + [116, 90], [156, 198], [373, 326]] + norm_decay: 0. + iou_aware: true + iou_aware_factor: 0.5 + scale_x_y: 1.05 + spp: true + yolo_loss: YOLOv3Loss + nms: MatrixNMS + drop_block: true + +YOLOv3Loss: + ignore_thresh: 0.7 + scale_x_y: 1.05 + label_smooth: false + use_fine_grained_loss: true + iou_loss: IouLoss + iou_aware_loss: IouAwareLoss + +IouLoss: + loss_weight: 2.5 + max_height: 768 + max_width: 768 + +IouAwareLoss: + loss_weight: 1.0 + max_height: 768 + max_width: 768 + +MatrixNMS: + background_label: -1 + keep_top_k: 100 + normalized: false + score_threshold: 0.01 + post_threshold: 0.01 + +LearningRate: + base_lr: 0.005 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 300000 + - !LinearWarmup + start_factor: 0. + steps: 4000 + +OptimizerBuilder: + clip_grad_by_norm: 35. + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0005 + type: L2 + +_READER_: 'ppyolov2_reader.yml' diff --git a/static/configs/ppyolo/ppyolov2_reader.yml b/static/configs/ppyolo/ppyolov2_reader.yml new file mode 100644 index 000000000..02a385c18 --- /dev/null +++ b/static/configs/ppyolo/ppyolov2_reader.yml @@ -0,0 +1,111 @@ +TrainReader: + inputs_def: + fields: ['image', 'gt_bbox', 'gt_class', 'gt_score'] + num_max_boxes: 100 + dataset: + !COCODataSet + image_dir: train2017 + anno_path: annotations/instances_train2017.json + dataset_dir: dataset/coco + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + with_mixup: True + - !MixupImage + alpha: 1.5 + beta: 1.5 + - !ColorDistort {} + - !RandomExpand + ratio: 2.0 + fill_value: [123.675, 116.28, 103.53] + - !RandomCrop {} + - !RandomFlipImage + is_normalized: false + - !NormalizeBox {} + - !PadBox + num_max_boxes: 100 + - !BboxXYXY2XYWH {} + batch_transforms: + - !RandomShape + sizes: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768] + random_inter: True + - !NormalizeImage + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + is_scale: True + is_channel_first: false + - !Permute + to_bgr: false + channel_first: True + # Gt2YoloTarget is only used when use_fine_grained_loss set as true, + # this operator will be deleted automatically if use_fine_grained_loss + # is set as false + - !Gt2YoloTarget + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + anchors: [[10, 13], [16, 30], [33, 23], + [30, 61], [62, 45], [59, 119], + [116, 90], [156, 198], [373, 326]] + downsample_ratios: [32, 16, 8] + batch_size: 12 + shuffle: true + mixup_epoch: 25000 + drop_last: true + worker_num: 8 + bufsize: 4 + use_process: true + +EvalReader: + inputs_def: + fields: ['image', 'im_size', 'im_id'] + num_max_boxes: 100 + dataset: + !COCODataSet + image_dir: val2017 + anno_path: annotations/instances_val2017.json + dataset_dir: dataset/coco + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + - !ResizeImage + target_size: 640 + interp: 2 + - !NormalizeImage + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + is_scale: True + is_channel_first: false + - !PadBox + num_max_boxes: 50 + - !Permute + to_bgr: false + channel_first: True + batch_size: 8 + drop_empty: false + worker_num: 8 + bufsize: 4 + +TestReader: + inputs_def: + image_shape: [3, 640, 640] + fields: ['image', 'im_size', 'im_id'] + dataset: + !ImageFolder + anno_path: annotations/instances_val2017.json + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + - !ResizeImage + target_size: 640 + interp: 2 + - !NormalizeImage + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + is_scale: True + is_channel_first: false + - !Permute + to_bgr: false + channel_first: True + batch_size: 1 diff --git a/static/ppdet/modeling/anchor_heads/yolo_head.py b/static/ppdet/modeling/anchor_heads/yolo_head.py index c7cf14822..49b211ff6 100644 --- a/static/ppdet/modeling/anchor_heads/yolo_head.py +++ b/static/ppdet/modeling/anchor_heads/yolo_head.py @@ -192,6 +192,8 @@ class YOLOv3Head(object): if act == 'leaky': out = fluid.layers.leaky_relu(x=out, alpha=0.1) + elif act == 'mish': + out = fluid.layers.mish(out) return out def _spp_module(self, input, name=""): @@ -657,7 +659,6 @@ class YOLOv4Head(YOLOv3Head): class PPYOLOTinyHead(YOLOv3Head): """ Head block for YOLOv3 network - Args: norm_decay (float): weight decay for normalization layer weights num_classes (int): number of output classes @@ -781,11 +782,9 @@ class PPYOLOTinyHead(YOLOv3Head): def _get_outputs(self, input, is_train=True): """ Get PP-YOLO tiny head output - Args: input (list): List of Variables, output of backbone stages is_train (bool): whether in train or test mode - Returns: outputs (list): Variables of each output layer """ @@ -838,3 +837,232 @@ class PPYOLOTinyHead(YOLOv3Head): route = self._upsample(route) return outputs + + +@register +class YOLOv3PANHead(YOLOv3Head): + """ + Head block for YOLOv3PANHead network + + Args: + conv_block_num (int): number of conv block in each detection block + norm_decay (float): weight decay for normalization layer weights + num_classes (int): number of output classes + anchors (list): anchors + anchor_masks (list): anchor masks + nms (object): an instance of `MultiClassNMS` + """ + __inject__ = ['yolo_loss', 'nms'] + __shared__ = ['num_classes', 'weight_prefix_name'] + + def __init__(self, + conv_block_num=3, + norm_decay=0., + num_classes=80, + anchors=[[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], + [59, 119], [116, 90], [156, 198], [373, 326]], + anchor_masks=[[6, 7, 8], [3, 4, 5], [0, 1, 2]], + drop_block=False, + iou_aware=False, + iou_aware_factor=0.4, + block_size=3, + keep_prob=0.9, + yolo_loss="YOLOv3Loss", + spp=False, + nms=MultiClassNMS( + score_threshold=0.01, + nms_top_k=1000, + keep_top_k=100, + nms_threshold=0.45, + background_label=-1).__dict__, + weight_prefix_name='', + downsample=[32, 16, 8], + scale_x_y=1.0, + clip_bbox=True, + act='mish'): + super(YOLOv3PANHead, self).__init__( + conv_block_num=conv_block_num, + norm_decay=norm_decay, + num_classes=num_classes, + anchors=anchors, + anchor_masks=anchor_masks, + drop_block=drop_block, + iou_aware=iou_aware, + iou_aware_factor=iou_aware_factor, + block_size=block_size, + keep_prob=keep_prob, + yolo_loss=yolo_loss, + spp=spp, + nms=nms, + weight_prefix_name=weight_prefix_name, + downsample=downsample, + scale_x_y=scale_x_y, + clip_bbox=clip_bbox) + self.act = act + + def _detection_block(self, + input, + channel, + conv_block_num=2, + is_first=False, + is_test=True, + name=None): + conv_left = self._conv_bn( + input, + channel, + act=self.act, + filter_size=1, + stride=1, + padding=0, + name='{}.left'.format(name)) + conv_right = self._conv_bn( + input, + channel, + act=self.act, + filter_size=1, + stride=1, + padding=0, + name='{}.right'.format(name)) + for j in range(conv_block_num): + conv_left = self._conv_bn( + conv_left, + channel, + act=self.act, + filter_size=1, + stride=1, + padding=0, + name='{}.left.{}'.format(name, 2 * j)) + if self.use_spp and is_first and j == 1: + c = conv_left.shape[1] + conv_left = self._spp_module(conv_left, name="spp") + conv_left = self._conv_bn( + conv_left, + c, + act=self.act, + filter_size=1, + stride=1, + padding=0, + name='{}.left.{}'.format(name, 2 * j + 1)) + else: + conv_left = self._conv_bn( + conv_left, + channel, + act=self.act, + filter_size=3, + stride=1, + padding=1, + name='{}.left.{}'.format(name, 2 * j + 1)) + if self.drop_block and j == 1: + conv_left = DropBlock( + conv_left, + block_size=self.block_size, + keep_prob=self.keep_prob, + is_test=is_test) + + conv = fluid.layers.concat(input=[conv_left, conv_right], axis=1) + conv = self._conv_bn( + conv, + channel * 2, + act=self.act, + filter_size=1, + stride=1, + padding=0, + name=name) + return conv, conv + + def _get_outputs(self, input, is_train=True): + """ + Get YOLOv3 head output + + Args: + input (list): List of Variables, output of backbone stages + is_train (bool): whether in train or test mode + + Returns: + outputs (list): Variables of each output layer + """ + + # get last out_layer_num blocks in reverse order + out_layer_num = len(self.anchor_masks) + blocks = input[-1:-out_layer_num - 1:-1] + + # fpn + yolo_feats = [] + route = None + for i, block in enumerate(blocks): + if i > 0: # perform concat in first 2 detection_block + block = fluid.layers.concat(input=[route, block], axis=1) + route, tip = self._detection_block( + block, + channel=512 // (2**i), + is_first=i == 0, + is_test=(not is_train), + conv_block_num=self.conv_block_num, + name=self.prefix_name + "fpn.{}".format(i)) + + yolo_feats.append(tip) + + if i < len(blocks) - 1: + # do not perform upsample in the last detection_block + route = self._conv_bn( + input=route, + ch_out=512 // (2**i), + filter_size=1, + stride=1, + padding=0, + act=self.act, + name=self.prefix_name + "fpn_transition.{}".format(i)) + # upsample + route = self._upsample(route) + + # pan + pan_feats = [yolo_feats[-1]] + route = yolo_feats[out_layer_num - 1] + for i in reversed(range(out_layer_num - 1)): + channel = 512 // (2**i) + route = self._conv_bn( + input=route, + ch_out=channel, + filter_size=3, + stride=2, + padding=1, + act=self.act, + name=self.prefix_name + "pan_transition.{}".format(i)) + block = yolo_feats[i] + block = fluid.layers.concat(input=[route, block], axis=1) + + route, tip = self._detection_block( + block, + channel=channel, + is_first=False, + is_test=(not is_train), + conv_block_num=self.conv_block_num, + name=self.prefix_name + "pan.{}".format(i)) + + pan_feats.append(tip) + + pan_feats = pan_feats[::-1] + outputs = [] + for i, block in enumerate(pan_feats): + if self.iou_aware: + num_filters = len(self.anchor_masks[i]) * (self.num_classes + 6) + else: + num_filters = len(self.anchor_masks[i]) * (self.num_classes + 5) + with fluid.name_scope('yolo_output'): + block_out = fluid.layers.conv2d( + input=block, + num_filters=num_filters, + filter_size=1, + stride=1, + padding=0, + act=None, + param_attr=ParamAttr( + name=self.prefix_name + + "yolo_output.{}.conv.weights".format(i)), + bias_attr=ParamAttr( + regularizer=L2Decay(0.), + name=self.prefix_name + + "yolo_output.{}.conv.bias".format(i))) + outputs.append(block_out) + + return outputs diff --git a/static/ppdet/modeling/losses/iou_aware_loss.py b/static/ppdet/modeling/losses/iou_aware_loss.py index c68c7a707..d0aeb9df3 100644 --- a/static/ppdet/modeling/losses/iou_aware_loss.py +++ b/static/ppdet/modeling/losses/iou_aware_loss.py @@ -74,6 +74,7 @@ class IouAwareLoss(IouLoss): iouk = self._iou(pred, gt, ioup, eps) iouk.stop_gradient = True - loss_iou_aware = fluid.layers.cross_entropy(ioup, iouk, soft_label=True) + loss_iou_aware = fluid.layers.sigmoid_cross_entropy_with_logits(ioup, + iouk) loss_iou_aware = loss_iou_aware * self._loss_weight return loss_iou_aware diff --git a/static/ppdet/modeling/losses/yolo_loss.py b/static/ppdet/modeling/losses/yolo_loss.py index c16c6cb11..553e63322 100644 --- a/static/ppdet/modeling/losses/yolo_loss.py +++ b/static/ppdet/modeling/losses/yolo_loss.py @@ -238,7 +238,6 @@ class YOLOv3Loss(object): along channel dimension """ ioup = fluid.layers.slice(output, axes=[1], starts=[0], ends=[an_num]) - ioup = fluid.layers.sigmoid(ioup) oriout = fluid.layers.slice( output, axes=[1], -- Gitee From 6ec5a86c287bd3514924b2368fd0cc6646220480 Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Thu, 15 Apr 2021 10:29:03 +0800 Subject: [PATCH 37/90] supplement trt_int8 function (#2620) --- deploy/cpp/docs/Jetson_build.md | 2 +- deploy/cpp/docs/linux_build.md | 2 +- deploy/cpp/docs/windows_vs2019_build.md | 2 +- deploy/cpp/src/main.cc | 2 +- deploy/python/README.md | 2 +- deploy/python/infer.py | 9 +- deploy/python/trt_int8_calib.py | 300 ------------------ static/deploy/cpp/docs/Jetson_build.md | 2 +- static/deploy/cpp/docs/linux_build.md | 2 +- .../deploy/cpp/docs/windows_vs2019_build.md | 2 +- static/deploy/cpp/src/main.cc | 4 +- static/deploy/cpp/src/object_detector.cc | 11 +- static/deploy/python/README.md | 2 +- static/deploy/python/infer.py | 8 +- 14 files changed, 21 insertions(+), 329 deletions(-) delete mode 100644 deploy/python/trt_int8_calib.py diff --git a/deploy/cpp/docs/Jetson_build.md b/deploy/cpp/docs/Jetson_build.md index 78ad81797..f5d147f8f 100644 --- a/deploy/cpp/docs/Jetson_build.md +++ b/deploy/cpp/docs/Jetson_build.md @@ -158,7 +158,7 @@ CUDNN_LIB=/usr/lib/aarch64-linux-gnu/ | --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测)| | --use_gpu | 是否使用 GPU 预测, 支持值为0或1(默认值为0)| | --gpu_id | 指定进行推理的GPU device id(默认值为0)| -| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16/trt_int8)| | --run_benchmark | 是否重复预测来进行benchmark测速 | | --output_dir | 输出图片所在的文件夹, 默认为output | diff --git a/deploy/cpp/docs/linux_build.md b/deploy/cpp/docs/linux_build.md index 059802ada..76b961955 100644 --- a/deploy/cpp/docs/linux_build.md +++ b/deploy/cpp/docs/linux_build.md @@ -102,7 +102,7 @@ make | --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测)| | --use_gpu | 是否使用 GPU 预测, 支持值为0或1(默认值为0)| | --gpu_id | 指定进行推理的GPU device id(默认值为0)| -| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16/trt_int8)| | --run_benchmark | 是否重复预测来进行benchmark测速 | | --output_dir | 输出图片所在的文件夹, 默认为output | diff --git a/deploy/cpp/docs/windows_vs2019_build.md b/deploy/cpp/docs/windows_vs2019_build.md index 9fdd23aef..34607b21d 100644 --- a/deploy/cpp/docs/windows_vs2019_build.md +++ b/deploy/cpp/docs/windows_vs2019_build.md @@ -97,7 +97,7 @@ cd D:\projects\PaddleDetection\deploy\cpp\out\build\x64-Release | --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测)| | --use_gpu | 是否使用 GPU 预测, 支持值为0或1(默认值为0)| | --gpu_id | 指定进行推理的GPU device id(默认值为0)| -| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16/trt_int8)| | --run_benchmark | 是否重复预测来进行benchmark测速 | | --output_dir | 输出图片所在的文件夹, 默认为output | diff --git a/deploy/cpp/src/main.cc b/deploy/cpp/src/main.cc index 00dd32568..d2211659d 100644 --- a/deploy/cpp/src/main.cc +++ b/deploy/cpp/src/main.cc @@ -36,7 +36,7 @@ DEFINE_string(image_path, "", "Path of input image"); DEFINE_string(video_path, "", "Path of input video"); DEFINE_bool(use_gpu, false, "Infering with GPU or CPU"); DEFINE_bool(use_camera, false, "Use camera or not"); -DEFINE_string(run_mode, "fluid", "Mode of running(fluid/trt_fp32/trt_fp16)"); +DEFINE_string(run_mode, "fluid", "Mode of running(fluid/trt_fp32/trt_fp16/trt_int8)"); DEFINE_int32(gpu_id, 0, "Device id of GPU to execute"); DEFINE_int32(camera_id, -1, "Device id of camera to predict"); DEFINE_bool(run_benchmark, false, "Whether to predict a image_file repeatedly for benchmark"); diff --git a/deploy/python/README.md b/deploy/python/README.md index d8874ea62..3abee98cf 100644 --- a/deploy/python/README.md +++ b/deploy/python/README.md @@ -43,7 +43,7 @@ python deploy/python/infer.py --model_dir=/path/to/models --image_file=/path/to/ | --video_file | Option |需要预测的视频 | | --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测,可设置为:0 - (摄像头数目-1) ),预测过程中在可视化界面按`q`退出输出预测结果到:output/output.mp4| | --use_gpu |No|是否GPU,默认为False| -| --run_mode |No|使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_mode |No|使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16/trt_int8)| | --threshold |No|预测得分的阈值,默认为0.5| | --output_dir |No|可视化结果保存的根目录,默认为output/| | --run_benchmark |No|是否运行benchmark,同时需指定--image_file| diff --git a/deploy/python/infer.py b/deploy/python/infer.py index b10576132..5bfd54554 100644 --- a/deploy/python/infer.py +++ b/deploy/python/infer.py @@ -321,7 +321,7 @@ def load_predictor(model_dir, Args: model_dir (str): root path of __model__ and __params__ use_gpu (bool): whether use gpu - run_mode (str): mode of running(fluid/trt_fp32/trt_fp16) + run_mode (str): mode of running(fluid/trt_fp32/trt_fp16/trt_int8) use_dynamic_shape (bool): use dynamic shape or not trt_min_shape (int): min shape for dynamic shape in trt trt_max_shape (int): max shape for dynamic shape in trt @@ -335,11 +335,6 @@ def load_predictor(model_dir, raise ValueError( "Predict by TensorRT mode: {}, expect use_gpu==True, but use_gpu == {}" .format(run_mode, use_gpu)) - if run_mode == 'trt_int8' and not os.path.exists( - os.path.join(model_dir, '_opt_cache')): - raise ValueError( - "TensorRT int8 must calibration first, and model_dir must has _opt_cache dir" - ) use_calib_mode = True if run_mode == 'trt_int8' else False config = Config( os.path.join(model_dir, 'model.pdmodel'), @@ -512,7 +507,7 @@ if __name__ == '__main__': "--run_mode", type=str, default='fluid', - help="mode of running(fluid/trt_fp32/trt_fp16)") + help="mode of running(fluid/trt_fp32/trt_fp16/trt_int8)") parser.add_argument( "--use_gpu", type=ast.literal_eval, diff --git a/deploy/python/trt_int8_calib.py b/deploy/python/trt_int8_calib.py deleted file mode 100644 index 32f0e0dde..000000000 --- a/deploy/python/trt_int8_calib.py +++ /dev/null @@ -1,300 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os -import argparse -import time -import yaml -import ast -from functools import reduce - -from PIL import Image -import cv2 -import numpy as np -import glob -import paddle -from preprocess import preprocess, Resize, NormalizeImage, Permute, PadStride -from visualize import visualize_box_mask -from paddle.inference import Config -from paddle.inference import create_predictor - -# Global dictionary -SUPPORT_MODELS = { - 'YOLO', - 'RCNN', - 'SSD', - 'FCOS', - 'SOLOv2', - 'TTFNet', -} - - -class Detector(object): - """ - Args: - config (object): config of model, defined by `Config(model_dir)` - model_dir (str): root path of model.pdiparams, model.pdmodel and infer_cfg.yml - use_gpu (bool): whether use gpu - """ - - def __init__(self, pred_config, model_dir, use_gpu=False): - self.pred_config = pred_config - self.predictor = load_predictor( - model_dir, - min_subgraph_size=self.pred_config.min_subgraph_size, - use_gpu=use_gpu) - - def preprocess(self, im): - preprocess_ops = [] - for op_info in self.pred_config.preprocess_infos: - new_op_info = op_info.copy() - op_type = new_op_info.pop('type') - preprocess_ops.append(eval(op_type)(**new_op_info)) - im, im_info = preprocess(im, preprocess_ops, - self.pred_config.input_shape) - inputs = create_inputs(im, im_info) - return inputs - - def postprocess(self, np_boxes, np_masks, inputs, threshold=0.5): - # postprocess output of predictor - results = {} - if self.pred_config.arch in ['Face']: - h, w = inputs['im_shape'] - scale_y, scale_x = inputs['scale_factor'] - w, h = float(h) / scale_y, float(w) / scale_x - np_boxes[:, 2] *= h - np_boxes[:, 3] *= w - np_boxes[:, 4] *= h - np_boxes[:, 5] *= w - results['boxes'] = np_boxes - if np_masks is not None: - results['masks'] = np_masks - return results - - def predict(self, - image, - threshold=0.5, - warmup=0, - repeats=1, - run_benchmark=False): - ''' - Args: - image (str/np.ndarray): path of image/ np.ndarray read by cv2 - threshold (float): threshold of predicted box' score - Returns: - results (dict): include 'boxes': np.ndarray: shape:[N,6], N: number of box, - matix element:[class, score, x_min, y_min, x_max, y_max] - MaskRCNN's results include 'masks': np.ndarray: - shape: [N, im_h, im_w] - ''' - inputs = self.preprocess(image) - np_boxes, np_masks = None, None - input_names = self.predictor.get_input_names() - for i in range(len(input_names)): - input_tensor = self.predictor.get_input_handle(input_names[i]) - input_tensor.copy_from_cpu(inputs[input_names[i]]) - - for i in range(warmup): - self.predictor.run() - output_names = self.predictor.get_output_names() - boxes_tensor = self.predictor.get_output_handle(output_names[0]) - np_boxes = boxes_tensor.copy_to_cpu() - if self.pred_config.mask: - masks_tensor = self.predictor.get_output_handle(output_names[2]) - np_masks = masks_tensor.copy_to_cpu() - - t1 = time.time() - for i in range(repeats): - self.predictor.run() - output_names = self.predictor.get_output_names() - boxes_tensor = self.predictor.get_output_handle(output_names[0]) - np_boxes = boxes_tensor.copy_to_cpu() - if self.pred_config.mask: - masks_tensor = self.predictor.get_output_handle(output_names[2]) - np_masks = masks_tensor.copy_to_cpu() - t2 = time.time() - ms = (t2 - t1) * 1000.0 / repeats - print("Inference: {} ms per batch image".format(ms)) - - # do not perform postprocess in benchmark mode - results = [] - if not run_benchmark: - if reduce(lambda x, y: x * y, np_boxes.shape) < 6: - print('[WARNNING] No object detected.') - results = {'boxes': np.array([])} - else: - results = self.postprocess( - np_boxes, np_masks, inputs, threshold=threshold) - - return results - - -def create_inputs(im, im_info): - """generate input for different model type - Args: - im (np.ndarray): image (np.ndarray) - im_info (dict): info of image - model_arch (str): model type - Returns: - inputs (dict): input of model - """ - inputs = {} - inputs['image'] = np.array((im, )).astype('float32') - inputs['im_shape'] = np.array((im_info['im_shape'], )).astype('float32') - inputs['scale_factor'] = np.array( - (im_info['scale_factor'], )).astype('float32') - - return inputs - - -class PredictConfig(): - """set config of preprocess, postprocess and visualize - Args: - model_dir (str): root path of model.yml - """ - - def __init__(self, model_dir): - # parsing Yaml config for Preprocess - deploy_file = os.path.join(model_dir, 'infer_cfg.yml') - with open(deploy_file) as f: - yml_conf = yaml.safe_load(f) - self.check_model(yml_conf) - self.arch = yml_conf['arch'] - self.preprocess_infos = yml_conf['Preprocess'] - self.min_subgraph_size = yml_conf['min_subgraph_size'] - self.labels = yml_conf['label_list'] - self.mask = False - if 'mask' in yml_conf: - self.mask = yml_conf['mask'] - self.input_shape = yml_conf['image_shape'] - self.print_config() - - def check_model(self, yml_conf): - """ - Raises: - ValueError: loaded model not in supported model type - """ - for support_model in SUPPORT_MODELS: - if support_model in yml_conf['arch']: - return True - raise ValueError("Unsupported arch: {}, expect {}".format(yml_conf[ - 'arch'], SUPPORT_MODELS)) - - def print_config(self): - print('----------- Model Configuration -----------') - print('%s: %s' % ('Model Arch', self.arch)) - print('%s: ' % ('Transform Order')) - for op_info in self.preprocess_infos: - print('--%s: %s' % ('transform op', op_info['type'])) - print('--------------------------------------------') - - -def load_predictor(model_dir, batch_size=1, use_gpu=False, min_subgraph_size=3): - """set AnalysisConfig, generate AnalysisPredictor - Args: - model_dir (str): root path of __model__ and __params__ - use_gpu (bool): whether use gpu - Returns: - predictor (PaddlePredictor): AnalysisPredictor - Raises: - ValueError: predict by TensorRT need use_gpu == True. - """ - run_mode = 'trt_int8' - if not use_gpu and not run_mode == 'fluid': - raise ValueError( - "Predict by TensorRT mode: {}, expect use_gpu==True, but use_gpu == {}" - .format(run_mode, use_gpu)) - config = Config( - os.path.join(model_dir, 'model.pdmodel'), - os.path.join(model_dir, 'model.pdiparams')) - precision_map = { - 'trt_int8': Config.Precision.Int8, - 'trt_fp32': Config.Precision.Float32, - 'trt_fp16': Config.Precision.Half - } - if use_gpu: - # initial GPU memory(M), device ID - config.enable_use_gpu(200, 0) - # optimize graph and fuse op - config.switch_ir_optim(True) - else: - config.disable_gpu() - - if run_mode in precision_map.keys(): - config.enable_tensorrt_engine( - workspace_size=1 << 10, - max_batch_size=batch_size, - min_subgraph_size=min_subgraph_size, - precision_mode=precision_map[run_mode], - use_static=False, - use_calib_mode=True) - - # disable print log when predict - config.disable_glog_info() - # enable shared memory - config.enable_memory_optim() - # disable feed, fetch OP, needed by zero_copy_run - config.switch_use_feed_fetch_ops(False) - predictor = create_predictor(config) - return predictor - - -def print_arguments(args): - print('----------- Running Arguments -----------') - for arg, value in sorted(vars(args).items()): - print('%s: %s' % (arg, value)) - print('------------------------------------------') - - -def predict_image_dir(detector): - for image_file in glob.glob(FLAGS.image_dir + '/*.jpg'): - print('image_file is', image_file) - results = detector.predict(image_file, threshold=0.5) - - -def main(): - pred_config = PredictConfig(FLAGS.model_dir) - detector = Detector(pred_config, FLAGS.model_dir, use_gpu=FLAGS.use_gpu) - # predict from image - if FLAGS.image_dir != '': - predict_image_dir(detector) - - -if __name__ == '__main__': - paddle.enable_static() - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument( - "--model_dir", - type=str, - default=None, - help=("Directory include:'model.pdiparams', 'model.pdmodel', " - "'infer_cfg.yml', created by tools/export_model.py."), - required=True) - parser.add_argument( - "--image_dir", type=str, default='', help="Directory of image file.") - parser.add_argument( - "--use_gpu", - type=ast.literal_eval, - default=False, - help="Whether to predict with GPU.") - print('err?') - parser.add_argument( - "--output_dir", - type=str, - default="output", - help="Directory of output visualization files.") - FLAGS = parser.parse_args() - print_arguments(FLAGS) - - main() diff --git a/static/deploy/cpp/docs/Jetson_build.md b/static/deploy/cpp/docs/Jetson_build.md index 14850700e..8bd0c1efc 100644 --- a/static/deploy/cpp/docs/Jetson_build.md +++ b/static/deploy/cpp/docs/Jetson_build.md @@ -155,7 +155,7 @@ CUDNN_LIB=/usr/lib/aarch64-linux-gnu/ | --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测)| | --use_gpu | 是否使用 GPU 预测, 支持值为0或1(默认值为0)| | --gpu_id | 指定进行推理的GPU device id(默认值为0)| -| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16/trt_int8)| | --run_benchmark | 是否重复预测来进行benchmark测速 | | --output_dir | 输出图片所在的文件夹, 默认为output | diff --git a/static/deploy/cpp/docs/linux_build.md b/static/deploy/cpp/docs/linux_build.md index 60c609663..14e171191 100644 --- a/static/deploy/cpp/docs/linux_build.md +++ b/static/deploy/cpp/docs/linux_build.md @@ -102,7 +102,7 @@ make | --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测)| | --use_gpu | 是否使用 GPU 预测, 支持值为0或1(默认值为0)| | --gpu_id | 指定进行推理的GPU device id(默认值为0)| -| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16/trt_int8)| | --run_benchmark | 是否重复预测来进行benchmark测速 | | --output_dir | 输出图片所在的文件夹, 默认为output | diff --git a/static/deploy/cpp/docs/windows_vs2019_build.md b/static/deploy/cpp/docs/windows_vs2019_build.md index aca5d3ab9..efb2d75c8 100644 --- a/static/deploy/cpp/docs/windows_vs2019_build.md +++ b/static/deploy/cpp/docs/windows_vs2019_build.md @@ -97,7 +97,7 @@ cd D:\projects\PaddleDetection\deploy\cpp\out\build\x64-Release | --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测)| | --use_gpu | 是否使用 GPU 预测, 支持值为0或1(默认值为0)| | --gpu_id | 指定进行推理的GPU device id(默认值为0)| -| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_mode | 使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16/trt_int8)| | --run_benchmark | 是否重复预测来进行benchmark测速 | | --output_dir | 输出图片所在的文件夹, 默认为output | diff --git a/static/deploy/cpp/src/main.cc b/static/deploy/cpp/src/main.cc index f2b4b1ad2..9c2831600 100644 --- a/static/deploy/cpp/src/main.cc +++ b/static/deploy/cpp/src/main.cc @@ -198,8 +198,8 @@ int main(int argc, char** argv) { return -1; } if (!(FLAGS_run_mode == "fluid" || FLAGS_run_mode == "trt_fp32" - || FLAGS_run_mode == "trt_fp16")) { - std::cout << "run_mode should be 'fluid', 'trt_fp32' or 'trt_fp16'."; + || FLAGS_run_mode == "trt_fp16" || FLAGS_run_mode == "trt_int8")) { + std::cout << "run_mode should be 'fluid', 'trt_fp32', 'trt_fp16' or 'trt_int8'."; return -1; } diff --git a/static/deploy/cpp/src/object_detector.cc b/static/deploy/cpp/src/object_detector.cc index 0e5b814eb..7b8f0fdd1 100644 --- a/static/deploy/cpp/src/object_detector.cc +++ b/static/deploy/cpp/src/object_detector.cc @@ -32,17 +32,16 @@ void ObjectDetector::LoadModel(const std::string& model_dir, config.SetModel(prog_file, params_file); if (use_gpu) { config.EnableUseGpu(100, gpu_id); + config.SwitchIrOptim(true); if (run_mode != "fluid") { auto precision = paddle::AnalysisConfig::Precision::kFloat32; if (run_mode == "trt_fp16") { precision = paddle::AnalysisConfig::Precision::kHalf; } else if (run_mode == "trt_int8") { - printf("TensorRT int8 mode is not supported now, " - "please use 'trt_fp32' or 'trt_fp16' instead"); + precision = paddle::AnalysisConfig::Precision::kInt8; + use_calib_mode = true; } else { - if (run_mode != "trt_fp32") { - printf("run_mode should be 'fluid', 'trt_fp32' or 'trt_fp16'"); - } + printf("run_mode should be 'fluid', 'trt_fp32', 'trt_fp16' or 'trt_int8'"); } config.EnableTensorRtEngine( 1 << 10, @@ -50,7 +49,7 @@ void ObjectDetector::LoadModel(const std::string& model_dir, min_subgraph_size, precision, false, - false); + use_calib_mode); } } else { config.DisableGpu(); diff --git a/static/deploy/python/README.md b/static/deploy/python/README.md index b8b3b87be..928910f6b 100644 --- a/static/deploy/python/README.md +++ b/static/deploy/python/README.md @@ -46,7 +46,7 @@ python deploy/python/infer.py --model_dir=/path/to/models --image_file=/path/to/ | --video_file | Option |需要预测的视频 | | --camera_id | Option | 用来预测的摄像头ID,默认为-1(表示不使用摄像头预测,可设置为:0 - (摄像头数目-1) ),预测过程中在可视化界面按`q`退出输出预测结果到:output/output.mp4| | --use_gpu |No|是否GPU,默认为False| -| --run_mode |No|使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16)| +| --run_mode |No|使用GPU时,默认为fluid, 可选(fluid/trt_fp32/trt_fp16/trt_int8)| | --threshold |No|预测得分的阈值,默认为0.5| | --output_dir |No|可视化结果保存的根目录,默认为output/| | --run_benchmark |No|是否运行benchmark,同时需指定--image_file| diff --git a/static/deploy/python/infer.py b/static/deploy/python/infer.py index ae0ff80e9..59989a6cb 100644 --- a/static/deploy/python/infer.py +++ b/static/deploy/python/infer.py @@ -393,9 +393,7 @@ def load_predictor(model_dir, raise ValueError( "Predict by TensorRT mode: {}, expect use_gpu==True, but use_gpu == {}" .format(run_mode, use_gpu)) - if run_mode == 'trt_int8': - raise ValueError("TensorRT int8 mode is not supported now, " - "please use trt_fp32 or trt_fp16 instead.") + use_calib_mode = True if run_mode == 'trt_int8' else False precision_map = { 'trt_int8': fluid.core.AnalysisConfig.Precision.Int8, 'trt_fp32': fluid.core.AnalysisConfig.Precision.Float32, @@ -419,7 +417,7 @@ def load_predictor(model_dir, min_subgraph_size=min_subgraph_size, precision_mode=precision_map[run_mode], use_static=False, - use_calib_mode=False) + use_calib_mode=use_calib_mode) # disable print log when predict config.disable_glog_info() @@ -574,7 +572,7 @@ if __name__ == '__main__': "--run_mode", type=str, default='fluid', - help="mode of running(fluid/trt_fp32/trt_fp16)") + help="mode of running(fluid/trt_fp32/trt_fp16/trt_int8)") parser.add_argument( "--use_gpu", type=ast.literal_eval, -- Gitee From 0721e56a62fc4e115746230c40c839fe68c6d928 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Thu, 15 Apr 2021 11:21:49 +0800 Subject: [PATCH 38/90] fix res5 (#2632) --- ppdet/modeling/backbones/resnet.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ppdet/modeling/backbones/resnet.py b/ppdet/modeling/backbones/resnet.py index bdc714e07..6be2fc6e1 100755 --- a/ppdet/modeling/backbones/resnet.py +++ b/ppdet/modeling/backbones/resnet.py @@ -590,8 +590,9 @@ class Res5Head(nn.Layer): if depth < 50: feat_in = 256 na = NameAdapter(self) + block = BottleNeck if depth >= 50 else BasicBlock self.res5 = Blocks( - depth, feat_in, feat_out, count=3, name_adapter=na, stage_num=5) + block, feat_in, feat_out, count=3, name_adapter=na, stage_num=5) self.feat_out = feat_out if depth < 50 else feat_out * 4 @property -- Gitee From 9aa7ab9f662aa380ac3e2dfffa0580105d2662dc Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Thu, 15 Apr 2021 13:59:02 +0800 Subject: [PATCH 39/90] fix yolo config (#2636) --- configs/ppyolo/ppyolo_r50vd_dcn_voc.yml | 14 +++++++------- configs/slim/prune/yolov3_prune_fpgm.yml | 1 - configs/slim/prune/yolov3_prune_l1_norm.yml | 1 - 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml b/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml index 4b2bcc492..b383deab0 100644 --- a/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml +++ b/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml @@ -11,13 +11,13 @@ weights: output/ppyolo_r50vd_dcn_voc/model_final TrainReader: batch_transforms: - - BatchRandomResizeOp: {target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608], random_size: True, random_interp: True, keep_ratio: False} - - NormalizeBoxOp: {} - - PadBoxOp: {num_max_boxes: 50} - - BboxXYXY2XYWHOp: {} - - NormalizeImageOp: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} - - PermuteOp: {} - - Gt2YoloTargetOp: {anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]], anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]], downsample_ratios: [32, 16, 8], num_classes: 20} + - BatchRandomResize: {target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608], random_size: True, random_interp: True, keep_ratio: False} + - NormalizeBox: {} + - PadBox: {num_max_boxes: 50} + - BboxXYXY2XYWH: {} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + - Gt2YoloTarget: {anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]], anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]], downsample_ratios: [32, 16, 8], num_classes: 20} mixup_epoch: 350 batch_size: 12 diff --git a/configs/slim/prune/yolov3_prune_fpgm.yml b/configs/slim/prune/yolov3_prune_fpgm.yml index 8d99997ef..f37453868 100644 --- a/configs/slim/prune/yolov3_prune_fpgm.yml +++ b/configs/slim/prune/yolov3_prune_fpgm.yml @@ -1,6 +1,5 @@ # Weights of yolov3_mobilenet_v1_voc pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams -weight_type: resume slim: Pruner Pruner: diff --git a/configs/slim/prune/yolov3_prune_l1_norm.yml b/configs/slim/prune/yolov3_prune_l1_norm.yml index 757117e38..5b4f4667f 100644 --- a/configs/slim/prune/yolov3_prune_l1_norm.yml +++ b/configs/slim/prune/yolov3_prune_l1_norm.yml @@ -1,6 +1,5 @@ # Weights of yolov3_mobilenet_v1_voc pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams -weight_type: resume slim: Pruner Pruner: -- Gitee From d2555f9405890b8d30fc4cfce71fde23e097a5d7 Mon Sep 17 00:00:00 2001 From: Feng Ni Date: Thu, 15 Apr 2021 15:07:20 +0800 Subject: [PATCH 40/90] [cherry-pick] Move ssld model (#2634) * move ssld model, test=document_fix * fix typo, test=document_fix --- configs/cascade_rcnn/README.md | 4 ++ ...cade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 6 +- ...cade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 6 +- .../cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 6 +- .../cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 6 +- configs/faster_rcnn/README.md | 2 + .../faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 6 +- .../faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 6 +- configs/mask_rcnn/README.md | 2 + .../mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml | 6 +- .../mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml | 6 +- configs/ssld/README.md | 33 ----------- configs/yolov3/README.md | 9 +++ .../yolov3_mobilenet_v1_ssld_270e_coco.yml | 11 ++++ .../yolov3_mobilenet_v1_ssld_270e_voc.yml | 54 ++++++++++++++++++ ...olov3_mobilenet_v3_large_ssld_270e_voc.yml | 54 ++++++++++++++++++ docs/feature_models/SSLD_PRETRAINED_MODEL.md | 54 ++++++++++++++++++ .../SSLD_PRETRAINED_MODEL_en.md | 53 +++++++++++++++++ docs/images/ssld_model.png | Bin 22184 -> 81566 bytes 19 files changed, 267 insertions(+), 57 deletions(-) rename configs/{ssld => cascade_rcnn}/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml (71%) rename configs/{ssld => cascade_rcnn}/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml (77%) rename configs/{ssld => cascade_rcnn}/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml (72%) rename configs/{ssld => cascade_rcnn}/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml (78%) rename configs/{ssld => faster_rcnn}/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml (79%) rename configs/{ssld => faster_rcnn}/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml (79%) rename configs/{ssld => mask_rcnn}/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml (80%) rename configs/{ssld => mask_rcnn}/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml (80%) delete mode 100644 configs/ssld/README.md create mode 100644 configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml create mode 100644 configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml create mode 100644 configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml create mode 100644 docs/feature_models/SSLD_PRETRAINED_MODEL.md create mode 100644 docs/feature_models/SSLD_PRETRAINED_MODEL_en.md diff --git a/configs/cascade_rcnn/README.md b/configs/cascade_rcnn/README.md index fe2a2a7ad..e74641a3f 100644 --- a/configs/cascade_rcnn/README.md +++ b/configs/cascade_rcnn/README.md @@ -6,6 +6,10 @@ | :------------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | | ResNet50-FPN | Cascade Faster | 1 | 1x | ---- | 41.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.yml) | | ResNet50-FPN | Cascade Mask | 1 | 1x | ---- | 41.8 | 36.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | **注意:** Cascade R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 diff --git a/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml similarity index 71% rename from configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml rename to configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml index e64ad6bbf..0ab507caa 100644 --- a/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml +++ b/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -1,9 +1,9 @@ _BASE_: [ '../datasets/coco_instance.yml', '../runtime.yml', - '../cascade_rcnn/_base_/optimizer_1x.yml', - '../cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml', - '../cascade_rcnn/_base_/cascade_mask_fpn_reader.yml', + '_base_/optimizer_1x.yml', + '_base_/cascade_mask_rcnn_r50_fpn.yml', + '_base_/cascade_mask_fpn_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams weights: output/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco/model_final diff --git a/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml similarity index 77% rename from configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml rename to configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml index 27dbb1e4c..736ba2e74 100644 --- a/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml +++ b/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -1,9 +1,9 @@ _BASE_: [ '../datasets/coco_instance.yml', '../runtime.yml', - '../cascade_rcnn/_base_/optimizer_1x.yml', - '../cascade_rcnn/_base_/cascade_mask_rcnn_r50_fpn.yml', - '../cascade_rcnn/_base_/cascade_mask_fpn_reader.yml', + '_base_/optimizer_1x.yml', + '_base_/cascade_mask_rcnn_r50_fpn.yml', + '_base_/cascade_mask_fpn_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams weights: output/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco/model_final diff --git a/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml similarity index 72% rename from configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml rename to configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml index 2715b33f1..905adbd61 100644 --- a/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml +++ b/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -1,9 +1,9 @@ _BASE_: [ '../datasets/coco_detection.yml', '../runtime.yml', - '../cascade_rcnn/_base_/optimizer_1x.yml', - '../cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml', - '../cascade_rcnn/_base_/cascade_fpn_reader.yml', + '_base_/optimizer_1x.yml', + '_base_/cascade_rcnn_r50_fpn.yml', + '_base_/cascade_fpn_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams weights: output/cascade_rcnn_r50_vd_fpn_ssld_1x_coco/model_final diff --git a/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml similarity index 78% rename from configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml rename to configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml index 00476f6db..a6272145d 100644 --- a/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml +++ b/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -1,9 +1,9 @@ _BASE_: [ '../datasets/coco_detection.yml', '../runtime.yml', - '../cascade_rcnn/_base_/optimizer_1x.yml', - '../cascade_rcnn/_base_/cascade_rcnn_r50_fpn.yml', - '../cascade_rcnn/_base_/cascade_fpn_reader.yml', + '_base_/optimizer_1x.yml', + '_base_/cascade_rcnn_r50_fpn.yml', + '_base_/cascade_fpn_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams weights: output/cascade_rcnn_r50_vd_fpn_ssld_2x_coco/model_final diff --git a/configs/faster_rcnn/README.md b/configs/faster_rcnn/README.md index e3b5987c5..cb176afff 100644 --- a/configs/faster_rcnn/README.md +++ b/configs/faster_rcnn/README.md @@ -18,6 +18,8 @@ | ResNet101-vd-FPN | Faster | 1 | 2x | ---- | 43.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_2x_coco.yml) | | ResNeXt101-vd-FPN | Faster | 1 | 1x | ---- | 43.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | | ResNeXt101-vd-FPN | Faster | 1 | 2x | ---- | 44.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_ssld_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | **注意:** Faster R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 diff --git a/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml similarity index 79% rename from configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml rename to configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml index a529adb0b..d71b82d83 100644 --- a/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml +++ b/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -1,9 +1,9 @@ _BASE_: [ '../datasets/coco_detection.yml', '../runtime.yml', - '../faster_rcnn/_base_/optimizer_1x.yml', - '../faster_rcnn/_base_/faster_rcnn_r50_fpn.yml', - '../faster_rcnn/_base_/faster_fpn_reader.yml', + '_base_/optimizer_1x.yml', + '_base_/faster_rcnn_r50_fpn.yml', + '_base_/faster_fpn_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams weights: output/faster_rcnn_r50_vd_fpn_ssld_1x_coco/model_final diff --git a/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml similarity index 79% rename from configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml rename to configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml index b1c682e31..0562354e7 100644 --- a/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml +++ b/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -1,9 +1,9 @@ _BASE_: [ '../datasets/coco_detection.yml', '../runtime.yml', - '../faster_rcnn/_base_/optimizer_1x.yml', - '../faster_rcnn/_base_/faster_rcnn_r50_fpn.yml', - '../faster_rcnn/_base_/faster_fpn_reader.yml', + '_base_/optimizer_1x.yml', + '_base_/faster_rcnn_r50_fpn.yml', + '_base_/faster_fpn_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams weights: output/faster_rcnn_r50_vd_fpn_ssld_2x_coco/model_final diff --git a/configs/mask_rcnn/README.md b/configs/mask_rcnn/README.md index 39d15322f..300d67b46 100644 --- a/configs/mask_rcnn/README.md +++ b/configs/mask_rcnn/README.md @@ -14,6 +14,8 @@ | ResNet101-vd-FPN | Mask | 1 | 1x | ---- | 42.4 | 38.1 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r101_vd_fpn_1x_coco.yml) | | ResNeXt101-vd-FPN | Mask | 1 | 1x | ---- | 44.0 | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | | ResNeXt101-vd-FPN | Mask | 1 | 2x | ---- | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | **注意:** Mask R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 diff --git a/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml b/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml similarity index 80% rename from configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml rename to configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml index 29f906e86..c5718a8d2 100644 --- a/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml +++ b/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml @@ -1,9 +1,9 @@ _BASE_: [ '../datasets/coco_instance.yml', '../runtime.yml', - '../mask_rcnn/_base_/optimizer_1x.yml', - '../mask_rcnn/_base_/mask_rcnn_r50_fpn.yml', - '../mask_rcnn/_base_/mask_fpn_reader.yml', + '_base_/optimizer_1x.yml', + '_base_/mask_rcnn_r50_fpn.yml', + '_base_/mask_fpn_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams weights: output/mask_rcnn_r50_vd_fpn_ssld_1x_coco/model_final diff --git a/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml b/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml similarity index 80% rename from configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml rename to configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml index 39674e25d..65b31e6f1 100644 --- a/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml +++ b/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml @@ -1,9 +1,9 @@ _BASE_: [ '../datasets/coco_instance.yml', '../runtime.yml', - '../mask_rcnn/_base_/optimizer_1x.yml', - '../mask_rcnn/_base_/mask_rcnn_r50_fpn.yml', - '../mask_rcnn/_base_/mask_fpn_reader.yml', + '_base_/optimizer_1x.yml', + '_base_/mask_rcnn_r50_fpn.yml', + '_base_/mask_fpn_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_v2_pretrained.pdparams weights: output/mask_rcnn_r50_vd_fpn_ssld_2x_coco/model_final diff --git a/configs/ssld/README.md b/configs/ssld/README.md deleted file mode 100644 index 48a4dd7cb..000000000 --- a/configs/ssld/README.md +++ /dev/null @@ -1,33 +0,0 @@ -### Simple semi-supervised label knowledge distillation solution (SSLD) - -## Model Zoo - -| 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | -| :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50-vd-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | -| ResNet50-vd-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -| ResNet50-vd-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -| ResNet50-vd-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssld/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | - - -**注意事项:** - -- [SSLD](https://arxiv.org/abs/1811.11168)是一种知识蒸馏方法,我们使用蒸馏后性能更强的backbone预训练模型,进一步提升检测精度,详细方案请参考[知识蒸馏教程](https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/en/advanced_tutorials/distillation/distillation_en.md) - -![demo image](../../docs/images/ssld_model.png) - -## Citations -``` -@misc{cui2021selfsupervision, - title={Beyond Self-Supervision: A Simple Yet Effective Network Distillation Alternative to Improve Backbones}, - author={Cheng Cui and Ruoyu Guo and Yuning Du and Dongliang He and Fu Li and Zewu Wu and Qiwen Liu and Shilei Wen and Jizhou Huang and Xiaoguang Hu and Dianhai Yu and Errui Ding and Yanjun Ma}, - year={2021}, - eprint={2103.05959}, - archivePrefix={arXiv}, - primaryClass={cs.CV} -} -``` diff --git a/configs/yolov3/README.md b/configs/yolov3/README.md index b27673d9c..a7fba7589 100644 --- a/configs/yolov3/README.md +++ b/configs/yolov3/README.md @@ -22,6 +22,9 @@ | MobileNet-V3 | 608 | 8 | 270e | ---- | 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) | | MobileNet-V3 | 416 | 8 | 270e | ---- | 29.7 | [下载链接](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) | | MobileNet-V3 | 320 | 8 | 270e | ---- | 26.9 | [下载链接](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) | +| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | ### YOLOv3 on Pasacl VOC @@ -33,6 +36,12 @@ | MobileNet-V3 | 608 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | | MobileNet-V3 | 416 | 8 | 270e | - | 78.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | | MobileNet-V3 | 320 | 8 | 270e | - | 76.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | +| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | **注意:** YOLOv3均使用8GPU训练,训练270个epoch diff --git a/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml b/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml new file mode 100644 index 000000000..10cf8166d --- /dev/null +++ b/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml @@ -0,0 +1,11 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '_base_/optimizer_270e.yml', + '_base_/yolov3_mobilenet_v1.yml', + '_base_/yolov3_reader.yml', +] + +snapshot_epoch: 5 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV1_ssld_pretrained.pdparams +weights: output/yolov3_mobilenet_v1_ssld_270e_coco/model_final diff --git a/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml new file mode 100644 index 000000000..37cce342a --- /dev/null +++ b/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml @@ -0,0 +1,54 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '_base_/optimizer_270e.yml', + '_base_/yolov3_mobilenet_v1.yml', + '_base_/yolov3_reader.yml', +] + +snapshot_epoch: 5 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV1_ssld_pretrained.pdparams +weights: output/yolov3_mobilenet_v1_ssld_270e_voc/model_final + +TrainReader: + inputs_def: + num_max_boxes: 50 + sample_transforms: + - Decode: {} + - Mixup: {alpha: 1.5, beta: 1.5} + - RandomDistort: {} + - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} + - RandomCrop: {} + - RandomFlip: {} + batch_transforms: + - BatchRandomResize: + target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608] + random_size: True + random_interp: True + keep_ratio: False + - NormalizeBox: {} + - PadBox: {num_max_boxes: 50} + - BboxXYXY2XYWH: {} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + - Gt2YoloTarget: + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]] + downsample_ratios: [32, 16, 8] + num_classes: 20 + batch_size: 8 + shuffle: true + drop_last: true + mixup_epoch: 250 + +LearningRate: + base_lr: 0.001 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 216 + - 243 + - !LinearWarmup + start_factor: 0. + steps: 1000 diff --git a/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml new file mode 100644 index 000000000..3099703b8 --- /dev/null +++ b/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml @@ -0,0 +1,54 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '_base_/optimizer_270e.yml', + '_base_/yolov3_mobilenet_v3_large.yml', + '_base_/yolov3_reader.yml', +] + +snapshot_epoch: 5 +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV3_large_x1_0_ssld_pretrained.pdparams +weights: output/yolov3_mobilenet_v3_large_ssld_270e_voc/model_final + +TrainReader: + inputs_def: + num_max_boxes: 50 + sample_transforms: + - Decode: {} + - Mixup: {alpha: 1.5, beta: 1.5} + - RandomDistort: {} + - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} + - RandomCrop: {} + - RandomFlip: {} + batch_transforms: + - BatchRandomResize: + target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608] + random_size: True + random_interp: True + keep_ratio: False + - NormalizeBox: {} + - PadBox: {num_max_boxes: 50} + - BboxXYXY2XYWH: {} + - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} + - Permute: {} + - Gt2YoloTarget: + anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] + anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]] + downsample_ratios: [32, 16, 8] + num_classes: 20 + batch_size: 8 + shuffle: true + drop_last: true + mixup_epoch: 250 + +LearningRate: + base_lr: 0.001 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 216 + - 243 + - !LinearWarmup + start_factor: 0. + steps: 1000 diff --git a/docs/feature_models/SSLD_PRETRAINED_MODEL.md b/docs/feature_models/SSLD_PRETRAINED_MODEL.md new file mode 100644 index 000000000..50c26c5d1 --- /dev/null +++ b/docs/feature_models/SSLD_PRETRAINED_MODEL.md @@ -0,0 +1,54 @@ +简体中文 | [English](SSLD_PRETRAINED_MODEL_en.md) + +### Simple semi-supervised label knowledge distillation solution (SSLD) + +### R-CNN on COCO + +| 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | +| :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | + + +### YOLOv3 on COCO + +| 骨架网络 | 输入尺寸 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | +| :----------------- | :-------- | :-----------: | :------: | :---------: | :----: | :----------------------------------------------------: | :-----: | +| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | + +### YOLOv3 on Pasacl VOC + +| 骨架网络 | 输入尺寸 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | +| :----------------- | :-------- | :-----------: | :------: | :---------: | :----: | :----------------------------------------------------: | :-----: | +| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | + +**注意事项:** + +- [SSLD](https://arxiv.org/abs/1811.11168)是一种知识蒸馏方法,我们使用蒸馏后性能更强的backbone预训练模型,进一步提升检测精度,详细方案请参考[知识蒸馏教程](https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/en/advanced_tutorials/distillation/distillation_en.md) + +![demo image](../images/ssld_model.png) + +## Citations +``` +@misc{cui2021selfsupervision, + title={Beyond Self-Supervision: A Simple Yet Effective Network Distillation Alternative to Improve Backbones}, + author={Cheng Cui and Ruoyu Guo and Yuning Du and Dongliang He and Fu Li and Zewu Wu and Qiwen Liu and Shilei Wen and Jizhou Huang and Xiaoguang Hu and Dianhai Yu and Errui Ding and Yanjun Ma}, + year={2021}, + eprint={2103.05959}, + archivePrefix={arXiv}, + primaryClass={cs.CV} +} +``` diff --git a/docs/feature_models/SSLD_PRETRAINED_MODEL_en.md b/docs/feature_models/SSLD_PRETRAINED_MODEL_en.md new file mode 100644 index 000000000..70f52db9c --- /dev/null +++ b/docs/feature_models/SSLD_PRETRAINED_MODEL_en.md @@ -0,0 +1,53 @@ +English | [简体中文](SSLD_PRETRAINED_MODEL.md) + +### Simple semi-supervised label knowledge distillation solution (SSLD) + +### R-CNN on COCO + +| Backbone | Model | Images/GPU | Lr schd | FPS | Box AP | Mask AP | Download | Config | +| :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [model](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [model](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [model](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [model](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [model](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [model](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | + +### YOLOv3 on COCO + +| Backbone | Input shape | Images/GPU | Lr schd | FPS | Box AP | Download | Config | +| :----------------- | :-------- | :-----------: | :------: | :---------: | :----: | :----------------------------------------------------: | :-----: | +| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | + +### YOLOv3 on Pasacl VOC + +| Backbone | Input shape | Images/GPU | Lr schd | FPS | Box AP | Download | Config | +| :----------------- | :-------- | :-----------: | :------: | :---------: | :----: | :----------------------------------------------------: | :-----: | +| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | + +**Notes:** + +- [SSLD](https://arxiv.org/abs/1811.11168) is a knowledge distillation method. We use the stronger backbone pretrained model after distillation to further improve the detection accuracy. Please refer to the [knowledge distillation tutorial](https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/en/advanced_tutorials/distillation/distillation_en.md). + +![demo image](../images/ssld_model.png) + +## Citations +``` +@misc{cui2021selfsupervision, + title={Beyond Self-Supervision: A Simple Yet Effective Network Distillation Alternative to Improve Backbones}, + author={Cheng Cui and Ruoyu Guo and Yuning Du and Dongliang He and Fu Li and Zewu Wu and Qiwen Liu and Shilei Wen and Jizhou Huang and Xiaoguang Hu and Dianhai Yu and Errui Ding and Yanjun Ma}, + year={2021}, + eprint={2103.05959}, + archivePrefix={arXiv}, + primaryClass={cs.CV} +} +``` diff --git a/docs/images/ssld_model.png b/docs/images/ssld_model.png index 594165933870931b98ee82fc3fab94d6bf4d3a74..23508712be7e6b6787575a66ca4c65037c9015c8 100644 GIT binary patch literal 81566 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 OfWXt$&t;ucLK6VN&p1c` literal 22184 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 Date: Thu, 15 Apr 2021 18:08:11 +0800 Subject: [PATCH 41/90] update slim readme (#2641) --- configs/slim/README.md | 8 ++++---- configs/yolov3/README.md | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/configs/slim/README.md b/configs/slim/README.md index c314f52b6..627a0743c 100755 --- a/configs/slim/README.md +++ b/configs/slim/README.md @@ -104,8 +104,8 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ | 模型 | 压缩策略 | 输入尺寸 | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | | ------------------ | ------------ | -------- | :---------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | -| YOLOv3-MobileNetV1 | baseline | 608 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | -| YOLOv3-MobileNetV1 | 蒸馏 | 608 | 29.0 | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml) | +| YOLOv3-MobileNetV1 | baseline | 608 | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | +| YOLOv3-MobileNetV1 | 蒸馏 | 608 | 31.0(+1.6) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml) | - 具体蒸馏方法请参考[蒸馏策略文档](distill/README.md) @@ -115,5 +115,5 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ | 模型 | 压缩策略 | 输入尺寸 | GFLOPs | 模型体积(MB) | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | | ------------------ | ------------ | -------- | :---------: |:---------: | :---------: |:----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | -| YOLOv3-MobileNetV1 | baseline | 608 | 24.65 | 94.6 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | -| YOLOv3-MobileNetV1 | 蒸馏+剪裁 | 608 | 7.54(-69.4%) | 32.0(-66.0%) | 28.7(-0.1) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml) | +| YOLOv3-MobileNetV1 | baseline | 608 | 24.65 | 94.6 | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | +| YOLOv3-MobileNetV1 | 蒸馏+剪裁 | 608 | 7.54(-69.4%) | 32.0(-66.0%) | 28.4(-1.0) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill_prune.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml) | diff --git a/configs/yolov3/README.md b/configs/yolov3/README.md index a7fba7589..bbdbd1b05 100644 --- a/configs/yolov3/README.md +++ b/configs/yolov3/README.md @@ -16,9 +16,9 @@ | ResNet34 | 608 | 8 | 270e | ---- | 36.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | | ResNet34 | 416 | 8 | 270e | ---- | 34.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | | ResNet34 | 320 | 8 | 270e | ---- | 31.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | -| MobileNet-V1 | 608 | 8 | 270e | ---- | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | -| MobileNet-V1 | 416 | 8 | 270e | ---- | 28.7 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | -| MobileNet-V1 | 320 | 8 | 270e | ---- | 26.5 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V1 | 608 | 8 | 270e | ---- | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V1 | 416 | 8 | 270e | ---- | 29.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V1 | 320 | 8 | 270e | ---- | 27.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | | MobileNet-V3 | 608 | 8 | 270e | ---- | 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) | | MobileNet-V3 | 416 | 8 | 270e | ---- | 29.7 | [下载链接](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) | | MobileNet-V3 | 320 | 8 | 270e | ---- | 26.9 | [下载链接](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) | -- Gitee From 87567411e4d07ed55928733d125216536abcd917 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Thu, 15 Apr 2021 18:56:18 +0800 Subject: [PATCH 42/90] [Cherry pick] 2.0 changelog (#2627) * add 2.0 CHANGLOG * add changelog history * update doc * notes for static -> dygraph --- docs/CHANGELOG.md | 204 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 docs/CHANGELOG.md diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md new file mode 100644 index 000000000..1f0bc5d67 --- /dev/null +++ b/docs/CHANGELOG.md @@ -0,0 +1,204 @@ +# 版本更新信息 + +## 最新版本信息 + +### 2.0(04.15/2021) + + **说明:** 自2.0版本开始,动态图作为PaddleDetection默认版本,原`dygraph`目录切换为根目录,原静态图实现移动到`static`目录下。 + + - 动态图模型丰富度提升: + - 发布PP-YOLOv2及PP-YOLO tiny模型,PP-YOLOv2 COCO test数据集精度达到49.5%,V100预测速度达到68.9 FPS + - 发布旋转框检测模型S2ANet + - 发布两阶段实用模型PSS-Det + - 发布人脸检测模型Blazeface + + - 新增基础模块: + - 新增SENet,GhostNet,Res2Net骨干网络 + - 新增VisualDL训练可视化支持 + - 新增单类别精度计算及PR曲线绘制功能 + - YOLO系列模型支持NHWC数据格式 + + - 预测部署: + - 发布主要模型的预测benchmark数据 + - 适配TensorRT6,支持TensorRT动态尺寸输入,支持TensorRT int8量化预测 + - PP-YOLO, YOLOv3, SSD, TTFNet, FCOS, Faster RCNN等7类模型在Linux、Windows、NV Jetson平台下python/cpp/TRT预测部署打通: + + - 检测模型压缩: + - 蒸馏:新增动态图蒸馏支持,并发布YOLOv3-MobileNetV1蒸馏模型 + - 联合策略:新增动态图剪裁+蒸馏联合策略压缩方案,并发布YOLOv3-MobileNetV1的剪裁+蒸馏压缩模型 + - 问题修复:修复动态图量化模型导出问题 + + - 文档: + - 新增动态图英文文档:包含首页文档,入门使用,快速开始,模型算法、新增数据集等 + - 新增动态图中英文安装文档 + - 新增动态图RCNN系列和YOLO系列配置文件模板及配置项说明文档 + + +## 历史版本信息 + +### 2.0-rc(02.23/2021) + - 动态图模型丰富度提升: + - 优化RCNN模型组网及训练方式,RCNN系列模型精度提升(依赖Paddle develop或2.0.1版本) + - 新增支持SSDLite,FCOS,TTFNet,SOLOv2系列模型 + - 新增行人和车辆垂类目标检测模型 + + - 新增动态图基础模块: + - 新增MobileNetV3,HRNet骨干网络 + - 优化RoIAlign计算逻辑,RCNN系列模型精度提升(依赖Paddle develop或2.0.1版本) + - 新增支持Synchronized Batch Norm + - 新增支持Modulated Deformable Convolution + + - 预测部署: + - 发布动态图python、C++、Serving部署解决方案及文档,支持Faster RCNN,Mask RCNN,YOLOv3,PP-YOLO,SSD,TTFNet,FCOS,SOLOv2等系列模型预测部署 + - 动态图预测部署支持TensorRT模式FP32,FP16推理加速 + + - 检测模型压缩: + - 裁剪:新增动态图裁剪支持,并发布YOLOv3-MobileNetV1裁剪模型 + - 量化:新增动态图量化支持,并发布YOLOv3-MobileNetV1和YOLOv3-MobileNetV3量化模型 + + - 文档: + - 新增动态图入门教程文档:包含安装说明,快速开始,准备数据,训练/评估/预测流程文档 + - 新增动态图进阶教程文档:包含模型压缩、推理部署文档 + - 新增动态图模型库文档 + +### v2.0-beta(12.20/2020) + - 动态图支持: + - 支持Faster-RCNN, Mask-RCNN, FPN, Cascade Faster/Mask RCNN, YOLOv3和SSD模型,试用版本。 + - 模型提升: + - 更新PP-YOLO MobileNetv3 large和small模型,精度提升,并新增裁剪和蒸馏后的模型。 + - 新功能: + - 支持VisualDL可视化数据预处理图片。 + + - Bug修复: + - 修复BlazeFace人脸关键点预测bug。 + + +### v0.5.0(11/2020) + - 模型丰富度提升: + - 发布SOLOv2系列模型,其中SOLOv2-Light-R50-VD-DCN-FPN 模型在单卡V100上达到 38.6 FPS,加速24% ,COCO验证集精度达到38.8%, 提升2.4绝对百分点。 + - 新增Android移动端检测demo,包括SSD、YOLO系列模型,可直接扫码安装体验。 + + - 移动端模型优化: + - 新增PACT新量化策略,YOLOv3-Mobilenetv3在COCO数据集上比普通量化相比提升0.7%。 + + - 易用性提升及功能组件: + - 增强generate_proposal_labels算子功能,规避模型出nan风险。 + - 修复deploy下python与C++预测若干问题。 + - 统一COCO与VOC数据集下评估流程,支持输出单类AP和P-R曲线。 + - PP-YOLO支持矩形输入图像。 + + - 文档: + - 新增目标检测全流程教程,新增Jetson平台部署教程。 + + +### v0.4.0(07/2020) + - 模型丰富度提升: + - 发布PPYOLO模型,COCO数据集精度达到45.2%,单卡V100预测速度达到72.9 FPS,精度和预测速度优于YOLOv4模型。 + - 新增TTFNet模型,base版本对齐竞品,COCO数据集精度达到32.9%。 + - 新增HTC模型,base版本对齐竞品,COCO数据集精度达到42.2%。 + - 新增BlazeFace人脸关键点检测模型,在Wider-Face数据集的Easy-Set精度达到85.2%。 + - 新增ACFPN模型, COCO数据集精度达到39.6%。 + - 发布服务器端通用目标检测模型(包含676类),相同策略在COCO数据集上,V100为19.5FPS时,COCO mAP可以达到49.4%。 + + - 移动端模型优化: + - 新增SSDLite系列优化模型,包括新增GhostNet的Backbone,新增FPN组件等,精度提升0.5%-1.5%。 + + - 易用性提升及功能组件: + - 新增GridMask, RandomErasing数据增强方法。 + - 新增Matrix NMS支持。 + - 新增EMA(Exponential Moving Average)训练支持。 + - 新增多机训练方法,两机相对于单机平均加速比80%,多机训练支持待进一步验证。 + +### v0.3.0(05/2020) + - 模型丰富度提升: + - 添加Efficientdet-D0模型,速度与精度优于竞品。 + - 新增YOLOv4预测模型,精度对齐竞品;新增YOLOv4在Pascal VOC数据集上微调训练,精度达到85.5%。 + - YOLOv3新增MobileNetV3骨干网络,COCO数据集精度达到31.6%。 + - 添加Anchor-free模型FCOS,精度优于竞品。 + - 添加Anchor-free模型CornernetSqueeze,精度优于竞品,优化模型的COCO数据集精度38.2%, +3.7%,速度较YOLOv3-Darknet53快5%。 + - 添加服务器端实用目标检测模型CascadeRCNN-ResNet50vd模型,速度与精度优于竞品EfficientDet。 + + - 移动端推出3种模型: + - SSDLite系列模型:SSDLite-Mobilenetv3 small/large模型,精度优于竞品。 + - YOLOv3移动端方案: YOLOv3-MobileNetv3模型压缩后加速3.5倍,速度和精度均领先于竞品的SSDLite模型。 + - RCNN移动端方案:CascadeRCNN-MobileNetv3经过系列优化, 推出输入图像分别为320x320和640x640的模型,速度与精度具有较高性价比。 + + - 预测部署重构: + - 新增Python预测部署流程,支持RCNN,YOLO,SSD,RetinaNet,人脸系列模型,支持视频预测。 + - 重构C++预测部署,提高易用性。 + + - 易用性提升及功能组件: + - 增加AutoAugment数据增强。 + - 升级检测库文档结构。 + - 支持迁移学习自动进行shape匹配。 + - 优化mask分支评估阶段内存占用。 + +### v0.2.0(02/2020) + - 新增模型: + - 新增基于CBResNet模型。 + - 新增LibraRCNN模型。 + - 进一步提升YOLOv3模型精度,基于COCO数据精度达到43.2%,相比上个版本提升1.4%。 + - 新增基础模块: + - 主干网络: 新增CBResNet。 + - loss模块: YOLOv3的loss支持细粒度op组合。 + - 正则模块: 新增DropBlock模块。 + - 功能优化和改进: + - 加速YOLOv3数据预处理,整体训练提速40%。 + - 优化数据预处理逻辑,提升易用性。 + - 增加人脸检测预测benchmark数据。 + - 增加C++预测引擎Python API预测示例。 + - 检测模型压缩 : + - 裁剪: 发布MobileNet-YOLOv3裁剪方案和模型,基于VOC数据FLOPs - 69.6%, mAP + 1.4%,基于COCO数据FLOPS-28.8%, mAP + 0.9%; 发布ResNet50vd-dcn-YOLOv3裁剪方案和模型,基于COCO数据集FLOPS - 18.4%, mAP + 0.8%。 + - 蒸馏: 发布MobileNet-YOLOv3蒸馏方案和模型,基于VOC数据mAP + 2.8%,基于COCO数据mAP + 2.1%。 + - 量化: 发布YOLOv3-MobileNet和BlazeFace的量化模型。 + - 裁剪+蒸馏: 发布MobileNet-YOLOv3裁剪+蒸馏方案和模型,基于COCO数据FLOPS - 69.6%,基于TensorRT预测加速64.5%,mAP - 0.3 %; 发布ResNet50vd-dcn-YOLOv3裁剪+蒸馏方案和模型,基于COCO数据FLOPS - 43.7%,基于TensorRT预测加速24.0%,mAP + 0.6 %。 + - 搜索: 开源BlazeFace-Nas的完成搜索方案。 + - 预测部署: + - 集成 TensorRT,支持FP16、FP32、INT8量化推理加速。 + - 文档: + - 增加详细的数据预处理模块介绍文档以及实现自定义数据Reader文档。 + - 增加如何新增算法模型的文档。 + - 文档部署到网站: https://paddledetection.readthedocs.io + +### 12/2019 +- 增加Res2Net模型。 +- 增加HRNet模型。 +- 增加GIOU loss和DIOU loss。 + + +### 21/11/2019 +- 增加CascadeClsAware RCNN模型。 +- 增加CBNet,ResNet200和Non-local模型。 +- 增加SoftNMS。 +- 增加Open Image V5数据集和Objects365数据集模型。 + +### 10/2019 +- 增加增强版YOLOv3模型,精度高达41.4%。 +- 增加人脸检测模型BlazeFace、Faceboxes。 +- 丰富基于COCO的模型,精度高达51.9%。 +- 增加Objects365 2019 Challenge上夺冠的最佳单模型之一CACascade-RCNN。 +- 增加行人检测和车辆检测预训练模型。 +- 支持FP16训练。 +- 增加跨平台的C++推理部署方案。 +- 增加模型压缩示例。 + + +### 2/9/2019 +- 增加GroupNorm模型。 +- 增加CascadeRCNN+Mask模型。 + +### 5/8/2019 +- 增加Modulated Deformable Convolution系列模型。 + +### 29/7/2019 + +- 增加检测库中文文档 +- 修复R-CNN系列模型训练同时进行评估的问题 +- 新增ResNext101-vd + Mask R-CNN + FPN模型 +- 新增基于VOC数据集的YOLOv3模型 + +### 3/7/2019 + +- 首次发布PaddleDetection检测库和检测模型库 +- 模型包括:Faster R-CNN, Mask R-CNN, Faster R-CNN+FPN, Mask + R-CNN+FPN, Cascade-Faster-RCNN+FPN, RetinaNet, YOLOv3, 和SSD. -- Gitee From 9c277537d3dff97e2eb5fe3360f95285ea2fcf2f Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Thu, 15 Apr 2021 19:30:18 +0800 Subject: [PATCH 43/90] Cherry pick update readme (#2630) * update README * update doc, test=document_fix * add citation * update citation and ppyolo doc * update readme en, test=document_fix * update doc --- README.md | 168 +-------------------- README_cn.md | 271 ++++++++++++++++++++++++++++++++++ README_en.md | 275 +++++++++++++++++++++++++++++++++++ configs/ppyolo/README.md | 3 +- configs/ppyolo/README_cn.md | 2 +- docs/images/fps_map.png | Bin 0 -> 385406 bytes docs/tutorials/INSTALL_cn.md | 2 +- 7 files changed, 551 insertions(+), 170 deletions(-) mode change 100644 => 120000 README.md create mode 100644 README_cn.md create mode 100644 README_en.md create mode 100644 docs/images/fps_map.png diff --git a/README.md b/README.md deleted file mode 100644 index 4cd16570b..000000000 --- a/README.md +++ /dev/null @@ -1,167 +0,0 @@ -# PaddleDetection - -**注意:** PaddleDetection动态图版本为试用版本,模型广度、模型性能、文档、易用性和兼容性持续优化中,性能数据待发布。 - - -# 简介 - -PaddleDetection飞桨目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的组建、训练、优化及部署等全开发流程。 - -PaddleDetection模块化地实现了多种主流目标检测算法,提供了丰富的数据增强策略、网络模块组件(如骨干网络)、损失函数等,并集成了模型压缩和跨平台高性能部署能力。 - -经过长时间产业实践打磨,PaddleDetection已拥有顺畅、卓越的使用体验,被工业质检、遥感图像检测、无人巡检、新零售、互联网、科研等十多个行业的开发者广泛应用。 - -### 套件结构概览 - - - - - - - - - - - - - - - - - - - -
- Architectures - - Backbones - - Components - - Data Augmentation -
-
  • Two-Stage Detection
  • -
      -
    • Faster RCNN
    • -
    • FPN
    • -
    • Cascade-RCNN
    • -
    • PSS-Det RCNN
    • -
    -
-
  • One-Stage Detection
  • -
      -
    • YOLOv3
    • -
    • PP-YOLO
    • -
    • SSD
    • -
    -
-
  • Anchor Free
  • -
      -
    • FCOS
    • -
    • TTFNet
    • -
    -
-
    -
  • Instance Segmentation
  • -
      -
    • Mask RCNN
    • -
    • SOLOv2
    • -
    -
-
    -
  • Face-Detction
  • -
      -
    • BlazeFace
    • -
    -
-
-
    -
  • ResNet(&vd)
  • -
  • HRNet
  • -
  • DarkNet
  • -
  • VGG
  • -
  • MobileNetv1/v3
  • -
-
-
  • Common
  • -
      -
    • Sync-BN
    • -
    • DCNv2
    • -
    -
-
  • Loss
  • -
      -
    • Smooth-L1 Loss
    • -
    • IoU Loss
    • -
    • IoU Aware Loss
    • -
    -
-
  • Post-processing
  • -
      -
    • SoftNMS
    • -
    • MatrixNMS
    • -
    -
-
-
    -
  • Resize
  • -
  • Flipping
  • -
  • Expand
  • -
  • Crop
  • -
  • Color Distort
  • -
  • Random Erasing
  • -
  • Mixup
  • -
  • Cutmix
  • -
  • Grid Mask
  • -
  • Auto Augment
  • -
-
- - -### 扩展特性 - -- [√] **Synchronized Batch Norm** -- [√] **Modulated Deformable Convolution** -- [x] **Group Norm** -- [x] **Deformable PSRoI Pooling** - -## 文档教程 - -### 入门教程 - -- [安装说明](docs/tutorials/INSTALL_cn.md) -- [快速开始](docs/tutorials/QUICK_STARTED_cn.md) -- [如何准备数据](docs/tutorials/PrepareDataSet.md) -- [训练/评估/预测流程](docs/tutorials/GETTING_STARTED_cn.md) - -### 进阶教程 - -- [模型压缩](configs/slim) -- [推理部署](deploy/README.md) - - [模型导出教程](deploy/EXPORT_MODEL.md) - - [Python端推理部署](deploy/python) - - [C++端推理部署](deploy/cpp) - - [服务端部署](deploy/serving) - - [推理benchmark](deploy/BENCHMARK_INFER.md) -- [进阶开发] - - [数据处理模块](docs/advanced_tutorials/READER.md) - - [新增检测模型](docs/advanced_tutorials/MODEL_TECHNICAL.md) - - -## 模型库 - -- 通用目标检测: - - [模型库](docs/MODEL_ZOO_cn.md) -- 垂类领域: - - [行人检测](configs/pedestrian/README.md) - - [车辆检测](configs/vehicle/README.md) - - -## 许可证书 - -本项目的发布受[Apache 2.0 license](LICENSE)许可认证。 - - -## 贡献代码 - -我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。 diff --git a/README.md b/README.md new file mode 120000 index 000000000..4015683cf --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +README_cn.md \ No newline at end of file diff --git a/README_cn.md b/README_cn.md new file mode 100644 index 000000000..d09eddbae --- /dev/null +++ b/README_cn.md @@ -0,0 +1,271 @@ +简体中文 | [English](README_en.md) + +# PaddleDetection + +### PaddleDetection 2.0全面升级!目前默认使用动态图版本,静态图版本位于[static](./static)中 + + +# 简介 + +PaddleDetection飞桨目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的组建、训练、优化及部署等全开发流程。 + +PaddleDetection模块化地实现了多种主流目标检测算法,提供了丰富的数据增强策略、网络模块组件(如骨干网络)、损失函数等,并集成了模型压缩和跨平台高性能部署能力。 + +经过长时间产业实践打磨,PaddleDetection已拥有顺畅、卓越的使用体验,被工业质检、遥感图像检测、无人巡检、新零售、互联网、科研等十多个行业的开发者广泛应用。 + +

+ +### 产品动态 +- 2021.04.14: 发布release/2.0版本,PaddleDetection全面支持动态图,覆盖静态图模型算法,全面升级模型效果,同时发布PP-YOLO v2模型,新增旋转框检测S2ANet模型,详情参考[PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0) +- 2021.02.07: 发布release/2.0-rc版本,PaddleDetection动态图试用版本,详情参考[PaddleDetection动态图](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0-rc)。 + +### 特性 + +- **模型丰富**: 包含**目标检测**、**实例分割**、**人脸检测**等**100+个预训练模型**,涵盖多种**全球竞赛冠军**方案 +- **使用简洁**:模块化设计,解耦各个网络组件,开发者轻松搭建、试用各种检测模型及优化策略,快速得到高性能、定制化的算法。 +- **端到端打通**: 从数据增强、组网、训练、压缩、部署端到端打通,并完备支持**云端**/**边缘端**多架构、多设备部署。 +- **高性能**: 基于飞桨的高性能内核,模型训练速度及显存占用优势明显。支持FP16训练, 支持多机训练。 + + +### 套件结构概览 + + + + + + + + + + + + + + + + + + + + +
+ Architectures + + Backbones + + Components + + Data Augmentation +
+
  • Two-Stage Detection
  • +
      +
    • Faster RCNN
    • +
    • FPN
    • +
    • Cascade-RCNN
    • +
    • Libra RCNN
    • +
    • Hybrid Task RCNN
    • +
    • PSS-Det
    • +
    +
+
  • One-Stage Detection
  • +
      +
    • RetinaNet
    • +
    • YOLOv3
    • +
    • YOLOv4
    • +
    • PP-YOLO
    • +
    • SSD
    • +
    +
+
  • Anchor Free
  • +
      +
    • CornerNet-Squeeze
    • +
    • FCOS
    • +
    • TTFNet
    • +
    +
+
    +
  • Instance Segmentation
  • +
      +
    • Mask RCNN
    • +
    • SOLOv2
    • +
    +
+
    +
  • Face-Detction
  • +
      +
    • FaceBoxes
    • +
    • BlazeFace
    • +
    • BlazeFace-NAS
    • +
    +
+
+
    +
  • ResNet(&vd)
  • +
  • ResNeXt(&vd)
  • +
  • SENet
  • +
  • Res2Net
  • +
  • HRNet
  • +
  • Hourglass
  • +
  • CBNet
  • +
  • GCNet
  • +
  • DarkNet
  • +
  • CSPDarkNet
  • +
  • VGG
  • +
  • MobileNetv1/v3
  • +
  • GhostNet
  • +
  • Efficientnet
  • +
+
+
  • Common
  • +
      +
    • Sync-BN
    • +
    • Group Norm
    • +
    • DCNv2
    • +
    • Non-local
    • +
    +
+
  • FPN
  • +
      +
    • BiFPN
    • +
    • BFP
    • +
    • HRFPN
    • +
    • ACFPN
    • +
    +
+
  • Loss
  • +
      +
    • Smooth-L1
    • +
    • GIoU/DIoU/CIoU
    • +
    • IoUAware
    • +
    +
+
  • Post-processing
  • +
      +
    • SoftNMS
    • +
    • MatrixNMS
    • +
    +
+
  • Speed
  • +
      +
    • FP16 training
    • +
    • Multi-machine training
    • +
    +
+
+
    +
  • Resize
  • +
  • Flipping
  • +
  • Expand
  • +
  • Crop
  • +
  • Color Distort
  • +
  • Random Erasing
  • +
  • Mixup
  • +
  • Cutmix
  • +
  • Grid Mask
  • +
  • Auto Augment
  • +
+
+ +#### 模型性能概览 + +各模型结构和骨干网络的代表模型在COCO数据集上精度mAP和单卡Tesla V100上预测速度(FPS)对比图。 + +
+ +
+ +**说明:** + +- `CBResNet`为`Cascade-Faster-RCNN-CBResNet200vd-FPN`模型,COCO数据集mAP高达53.3% +- `Cascade-Faster-RCNN`为`Cascade-Faster-RCNN-ResNet50vd-DCN`,PaddleDetection将其优化到COCO数据mAP为47.8%时推理速度为20FPS +- `PP-YOLO`在COCO数据集精度45.9%,Tesla V100预测速度72.9FPS,精度速度均优于[YOLOv4](https://arxiv.org/abs/2004.10934) +- `PP-YOLO v2`是对`PP-YOLO`模型的进一步优化,在COCO数据集精度49.5%,Tesla V100预测速度60FPS +- 图中模型均可在[模型库](#模型库)中获取 + +## 文档教程 + +### 入门教程 + +- [安装说明](docs/tutorials/INSTALL_cn.md) +- [快速开始](docs/tutorials/QUICK_STARTED_cn.md) +- [如何准备数据](docs/tutorials/PrepareDataSet.md) +- [训练/评估/预测流程](docs/tutorials/GETTING_STARTED_cn.md) + +### 进阶教程 + +- 参数配置 + - [RCNN参数说明](docs/tutorials/config_annotation/faster_rcnn_r50_fpn_1x_coco_annotation.md) + - [PP-YOLO参数说明](docs/tutorials/config_annotation/ppyolo_r50vd_dcn_1x_coco_annotation.md) +- 模型压缩(基于[PaddleSlim](https://github.com/PaddlePaddle/PaddleSlim)) + - [剪裁/量化/蒸馏教程](configs/slim) +- [推理部署](deploy/README.md) + - [模型导出教程](deploy/EXPORT_MODEL.md) + - [Python端推理部署](deploy/python) + - [C++端推理部署](deploy/cpp) + - [服务端部署](deploy/serving) + - [推理benchmark](deploy/BENCHMARK_INFER.md) +- 进阶开发 + - [数据处理模块](docs/advanced_tutorials/READER.md) + - [新增检测模型](docs/advanced_tutorials/MODEL_TECHNICAL.md) + + +## 模型库 + +- 通用目标检测: + - [模型库](docs/MODEL_ZOO_cn.md) + - [移动端模型](static/configs/mobile/README.md) + - [PP-YOLO模型](configs/ppyolo/README_cn.md) + - [676类目标检测](static/docs/featured_model/LARGE_SCALE_DET_MODEL.md) + - [两阶段实用模型PSS-Det](configs/rcnn_enhance/README.md) + - [TTFNet](configs/ttfnet/README.md) +- 通用实例分割 + - [SOLOv2](configs/solov2/README.md) +- 旋转框检测 + - [S2ANet](configs/dota/README.md) +- 垂类领域 + - [行人检测](configs/pedestrian/README.md) + - [车辆检测](configs/vehicle/README.md) + - [人脸检测](configs/face_detection/README.md) +- 比赛冠军方案 + - [Objects365 2019 Challenge夺冠模型](static/docs/featured_model/champion_model/CACascadeRCNN.md) + - [Open Images 2019-Object Detction比赛最佳单模型](static/docs/featured_model/champion_model/OIDV5_BASELINE_MODEL.md) + +## 应用案例 + +- [人像圣诞特效自动生成工具](static/application/christmas) + +## 第三方教程推荐 + +- [PaddleDetection在Windows下的部署(一)](https://zhuanlan.zhihu.com/p/268657833) +- [PaddleDetection在Windows下的部署(二)](https://zhuanlan.zhihu.com/p/280206376) +- [Jetson Nano上部署PaddleDetection经验分享](https://zhuanlan.zhihu.com/p/319371293) +- [安全帽检测YOLOv3模型在树莓派上的部署](https://github.com/PaddleCV-FAQ/PaddleDetection-FAQ/blob/main/Lite%E9%83%A8%E7%BD%B2/yolov3_for_raspi.md) +- [使用SSD-MobileNetv1完成一个项目--准备数据集到完成树莓派部署](https://github.com/PaddleCV-FAQ/PaddleDetection-FAQ/blob/main/Lite%E9%83%A8%E7%BD%B2/ssd_mobilenet_v1_for_raspi.md) + +## 版本更新 + +v2.0版本已经在`04/2021`发布,全面支持动态图版本,新增支持BlazeFace, PSSDet等系列模型和大量骨干网络,发布PP-YOLO v2, PP-YOLO tiny和旋转框检测S2ANet模型。支持模型蒸馏、VisualDL,新增动态图预测部署benchmark,详细内容请参考[版本更新文档](docs/CHANGELOG.md)。 + + +## 许可证书 + +本项目的发布受[Apache 2.0 license](LICENSE)许可认证。 + + +## 贡献代码 + +我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。 + + +## 引用 + +``` +@misc{ppdet2019, +title={PaddleDetection, Object detection and instance segmentation toolkit based on PaddlePaddle.}, +author={PaddlePaddle Authors}, +howpublished = {\url{https://github.com/PaddlePaddle/PaddleDetection}}, +year={2019} +} +``` diff --git a/README_en.md b/README_en.md new file mode 100644 index 000000000..72fd84c37 --- /dev/null +++ b/README_en.md @@ -0,0 +1,275 @@ +English | [简体中文](README_cn.md) + +### PaddleDetection 2.0 is ready! Dygraph mode is set by default and static graph code base is [here](static) + +# Introduction + +PaddleDetection is an end-to-end object detection development kit based on PaddlePaddle, which aims to help developers in the whole development of constructing, training, optimizing and deploying detection models in a faster and better way. + +PaddleDetection implements varied mainstream object detection algorithms in modular design, and provides wealthy data augmentation methods, network components(such as backbones), loss functions, etc., and integrates abilities of model compression and cross-platform high-performance deployment. + +After a long time of industry practice polishing, PaddleDetection has had smooth and excellent user experience, it has been widely used by developers in more than ten industries such as industrial quality inspection, remote sensing image object detection, automatic inspection, new retail, Internet, and scientific research. + +
+ +
+ +### Product news + +- 2021.04.14: Release `release/2.0` version. Dygraph mode in PaddleDetection is fully supported. Cover all the algorithm of static graph and update the performance of mainstream detection models. Release `PP-YOLO v2` and `S2ANet` which is aimed at rotation object detection.Please refer to [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0) for details. +- 2020.02.07: Release `release/2.0-rc` version, Please refer to [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0-rc) for details. + + +### Features + +- **Rich Models** +PaddleDetection provides rich of models, including **100+ pre-trained models** such as **object detection**, **instance segmentation**, **face detection** etc. It covers a variety of **global competition champion** schemes. + +- **Highly Flexible:** +Components are designed to be modular. Model architectures, as well as data preprocess pipelines and optimization strategies, can be easily customized with simple configuration changes. + +- **Production Ready:** +From data augmentation, constructing models, training, compression, depolyment, get through end to end, and complete support for multi-architecture, multi-device deployment for **cloud and edge device**. + +- **High Performance:** +Based on the high performance core of PaddlePaddle, advantages of training speed and memory occupation are obvious. FP16 training and multi-machine training are supported as well. + +#### Overview of Kit Structures + + + + + + + + + + + + + + + + + + + + +
+ Architectures + + Backbones + + Components + + Data Augmentation +
+
  • Two-Stage Detection
  • +
      +
    • Faster RCNN
    • +
    • FPN
    • +
    • Cascade-RCNN
    • +
    • Libra RCNN
    • +
    • Hybrid Task RCNN
    • +
    • PSS-Det RCNN
    • +
    +
+
  • One-Stage Detection
  • +
      +
    • RetinaNet
    • +
    • YOLOv3
    • +
    • YOLOv4
    • +
    • PP-YOLO
    • +
    • SSD
    • +
    +
+
  • Anchor Free
  • +
      +
    • CornerNet-Squeeze
    • +
    • FCOS
    • +
    • TTFNet
    • +
    +
+
    +
  • Instance Segmentation
  • +
      +
    • Mask RCNN
    • +
    • SOLOv2
    • +
    +
+
    +
  • Face-Detction
  • +
      +
    • FaceBoxes
    • +
    • BlazeFace
    • +
    • BlazeFace-NAS
    • +
    +
+
+
    +
  • ResNet(&vd)
  • +
  • ResNeXt(&vd)
  • +
  • SENet
  • +
  • Res2Net
  • +
  • HRNet
  • +
  • Hourglass
  • +
  • CBNet
  • +
  • GCNet
  • +
  • DarkNet
  • +
  • CSPDarkNet
  • +
  • VGG
  • +
  • MobileNetv1/v3
  • +
  • GhostNet
  • +
  • Efficientnet
  • +
+
+
  • Common
  • +
      +
    • Sync-BN
    • +
    • Group Norm
    • +
    • DCNv2
    • +
    • Non-local
    • +
    +
+
  • FPN
  • +
      +
    • BiFPN
    • +
    • BFP
    • +
    • HRFPN
    • +
    • ACFPN
    • +
    +
+
  • Loss
  • +
      +
    • Smooth-L1
    • +
    • GIoU/DIoU/CIoU
    • +
    • IoUAware
    • +
    +
+
  • Post-processing
  • +
      +
    • SoftNMS
    • +
    • MatrixNMS
    • +
    +
+
  • Speed
  • +
      +
    • FP16 training
    • +
    • Multi-machine training
    • +
    +
+
+
    +
  • Resize
  • +
  • Flipping
  • +
  • Expand
  • +
  • Crop
  • +
  • Color Distort
  • +
  • Random Erasing
  • +
  • Mixup
  • +
  • Cutmix
  • +
  • Grid Mask
  • +
  • Auto Augment
  • +
+
+ +#### Overview of Model Performance +The relationship between COCO mAP and FPS on Tesla V100 of representative models of each architectures and backbones. + +
+ +
+ +**NOTE:** + +- `CBResNet stands` for `Cascade-Faster-RCNN-CBResNet200vd-FPN`, which has highest mAP on COCO as 53.3% + +- `Cascade-Faster-RCNN` stands for `Cascade-Faster-RCNN-ResNet50vd-DCN`, which has been optimized to 20 FPS inference speed when COCO mAP as 47.8% in PaddleDetection models + +- `PP-YOLO` achieves mAP of 45.9% on COCO and 72.9FPS on Tesla V100. Both precision and speed surpass [YOLOv4](https://arxiv.org/abs/2004.10934) + +- `PP-YOLO v2` is optimized version of `PP-YOLO` which has mAP of 49.5% and 60FPS on Tesla V100 + +- All these models can be get in [Model Zoo](#ModelZoo) + + +## Tutorials + +### Get Started + +- [Installation guide](docs/tutorials/INSTALL_en.md) +- [Quick start on small dataset](docs/tutorials/QUICK_STARTED_en.md) +- [Prepare dataset](docs/tutorials/PrepareDataSet.md) +- [Train/Evaluation/Inference/Deploy](docs/tutorials/GETTING_STARTED_en.md) + + +### Advanced Tutorials + +- Parameter configuration + - [Parameter configuration for RCNN model](docs/tutorials/config_annotation/faster_rcnn_r50_fpn_1x_coco_annotation.md) + - [Parameter configuration for PP-YOLO model](docs/tutorials/config_annotation/ppyolo_r50vd_dcn_1x_coco_annotation.md) + +- Model Compression(Based on [PaddleSlim](https://github.com/PaddlePaddle/PaddleSlim)) + - [Prune/Quant/Distill](configs/slim) + +- Inference and deployment + - [Export model for inference](deploy/EXPORT_MODEL.md) + - [Python inference](deploy/python) + - [C++ inference](deploy/cpp) + - [Serving](deploy/serving) + - [Inference benchmark](deploy/BENCHMARK_INFER.md) + +- Advanced development + - [New data augmentations](docs/advanced_tutorials/READER.md) + - [New detection algorithms](docs/advanced_tutorials/MODEL_TECHNICAL.md) + + +## Model Zoo + +- Universal object detection + - [Model library and baselines](docs/MODEL_ZOO_cn.md) + - [Mobile models](static/configs/mobile/README.md) + - [PP-YOLO](configs/ppyolo/README.md) + - [676 classes of object detection](static/docs/featured_model/LARGE_SCALE_DET_MODEL.md) + - [Two-stage practical PSS-Det](configs/rcnn_enhance/README.md) + - [TTFNet](configs/ttfnet/README.md) +- Universal instance segmentation + - [SOLOv2](configs/solov2/README.md) +- Rotation object detection + - [S2ANet](configs/dota/README.md) +- Vertical field + - [Face detection](configs/face_detection/README.md) + - [Pedestrian detection](configs/pedestrian/README.md) + - [Vehicle detection](configs/vehicle/README.md) +- Competition Plan + - [Objects365 2019 Challenge champion model](static/docs/featured_model/champion_model/CACascadeRCNN.md) + - [Best single model of Open Images 2019-Object Detction](static/docs/featured_model/champion_model/OIDV5_BASELINE_MODEL.md) + +## Applications + +- [Christmas portrait automatic generation tool](static/application/christmas) + +## Updates + +v2.0 was released at `04/2021`, fully support dygraph version, which add BlazeFace, PSS-Det and plenty backbones, release `PP-YOLOv2`, `PP-YOLO tiny` and `S2ANet`, support model distillation and VisualDL, add inference benchmark, etc. Please refer to [change log](docs/CHANGELOG.md) for details. + + +## License + +PaddleDetection is released under the [Apache 2.0 license](LICENSE). + + +## Contributing + +Contributions are highly welcomed and we would really appreciate your feedback!! + +## Citation + +``` +@misc{ppdet2019, +title={PaddleDetection, Object detection and instance segmentation toolkit based on PaddlePaddle.}, +author={PaddlePaddle Authors}, +howpublished = {\url{https://github.com/PaddlePaddle/PaddleDetection}}, +year={2019} +} +``` diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index ba73b470a..bf9caca5c 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -187,7 +187,8 @@ Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3. - Performance and inference spedd are measure with input shape as 608 - All models are trained on COCO train2017 datast and evaluated on val2017 & test-dev2017 dataset,`Box AP` is evaluation results as `mAP(IoU=0.5:0.95)`. - Inference speed is tested on single Tesla V100 with batch size as 1 following test method and environment configuration in benchmark above. -- [YOLOv3-DarkNet53](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml) with mAP as 39.0 is optimized YOLOv3 model in PaddleDetection,see [Model Zoo](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/MODEL_ZOO.md) for details. +- [YOLOv3-DarkNet53](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) with mAP as 39.0 is optimized YOLOv3 model in PaddleDetection,see [Model Zoo](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/docs/MODEL_ZOO_cn.md) for details. + ## Citation diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index 9de54d118..ae89fd7e3 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -171,7 +171,7 @@ PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。 - 精度与推理速度数据均为使用输入图像尺寸为608的测试结果 - Box AP为在COCO train2017数据集训练,val2017和test-dev2017数据集上评估`mAP(IoU=0.5:0.95)`数据 - 推理速度为单卡V100上,batch size=1, 使用上述benchmark测试方法的测试结果,测试环境配置为CUDA 10.2,CUDNN 7.5.1 -- [YOLOv3-DarkNet53](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml)精度38.9为PaddleDetection优化后的YOLOv3模型,可参见[模型库](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/MODEL_ZOO.md) +- [YOLOv3-DarkNet53](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml)精度38.9为PaddleDetection优化后的YOLOv3模型,可参见[模型库](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/docs/MODEL_ZOO_cn.md) ## 引用 diff --git a/docs/images/fps_map.png b/docs/images/fps_map.png new file mode 100644 index 0000000000000000000000000000000000000000..825ce201c5b728a62a0672e85f5e90e3977cec79 GIT binary patch literal 385406 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�THDIthIh6iPSL&wPH=Ev6liXcz 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 z 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 Y@BE=#&q6LS$XDDF5yh^5f8U9J0JuMfHvj+t literal 0 HcmV?d00001 diff --git a/docs/tutorials/INSTALL_cn.md b/docs/tutorials/INSTALL_cn.md index e9435a369..2b0905ceb 100644 --- a/docs/tutorials/INSTALL_cn.md +++ b/docs/tutorials/INSTALL_cn.md @@ -114,7 +114,7 @@ OK (skipped=2) ## 快速体验 -**恭喜!**您已经成功安装了PaddleDetection,接下来快速体验目标检测效果 +**恭喜!** 您已经成功安装了PaddleDetection,接下来快速体验目标检测效果 ``` # 在GPU上预测一张图片 -- Gitee From d509f7bdad714d3b74bd727010eb4badbf5001d0 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Thu, 15 Apr 2021 20:11:28 +0800 Subject: [PATCH 44/90] Cherry pick add ttfnet enhance (#2611) * add ttfnet enhance * add doc * fix pafnet training --- configs/ttfnet/README.md | 39 +++- configs/ttfnet/_base_/optimizer_10x.yml | 19 ++ configs/ttfnet/_base_/optimizer_20x.yml | 20 ++ configs/ttfnet/_base_/pafnet.yml | 41 ++++ configs/ttfnet/_base_/pafnet_lite.yml | 44 ++++ configs/ttfnet/_base_/pafnet_lite_reader.yml | 40 ++++ configs/ttfnet/_base_/pafnet_reader.yml | 40 ++++ configs/ttfnet/_base_/ttfnet_darknet53.yml | 5 +- configs/ttfnet/pafnet_10x_coco.yml | 8 + .../pafnet_lite_mobilenet_v3_20x_coco.yml | 8 + ppdet/data/source/dataset.py | 3 + ppdet/data/transform/batch_operators.py | 5 + ppdet/data/transform/gridmask_utils.py | 4 +- ppdet/data/transform/operators.py | 43 ++-- ppdet/modeling/backbones/mobilenet_v3.py | 12 +- ppdet/modeling/heads/ttf_head.py | 177 ++++++++++++---- ppdet/modeling/layers.py | 72 ++++++- ppdet/modeling/necks/ttf_fpn.py | 169 ++++++++++++--- .../configs/anchor_free/pafnet_10x_coco.yml | 170 +++++++++++++++ .../pafnet_lite_mobilenet_v3_20x_coco.yml | 171 ++++++++++++++++ .../ppdet/modeling/anchor_heads/ttf_head.py | 193 +++++++++++++++++- 21 files changed, 1179 insertions(+), 104 deletions(-) create mode 100644 configs/ttfnet/_base_/optimizer_10x.yml create mode 100644 configs/ttfnet/_base_/optimizer_20x.yml create mode 100644 configs/ttfnet/_base_/pafnet.yml create mode 100644 configs/ttfnet/_base_/pafnet_lite.yml create mode 100644 configs/ttfnet/_base_/pafnet_lite_reader.yml create mode 100644 configs/ttfnet/_base_/pafnet_reader.yml create mode 100644 configs/ttfnet/pafnet_10x_coco.yml create mode 100644 configs/ttfnet/pafnet_lite_mobilenet_v3_20x_coco.yml create mode 100644 static/configs/anchor_free/pafnet_10x_coco.yml create mode 100644 static/configs/anchor_free/pafnet_lite_mobilenet_v3_20x_coco.yml diff --git a/configs/ttfnet/README.md b/configs/ttfnet/README.md index 392df1375..d3266637f 100644 --- a/configs/ttfnet/README.md +++ b/configs/ttfnet/README.md @@ -1,4 +1,4 @@ -# TTFNet +# 1. TTFNet ## 简介 @@ -15,6 +15,43 @@ TTFNet是一种用于实时目标检测且对训练时间友好的网络,对Ce | :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | | DarkNet53 | TTFNet | 12 | 1x | ---- | 33.5 | [下载链接](https://paddledet.bj.bcebos.com/models/ttfnet_darknet53_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ttfnet/ttfnet_darknet53_1x_coco.yml) | + + + + +# 2. PAFNet + +## 简介 + +PAFNet(Paddle Anchor Free)是PaddleDetection基于TTFNet的优化模型,精度达到anchor free领域SOTA水平,同时产出移动端轻量级模型PAFNet-Lite + +PAFNet系列模型从如下方面优化TTFNet模型: + +- [CutMix](https://arxiv.org/abs/1905.04899) +- 更优的骨干网络: ResNet50vd-DCN +- 更大的训练batch size: 8 GPUs,每GPU batch_size=18 +- Synchronized Batch Normalization +- [Deformable Convolution](https://arxiv.org/abs/1703.06211) +- [Exponential Moving Average](https://www.investopedia.com/terms/e/ema.asp) +- 更优的预训练模型 + + +## 模型库 + +| 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | +| :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | +| ResNet50vd | PAFNet | 18 | 10x | ---- | 42.2 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_10x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ttfnet/pafnet_10x_coco.yml) | + + + +### PAFNet-Lite + +| 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 | Box AP | 麒麟990延时(ms) | 体积(M) | 下载 | 配置文件 | +| :-------------- | :------------- | :-----: | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | +| MobileNetv3 | PAFNet-Lite | 12 | 20x | 23.9 | 26.00 | 14 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_lite_mobilenet_v3_20x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ttfnet/pafnet_lite_mobilenet_v3_20x_coco.yml) | + + + ## Citations ``` @article{liu2019training, diff --git a/configs/ttfnet/_base_/optimizer_10x.yml b/configs/ttfnet/_base_/optimizer_10x.yml new file mode 100644 index 000000000..dd2c29d96 --- /dev/null +++ b/configs/ttfnet/_base_/optimizer_10x.yml @@ -0,0 +1,19 @@ +epoch: 120 + +LearningRate: + base_lr: 0.015 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [80, 110] + - !LinearWarmup + start_factor: 0.2 + steps: 500 + +OptimizerBuilder: + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0004 + type: L2 diff --git a/configs/ttfnet/_base_/optimizer_20x.yml b/configs/ttfnet/_base_/optimizer_20x.yml new file mode 100644 index 000000000..4dd349220 --- /dev/null +++ b/configs/ttfnet/_base_/optimizer_20x.yml @@ -0,0 +1,20 @@ +epoch: 240 + +LearningRate: + base_lr: 0.015 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: [160, 220] + - !LinearWarmup + start_factor: 0.2 + steps: 1000 + +OptimizerBuilder: + clip_grad_by_norm: 35 + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0004 + type: L2 diff --git a/configs/ttfnet/_base_/pafnet.yml b/configs/ttfnet/_base_/pafnet.yml new file mode 100644 index 000000000..5319fe6c8 --- /dev/null +++ b/configs/ttfnet/_base_/pafnet.yml @@ -0,0 +1,41 @@ +architecture: TTFNet +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_vd_ssld_pretrained.pdparams +norm_type: sync_bn +use_ema: true +ema_decay: 0.9998 + +TTFNet: + backbone: ResNet + neck: TTFFPN + ttf_head: TTFHead + post_process: BBoxPostProcess + +ResNet: + depth: 50 + variant: d + return_idx: [0, 1, 2, 3] + freeze_at: -1 + norm_decay: 0. + variant: d + dcn_v2_stages: [1, 2, 3] + +TTFFPN: + planes: [256, 128, 64] + shortcut_num: [3, 2, 1] + +TTFHead: + dcn_head: true + hm_loss: + name: CTFocalLoss + loss_weight: 1. + wh_loss: + name: GIoULoss + loss_weight: 5. + reduction: sum + +BBoxPostProcess: + decode: + name: TTFBox + max_per_img: 100 + score_thresh: 0.01 + down_ratio: 4 diff --git a/configs/ttfnet/_base_/pafnet_lite.yml b/configs/ttfnet/_base_/pafnet_lite.yml new file mode 100644 index 000000000..5ed2fa235 --- /dev/null +++ b/configs/ttfnet/_base_/pafnet_lite.yml @@ -0,0 +1,44 @@ +architecture: TTFNet +pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV3_large_x1_0_ssld_pretrained.pdparams +norm_type: sync_bn + +TTFNet: + backbone: MobileNetV3 + neck: TTFFPN + ttf_head: TTFHead + post_process: BBoxPostProcess + +MobileNetV3: + scale: 1.0 + model_name: large + feature_maps: [5, 8, 14, 17] + with_extra_blocks: true + lr_mult_list: [0.25, 0.25, 0.5, 0.5, 0.75] + conv_decay: 0.00001 + norm_decay: 0.0 + extra_block_filters: [] + +TTFFPN: + planes: [96, 48, 24] + shortcut_num: [2, 2, 1] + lite_neck: true + fusion_method: concat + +TTFHead: + hm_head_planes: 48 + wh_head_planes: 24 + lite_head: true + hm_loss: + name: CTFocalLoss + loss_weight: 1. + wh_loss: + name: GIoULoss + loss_weight: 5. + reduction: sum + +BBoxPostProcess: + decode: + name: TTFBox + max_per_img: 100 + score_thresh: 0.01 + down_ratio: 4 diff --git a/configs/ttfnet/_base_/pafnet_lite_reader.yml b/configs/ttfnet/_base_/pafnet_lite_reader.yml new file mode 100644 index 000000000..446a13a3c --- /dev/null +++ b/configs/ttfnet/_base_/pafnet_lite_reader.yml @@ -0,0 +1,40 @@ +worker_num: 2 +TrainReader: + sample_transforms: + - Decode: {} + - Cutmix: {alpha: 1.5, beta: 1.5} + - RandomDistort: {} + - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} + - RandomCrop: {aspect_ratio: NULL, cover_all_box: True} + - RandomFlip: {} + - GridMask: {upper_iter: 300000} + batch_transforms: + - BatchRandomResize: {target_size: [320, 352, 384, 416, 448, 480, 512], random_interp: True, keep_ratio: False} + - NormalizeImage: {mean: [123.675, 116.28, 103.53], std: [58.395, 57.12, 57.375], is_scale: false} + - Permute: {} + - Gt2TTFTarget: {down_ratio: 4} + - PadBatch: {pad_to_stride: 32} + batch_size: 12 + shuffle: true + drop_last: true + use_shared_memory: true + +EvalReader: + sample_transforms: + - Decode: {} + - Resize: {interp: 1, target_size: [320, 320], keep_ratio: False} + - NormalizeImage: {is_scale: false, mean: [123.675, 116.28, 103.53], std: [58.395, 57.12, 57.375]} + - Permute: {} + batch_size: 1 + drop_last: false + drop_empty: false + +TestReader: + sample_transforms: + - Decode: {} + - Resize: {interp: 1, target_size: [320, 320], keep_ratio: False} + - NormalizeImage: {is_scale: false, mean: [123.675, 116.28, 103.53], std: [58.395, 57.12, 57.375]} + - Permute: {} + batch_size: 1 + drop_last: false + drop_empty: false diff --git a/configs/ttfnet/_base_/pafnet_reader.yml b/configs/ttfnet/_base_/pafnet_reader.yml new file mode 100644 index 000000000..ea90a134f --- /dev/null +++ b/configs/ttfnet/_base_/pafnet_reader.yml @@ -0,0 +1,40 @@ +worker_num: 2 +TrainReader: + sample_transforms: + - Decode: {} + - Cutmix: {alpha: 1.5, beta: 1.5} + - RandomDistort: {random_apply: false, random_channel: true} + - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} + - RandomCrop: {aspect_ratio: NULL, cover_all_box: True} + - RandomFlip: {prob: 0.5} + batch_transforms: + - BatchRandomResize: {target_size: [416, 448, 480, 512, 544, 576, 608, 640, 672], keep_ratio: false} + - NormalizeImage: {mean: [123.675, 116.28, 103.53], std: [58.395, 57.12, 57.375], is_scale: false} + - Permute: {} + - Gt2TTFTarget: {down_ratio: 4} + - PadBatch: {pad_to_stride: 32} + batch_size: 18 + shuffle: true + drop_last: true + use_shared_memory: true + mixup_epoch: 100 + +EvalReader: + sample_transforms: + - Decode: {} + - Resize: {interp: 1, target_size: [512, 512], keep_ratio: False} + - NormalizeImage: {is_scale: false, mean: [123.675, 116.28, 103.53], std: [58.395, 57.12, 57.375]} + - Permute: {} + batch_size: 1 + drop_last: false + drop_empty: false + +TestReader: + sample_transforms: + - Decode: {} + - Resize: {interp: 1, target_size: [512, 512], keep_ratio: False} + - NormalizeImage: {is_scale: false, mean: [123.675, 116.28, 103.53], std: [58.395, 57.12, 57.375]} + - Permute: {} + batch_size: 1 + drop_last: false + drop_empty: false diff --git a/configs/ttfnet/_base_/ttfnet_darknet53.yml b/configs/ttfnet/_base_/ttfnet_darknet53.yml index 90b0c3361..05c7dce65 100644 --- a/configs/ttfnet/_base_/ttfnet_darknet53.yml +++ b/configs/ttfnet/_base_/ttfnet_darknet53.yml @@ -14,8 +14,9 @@ DarkNet: norm_type: bn norm_decay: 0.0004 -# use default config -# TTFFPN: +TTFFPN: + planes: [256, 128, 64] + shortcut_num: [3, 2, 1] TTFHead: hm_loss: diff --git a/configs/ttfnet/pafnet_10x_coco.yml b/configs/ttfnet/pafnet_10x_coco.yml new file mode 100644 index 000000000..b14a2bc91 --- /dev/null +++ b/configs/ttfnet/pafnet_10x_coco.yml @@ -0,0 +1,8 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '_base_/optimizer_10x.yml', + '_base_/pafnet.yml', + '_base_/pafnet_reader.yml', +] +weights: output/pafnet_10x_coco/model_final diff --git a/configs/ttfnet/pafnet_lite_mobilenet_v3_20x_coco.yml b/configs/ttfnet/pafnet_lite_mobilenet_v3_20x_coco.yml new file mode 100644 index 000000000..577af1635 --- /dev/null +++ b/configs/ttfnet/pafnet_lite_mobilenet_v3_20x_coco.yml @@ -0,0 +1,8 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '_base_/optimizer_20x.yml', + '_base_/pafnet_lite.yml', + '_base_/pafnet_lite_reader.yml', +] +weights: output/pafnet_lite_mobilenet_v3_10x_coco/model_final diff --git a/ppdet/data/source/dataset.py b/ppdet/data/source/dataset.py index 07330a6b2..6ca027301 100644 --- a/ppdet/data/source/dataset.py +++ b/ppdet/data/source/dataset.py @@ -55,6 +55,7 @@ class DetDataset(Dataset): self.sample_num = sample_num self.use_default_label = use_default_label self._epoch = 0 + self._curr_iter = 0 def __len__(self, ): return len(self.roidbs) @@ -76,6 +77,8 @@ class DetDataset(Dataset): copy.deepcopy(self.roidbs[np.random.randint(n)]) for _ in range(3) ] + roidb['curr_iter'] = self._curr_iter + self._curr_iter += 1 return self.transform(roidb) diff --git a/ppdet/data/transform/batch_operators.py b/ppdet/data/transform/batch_operators.py index 0cca6eddf..e11c48980 100644 --- a/ppdet/data/transform/batch_operators.py +++ b/ppdet/data/transform/batch_operators.py @@ -581,6 +581,11 @@ class Gt2TTFTarget(BaseOperator): sample['ttf_heatmap'] = heatmap sample['ttf_box_target'] = box_target sample['ttf_reg_weight'] = reg_weight + sample.pop('is_crowd') + sample.pop('gt_class') + sample.pop('gt_bbox') + if 'gt_score' in sample: + sample.pop('gt_score') return samples def draw_truncate_gaussian(self, heatmap, center, h_radius, w_radius): diff --git a/ppdet/data/transform/gridmask_utils.py b/ppdet/data/transform/gridmask_utils.py index 115cb1e9d..2b3e72408 100644 --- a/ppdet/data/transform/gridmask_utils.py +++ b/ppdet/data/transform/gridmask_utils.py @@ -20,7 +20,7 @@ import numpy as np from PIL import Image -class GridMask(object): +class Gridmask(object): def __init__(self, use_h=True, use_w=True, @@ -30,7 +30,7 @@ class GridMask(object): mode=1, prob=0.7, upper_iter=360000): - super(GridMask, self).__init__() + super(Gridmask, self).__init__() self.use_h = use_h self.use_w = use_w self.rotate = rotate diff --git a/ppdet/data/transform/operators.py b/ppdet/data/transform/operators.py index eb21ee5a1..65608f367 100644 --- a/ppdet/data/transform/operators.py +++ b/ppdet/data/transform/operators.py @@ -308,8 +308,8 @@ class GridMask(BaseOperator): self.prob = prob self.upper_iter = upper_iter - from .gridmask_utils import GridMask - self.gridmask_op = GridMask( + from .gridmask_utils import Gridmask + self.gridmask_op = Gridmask( use_h, use_w, rotate=rotate, @@ -1516,14 +1516,14 @@ class Cutmix(BaseOperator): bbx2 = np.clip(cx + cut_w // 2, 0, w - 1) bby2 = np.clip(cy + cut_h // 2, 0, h - 1) - img_1 = np.zeros((h, w, img1.shape[2]), 'float32') - img_1[:img1.shape[0], :img1.shape[1], :] = \ + img_1_pad = np.zeros((h, w, img1.shape[2]), 'float32') + img_1_pad[:img1.shape[0], :img1.shape[1], :] = \ img1.astype('float32') - img_2 = np.zeros((h, w, img2.shape[2]), 'float32') - img_2[:img2.shape[0], :img2.shape[1], :] = \ + img_2_pad = np.zeros((h, w, img2.shape[2]), 'float32') + img_2_pad[:img2.shape[0], :img2.shape[1], :] = \ img2.astype('float32') - img_1[bby1:bby2, bbx1:bbx2, :] = img2[bby1:bby2, bbx1:bbx2, :] - return img_1 + img_1_pad[bby1:bby2, bbx1:bbx2, :] = img_2_pad[bby1:bby2, bbx1:bbx2, :] + return img_1_pad def __call__(self, sample, context=None): if not isinstance(sample, Sequence): @@ -1546,16 +1546,27 @@ class Cutmix(BaseOperator): gt_class1 = sample[0]['gt_class'] gt_class2 = sample[1]['gt_class'] gt_class = np.concatenate((gt_class1, gt_class2), axis=0) - gt_score1 = sample[0]['gt_score'] - gt_score2 = sample[1]['gt_score'] + gt_score1 = np.ones_like(sample[0]['gt_class']) + gt_score2 = np.ones_like(sample[1]['gt_class']) gt_score = np.concatenate( (gt_score1 * factor, gt_score2 * (1. - factor)), axis=0) - sample = sample[0] - sample['image'] = img - sample['gt_bbox'] = gt_bbox - sample['gt_score'] = gt_score - sample['gt_class'] = gt_class - return sample + result = copy.deepcopy(sample[0]) + result['image'] = img + result['gt_bbox'] = gt_bbox + result['gt_score'] = gt_score + result['gt_class'] = gt_class + if 'is_crowd' in sample[0]: + is_crowd1 = sample[0]['is_crowd'] + is_crowd2 = sample[1]['is_crowd'] + is_crowd = np.concatenate((is_crowd1, is_crowd2), axis=0) + result['is_crowd'] = is_crowd + if 'difficult' in sample[0]: + is_difficult1 = sample[0]['difficult'] + is_difficult2 = sample[1]['difficult'] + is_difficult = np.concatenate( + (is_difficult1, is_difficult2), axis=0) + result['difficult'] = is_difficult + return result @register_op diff --git a/ppdet/modeling/backbones/mobilenet_v3.py b/ppdet/modeling/backbones/mobilenet_v3.py index 1cebf5ef1..d7178c913 100644 --- a/ppdet/modeling/backbones/mobilenet_v3.py +++ b/ppdet/modeling/backbones/mobilenet_v3.py @@ -330,16 +330,16 @@ class MobileNetV3(nn.Layer): [3, 16, 16, False, "relu", 1], [3, 64, 24, False, "relu", 2], [3, 72, 24, False, "relu", 1], - [5, 72, 40, True, "relu", 2], + [5, 72, 40, True, "relu", 2], # RCNN output [5, 120, 40, True, "relu", 1], [5, 120, 40, True, "relu", 1], # YOLOv3 output - [3, 240, 80, False, "hard_swish", 2], + [3, 240, 80, False, "hard_swish", 2], # RCNN output [3, 200, 80, False, "hard_swish", 1], [3, 184, 80, False, "hard_swish", 1], [3, 184, 80, False, "hard_swish", 1], [3, 480, 112, True, "hard_swish", 1], [3, 672, 112, True, "hard_swish", 1], # YOLOv3 output - [5, 672, 160, True, "hard_swish", 2], # SSD/SSDLite output + [5, 672, 160, True, "hard_swish", 2], # SSD/SSDLite/RCNN output [5, 960, 160, True, "hard_swish", 1], [5, 960, 160, True, "hard_swish", 1], # YOLOv3 output ] @@ -347,14 +347,14 @@ class MobileNetV3(nn.Layer): self.cfg = [ # k, exp, c, se, nl, s, [3, 16, 16, True, "relu", 2], - [3, 72, 24, False, "relu", 2], + [3, 72, 24, False, "relu", 2], # RCNN output [3, 88, 24, False, "relu", 1], # YOLOv3 output - [5, 96, 40, True, "hard_swish", 2], + [5, 96, 40, True, "hard_swish", 2], # RCNN output [5, 240, 40, True, "hard_swish", 1], [5, 240, 40, True, "hard_swish", 1], [5, 120, 48, True, "hard_swish", 1], [5, 144, 48, True, "hard_swish", 1], # YOLOv3 output - [5, 288, 96, True, "hard_swish", 2], # SSD/SSDLite output + [5, 288, 96, True, "hard_swish", 2], # SSD/SSDLite/RCNN output [5, 576, 96, True, "hard_swish", 1], [5, 576, 96, True, "hard_swish", 1], # YOLOv3 output ] diff --git a/ppdet/modeling/heads/ttf_head.py b/ppdet/modeling/heads/ttf_head.py index 632fd0630..fbf10eb24 100644 --- a/ppdet/modeling/heads/ttf_head.py +++ b/ppdet/modeling/heads/ttf_head.py @@ -19,30 +19,73 @@ from paddle import ParamAttr from paddle.nn.initializer import Constant, Uniform, Normal from paddle.regularizer import L2Decay from ppdet.core.workspace import register +from ppdet.modeling.layers import DeformableConvV2, LiteConv import numpy as np @register class HMHead(nn.Layer): + """ + Args: + ch_in (int): The channel number of input Tensor. + ch_out (int): The channel number of output Tensor. + num_classes (int): Number of classes. + conv_num (int): The convolution number of hm_feat. + dcn_head(bool): whether use dcn in head. False by default. + lite_head(bool): whether use lite version. False by default. + norm_type (string): norm type, 'sync_bn', 'bn', 'gn' are optional. + bn by default - __shared__ = ['num_classes'] + Return: + Heatmap head output + """ + __shared__ = ['num_classes', 'norm_type'] - def __init__(self, ch_in, ch_out=128, num_classes=80, conv_num=2): + def __init__( + self, + ch_in, + ch_out=128, + num_classes=80, + conv_num=2, + dcn_head=False, + lite_head=False, + norm_type='bn', ): super(HMHead, self).__init__() head_conv = nn.Sequential() for i in range(conv_num): name = 'conv.{}'.format(i) - head_conv.add_sublayer( - name, - nn.Conv2D( - in_channels=ch_in if i == 0 else ch_out, - out_channels=ch_out, - kernel_size=3, - padding=1, - weight_attr=ParamAttr(initializer=Normal(0, 0.01)), - bias_attr=ParamAttr( - learning_rate=2., regularizer=L2Decay(0.)))) - head_conv.add_sublayer(name + '.act', nn.ReLU()) + if lite_head: + lite_name = 'hm.' + name + head_conv.add_sublayer( + lite_name, + LiteConv( + in_channels=ch_in if i == 0 else ch_out, + out_channels=ch_out, + norm_type=norm_type, + name=lite_name)) + head_conv.add_sublayer(lite_name + '.act', nn.ReLU6()) + else: + if dcn_head: + head_conv.add_sublayer( + name, + DeformableConvV2( + in_channels=ch_in if i == 0 else ch_out, + out_channels=ch_out, + kernel_size=3, + weight_attr=ParamAttr(initializer=Normal(0, 0.01)), + name='hm.' + name)) + else: + head_conv.add_sublayer( + name, + nn.Conv2D( + in_channels=ch_in if i == 0 else ch_out, + out_channels=ch_out, + kernel_size=3, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0, 0.01)), + bias_attr=ParamAttr( + learning_rate=2., regularizer=L2Decay(0.)))) + head_conv.add_sublayer(name + '.act', nn.ReLU()) self.feat = self.add_sublayer('hm_feat', head_conv) bias_init = float(-np.log((1 - 0.01) / 0.01)) self.head = self.add_sublayer( @@ -65,22 +108,64 @@ class HMHead(nn.Layer): @register class WHHead(nn.Layer): - def __init__(self, ch_in, ch_out=64, conv_num=2): + """ + Args: + ch_in (int): The channel number of input Tensor. + ch_out (int): The channel number of output Tensor. + conv_num (int): The convolution number of wh_feat. + dcn_head(bool): whether use dcn in head. False by default. + lite_head(bool): whether use lite version. False by default. + norm_type (string): norm type, 'sync_bn', 'bn', 'gn' are optional. + bn by default + Return: + Width & Height head output + """ + __shared__ = ['norm_type'] + + def __init__(self, + ch_in, + ch_out=64, + conv_num=2, + dcn_head=False, + lite_head=False, + norm_type='bn'): super(WHHead, self).__init__() head_conv = nn.Sequential() for i in range(conv_num): name = 'conv.{}'.format(i) - head_conv.add_sublayer( - name, - nn.Conv2D( - in_channels=ch_in if i == 0 else ch_out, - out_channels=ch_out, - kernel_size=3, - padding=1, - weight_attr=ParamAttr(initializer=Normal(0, 0.001)), - bias_attr=ParamAttr( - learning_rate=2., regularizer=L2Decay(0.)))) - head_conv.add_sublayer(name + '.act', nn.ReLU()) + if lite_head: + lite_name = 'wh.' + name + head_conv.add_sublayer( + lite_name, + LiteConv( + in_channels=ch_in if i == 0 else ch_out, + out_channels=ch_out, + norm_type=norm_type, + name=lite_name)) + head_conv.add_sublayer(lite_name + '.act', nn.ReLU6()) + else: + if dcn_head: + head_conv.add_sublayer( + name, + DeformableConvV2( + in_channels=ch_in if i == 0 else ch_out, + out_channels=ch_out, + kernel_size=3, + weight_attr=ParamAttr(initializer=Normal(0, 0.01)), + name='wh.' + name)) + else: + head_conv.add_sublayer( + name, + nn.Conv2D( + in_channels=ch_in if i == 0 else ch_out, + out_channels=ch_out, + kernel_size=3, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0, 0.01)), + bias_attr=ParamAttr( + learning_rate=2., regularizer=L2Decay(0.)))) + head_conv.add_sublayer(name + '.act', nn.ReLU()) + self.feat = self.add_sublayer('wh_feat', head_conv) self.head = self.add_sublayer( 'wh_head', @@ -104,20 +189,28 @@ class TTFHead(nn.Layer): """ TTFHead Args: - in_channels(int): the channel number of input to TTFHead. - num_classes(int): the number of classes, 80 by default. - hm_head_planes(int): the channel number in wh head, 128 by default. - wh_head_planes(int): the channel number in wh head, 64 by default. - hm_head_conv_num(int): the number of convolution in wh head, 2 by default. - wh_head_conv_num(int): the number of convolution in wh head, 2 by default. - hm_loss(object): Instance of 'CTFocalLoss'. - wh_loss(object): Instance of 'GIoULoss'. - wh_offset_base(flaot): the base offset of width and height, 16. by default. - down_ratio(int): the actual down_ratio is calculated by base_down_ratio(default 16) - and the number of upsample layers. + in_channels (int): the channel number of input to TTFHead. + num_classes (int): the number of classes, 80 by default. + hm_head_planes (int): the channel number in heatmap head, + 128 by default. + wh_head_planes (int): the channel number in width & height head, + 64 by default. + hm_head_conv_num (int): the number of convolution in heatmap head, + 2 by default. + wh_head_conv_num (int): the number of convolution in width & height + head, 2 by default. + hm_loss (object): Instance of 'CTFocalLoss'. + wh_loss (object): Instance of 'GIoULoss'. + wh_offset_base (float): the base offset of width and height, + 16.0 by default. + down_ratio (int): the actual down_ratio is calculated by base_down_ratio + (default 16) and the number of upsample layers. + lite_head(bool): whether use lite version. False by default. + norm_type (string): norm type, 'sync_bn', 'bn', 'gn' are optional. + bn by default """ - __shared__ = ['num_classes', 'down_ratio'] + __shared__ = ['num_classes', 'down_ratio', 'norm_type'] __inject__ = ['hm_loss', 'wh_loss'] def __init__(self, @@ -130,12 +223,16 @@ class TTFHead(nn.Layer): hm_loss='CTFocalLoss', wh_loss='GIoULoss', wh_offset_base=16., - down_ratio=4): + down_ratio=4, + dcn_head=False, + lite_head=False, + norm_type='bn'): super(TTFHead, self).__init__() self.in_channels = in_channels self.hm_head = HMHead(in_channels, hm_head_planes, num_classes, - hm_head_conv_num) - self.wh_head = WHHead(in_channels, wh_head_planes, wh_head_conv_num) + hm_head_conv_num, dcn_head, lite_head, norm_type) + self.wh_head = WHHead(in_channels, wh_head_planes, wh_head_conv_num, + dcn_head, lite_head, norm_type) self.hm_loss = hm_loss self.wh_loss = wh_loss diff --git a/ppdet/modeling/layers.py b/ppdet/modeling/layers.py index 19874b3ff..a4eb3b9c2 100644 --- a/ppdet/modeling/layers.py +++ b/ppdet/modeling/layers.py @@ -23,7 +23,7 @@ from paddle import ParamAttr from paddle import to_tensor from paddle.nn import Conv2D, BatchNorm2D, GroupNorm import paddle.nn.functional as F -from paddle.nn.initializer import Normal, Constant +from paddle.nn.initializer import Normal, Constant, XavierUniform from paddle.regularizer import L2Decay from ppdet.core.workspace import register, serializable @@ -109,6 +109,7 @@ class ConvNormLayer(nn.Layer): ch_out, filter_size, stride, + groups=1, norm_type='bn', norm_decay=0., norm_groups=32, @@ -138,7 +139,7 @@ class ConvNormLayer(nn.Layer): kernel_size=filter_size, stride=stride, padding=(filter_size - 1) // 2, - groups=1, + groups=groups, weight_attr=ParamAttr( name=name + "_weight", initializer=initializer, @@ -152,7 +153,7 @@ class ConvNormLayer(nn.Layer): kernel_size=filter_size, stride=stride, padding=(filter_size - 1) // 2, - groups=1, + groups=groups, weight_attr=ParamAttr( name=name + "_weight", initializer=initializer, @@ -190,6 +191,71 @@ class ConvNormLayer(nn.Layer): return out +class LiteConv(nn.Layer): + def __init__(self, + in_channels, + out_channels, + stride=1, + with_act=True, + norm_type='sync_bn', + name=None): + super(LiteConv, self).__init__() + self.lite_conv = nn.Sequential() + conv1 = ConvNormLayer( + in_channels, + in_channels, + filter_size=5, + stride=stride, + groups=in_channels, + norm_type=norm_type, + initializer=XavierUniform(), + norm_name=name + '.conv1.norm', + name=name + '.conv1') + conv2 = ConvNormLayer( + in_channels, + out_channels, + filter_size=1, + stride=stride, + norm_type=norm_type, + initializer=XavierUniform(), + norm_name=name + '.conv2.norm', + name=name + '.conv2') + conv3 = ConvNormLayer( + out_channels, + out_channels, + filter_size=1, + stride=stride, + norm_type=norm_type, + initializer=XavierUniform(), + norm_name=name + '.conv3.norm', + name=name + '.conv3') + conv4 = ConvNormLayer( + out_channels, + out_channels, + filter_size=5, + stride=stride, + groups=out_channels, + norm_type=norm_type, + initializer=XavierUniform(), + norm_name=name + '.conv4.norm', + name=name + '.conv4') + conv_list = [conv1, conv2, conv3, conv4] + self.lite_conv.add_sublayer('conv1', conv1) + self.lite_conv.add_sublayer('relu6_1', nn.ReLU6()) + self.lite_conv.add_sublayer('conv2', conv2) + if with_act: + self.lite_conv.add_sublayer('relu6_2', nn.ReLU6()) + self.lite_conv.add_sublayer('conv3', conv3) + self.lite_conv.add_sublayer('relu6_3', nn.ReLU6()) + self.lite_conv.add_sublayer('conv4', conv4) + if with_act: + self.lite_conv.add_sublayer('relu6_4', nn.ReLU6()) + + def forward(self, inputs): + out = self.lite_conv(inputs) + return out + + @register @serializable class AnchorGeneratorRPN(object): diff --git a/ppdet/modeling/necks/ttf_fpn.py b/ppdet/modeling/necks/ttf_fpn.py index c3e48e031..ef83a8b83 100644 --- a/ppdet/modeling/necks/ttf_fpn.py +++ b/ppdet/modeling/necks/ttf_fpn.py @@ -17,11 +17,11 @@ import paddle.nn as nn import paddle.nn.functional as F from paddle import ParamAttr from paddle.nn.initializer import Constant, Uniform, Normal -from paddle.nn import Conv2D, ReLU, Sequential +from paddle.nn.initializer import Constant, Uniform, Normal, XavierUniform from paddle import ParamAttr from ppdet.core.workspace import register, serializable from paddle.regularizer import L2Decay -from ppdet.modeling.layers import DeformableConvV2 +from ppdet.modeling.layers import DeformableConvV2, ConvNormLayer, LiteConv import math from ppdet.modeling.ops import batch_norm from ..shape_spec import ShapeSpec @@ -32,7 +32,7 @@ __all__ = ['TTFFPN'] class Upsample(nn.Layer): - def __init__(self, ch_in, ch_out, name=None): + def __init__(self, ch_in, ch_out, norm_type='bn', name=None): super(Upsample, self).__init__() fan_in = ch_in * 3 * 3 stdv = 1. / math.sqrt(fan_in) @@ -49,7 +49,7 @@ class Upsample(nn.Layer): regularizer=L2Decay(0.)) self.bn = batch_norm( - ch_out, norm_type='bn', initializer=Constant(1.), name=name) + ch_out, norm_type=norm_type, initializer=Constant(1.), name=name) def forward(self, feat): dcn = self.dcn(feat) @@ -59,28 +59,105 @@ class Upsample(nn.Layer): return out +class DeConv(nn.Layer): + def __init__(self, ch_in, ch_out, norm_type='bn', name=None): + super(DeConv, self).__init__() + self.deconv = nn.Sequential() + conv1 = ConvNormLayer( + ch_in=ch_in, + ch_out=ch_out, + stride=1, + filter_size=1, + norm_type=norm_type, + initializer=XavierUniform(), + norm_name=name + '.conv1.norm', + name=name + '.conv1') + conv2 = nn.Conv2DTranspose( + in_channels=ch_out, + out_channels=ch_out, + kernel_size=4, + padding=1, + stride=2, + groups=ch_out, + weight_attr=ParamAttr(initializer=XavierUniform()), + bias_attr=False) + bn = batch_norm( + ch_out, norm_type=norm_type, norm_decay=0., name=name + '.bn') + conv3 = ConvNormLayer( + ch_in=ch_out, + ch_out=ch_out, + stride=1, + filter_size=1, + norm_type=norm_type, + initializer=XavierUniform(), + norm_name=name + '.conv3.norm', + name=name + '.conv3') + + self.deconv.add_sublayer('conv1', conv1) + self.deconv.add_sublayer('relu6_1', nn.ReLU6()) + self.deconv.add_sublayer('conv2', conv2) + self.deconv.add_sublayer('bn', bn) + self.deconv.add_sublayer('relu6_2', nn.ReLU6()) + self.deconv.add_sublayer('conv3', conv3) + self.deconv.add_sublayer('relu6_3', nn.ReLU6()) + + def forward(self, inputs): + return self.deconv(inputs) + + +class LiteUpsample(nn.Layer): + def __init__(self, ch_in, ch_out, norm_type='bn', name=None): + super(LiteUpsample, self).__init__() + self.deconv = DeConv( + ch_in, ch_out, norm_type=norm_type, name=name + '.deconv') + self.conv = LiteConv( + ch_in, ch_out, norm_type=norm_type, name=name + '.liteconv') + + def forward(self, inputs): + deconv_up = self.deconv(inputs) + conv = self.conv(inputs) + interp_up = F.interpolate(conv, scale_factor=2., mode='bilinear') + return deconv_up + interp_up + + class ShortCut(nn.Layer): - def __init__(self, layer_num, ch_out, name=None): + def __init__(self, + layer_num, + ch_in, + ch_out, + norm_type='bn', + lite_neck=False, + name=None): super(ShortCut, self).__init__() - shortcut_conv = Sequential() - ch_in = ch_out * 2 + shortcut_conv = nn.Sequential() for i in range(layer_num): fan_out = 3 * 3 * ch_out std = math.sqrt(2. / fan_out) in_channels = ch_in if i == 0 else ch_out shortcut_name = name + '.conv.{}'.format(i) - shortcut_conv.add_sublayer( - shortcut_name, - Conv2D( - in_channels=in_channels, - out_channels=ch_out, - kernel_size=3, - padding=1, - weight_attr=ParamAttr(initializer=Normal(0, std)), - bias_attr=ParamAttr( - learning_rate=2., regularizer=L2Decay(0.)))) - if i < layer_num - 1: - shortcut_conv.add_sublayer(shortcut_name + '.act', ReLU()) + if lite_neck: + shortcut_conv.add_sublayer( + shortcut_name, + LiteConv( + in_channels=in_channels, + out_channels=ch_out, + with_act=i < layer_num - 1, + norm_type=norm_type, + name=shortcut_name)) + else: + shortcut_conv.add_sublayer( + shortcut_name, + nn.Conv2D( + in_channels=in_channels, + out_channels=ch_out, + kernel_size=3, + padding=1, + weight_attr=ParamAttr(initializer=Normal(0, std)), + bias_attr=ParamAttr( + learning_rate=2., regularizer=L2Decay(0.)))) + if i < layer_num - 1: + shortcut_conv.add_sublayer(shortcut_name + '.act', + nn.ReLU()) self.shortcut = self.add_sublayer('short', shortcut_conv) def forward(self, feat): @@ -96,35 +173,68 @@ class TTFFPN(nn.Layer): in_channels (list): number of input feature channels from backbone. [128,256,512,1024] by default, means the channels of DarkNet53 backbone return_idx [1,2,3,4]. + planes (list): the number of output feature channels of FPN. + [256, 128, 64] by default shortcut_num (list): the number of convolution layers in each shortcut. [3,2,1] by default, means DarkNet53 backbone return_idx_1 has 3 convs in its shortcut, return_idx_2 has 2 convs and return_idx_3 has 1 conv. + norm_type (string): norm type, 'sync_bn', 'bn', 'gn' are optional. + bn by default + lite_neck (bool): whether to use lite conv in TTFNet FPN, + False by default + fusion_method (string): the method to fusion upsample and lateral layer. + 'add' and 'concat' are optional, add by default """ + __shared__ = ['norm_type'] + def __init__(self, - in_channels=[128, 256, 512, 1024], - shortcut_num=[3, 2, 1]): + in_channels, + planes=[256, 128, 64], + shortcut_num=[3, 2, 1], + norm_type='bn', + lite_neck=False, + fusion_method='add'): super(TTFFPN, self).__init__() - self.planes = [c // 2 for c in in_channels[:-1]][::-1] + self.planes = planes self.shortcut_num = shortcut_num[::-1] self.shortcut_len = len(shortcut_num) self.ch_in = in_channels[::-1] + self.fusion_method = fusion_method self.upsample_list = [] self.shortcut_list = [] + self.upper_list = [] for i, out_c in enumerate(self.planes): - in_c = self.ch_in[i] if i == 0 else self.ch_in[i] // 2 + in_c = self.ch_in[i] if i == 0 else self.upper_list[-1] + upsample_module = LiteUpsample if lite_neck else Upsample upsample = self.add_sublayer( 'upsample.' + str(i), - Upsample( - in_c, out_c, name='upsample.' + str(i))) + upsample_module( + in_c, + out_c, + norm_type=norm_type, + name='deconv_layers.' + str(i))) self.upsample_list.append(upsample) if i < self.shortcut_len: shortcut = self.add_sublayer( 'shortcut.' + str(i), ShortCut( - self.shortcut_num[i], out_c, name='shortcut.' + str(i))) + self.shortcut_num[i], + self.ch_in[i + 1], + out_c, + norm_type=norm_type, + lite_neck=lite_neck, + name='shortcut.' + str(i))) self.shortcut_list.append(shortcut) + if self.fusion_method == 'add': + upper_c = out_c + elif self.fusion_method == 'concat': + upper_c = out_c * 2 + else: + raise ValueError('Illegal fusion method. Expected add or\ + concat, but received {}'.format(self.fusion_method)) + self.upper_list.append(upper_c) def forward(self, inputs): feat = inputs[-1] @@ -132,7 +242,10 @@ class TTFFPN(nn.Layer): feat = self.upsample_list[i](feat) if i < self.shortcut_len: shortcut = self.shortcut_list[i](inputs[-i - 2]) - feat = feat + shortcut + if self.fusion_method == 'add': + feat = feat + shortcut + else: + feat = paddle.concat([feat, shortcut], axis=1) return feat @classmethod @@ -141,4 +254,4 @@ class TTFFPN(nn.Layer): @property def out_shape(self): - return [ShapeSpec(channels=self.planes[-1], )] + return [ShapeSpec(channels=self.upper_list[-1], )] diff --git a/static/configs/anchor_free/pafnet_10x_coco.yml b/static/configs/anchor_free/pafnet_10x_coco.yml new file mode 100644 index 000000000..4c6728bcd --- /dev/null +++ b/static/configs/anchor_free/pafnet_10x_coco.yml @@ -0,0 +1,170 @@ +architecture: TTFNet +use_gpu: true +max_iters: 150000 +log_smooth_window: 20 +save_dir: output +snapshot_iter: 10000 +metric: COCO +pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_ssld_pretrained.tar +weights: output/pafnet_10x_coco/model_final +num_classes: 80 +use_ema: true +ema_decay: 0.9998 + +TTFNet: + backbone: ResNet + ttf_head: TTFHead + +ResNet: + norm_type: sync_bn + freeze_at: 0 + freeze_norm: false + norm_decay: 0. + depth: 50 + feature_maps: [2, 3, 4, 5] + variant: d + dcn_v2_stages: [3, 4, 5] + +TTFHead: + head_conv: 128 + wh_conv: 64 + hm_head_conv_num: 2 + wh_head_conv_num: 2 + wh_offset_base: 16 + wh_loss: GiouLoss + dcn_head: True + +GiouLoss: + loss_weight: 5. + do_average: false + use_class_weight: false + +LearningRate: + base_lr: 0.015 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 112500 + - 137500 + - !LinearWarmup + start_factor: 0.2 + steps: 500 + +OptimizerBuilder: + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0004 + type: L2 + +TrainReader: + inputs_def: + fields: ['image', 'ttf_heatmap', 'ttf_box_target', 'ttf_reg_weight'] + dataset: + !COCODataSet + image_dir: train2017 + anno_path: annotations/instances_train2017.json + dataset_dir: dataset/coco + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: true + with_cutmix: True + - !CutmixImage + alpha: 1.5 + beta: 1.5 + - !ColorDistort + hue: [-18., 18., 0.5] + saturation: [0.5, 1.5, 0.5] + contrast: [0.5, 1.5, 0.5] + brightness: [-32., 32., 0.5] + random_apply: False + hsv_format: True + random_channel: True + - !RandomExpand + ratio: 4 + prob: 0.5 + fill_value: [123.675, 116.28, 103.53] + - !RandomCrop + aspect_ratio: NULL + cover_all_box: True + - !RandomFlipImage + prob: 0.5 + batch_transforms: + - !RandomShape + sizes: [416, 448, 480, 512, 544, 576, 608, 640, 672] + random_inter: True + resize_box: True + - !NormalizeImage + is_channel_first: false + is_scale: false + mean: [123.675, 116.28, 103.53] + std: [58.395, 57.12, 57.375] + - !Permute + to_bgr: false + channel_first: true + - !Gt2TTFTarget + num_classes: 80 + down_ratio: 4 + - !PadBatch + pad_to_stride: 32 + batch_size: 12 + shuffle: true + worker_num: 8 + bufsize: 2 + use_process: false + cutmix_epoch: 100 + +EvalReader: + inputs_def: + image_shape: [3, 512, 512] + fields: ['image', 'im_id', 'scale_factor'] + dataset: + !COCODataSet + image_dir: val2017 + anno_path: annotations/instances_val2017.json + dataset_dir: dataset/coco + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + - !Resize + target_dim: 512 + - !NormalizeImage + mean: [123.675, 116.28, 103.53] + std: [58.395, 57.12, 57.375] + is_scale: false + is_channel_first: false + - !Permute + to_bgr: false + channel_first: True + batch_size: 1 + drop_empty: false + worker_num: 8 + bufsize: 16 + +TestReader: + inputs_def: + image_shape: [3, 512, 512] + fields: ['image', 'im_id', 'scale_factor'] + dataset: + !ImageFolder + anno_path: annotations/instances_val2017.json + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + - !Resize + interp: 1 + target_dim: 512 + - !NormalizeImage + mean: [123.675, 116.28, 103.53] + std: [58.395, 57.12, 57.375] + is_scale: false + is_channel_first: false + - !Permute + to_bgr: false + channel_first: True + batch_size: 1 diff --git a/static/configs/anchor_free/pafnet_lite_mobilenet_v3_20x_coco.yml b/static/configs/anchor_free/pafnet_lite_mobilenet_v3_20x_coco.yml new file mode 100644 index 000000000..1b1423883 --- /dev/null +++ b/static/configs/anchor_free/pafnet_lite_mobilenet_v3_20x_coco.yml @@ -0,0 +1,171 @@ +architecture: TTFNet +use_gpu: true +max_iters: 300000 +log_smooth_window: 20 +save_dir: output +snapshot_iter: 50000 +metric: COCO +pretrain_weights: https://paddle-imagenet-models-name.bj.bcebos.com/MobileNetV3_large_x1_0_ssld_pretrained.tar +weights: output/pafnet_lite_mobilenet_v3_20x_coco/model_final +num_classes: 80 + +TTFNet: + backbone: MobileNetV3RCNN + ttf_head: TTFLiteHead + +MobileNetV3RCNN: + norm_type: sync_bn + norm_decay: 0.0 + model_name: large + scale: 1.0 + conv_decay: 0.00001 + lr_mult_list: [0.25, 0.25, 0.5, 0.5, 0.75] + freeze_norm: false + +TTFLiteHead: + head_conv: 48 + +GiouLoss: + loss_weight: 5. + do_average: false + use_class_weight: false + +LearningRate: + base_lr: 0.015 + schedulers: + - !PiecewiseDecay + gamma: 0.1 + milestones: + - 225000 + - 275000 + - !LinearWarmup + start_factor: 0.2 + steps: 1000 + +OptimizerBuilder: + clip_grad_by_norm: 35 + optimizer: + momentum: 0.9 + type: Momentum + regularizer: + factor: 0.0004 + type: L2 + +TrainReader: + inputs_def: + fields: ['image', 'ttf_heatmap', 'ttf_box_target', 'ttf_reg_weight'] + dataset: + !COCODataSet + image_dir: train2017 + anno_path: annotations/instances_train2017.json + dataset_dir: dataset/coco + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: true + with_cutmix: True + - !ColorDistort + hue: [-18., 18., 0.5] + saturation: [0.5, 1.5, 0.5] + contrast: [0.5, 1.5, 0.5] + brightness: [-32., 32., 0.5] + random_apply: False + hsv_format: False + random_channel: True + - !RandomExpand + ratio: 4 + prob: 0.5 + fill_value: [123.675, 116.28, 103.53] + - !RandomCrop + aspect_ratio: NULL + cover_all_box: True + - !CutmixImage + alpha: 1.5 + beta: 1.5 + - !RandomFlipImage + prob: 0.5 + - !GridMaskOp + use_h: true + use_w: true + rotate: 1 + offset: false + ratio: 0.5 + mode: 1 + prob: 0.7 + upper_iter: 300000 + batch_transforms: + - !RandomShape + sizes: [320, 352, 384, 416, 448, 480, 512] + random_inter: True + resize_box: True + - !NormalizeImage + is_channel_first: false + is_scale: false + mean: [123.675, 116.28, 103.53] + std: [58.395, 57.12, 57.375] + - !Permute + to_bgr: false + channel_first: true + - !Gt2TTFTarget + num_classes: 80 + down_ratio: 4 + - !PadBatch + pad_to_stride: 32 + batch_size: 12 + shuffle: true + worker_num: 8 + bufsize: 2 + use_process: false + cutmix_epoch: 200 + +EvalReader: + inputs_def: + image_shape: [3, 320, 320] + fields: ['image', 'im_id', 'scale_factor'] + dataset: + !COCODataSet + image_dir: val2017 + anno_path: annotations/instances_val2017.json + dataset_dir: dataset/coco + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + - !Resize + target_dim: 320 + - !NormalizeImage + mean: [123.675, 116.28, 103.53] + std: [58.395, 57.12, 57.375] + is_scale: false + is_channel_first: false + - !Permute + to_bgr: false + channel_first: True + batch_size: 1 + drop_empty: false + worker_num: 2 + bufsize: 2 + +TestReader: + inputs_def: + image_shape: [3, 320, 320] + fields: ['image', 'im_id', 'scale_factor'] + dataset: + !ImageFolder + anno_path: annotations/instances_val2017.json + with_background: false + sample_transforms: + - !DecodeImage + to_rgb: True + - !Resize + interp: 1 + target_dim: 320 + - !NormalizeImage + mean: [123.675, 116.28, 103.53] + std: [58.395, 57.12, 57.375] + is_scale: false + is_channel_first: false + - !Permute + to_bgr: false + channel_first: True + batch_size: 1 diff --git a/static/ppdet/modeling/anchor_heads/ttf_head.py b/static/ppdet/modeling/anchor_heads/ttf_head.py index ba9ec802e..31add344d 100644 --- a/static/ppdet/modeling/anchor_heads/ttf_head.py +++ b/static/ppdet/modeling/anchor_heads/ttf_head.py @@ -24,10 +24,10 @@ from paddle.fluid.param_attr import ParamAttr from paddle.fluid.initializer import Normal, Constant, Uniform, Xavier from paddle.fluid.regularizer import L2Decay from ppdet.core.workspace import register -from ppdet.modeling.ops import DeformConv, DropBlock +from ppdet.modeling.ops import DeformConv, DropBlock, ConvNorm from ppdet.modeling.losses import GiouLoss -__all__ = ['TTFHead'] +__all__ = ['TTFHead', 'TTFLiteHead'] @register @@ -65,6 +65,8 @@ class TTFHead(object): drop_block(bool): whether use dropblock. False by default. block_size(int): block_size parameter for drop_block. 3 by default. keep_prob(float): keep_prob parameter for drop_block. 0.9 by default. + fusion_method (string): Method to fusion upsample and lateral branch. + 'add' and 'concat' are optional, add by default """ __inject__ = ['wh_loss'] @@ -90,7 +92,8 @@ class TTFHead(object): dcn_head=False, drop_block=False, block_size=3, - keep_prob=0.9): + keep_prob=0.9, + fusion_method='add'): super(TTFHead, self).__init__() self.head_conv = head_conv self.num_classes = num_classes @@ -115,6 +118,7 @@ class TTFHead(object): self.drop_block = drop_block self.block_size = block_size self.keep_prob = keep_prob + self.fusion_method = fusion_method def shortcut(self, x, out_c, layer_num, kernel_size=3, padding=1, name=None): @@ -255,7 +259,14 @@ class TTFHead(object): out_c, self.shortcut_num[i], name=name + '.shortcut_layers.' + str(i)) - feat = fluid.layers.elementwise_add(feat, shortcut) + if self.fusion_method == 'add': + feat = fluid.layers.elementwise_add(feat, shortcut) + elif self.fusion_method == 'concat': + feat = fluid.layers.concat([feat, shortcut], axis=1) + else: + raise ValueError( + "Illegal fusion method, expected 'add' or 'concat', but received {}". + format(self.fusion_method)) hm = self.hm_head(feat, name=name + '.hm', is_test=is_test) wh = self.wh_head(feat, name=name + '.wh') * self.wh_offset_base @@ -273,12 +284,13 @@ class TTFHead(object): # batch size is 1 scores_r = fluid.layers.reshape(scores, [cat, -1]) topk_scores, topk_inds = fluid.layers.topk(scores_r, k) - topk_ys = topk_inds / width + topk_ys = topk_inds // width topk_xs = topk_inds % width topk_score_r = fluid.layers.reshape(topk_scores, [-1]) topk_score, topk_ind = fluid.layers.topk(topk_score_r, k) - topk_clses = fluid.layers.cast(topk_ind / k, 'float32') + k_t = fluid.layers.assign(np.array([k], dtype='int64')) + topk_clses = fluid.layers.cast(topk_ind / k_t, 'float32') topk_inds = fluid.layers.reshape(topk_inds, [-1]) topk_ys = fluid.layers.reshape(topk_ys, [-1, 1]) @@ -384,3 +396,172 @@ class TTFHead(object): ttf_loss = {'hm_loss': hm_loss, 'wh_loss': wh_loss} return ttf_loss + + +@register +class TTFLiteHead(TTFHead): + """ + TTFLiteHead + + Lite version for TTFNet + Args: + head_conv(int): the default channel number of convolution in head. + 32 by default. + num_classes(int): the number of classes, 80 by default. + planes(tuple): the channel number of convolution in each upsample. + (96, 48, 24) by default. + wh_conv(int): the channel number of convolution in wh head. + 24 by default. + wh_loss(object): `GiouLoss` instance. + shortcut_num(tuple): the number of convolution layers in each shortcut. + (1, 2, 2) by default. + fusion_method (string): Method to fusion upsample and lateral branch. + 'add' and 'concat' are optional, add by default + """ + __inject__ = ['wh_loss'] + __shared__ = ['num_classes'] + + def __init__(self, + head_conv=32, + num_classes=80, + planes=(96, 48, 24), + wh_conv=24, + wh_loss='GiouLoss', + shortcut_num=(1, 2, 2), + fusion_method='concat'): + super(TTFLiteHead, self).__init__( + head_conv=head_conv, + num_classes=num_classes, + planes=planes, + wh_conv=wh_conv, + wh_loss=wh_loss, + shortcut_num=shortcut_num, + fusion_method=fusion_method) + + def _lite_conv(self, x, out_c, act=None, name=None): + conv1 = ConvNorm( + input=x, + num_filters=x.shape[1], + filter_size=5, + groups=x.shape[1], + norm_type='bn', + act='relu6', + initializer=Xavier(), + name=name + '.depthwise', + norm_name=name + '.depthwise.bn') + + conv2 = ConvNorm( + input=conv1, + num_filters=out_c, + filter_size=1, + norm_type='bn', + act=act, + initializer=Xavier(), + name=name + '.pointwise_linear', + norm_name=name + '.pointwise_linear.bn') + + conv3 = ConvNorm( + input=conv2, + num_filters=out_c, + filter_size=1, + norm_type='bn', + act='relu6', + initializer=Xavier(), + name=name + '.pointwise', + norm_name=name + '.pointwise.bn') + + conv4 = ConvNorm( + input=conv3, + num_filters=out_c, + filter_size=5, + groups=out_c, + norm_type='bn', + act=act, + initializer=Xavier(), + name=name + '.depthwise_linear', + norm_name=name + '.depthwise_linear.bn') + + return conv4 + + def shortcut(self, x, out_c, layer_num, name=None): + assert layer_num > 0 + for i in range(layer_num): + param_name = name + '.layers.' + str(i * 2) + act = 'relu6' if i < layer_num - 1 else None + x = self._lite_conv(x, out_c, act, param_name) + return x + + def _deconv_upsample(self, x, out_c, name=None): + conv1 = ConvNorm( + input=x, + num_filters=out_c, + filter_size=1, + norm_type='bn', + act='relu6', + name=name + '.pointwise', + initializer=Xavier(), + norm_name=name + '.pointwise.bn') + conv2 = fluid.layers.conv2d_transpose( + input=conv1, + num_filters=out_c, + filter_size=4, + padding=1, + stride=2, + groups=out_c, + param_attr=ParamAttr( + name=name + '.deconv.weights', initializer=Xavier()), + bias_attr=False) + bn = fluid.layers.batch_norm( + input=conv2, + act='relu6', + param_attr=ParamAttr( + name=name + '.deconv.bn.scale', regularizer=L2Decay(0.)), + bias_attr=ParamAttr( + name=name + '.deconv.bn.offset', regularizer=L2Decay(0.)), + moving_mean_name=name + '.deconv.bn.mean', + moving_variance_name=name + '.deconv.bn.variance') + conv3 = ConvNorm( + input=bn, + num_filters=out_c, + filter_size=1, + norm_type='bn', + act='relu6', + name=name + '.normal', + initializer=Xavier(), + norm_name=name + '.normal.bn') + return conv3 + + def _interp_upsample(self, x, out_c, name=None): + conv = self._lite_conv(x, out_c, 'relu6', name) + up = fluid.layers.resize_bilinear(conv, scale=2) + return up + + def upsample(self, x, out_c, name=None): + deconv_up = self._deconv_upsample(x, out_c, name=name + '.dilation_up') + interp_up = self._interp_upsample(x, out_c, name=name + '.interp_up') + return deconv_up + interp_up + + def _head(self, + x, + out_c, + conv_num=1, + head_out_c=None, + name=None, + is_test=False): + head_out_c = self.head_conv if not head_out_c else head_out_c + for i in range(conv_num): + conv_name = '{}.{}.conv'.format(name, i) + x = self._lite_conv(x, head_out_c, 'relu6', conv_name) + bias_init = float(-np.log((1 - 0.01) / 0.01)) if '.hm' in name else 0. + conv_b_init = Constant(bias_init) + x = fluid.layers.conv2d( + x, + out_c, + 1, + param_attr=ParamAttr(name='{}.{}.weight'.format(name, conv_num)), + bias_attr=ParamAttr( + learning_rate=2., + regularizer=L2Decay(0.), + name='{}.{}.bias'.format(name, conv_num), + initializer=conv_b_init)) + return x -- Gitee From 4874b56f62c08587e98fe43d7ed3b04aa32d5f41 Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Thu, 15 Apr 2021 20:28:16 +0800 Subject: [PATCH 45/90] fix ignore warning (#2648) --- tools/eval.py | 4 ++++ tools/export_model.py | 4 ++++ tools/infer.py | 3 +++ tools/train.py | 3 +++ 4 files changed, 14 insertions(+) diff --git a/tools/eval.py b/tools/eval.py index 16f6acee8..65080e90e 100755 --- a/tools/eval.py +++ b/tools/eval.py @@ -22,6 +22,10 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) +# ignore warning log +import warnings +warnings.filterwarnings('ignore') + import paddle from ppdet.core.workspace import load_config, merge_config diff --git a/tools/export_model.py b/tools/export_model.py index 6665d2bf9..8cf3885c8 100644 --- a/tools/export_model.py +++ b/tools/export_model.py @@ -21,6 +21,10 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) +# ignore warning log +import warnings +warnings.filterwarnings('ignore') + import paddle from ppdet.core.workspace import load_config, merge_config diff --git a/tools/infer.py b/tools/infer.py index a73e14a67..4b38225ff 100755 --- a/tools/infer.py +++ b/tools/infer.py @@ -21,6 +21,9 @@ parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) if parent_path not in sys.path: sys.path.append(parent_path) +# ignore warning log +import warnings +warnings.filterwarnings('ignore') import glob import paddle diff --git a/tools/train.py b/tools/train.py index 675163b4e..3a7d4f69f 100755 --- a/tools/train.py +++ b/tools/train.py @@ -24,6 +24,9 @@ if parent_path not in sys.path: import random import numpy as np +# ignore warning log +import warnings +warnings.filterwarnings('ignore') import paddle -- Gitee From 2f7e441094ba06ad33b89049a084a0fbeb09517e Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Thu, 15 Apr 2021 22:49:20 +0800 Subject: [PATCH 46/90] fix use_calib_mode in cpp infer (#2651) --- configs/slim/README.md | 2 +- static/deploy/cpp/src/object_detector.cc | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/slim/README.md b/configs/slim/README.md index 627a0743c..a4bb549dc 100755 --- a/configs/slim/README.md +++ b/configs/slim/README.md @@ -75,7 +75,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/slim/prune/yolov3_prune_l1_norm.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) | - 目前剪裁支持YOLO系列、SSD、TTFNet、BlazeFace,其余模型正在开发支持中。 - SD855预测时延为使用PaddleLite部署,使用arm8架构并使用4线程(4 Threads)推理时延。 diff --git a/static/deploy/cpp/src/object_detector.cc b/static/deploy/cpp/src/object_detector.cc index 7b8f0fdd1..50673bdb4 100644 --- a/static/deploy/cpp/src/object_detector.cc +++ b/static/deploy/cpp/src/object_detector.cc @@ -33,6 +33,7 @@ void ObjectDetector::LoadModel(const std::string& model_dir, if (use_gpu) { config.EnableUseGpu(100, gpu_id); config.SwitchIrOptim(true); + bool use_calib_mode = false; if (run_mode != "fluid") { auto precision = paddle::AnalysisConfig::Precision::kFloat32; if (run_mode == "trt_fp16") { -- Gitee From faa6d2453419f1cc023da520f95c08a4b68ea42c Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Fri, 16 Apr 2021 11:26:37 +0800 Subject: [PATCH 47/90] fix ttfhead & doc link (#2653) Co-authored-by: Feng Ni --- configs/cascade_rcnn/README.md | 13 +++--- configs/dcn/README.md | 22 ++++----- configs/dota/README.md | 2 +- configs/face_detection/README.md | 2 +- configs/faster_rcnn/README.md | 33 +++++++------ configs/fcos/README.md | 1 - configs/gn/README.md | 8 ++-- configs/hrnet/README.md | 4 +- configs/mask_rcnn/README.md | 25 +++++----- configs/pedestrian/README.md | 8 ++-- configs/pedestrian/README_cn.md | 8 ++-- configs/ppyolo/README.md | 46 +++++++++---------- configs/rcnn_enhance/README.md | 2 +- configs/slim/README.md | 35 +++++++------- configs/solov2/README.md | 4 +- configs/ttfnet/README.md | 6 +-- configs/vehicle/README.md | 10 ++-- configs/vehicle/README_cn.md | 10 ++-- deploy/serving/README.md | 2 +- docs/MODEL_ZOO_cn.md | 18 ++++---- docs/feature_models/SSLD_PRETRAINED_MODEL.md | 34 +++++++------- .../SSLD_PRETRAINED_MODEL_en.md | 34 +++++++------- docs/tutorials/INSTALL.md | 2 +- docs/tutorials/INSTALL_cn.md | 2 +- ppdet/data/source/dataset.py | 6 ++- ppdet/modeling/heads/ttf_head.py | 6 +-- 26 files changed, 170 insertions(+), 173 deletions(-) diff --git a/configs/cascade_rcnn/README.md b/configs/cascade_rcnn/README.md index e74641a3f..d93ec4f31 100644 --- a/configs/cascade_rcnn/README.md +++ b/configs/cascade_rcnn/README.md @@ -4,14 +4,13 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | | :------------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50-FPN | Cascade Faster | 1 | 1x | ---- | 41.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | Cascade Mask | 1 | 1x | ---- | 41.8 | 36.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-FPN | Cascade Faster | 1 | 1x | ---- | 41.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | Cascade Mask | 1 | 1x | ---- | 41.8 | 36.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -**注意:** Cascade R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 ## Citations ``` diff --git a/configs/dcn/README.md b/configs/dcn/README.md index 3248a387c..9c8613f85 100644 --- a/configs/dcn/README.md +++ b/configs/dcn/README.md @@ -2,17 +2,17 @@ | 骨架网络 | 网络类型 | 卷积 | 每张GPU图片个数 | 学习率策略 |推理时间(fps)| Box AP | Mask AP | 下载 | 配置文件 | | :------------------- | :------------- | :-----: |:--------: | :-----: | :-----------: |:----: | :-----: | :----------------------------------------------------------: | :----: | -| ResNet50-FPN | Faster | c3-c5 | 1 | 1x | - | 42.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_r50_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 42.7 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_r50_vd_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Faster | c3-c5 | 1 | 2x | - | 43.7 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_r50_vd_fpn_2x_coco.yml) | -| ResNet101-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 45.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_r101_vd_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 46.5 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) |[配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | -| ResNet50-FPN | Mask | c3-c5 | 1 | 1x | - | 42.7 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/mask_rcnn_dcn_r50_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Mask | c3-c5 | 1 | 2x | - | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/mask_rcnn_dcn_r50_vd_fpn_2x_coco.yml) | -| ResNet101-vd-FPN | Mask | c3-c5 | 1 | 1x | - | 45.6 | 40.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/mask_rcnn_dcn_r101_vd_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Mask | c3-c5 | 1 | 1x | - | 47.3 | 42.0 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | -| ResNet50-FPN | Cascade Faster | c3-c5 | 1 | 1x | - | 42.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/cascade_rcnn_dcn_r50_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Cascade Faster | c3-c5 | 1 | 1x | - | 48.8 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dcn/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNet50-FPN | Faster | c3-c5 | 1 | 1x | - | 42.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/faster_rcnn_dcn_r50_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 42.7 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/faster_rcnn_dcn_r50_vd_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Faster | c3-c5 | 1 | 2x | - | 43.7 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/faster_rcnn_dcn_r50_vd_fpn_2x_coco.yml) | +| ResNet101-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 45.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/faster_rcnn_dcn_r101_vd_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Faster | c3-c5 | 1 | 1x | - | 46.5 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) |[配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/faster_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNet50-FPN | Mask | c3-c5 | 1 | 1x | - | 42.7 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/mask_rcnn_dcn_r50_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Mask | c3-c5 | 1 | 2x | - | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/mask_rcnn_dcn_r50_vd_fpn_2x_coco.yml) | +| ResNet101-vd-FPN | Mask | c3-c5 | 1 | 1x | - | 45.6 | 40.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/mask_rcnn_dcn_r101_vd_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Mask | c3-c5 | 1 | 1x | - | 47.3 | 42.0 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/mask_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNet50-FPN | Cascade Faster | c3-c5 | 1 | 1x | - | 42.1 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/cascade_rcnn_dcn_r50_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Cascade Faster | c3-c5 | 1 | 1x | - | 48.8 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dcn/cascade_rcnn_dcn_x101_vd_64x4d_fpn_1x_coco.yml) | **注意事项:** diff --git a/configs/dota/README.md b/configs/dota/README.md index 7d33bc727..07521d195 100644 --- a/configs/dota/README.md +++ b/configs/dota/README.md @@ -33,7 +33,7 @@ DOTA数据集中总共有2806张图像,其中1411张图像作为训练集,45 | 模型 | GPU个数 | Conv类型 | mAP | 模型下载 | 配置文件 | |:-----------:|:-------:|:----------:|:--------:| :----------:| :---------: | -| S2ANet | 8 | Conv | 71.42 | [model](https://paddledet.bj.bcebos.com/models/s2anet_conv_1x_dota.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/dota/s2anet_conv_1x_dota.yml) | +| S2ANet | 8 | Conv | 71.42 | [model](https://paddledet.bj.bcebos.com/models/s2anet_conv_1x_dota.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/dota/s2anet_conv_1x_dota.yml) | **注意:**这里使用`multiclass_nms`,与原作者使用nms略有不同,精度相比原始论文中高0.15 (71.27-->71.42)。 diff --git a/configs/face_detection/README.md b/configs/face_detection/README.md index 8e92ac34e..3f0fe240e 100644 --- a/configs/face_detection/README.md +++ b/configs/face_detection/README.md @@ -11,7 +11,7 @@ | 网络结构 | 输入尺寸 | 图片个数/GPU | 学习率策略 | Easy/Medium/Hard Set | 预测时延(SD855)| 模型大小(MB) | 下载 | 配置文件 | |:------------:|:--------:|:----:|:-------:|:-------:|:---------:|:----------:|:---------:|:--------:| -| BlazeFace | 640 | 8 | 1000e | 0.885 / 0.855 / 0.731 | - | 0.472 |[下载链接](https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/face_detection/blazeface_1000e.yml) | +| BlazeFace | 640 | 8 | 1000e | 0.885 / 0.855 / 0.731 | - | 0.472 |[下载链接](https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/face_detection/blazeface_1000e.yml) | **注意:** - 我们使用多尺度评估策略得到`Easy/Medium/Hard Set`里的mAP。具体细节请参考[在WIDER-FACE数据集上评估](#在WIDER-FACE数据集上评估)。 diff --git a/configs/faster_rcnn/README.md b/configs/faster_rcnn/README.md index cb176afff..a7e08ab05 100644 --- a/configs/faster_rcnn/README.md +++ b/configs/faster_rcnn/README.md @@ -4,24 +4,23 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :------------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50 | Faster | 1 | 1x | ---- | 36.7 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_1x_coco.yml) | -| ResNet50-vd | Faster | 1 | 1x | ---- | 37.6 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_1x_coco.yml) | -| ResNet101 | Faster | 1 | 1x | ---- | 39.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_1x_coco.yml) | -| ResNet34-FPN | Faster | 1 | 1x | ---- | 37.8 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r34_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r34_fpn_1x_coco.yml) | -| ResNet34-vd-FPN | Faster | 1 | 1x | ---- | 38.5 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r34_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r34_vd_fpn_1x_coco.yml) | -| ResNet50-FPN | Faster | 1 | 1x | ---- | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | Faster | 1 | 2x | ---- | 40.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_fpn_2x_coco.yml) | -| ResNet50-vd-FPN | Faster | 1 | 1x | ---- | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Faster | 1 | 2x | ---- | 40.8 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_2x_coco.yml) | -| ResNet101-FPN | Faster | 1 | 2x | ---- | 41.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_fpn_2x_coco.yml) | -| ResNet101-vd-FPN | Faster | 1 | 1x | ---- | 42.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_1x_coco.yml) | -| ResNet101-vd-FPN | Faster | 1 | 2x | ---- | 43.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_2x_coco.yml) | -| ResNeXt101-vd-FPN | Faster | 1 | 1x | ---- | 43.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Faster | 1 | 2x | ---- | 44.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_ssld_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | +| ResNet50 | Faster | 1 | 1x | ---- | 36.7 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_1x_coco.yml) | +| ResNet50-vd | Faster | 1 | 1x | ---- | 37.6 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_1x_coco.yml) | +| ResNet101 | Faster | 1 | 1x | ---- | 39.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r101_1x_coco.yml) | +| ResNet34-FPN | Faster | 1 | 1x | ---- | 37.8 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r34_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r34_fpn_1x_coco.yml) | +| ResNet34-vd-FPN | Faster | 1 | 1x | ---- | 38.5 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r34_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r34_vd_fpn_1x_coco.yml) | +| ResNet50-FPN | Faster | 1 | 1x | ---- | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | Faster | 1 | 2x | ---- | 40.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_fpn_2x_coco.yml) | +| ResNet50-vd-FPN | Faster | 1 | 1x | ---- | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Faster | 1 | 2x | ---- | 40.8 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_2x_coco.yml) | +| ResNet101-FPN | Faster | 1 | 2x | ---- | 41.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r101_fpn_2x_coco.yml) | +| ResNet101-vd-FPN | Faster | 1 | 1x | ---- | 42.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_1x_coco.yml) | +| ResNet101-vd-FPN | Faster | 1 | 2x | ---- | 43.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r101_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r101_vd_fpn_2x_coco.yml) | +| ResNeXt101-vd-FPN | Faster | 1 | 1x | ---- | 43.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Faster | 1 | 2x | ---- | 44.0 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_ssld_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | -**注意:** Faster R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 ## Citations ``` diff --git a/configs/fcos/README.md b/configs/fcos/README.md index 604deb654..3ccd445ca 100644 --- a/configs/fcos/README.md +++ b/configs/fcos/README.md @@ -19,7 +19,6 @@ FCOS (Fully Convolutional One-Stage Object Detection) is a fast anchor-free obje **Notes:** - FCOS is trained on COCO train2017 dataset and evaluated on val2017 results of `mAP(IoU=0.5:0.95)`. -- FCOS training performace is dependented on Paddle develop branch, performance reproduction shoule based on [Paddle daily version](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev) or Paddle 2.0.1(will be published on 2021.03), performace will loss slightly is training base on Paddle 2.0.0 ## Citations ``` diff --git a/configs/gn/README.md b/configs/gn/README.md index ec10831f9..cc398af62 100644 --- a/configs/gn/README.md +++ b/configs/gn/README.md @@ -4,10 +4,10 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps)| Box AP | Mask AP | 下载 | 配置文件 | | :------------- | :------------- | :-----------: | :------: | :--------: |:-----: | :-----: | :----: | :----: | -| ResNet50-FPN | Faster | 1 | 2x | - | 41.9 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Mask | 1 | 2x | - | 42.3 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Cascade Faster | 1 | 2x | - | 44.6 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml) | -| ResNet50-FPN | Cacade Mask | 1 | 2x | - | 45.0 | 39.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Faster | 1 | 2x | - | 41.9 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/gn/faster_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Mask | 1 | 2x | - | 42.3 | 38.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/gn/mask_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Cascade Faster | 1 | 2x | - | 44.6 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/gn/cascade_rcnn_r50_fpn_gn_2x_coco.yml) | +| ResNet50-FPN | Cacade Mask | 1 | 2x | - | 45.0 | 39.3 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_fpn_gn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/gn/cascade_mask_rcnn_r50_fpn_gn_2x_coco.yml) | **注意:** Faster R-CNN baseline仅使用 `2fc` head,而此处使用[`4conv1fc` head](https://arxiv.org/abs/1803.08494)(4层conv之间使用GN),并且FPN也使用GN,而对于Mask R-CNN是在mask head的4层conv之间也使用GN。 diff --git a/configs/hrnet/README.md b/configs/hrnet/README.md index 1c6fec7bd..9f581abf8 100644 --- a/configs/hrnet/README.md +++ b/configs/hrnet/README.md @@ -30,5 +30,5 @@ | Backbone | Type | Image/gpu | Lr schd | Inf time (fps) | Box AP | Mask AP | Download | Configs | | :---------------------- | :------------- | :-------: | :-----: | :------------: | :----: | :-----: | :----------------------------------------------------------: | :-----: | -| HRNetV2p_W18 | Faster | 1 | 1x | - | 36.8 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_hrnetv2p_w18_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/hrnet/faster_rcnn_hrnetv2p_w18_1x_coco.yml) | -| HRNetV2p_W18 | Faster | 1 | 2x | - | 39.0 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_hrnetv2p_w18_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/hrnet/faster_rcnn_hrnetv2p_w18_2x_coco.yml) | +| HRNetV2p_W18 | Faster | 1 | 1x | - | 36.8 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_hrnetv2p_w18_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/hrnet/faster_rcnn_hrnetv2p_w18_1x_coco.yml) | +| HRNetV2p_W18 | Faster | 1 | 2x | - | 39.0 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_hrnetv2p_w18_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/hrnet/faster_rcnn_hrnetv2p_w18_2x_coco.yml) | diff --git a/configs/mask_rcnn/README.md b/configs/mask_rcnn/README.md index 300d67b46..89f7f8eef 100644 --- a/configs/mask_rcnn/README.md +++ b/configs/mask_rcnn/README.md @@ -4,20 +4,19 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | | :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50 | Mask | 1 | 1x | ---- | 37.4 | 32.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_1x_coco.yml) | -| ResNet50 | Mask | 1 | 2x | ---- | 39.7 | 34.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_2x_coco.yml) | -| ResNet50-FPN | Mask | 1 | 1x | ---- | 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) | -| ResNet50-FPN | Mask | 1 | 2x | ---- | 40.5 | 36.7 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_fpn_2x_coco.yml) | -| ResNet50-vd-FPN | Mask | 1 | 1x | ---- | 40.3 | 36.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_1x_coco.yml) | -| ResNet50-vd-FPN | Mask | 1 | 2x | ---- | 41.4 | 37.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_2x_coco.yml) | -| ResNet101-FPN | Mask | 1 | 1x | ---- | 40.6 | 36.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r101_fpn_1x_coco.yml) | -| ResNet101-vd-FPN | Mask | 1 | 1x | ---- | 42.4 | 38.1 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r101_vd_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Mask | 1 | 1x | ---- | 44.0 | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | -| ResNeXt101-vd-FPN | Mask | 1 | 2x | ---- | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50 | Mask | 1 | 1x | ---- | 37.4 | 32.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_1x_coco.yml) | +| ResNet50 | Mask | 1 | 2x | ---- | 39.7 | 34.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_2x_coco.yml) | +| ResNet50-FPN | Mask | 1 | 1x | ---- | 39.2 | 35.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | Mask | 1 | 2x | ---- | 40.5 | 36.7 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_fpn_2x_coco.yml) | +| ResNet50-vd-FPN | Mask | 1 | 1x | ---- | 40.3 | 36.4 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_1x_coco.yml) | +| ResNet50-vd-FPN | Mask | 1 | 2x | ---- | 41.4 | 37.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_2x_coco.yml) | +| ResNet101-FPN | Mask | 1 | 1x | ---- | 40.6 | 36.6 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r101_fpn_1x_coco.yml) | +| ResNet101-vd-FPN | Mask | 1 | 1x | ---- | 42.4 | 38.1 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r101_vd_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r101_vd_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Mask | 1 | 1x | ---- | 44.0 | 39.5 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_1x_coco.yml) | +| ResNeXt101-vd-FPN | Mask | 1 | 2x | ---- | 44.6 | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_x101_vd_64x4d_fpn_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -**注意:** Mask R-CNN模型精度依赖Paddle develop分支修改,精度复现须使用[每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)或2.0.1版本(将于2021.03发布),使用Paddle 2.0.0版本会有少量精度损失。 ## Citations ``` diff --git a/configs/pedestrian/README.md b/configs/pedestrian/README.md index fc7100b95..b5b91249e 100644 --- a/configs/pedestrian/README.md +++ b/configs/pedestrian/README.md @@ -5,7 +5,7 @@ We provide some models implemented by PaddlePaddle to detect objects in specific | Task | Algorithm | Box AP | Download | Configs | |:---------------------|:---------:|:------:| :-------------------------------------------------------------------------------------: |:------:| -| Pedestrian Detection | YOLOv3 | 51.8 | [model](https://paddledet.bj.bcebos.com/models/pedestrian_yolov3_darknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/pedestrian/pedestrian_yolov3_darknet.yml) | +| Pedestrian Detection | YOLOv3 | 51.8 | [model](https://paddledet.bj.bcebos.com/models/pedestrian_yolov3_darknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/pedestrian/pedestrian_yolov3_darknet.yml) | ## Pedestrian Detection @@ -17,7 +17,7 @@ The network for detecting vehicles is YOLOv3, the backbone of which is Dacknet53 ### 2. Configuration for training -PaddleDetection provides users with a configuration file [yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml) to train YOLOv3 on the COCO dataset, compared with this file, we modify some parameters as followed to conduct the training for pedestrian detection: +PaddleDetection provides users with a configuration file [yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) to train YOLOv3 on the COCO dataset, compared with this file, we modify some parameters as followed to conduct the training for pedestrian detection: * num_classes: 1 * dataset_dir: dataset/pedestrian @@ -45,6 +45,6 @@ python -u tools/infer.py -c configs/pedestrian/pedestrian_yolov3_darknet.yml \ Some inference results are visualized below: -![](https://github.com/PaddlePaddle/PaddleDetection/tree/master/docs/images/PedestrianDetection_001.png) +![](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/static/docs/images/PedestrianDetection_001.png) -![](https://github.com/PaddlePaddle/PaddleDetection/tree/master/docs/images/PedestrianDetection_004.png) +![](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/static/docs/images/PedestrianDetection_004.png) diff --git a/configs/pedestrian/README_cn.md b/configs/pedestrian/README_cn.md index 112c55806..3456670f6 100644 --- a/configs/pedestrian/README_cn.md +++ b/configs/pedestrian/README_cn.md @@ -5,7 +5,7 @@ | 任务 | 算法 | 精度(Box AP) | 下载 | 配置文件 | |:---------------------|:---------:|:------:| :---------------------------------------------------------------------------------: | :------:| -| 行人检测 | YOLOv3 | 51.8 | [下载链接](https://paddledet.bj.bcebos.com/models/pedestrian_yolov3_darknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/pedestrian/pedestrian_yolov3_darknet.yml) | +| 行人检测 | YOLOv3 | 51.8 | [下载链接](https://paddledet.bj.bcebos.com/models/pedestrian_yolov3_darknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/pedestrian/pedestrian_yolov3_darknet.yml) | ## 行人检测(Pedestrian Detection) @@ -18,7 +18,7 @@ Backbone为Dacknet53的YOLOv3。 ### 2. 训练参数配置 -PaddleDetection提供了使用COCO数据集对YOLOv3进行训练的参数配置文件[yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml),与之相比,在进行行人检测的模型训练时,我们对以下参数进行了修改: +PaddleDetection提供了使用COCO数据集对YOLOv3进行训练的参数配置文件[yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml),与之相比,在进行行人检测的模型训练时,我们对以下参数进行了修改: * num_classes: 1 * dataset_dir: dataset/pedestrian @@ -46,6 +46,6 @@ python -u tools/infer.py -c configs/pedestrian/pedestrian_yolov3_darknet.yml \ 预测结果示例: -![](../../../docs/images/PedestrianDetection_001.png) +![](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/static/docs/images/PedestrianDetection_001.png) -![](../../../docs/images/PedestrianDetection_004.png) +![](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/static/docs/images/PedestrianDetection_004.png) diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index bf9caca5c..422c68c4b 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -38,25 +38,25 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | backbone | input shape | Box APval | Box APtest | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | download | config | |:------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :-------------------: | :------------: | :---------------------: | :------: | :------: | -| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | **Notes:** - PP-YOLO is trained on COCO train2017 dataset and evaluated on val2017 & test-dev2017 dataset,Box APtest is evaluation results of `mAP(IoU=0.5:0.95)`. -- PP-YOLO used 8 GPUs for training and mini-batch size as 24 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md). +- PP-YOLO used 8 GPUs for training and mini-batch size as 24 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/static/docs/FAQ.md). - PP-YOLO inference speed is tesed on single Tesla V100 with batch size as 1, CUDA 10.2, CUDNN 7.5.1, TensorRT 5.1.2.2 in TensorRT mode. - PP-YOLO FP32 inference speed testing uses inference model exported by `tools/export_model.py` and benchmarked by running `depoly/python/infer.py` with `--run_benchmark`. All testing results do not contains the time cost of data reading and post-processing(NMS), which is same as [YOLOv4(AlexyAB)](https://github.com/AlexeyAB/darknet) in testing method. - TensorRT FP16 inference speed testing exclude the time cost of bounding-box decoding(`yolo_box`) part comparing with FP32 testing above, which means that data reading, bounding-box decoding and post-processing(NMS) is excluded(test method same as [YOLOv4(AlexyAB)](https://github.com/AlexeyAB/darknet) too) @@ -65,26 +65,26 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | Model Size | input shape | Box APval | Box AP50val | Kirin 990 1xCore(FPS) | download | config | |:----------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :--------------------: | :--------------------: | :------: | :------: | -| PP-YOLO_MobileNetV3_large | 4 | 32 | 28MB | 320 | 23.2 | 42.6 | 14.1 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_mbv3_large_coco.yml) | -| PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | +| PP-YOLO_MobileNetV3_large | 4 | 32 | 28MB | 320 | 23.2 | 42.6 | 14.1 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_mbv3_large_coco.yml) | +| PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | **Notes:** - PP-YOLO_MobileNetV3 is trained on COCO train2017 datast and evaluated on val2017 dataset,Box APval is evaluation results of `mAP(IoU=0.5:0.95)`, Box APval is evaluation results of `mAP(IoU=0.5)`. -- PP-YOLO_MobileNetV3 used 4 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md). +- PP-YOLO_MobileNetV3 used 4 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/static/docs/FAQ.md). - PP-YOLO_MobileNetV3 inference speed is tested on Kirin 990 with 1 thread. ### PP-YOLO tiny | Model | GPU number | images/GPU | Model Size | Post Quant Model Size | input shape | Box APval | Kirin 990 4xCore(FPS) | download | config | post quant model | |:----------------------------:|:-------:|:-------------:|:----------:| :-------------------: | :---------: | :------------------: | :-------------------: | :------: | :----: | :--------------: | -| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 320 | 20.6 | 92.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [inference model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | -| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 416 | 22.7 | 65.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [inference model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 320 | 20.6 | 92.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [inference model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 416 | 22.7 | 65.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [inference model](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | **Notes:** - PP-YOLO-tiny is trained on COCO train2017 datast and evaluated on val2017 dataset,Box APval is evaluation results of `mAP(IoU=0.5:0.95)`, Box APval is evaluation results of `mAP(IoU=0.5)`. -- PP-YOLO-tiny used 8 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md). +- PP-YOLO-tiny used 8 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/static/docs/FAQ.md). - PP-YOLO-tiny inference speed is tested on Kirin 990 with 4 threads by arm8 - we alse provide PP-YOLO-tiny post quant inference model, which can compress model to **1.3MB** with nearly no inference on inference speed and performance @@ -94,9 +94,9 @@ PP-YOLO trained on Pascal VOC dataset as follows: | Model | GPU number | images/GPU | backbone | input shape | Box AP50val | download | config | |:------------------:|:----------:|:----------:|:----------:| :----------:| :--------------------: | :------: | :-----: | -| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | ## Getting Start diff --git a/configs/rcnn_enhance/README.md b/configs/rcnn_enhance/README.md index a9e2250d9..c6bdf2e00 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.2 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_enhance_3x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/rcnn_enhance/faster_rcnn_enhance_3x_coco.yml) | diff --git a/configs/slim/README.md b/configs/slim/README.md index a4bb549dc..8609317df 100755 --- a/configs/slim/README.md +++ b/configs/slim/README.md @@ -12,12 +12,11 @@ ## 实验环境 - Python 3.7+ -- PaddlePaddle >= 2.0.0 +- PaddlePaddle >= 2.0.1 - PaddleSlim >= 2.0.0 - CUDA 9.0+ - cuDNN >=7.5 -**注意:** 量化训练需要依赖Paddle develop分支,可在[PaddlePaddle每日版本](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev)中下载安装合适的PaddlePaddle版本。 ## 快速开始 @@ -74,8 +73,8 @@ 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 | 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/release/2.0/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/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/slim/prune/yolov3_prune_l1_norm.yml) | - 目前剪裁支持YOLO系列、SSD、TTFNet、BlazeFace,其余模型正在开发支持中。 - SD855预测时延为使用PaddleLite部署,使用arm8架构并使用4线程(4 Threads)推理时延。 @@ -86,16 +85,16 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ | 模型 | 压缩策略 | 输入尺寸 | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | | ------------------ | ------------ | -------- | :---------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | -| YOLOv3-MobileNetV1 | baseline | 608 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | -| YOLOv3-MobileNetV1 | 普通在线量化 | 608 | 30.5 (+1.7) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/yolov3_mobilenet_v1_qat.yml) | -| 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) | -| 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) | - | -| Mask-ResNet50-FPN | 普通在线量化 | (800, 1333) | 39.7(+0.5)/35.9(+0.3) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/mask_rcnn_r50_fpn_1x_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml) | +| YOLOv3-MobileNetV1 | baseline | 608 | 28.8 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | +| YOLOv3-MobileNetV1 | 普通在线量化 | 608 | 30.5 (+1.7) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/slim/quant/yolov3_mobilenet_v1_qat.yml) | +| 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/release/2.0/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/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/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/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/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/release/2.0/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml) | - | +| Mask-ResNet50-FPN | 普通在线量化 | (800, 1333) | 39.7(+0.5)/35.9(+0.3) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/mask_rcnn_r50_fpn_1x_qat.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/slim/quant/mask_rcnn_r50_fpn_1x_qat.yml) | ### 蒸馏 @@ -104,8 +103,8 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ | 模型 | 压缩策略 | 输入尺寸 | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | | ------------------ | ------------ | -------- | :---------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | -| YOLOv3-MobileNetV1 | baseline | 608 | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | -| YOLOv3-MobileNetV1 | 蒸馏 | 608 | 31.0(+1.6) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml) | +| YOLOv3-MobileNetV1 | baseline | 608 | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | +| YOLOv3-MobileNetV1 | 蒸馏 | 608 | 31.0(+1.6) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/slim/distill/yolov3_mobilenet_v1_coco_distill.yml) | - 具体蒸馏方法请参考[蒸馏策略文档](distill/README.md) @@ -115,5 +114,5 @@ python tools/export_model.py -c configs/{MODEL.yml} --slim_config configs/slim/{ | 模型 | 压缩策略 | 输入尺寸 | GFLOPs | 模型体积(MB) | Box AP | 下载 | 模型配置文件 | 压缩算法配置文件 | | ------------------ | ------------ | -------- | :---------: |:---------: | :---------: |:----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | -| YOLOv3-MobileNetV1 | baseline | 608 | 24.65 | 94.6 | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | -| YOLOv3-MobileNetV1 | 蒸馏+剪裁 | 608 | 7.54(-69.4%) | 32.0(-66.0%) | 28.4(-1.0) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill_prune.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml) | +| YOLOv3-MobileNetV1 | baseline | 608 | 24.65 | 94.6 | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | - | +| YOLOv3-MobileNetV1 | 蒸馏+剪裁 | 608 | 7.54(-69.4%) | 32.0(-66.0%) | 28.4(-1.0) | [下载链接](https://paddledet.bj.bcebos.com/models/slim/yolov3_mobilenet_v1_coco_distill_prune.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/slim/extensions/yolov3_mobilenet_v1_coco_distill_prune.yml) | diff --git a/configs/solov2/README.md b/configs/solov2/README.md index e5bcc1c34..b3268df2e 100644 --- a/configs/solov2/README.md +++ b/configs/solov2/README.md @@ -19,8 +19,8 @@ SOLOv2 (Segmenting Objects by Locations) is a fast instance segmentation framewo | BlendMask | R50-FPN | True | 3x | 37.8 | 13.5 | V100 | - | - | | SOLOv2 (Paper) | R50-FPN | False | 1x | 34.8 | 18.5 | V100 | - | - | | SOLOv2 (Paper) | X101-DCN-FPN | True | 3x | 42.4 | 5.9 | V100 | - | - | -| SOLOv2 | R50-FPN | False | 1x | 35.5 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/solov2/solov2_r50_fpn_1x_coco.yml) | -| SOLOv2 | R50-FPN | True | 3x | 38.0 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_3x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/solov2/solov2_r50_fpn_3x_coco.yml) | +| SOLOv2 | R50-FPN | False | 1x | 35.5 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/solov2/solov2_r50_fpn_1x_coco.yml) | +| SOLOv2 | R50-FPN | True | 3x | 38.0 | 21.9 | V100 | [model](https://paddledet.bj.bcebos.com/models/solov2_r50_fpn_3x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/solov2/solov2_r50_fpn_3x_coco.yml) | **Notes:** diff --git a/configs/ttfnet/README.md b/configs/ttfnet/README.md index d3266637f..256b9e64f 100644 --- a/configs/ttfnet/README.md +++ b/configs/ttfnet/README.md @@ -13,7 +13,7 @@ TTFNet是一种用于实时目标检测且对训练时间友好的网络,对Ce | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| DarkNet53 | TTFNet | 12 | 1x | ---- | 33.5 | [下载链接](https://paddledet.bj.bcebos.com/models/ttfnet_darknet53_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ttfnet/ttfnet_darknet53_1x_coco.yml) | +| DarkNet53 | TTFNet | 12 | 1x | ---- | 33.5 | [下载链接](https://paddledet.bj.bcebos.com/models/ttfnet_darknet53_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ttfnet/ttfnet_darknet53_1x_coco.yml) | @@ -40,7 +40,7 @@ PAFNet系列模型从如下方面优化TTFNet模型: | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50vd | PAFNet | 18 | 10x | ---- | 42.2 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_10x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ttfnet/pafnet_10x_coco.yml) | +| ResNet50vd | PAFNet | 18 | 10x | ---- | 42.2 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_10x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ttfnet/pafnet_10x_coco.yml) | @@ -48,7 +48,7 @@ PAFNet系列模型从如下方面优化TTFNet模型: | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 | Box AP | 麒麟990延时(ms) | 体积(M) | 下载 | 配置文件 | | :-------------- | :------------- | :-----: | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| MobileNetv3 | PAFNet-Lite | 12 | 20x | 23.9 | 26.00 | 14 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_lite_mobilenet_v3_20x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ttfnet/pafnet_lite_mobilenet_v3_20x_coco.yml) | +| MobileNetv3 | PAFNet-Lite | 12 | 20x | 23.9 | 26.00 | 14 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_lite_mobilenet_v3_20x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ttfnet/pafnet_lite_mobilenet_v3_20x_coco.yml) | diff --git a/configs/vehicle/README.md b/configs/vehicle/README.md index 9219e9c1f..56e5e1982 100644 --- a/configs/vehicle/README.md +++ b/configs/vehicle/README.md @@ -1,11 +1,11 @@ -English | [简体中文](CONTRIB_cn.md) +English | [简体中文](README_cn.md) # PaddleDetection applied for specific scenarios We provide some models implemented by PaddlePaddle to detect objects in specific scenarios, users can download the models and use them in these scenarios. | Task | Algorithm | Box AP | Download | Configs | |:---------------------|:---------:|:------:| :-------------------------------------------------------------------------------------: |:------:| -| Vehicle Detection | YOLOv3 | 54.5 | [model](https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/vehicle/vehicle_yolov3_darknet.yml) | +| Vehicle Detection | YOLOv3 | 54.5 | [model](https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/vehicle/vehicle_yolov3_darknet.yml) | ## Vehicle Detection @@ -17,7 +17,7 @@ The network for detecting vehicles is YOLOv3, the backbone of which is Dacknet53 ### 2. Configuration for training -PaddleDetection provides users with a configuration file [yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml) to train YOLOv3 on the COCO dataset, compared with this file, we modify some parameters as followed to conduct the training for vehicle detection: +PaddleDetection provides users with a configuration file [yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) to train YOLOv3 on the COCO dataset, compared with this file, we modify some parameters as followed to conduct the training for vehicle detection: * num_classes: 6 * anchors: [[8, 9], [10, 23], [19, 15], [23, 33], [40, 25], [54, 50], [101, 80], [139, 145], [253, 224]] @@ -48,6 +48,6 @@ python -u tools/infer.py -c configs/vehicle/vehicle_yolov3_darknet.yml \ Some inference results are visualized below: -![](https://github.com/PaddlePaddle/PaddleDetection/tree/master/docs/images/VehicleDetection_001.jpeg) +![](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/static/docs/images/VehicleDetection_001.jpeg) -![](https://github.com/PaddlePaddle/PaddleDetection/tree/master/docs/images/VehicleDetection_005.png) +![](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/static/docs/images/VehicleDetection_005.png) diff --git a/configs/vehicle/README_cn.md b/configs/vehicle/README_cn.md index 9a030fdc2..5fd7f66a0 100644 --- a/configs/vehicle/README_cn.md +++ b/configs/vehicle/README_cn.md @@ -1,11 +1,11 @@ -[English](CONTRIB.md) | 简体中文 +[English](README.md) | 简体中文 # 特色垂类检测模型 我们提供了针对不同场景的基于PaddlePaddle的检测模型,用户可以下载模型进行使用。 | 任务 | 算法 | 精度(Box AP) | 下载 | 配置文件 | |:---------------------|:---------:|:------:| :---------------------------------------------------------------------------------: | :------:| -| 车辆检测 | YOLOv3 | 54.5 | [下载链接](https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/vehicle/vehicle_yolov3_darknet.yml) | +| 车辆检测 | YOLOv3 | 54.5 | [下载链接](https://paddledet.bj.bcebos.com/models/vehicle_yolov3_darknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/vehicle/vehicle_yolov3_darknet.yml) | ## 车辆检测(Vehicle Detection) @@ -18,7 +18,7 @@ Backbone为Dacknet53的YOLOv3。 ### 2. 训练参数配置 -PaddleDetection提供了使用COCO数据集对YOLOv3进行训练的参数配置文件[yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/master/dygraph/configs/yolov3/yolov3_darknet53_270e_coco.yml),与之相比,在进行车辆检测的模型训练时,我们对以下参数进行了修改: +PaddleDetection提供了使用COCO数据集对YOLOv3进行训练的参数配置文件[yolov3_darknet53_270e_coco.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml),与之相比,在进行车辆检测的模型训练时,我们对以下参数进行了修改: * num_classes: 6 * anchors: [[8, 9], [10, 23], [19, 15], [23, 33], [40, 25], [54, 50], [101, 80], [139, 145], [253, 224]] @@ -49,6 +49,6 @@ python -u tools/infer.py -c configs/vehicle/vehicle_yolov3_darknet.yml \ 预测结果示例: -![](https://github.com/PaddlePaddle/PaddleDetection/tree/master/docs/images/VehicleDetection_001.jpeg) +![](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/static/docs/images/VehicleDetection_001.jpeg) -![](https://github.com/PaddlePaddle/PaddleDetection/tree/master/docs/images/VehicleDetection_005.png) +![](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/static/docs/images/VehicleDetection_005.png) diff --git a/deploy/serving/README.md b/deploy/serving/README.md index 812c03044..38393bf36 100644 --- a/deploy/serving/README.md +++ b/deploy/serving/README.md @@ -13,7 +13,7 @@ python tools/infer.py -c --infer_img=demo/000000014439.jpg -o use_gpu=True weig 请参考[PaddleServing](https://github.com/PaddlePaddle/Serving/tree/v0.5.0) 中安装教程安装 ## 3. 导出模型 -PaddleDetection在训练过程包括网络的前向和优化器相关参数,而在部署过程中,我们只需要前向参数,具体参考:[导出模型](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/advanced_tutorials/deploy/EXPORT_MODEL.md) +PaddleDetection在训练过程包括网络的前向和优化器相关参数,而在部署过程中,我们只需要前向参数,具体参考:[导出模型](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/docs/advanced_tutorials/deploy/EXPORT_MODEL.md) ``` python tools/export_model.py -c configs/yolov3/yolov3_darknet53_270e_coco.yml -o weights=weights/yolov3_darknet53_270e_coco.pdparams --export_serving_model=True diff --git a/docs/MODEL_ZOO_cn.md b/docs/MODEL_ZOO_cn.md index 5d17e809d..80db6f2dc 100644 --- a/docs/MODEL_ZOO_cn.md +++ b/docs/MODEL_ZOO_cn.md @@ -30,36 +30,36 @@ Paddle提供基于ImageNet的骨架网络预训练模型。所有预训练模型 ### Faster R-CNN -请参考[Faster R-CNN](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/faster_rcnn/) +请参考[Faster R-CNN](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/) ### Mask R-CNN -请参考[Mask R-CNN](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/mask_rcnn/) +请参考[Mask R-CNN](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/) ### Cascade R-CNN -请参考[Cascade R-CNN](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/cascade_rcnn/) +请参考[Cascade R-CNN](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/) ### YOLOv3 -请参考[YOLOv3](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/yolov3/) +请参考[YOLOv3](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/) ### SSD -请参考[SSD](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ssd/) +请参考[SSD](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ssd/) ### FCOS -请参考[FCOS](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/fcos/) +请参考[FCOS](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/) ### SOLOv2 -请参考[SOLOv2](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/solov2/) +请参考[SOLOv2](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/solov2/) ### PP-YOLO -请参考[PP-YOLO](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ppyolo/) +请参考[PP-YOLO](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/) ### TTFNet -请参考[TTFNet](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/ttfnet/) +请参考[TTFNet](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ttfnet/) diff --git a/docs/feature_models/SSLD_PRETRAINED_MODEL.md b/docs/feature_models/SSLD_PRETRAINED_MODEL.md index 50c26c5d1..3f42a0c0a 100644 --- a/docs/feature_models/SSLD_PRETRAINED_MODEL.md +++ b/docs/feature_models/SSLD_PRETRAINED_MODEL.md @@ -6,34 +6,34 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 | | :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [下载链接](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [下载链接](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | ### YOLOv3 on COCO | 骨架网络 | 输入尺寸 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :----------------- | :-------- | :-----------: | :------: | :---------: | :----: | :----------------------------------------------------: | :-----: | -| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | -| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | -| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | ### YOLOv3 on Pasacl VOC | 骨架网络 | 输入尺寸 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :----------------- | :-------- | :-----------: | :------: | :---------: | :----: | :----------------------------------------------------: | :-----: | -| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | **注意事项:** diff --git a/docs/feature_models/SSLD_PRETRAINED_MODEL_en.md b/docs/feature_models/SSLD_PRETRAINED_MODEL_en.md index 70f52db9c..efa24c211 100644 --- a/docs/feature_models/SSLD_PRETRAINED_MODEL_en.md +++ b/docs/feature_models/SSLD_PRETRAINED_MODEL_en.md @@ -6,33 +6,33 @@ English | [简体中文](SSLD_PRETRAINED_MODEL.md) | Backbone | Model | Images/GPU | Lr schd | FPS | Box AP | Mask AP | Download | Config | | :------------------- | :------------| :-----: | :-----: | :------------: | :-----: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [model](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [model](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [model](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [model](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [model](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | -| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [model](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 1x | ---- | 41.4 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Faster | 1 | 2x | ---- | 42.3 | - | [model](https://paddledet.bj.bcebos.com/models/faster_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/faster_rcnn/faster_rcnn_r50_vd_ssld_fpn_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 1x | ---- | 42.0 | 38.2 | [model](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Mask | 1 | 2x | ---- | 42.7 | 38.9 | [model](https://paddledet.bj.bcebos.com/models/mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/mask_rcnn/mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 1x | ---- | 44.4 | - | [model](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Faster | 1 | 2x | ---- | 45.0 | - | [model](https://paddledet.bj.bcebos.com/models/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 1x | ---- | 44.9 | 39.1 | [model](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_1x_coco.yml) | +| ResNet50-vd-SSLDv2-FPN | Cascade Mask | 1 | 2x | ---- | 45.7 | 39.7 | [model](https://paddledet.bj.bcebos.com/models/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/cascade_rcnn/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco.yml) | ### YOLOv3 on COCO | Backbone | Input shape | Images/GPU | Lr schd | FPS | Box AP | Download | Config | | :----------------- | :-------- | :-----------: | :------: | :---------: | :----: | :----------------------------------------------------: | :-----: | -| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | -| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | -| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | ### YOLOv3 on Pasacl VOC | Backbone | Input shape | Images/GPU | Lr schd | FPS | Box AP | Download | Config | | :----------------- | :-------- | :-----------: | :------: | :---------: | :----: | :----------------------------------------------------: | :-----: | -| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [model](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | **Notes:** diff --git a/docs/tutorials/INSTALL.md b/docs/tutorials/INSTALL.md index 243140129..874bdca09 100644 --- a/docs/tutorials/INSTALL.md +++ b/docs/tutorials/INSTALL.md @@ -5,7 +5,7 @@ English | [简体中文](INSTALL_cn.md) This document covers how to install PaddleDetection and its dependencies. -For general information about PaddleDetection, please see [README.md](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/). +For general information about PaddleDetection, please see [README.md](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0). ## Requirements: diff --git a/docs/tutorials/INSTALL_cn.md b/docs/tutorials/INSTALL_cn.md index 2b0905ceb..facf2568e 100644 --- a/docs/tutorials/INSTALL_cn.md +++ b/docs/tutorials/INSTALL_cn.md @@ -5,7 +5,7 @@ 本文档包含了如何安装PaddleDetection以及相关依赖 -其他更多PaddleDetection信息,请参考[README.md](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/). +其他更多PaddleDetection信息,请参考[README.md](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0). ## 环境要求 diff --git a/ppdet/data/source/dataset.py b/ppdet/data/source/dataset.py index 6ca027301..96b81326a 100644 --- a/ppdet/data/source/dataset.py +++ b/ppdet/data/source/dataset.py @@ -77,7 +77,11 @@ class DetDataset(Dataset): copy.deepcopy(self.roidbs[np.random.randint(n)]) for _ in range(3) ] - roidb['curr_iter'] = self._curr_iter + if isinstance(roidb, Sequence): + for r in roidb: + r['curr_iter'] = self._curr_iter + else: + roidb['curr_iter'] = self._curr_iter self._curr_iter += 1 return self.transform(roidb) diff --git a/ppdet/modeling/heads/ttf_head.py b/ppdet/modeling/heads/ttf_head.py index fbf10eb24..2a676fc7f 100644 --- a/ppdet/modeling/heads/ttf_head.py +++ b/ppdet/modeling/heads/ttf_head.py @@ -72,8 +72,7 @@ class HMHead(nn.Layer): in_channels=ch_in if i == 0 else ch_out, out_channels=ch_out, kernel_size=3, - weight_attr=ParamAttr(initializer=Normal(0, 0.01)), - name='hm.' + name)) + weight_attr=ParamAttr(initializer=Normal(0, 0.01)))) else: head_conv.add_sublayer( name, @@ -151,8 +150,7 @@ class WHHead(nn.Layer): in_channels=ch_in if i == 0 else ch_out, out_channels=ch_out, kernel_size=3, - weight_attr=ParamAttr(initializer=Normal(0, 0.01)), - name='wh.' + name)) + weight_attr=ParamAttr(initializer=Normal(0, 0.01)))) else: head_conv.add_sublayer( name, -- Gitee From 143e22d847da0732c2783ef0f16d14bf63b72e62 Mon Sep 17 00:00:00 2001 From: cnn Date: Fri, 16 Apr 2021 14:01:16 +0800 Subject: [PATCH 48/90] fix bug of import and update doc (#2643) --- configs/dota/README.md | 9 ++------- ppdet/data/transform/batch_operators.py | 1 + ppdet/data/transform/operators.py | 1 + 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/configs/dota/README.md b/configs/dota/README.md index 07521d195..250d0bc9a 100644 --- a/configs/dota/README.md +++ b/configs/dota/README.md @@ -54,11 +54,6 @@ DOTA数据集中总共有2806张图像,其中1411张图像作为训练集,45 sudo nvidia-docker run -it --name paddle_s2anet -v $PWD:/paddle --network=host registry.baidubce.com/paddlepaddle/paddle:2.0.1-gpu-cuda10.1-cudnn7 /bin/bash ``` -进入容器后,安装必要的python包: -``` -python3.7 -m pip install Cython wheel tqdm opencv-python==4.2.0.32 scipy PyYAML shapely pycocotools -``` - 镜像中paddle2.0.1已安装好,进入python3.7,执行如下代码检查paddle安装是否正常: ``` import paddle @@ -66,7 +61,7 @@ print(paddle.__version__) paddle.utils.run_check() ``` -进入到`ext_op`文件夹,安装: +进入到`ppdet/ext_op`文件夹,安装: ``` python3.7 setup.py install ``` @@ -96,7 +91,7 @@ Paddle中`multiclass_nms`算子的输入支持四边形输入,因此部署时 ```bash # 预测 -CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/dota/s2anet_1x_dota.yml -o weights=model.pdparams --infer_img=demo/P0072__1.0__0___0.png --use_gpu=True +CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/dota/s2anet_1x_dota.yml -o weights=model.pdparams --infer_img=demo/P0072__1.0__0___0.png ``` diff --git a/ppdet/data/transform/batch_operators.py b/ppdet/data/transform/batch_operators.py index e11c48980..85639c31d 100644 --- a/ppdet/data/transform/batch_operators.py +++ b/ppdet/data/transform/batch_operators.py @@ -27,6 +27,7 @@ from .operators import register_op, BaseOperator, Resize from .op_helper import jaccard_overlap, gaussian2D from scipy import ndimage +from ppdet.modeling import bbox_utils from ppdet.utils.logger import setup_logger logger = setup_logger(__name__) diff --git a/ppdet/data/transform/operators.py b/ppdet/data/transform/operators.py index 65608f367..932c7971f 100644 --- a/ppdet/data/transform/operators.py +++ b/ppdet/data/transform/operators.py @@ -39,6 +39,7 @@ from PIL import Image, ImageEnhance, ImageDraw from ppdet.core.workspace import serializable from ppdet.modeling.layers import AnchorGrid +from ppdet.modeling import bbox_utils from .op_helper import (satisfy_sample_constraint, filter_and_process, generate_sample_bbox, clip_bbox, data_anchor_sampling, -- Gitee From cb20bef6509b7b20fd285e30d315859b2da110d4 Mon Sep 17 00:00:00 2001 From: cnn Date: Fri, 16 Apr 2021 14:01:47 +0800 Subject: [PATCH 49/90] fix stride data type (#2645) --- configs/faster_rcnn/_base_/faster_reader.yml | 8 ++++++-- configs/mask_rcnn/_base_/mask_reader.yml | 10 +++++++++- static/configs/faster_reader.yml | 2 +- static/configs/mask_reader.yml | 2 +- static/configs/mask_reader_cocome.yml | 2 +- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/configs/faster_rcnn/_base_/faster_reader.yml b/configs/faster_rcnn/_base_/faster_reader.yml index c1be1de4c..eaeae9b0a 100644 --- a/configs/faster_rcnn/_base_/faster_reader.yml +++ b/configs/faster_rcnn/_base_/faster_reader.yml @@ -7,7 +7,7 @@ TrainReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: - - PadBatch: {pad_to_stride: -1., pad_gt: true} + - PadBatch: {pad_to_stride: -1, pad_gt: true} batch_size: 1 shuffle: true drop_last: true @@ -20,7 +20,7 @@ EvalReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: - - PadBatch: {pad_to_stride: -1., pad_gt: false} + - PadBatch: {pad_to_stride: -1, pad_gt: false} batch_size: 1 shuffle: false drop_last: false @@ -34,7 +34,11 @@ TestReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: +<<<<<<< HEAD - PadBatch: {pad_to_stride: -1., pad_gt: false} +======= + - PadBatch: {pad_to_stride: -1} +>>>>>>> 0fc9950... fix stride data type batch_size: 1 shuffle: false drop_last: false diff --git a/configs/mask_rcnn/_base_/mask_reader.yml b/configs/mask_rcnn/_base_/mask_reader.yml index 22ef9f44b..c6d4478c8 100644 --- a/configs/mask_rcnn/_base_/mask_reader.yml +++ b/configs/mask_rcnn/_base_/mask_reader.yml @@ -7,7 +7,7 @@ TrainReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: - - PadBatch: {pad_to_stride: -1., pad_gt: true} + - PadBatch: {pad_to_stride: -1, pad_gt: true} batch_size: 1 shuffle: true drop_last: true @@ -20,7 +20,11 @@ EvalReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: +<<<<<<< HEAD - PadBatch: {pad_to_stride: -1., pad_gt: false} +======= + - PadBatch: {pad_to_stride: -1} +>>>>>>> 0fc9950... fix stride data type batch_size: 1 shuffle: false drop_last: false @@ -34,7 +38,11 @@ TestReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: +<<<<<<< HEAD - PadBatch: {pad_to_stride: -1., pad_gt: false} +======= + - PadBatch: {pad_to_stride: -1} +>>>>>>> 0fc9950... fix stride data type batch_size: 1 shuffle: false drop_last: false diff --git a/static/configs/faster_reader.yml b/static/configs/faster_reader.yml index 26835d4c6..3099bb656 100644 --- a/static/configs/faster_reader.yml +++ b/static/configs/faster_reader.yml @@ -26,7 +26,7 @@ TrainReader: channel_first: true batch_transforms: - !PadBatch - pad_to_stride: -1. + pad_to_stride: -1 use_padded_im_info: false batch_size: 1 shuffle: true diff --git a/static/configs/mask_reader.yml b/static/configs/mask_reader.yml index 31742f205..165a09b82 100644 --- a/static/configs/mask_reader.yml +++ b/static/configs/mask_reader.yml @@ -27,7 +27,7 @@ TrainReader: channel_first: true batch_transforms: - !PadBatch - pad_to_stride: -1. + pad_to_stride: -1 use_padded_im_info: false batch_size: 1 shuffle: true diff --git a/static/configs/mask_reader_cocome.yml b/static/configs/mask_reader_cocome.yml index a7760a162..1b44491c5 100644 --- a/static/configs/mask_reader_cocome.yml +++ b/static/configs/mask_reader_cocome.yml @@ -27,7 +27,7 @@ TrainReader: channel_first: true batch_transforms: - !PadBatch - pad_to_stride: -1. + pad_to_stride: -1 use_padded_im_info: false batch_size: 1 shuffle: true -- Gitee From ca9ed8edcf667bfb63a9223a8c0df7da2afd4541 Mon Sep 17 00:00:00 2001 From: Feng Ni Date: Fri, 16 Apr 2021 22:17:22 +0800 Subject: [PATCH 50/90] fix yolo config modelzoo, test=document_fix (#2664) --- configs/ppyolo/_base_/ppyolo_mbv3_large.yml | 2 +- configs/ppyolo/_base_/ppyolo_mbv3_small.yml | 2 +- configs/yolov3/README.md | 12 +++++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/configs/ppyolo/_base_/ppyolo_mbv3_large.yml b/configs/ppyolo/_base_/ppyolo_mbv3_large.yml index dc84ae75c..0faaa9a9a 100644 --- a/configs/ppyolo/_base_/ppyolo_mbv3_large.yml +++ b/configs/ppyolo/_base_/ppyolo_mbv3_large.yml @@ -18,7 +18,7 @@ MobileNetV3: feature_maps: [13, 16] PPYOLOFPN: - feat_channels: [160, 368] + in_channels: [160, 368] coord_conv: true conv_block_num: 0 spp: true diff --git a/configs/ppyolo/_base_/ppyolo_mbv3_small.yml b/configs/ppyolo/_base_/ppyolo_mbv3_small.yml index 7e3a30c9a..dda938298 100644 --- a/configs/ppyolo/_base_/ppyolo_mbv3_small.yml +++ b/configs/ppyolo/_base_/ppyolo_mbv3_small.yml @@ -18,7 +18,7 @@ MobileNetV3: feature_maps: [9, 12] PPYOLOFPN: - feat_channels: [96, 304] + in_channels: [96, 304] coord_conv: true conv_block_num: 0 spp: true diff --git a/configs/yolov3/README.md b/configs/yolov3/README.md index bbdbd1b05..fff7935e3 100644 --- a/configs/yolov3/README.md +++ b/configs/yolov3/README.md @@ -13,6 +13,8 @@ | DarkNet53 | 416 | 8 | 270e | ---- | 37.5 | [下载链接](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) | | DarkNet53 | 320 | 8 | 270e | ---- | 34.6 | [下载链接](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) | | ResNet50_vd | 608 | 8 | 270e | ---- | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | +| ResNet50_vd | 416 | 8 | 270e | ---- | 36.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | +| ResNet50_vd | 320 | 8 | 270e | ---- | 33.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | | ResNet34 | 608 | 8 | 270e | ---- | 36.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | | ResNet34 | 416 | 8 | 270e | ---- | 34.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | | ResNet34 | 320 | 8 | 270e | ---- | 31.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | @@ -20,8 +22,8 @@ | MobileNet-V1 | 416 | 8 | 270e | ---- | 29.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | | MobileNet-V1 | 320 | 8 | 270e | ---- | 27.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | | MobileNet-V3 | 608 | 8 | 270e | ---- | 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) | -| MobileNet-V3 | 416 | 8 | 270e | ---- | 29.7 | [下载链接](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) | -| MobileNet-V3 | 320 | 8 | 270e | ---- | 26.9 | [下载链接](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) | +| MobileNet-V3 | 416 | 8 | 270e | ---- | 29.6 | [下载链接](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) | +| MobileNet-V3 | 320 | 8 | 270e | ---- | 27.1 | [下载链接](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) | | MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | | MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | | MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | @@ -30,9 +32,9 @@ | 骨架网络 | 输入尺寸 | 每张GPU图片个数 | 学习率策略 |推理时间(fps)| Box AP | 下载 | 配置文件 | | :----------- | :--: | :-----: | :-----: |:------------: |:----: | :-------: | :----: | -| MobileNet-V1 | 608 | 8 | 270e | - | 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) | -| MobileNet-V1 | 416 | 8 | 270e | - | 76.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) | -| MobileNet-V1 | 320 | 8 | 270e | - | 73.6 | [下载链接](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) | +| MobileNet-V1 | 608 | 8 | 270e | - | 75.2 | [下载链接](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) | +| MobileNet-V1 | 416 | 8 | 270e | - | 76.2 | [下载链接](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) | +| MobileNet-V1 | 320 | 8 | 270e | - | 74.3 | [下载链接](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) | | MobileNet-V3 | 608 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | | MobileNet-V3 | 416 | 8 | 270e | - | 78.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | | MobileNet-V3 | 320 | 8 | 270e | - | 76.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | -- Gitee From 9ef7c35fefb19ceb90dbac5d6eaf406ea36e533d Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Fri, 16 Apr 2021 22:25:19 +0800 Subject: [PATCH 51/90] fix some docs error (#2665) --- configs/rcnn_enhance/README.md | 2 +- configs/slim/README.md | 17 ++++++++++++++-- docs/tutorials/QUICK_STARTED_cn.md | 2 +- ppdet/utils/checkpoint.py | 32 ------------------------------ tools/train.py | 2 +- 5 files changed, 18 insertions(+), 37 deletions(-) diff --git a/configs/rcnn_enhance/README.md b/configs/rcnn_enhance/README.md index c6bdf2e00..4a53da5b8 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/release/2.0/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/release/2.0/configs/rcnn_enhance/faster_rcnn_enhance_3x_coco.yml) | diff --git a/configs/slim/README.md b/configs/slim/README.md index 8609317df..8a07b0852 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/release/2.0/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/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/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/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/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/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/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/release/2.0/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml) | [slim配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/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/release/2.0/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 4bcb933b4..2b5212af1 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 ba6587e74..998a0747c 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 3a7d4f69f..b0c49966e 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 -- Gitee From 6ab3856f50879f5565815a478b0a6f4e97aa2491 Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Fri, 16 Apr 2021 22:28:02 +0800 Subject: [PATCH 52/90] modify ppyolo docs, test=document_fix (#2667) --- configs/ppyolo/README.md | 30 +++++++++++++++--------------- configs/ppyolo/README_cn.md | 8 ++++---- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index 422c68c4b..87788f174 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -38,19 +38,19 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | backbone | input shape | Box APval | Box APtest | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | download | config | |:------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :-------------------: | :------------: | :---------------------: | :------: | :------: | -| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | 68.9 | 106.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.3 | 49.5 | 87.0 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | **Notes:** @@ -140,10 +140,10 @@ Inference images in single GPU with following commands, use `--infer_img` to inf ```bash # inference single image -CUDA_VISIBLE_DEVICES=0 python tools/infer.py configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_img=../demo/000000014439_640x640.jpg +CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_img=demo/000000014439_640x640.jpg # inference all images in the directory -CUDA_VISIBLE_DEVICES=0 python tools/infer.py configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_dir=../demo +CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_dir=demo ``` ### 4. Inferece deployment diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index ae89fd7e3..1b59c9198 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -49,8 +49,8 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | | PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | | PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | 68.9 | 106.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.3 | 49.5 | 87.0 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | **注意:** @@ -124,10 +124,10 @@ CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/ppyolo/ppyolo_test.yml -o ```bash # 推理单张图像 -CUDA_VISIBLE_DEVICES=0 python tools/infer.py configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_img=../demo/000000014439_640x640.jpg +CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_img=demo/000000014439_640x640.jpg # 推理目录下所有图像 -CUDA_VISIBLE_DEVICES=0 python tools/infer.py configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_dir=../demo +CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_dir=demo ``` ### 4. 推理部署 -- Gitee From 9fdcfbb1b1129881b777d67ba44bc9a02130aa4c Mon Sep 17 00:00:00 2001 From: Feng Ni Date: Fri, 16 Apr 2021 22:44:57 +0800 Subject: [PATCH 53/90] remove name and norm_name in head and fpn (#2660) --- configs/fcos/_base_/fcos_r50_fpn.yml | 1 - ppdet/modeling/backbones/darknet.py | 34 ++++-------- ppdet/modeling/heads/bbox_head.py | 4 +- ppdet/modeling/heads/fcos_head.py | 38 ++++++++------ ppdet/modeling/heads/mask_head.py | 21 ++++---- ppdet/modeling/heads/solov2_head.py | 40 +++++---------- ppdet/modeling/heads/ssd_head.py | 21 +++----- ppdet/modeling/heads/ttf_head.py | 49 +++++++++--------- ppdet/modeling/heads/yolo_head.py | 2 - ppdet/modeling/layers.py | 77 ++++++++++++---------------- ppdet/modeling/necks/fpn.py | 12 ++--- ppdet/modeling/necks/ttf_fpn.py | 38 +++++--------- ppdet/modeling/necks/yolo_fpn.py | 12 ++--- ppdet/modeling/ops.py | 2 - 14 files changed, 138 insertions(+), 213 deletions(-) diff --git a/configs/fcos/_base_/fcos_r50_fpn.yml b/configs/fcos/_base_/fcos_r50_fpn.yml index 1124082ee..64a275d88 100644 --- a/configs/fcos/_base_/fcos_r50_fpn.yml +++ b/configs/fcos/_base_/fcos_r50_fpn.yml @@ -47,7 +47,6 @@ FCOSPostProcess: decode: name: FCOSBox num_classes: 80 - batch_size: 1 nms: name: MultiClassNMS nms_top_k: 1000 diff --git a/ppdet/modeling/backbones/darknet.py b/ppdet/modeling/backbones/darknet.py index 13af903d4..8d3d07a25 100755 --- a/ppdet/modeling/backbones/darknet.py +++ b/ppdet/modeling/backbones/darknet.py @@ -35,8 +35,8 @@ class ConvBNLayer(nn.Layer): norm_type='bn', norm_decay=0., act="leaky", - name=None, - data_format='NCHW'): + data_format='NCHW', + name=''): """ conv + bn + activation layer @@ -50,7 +50,6 @@ class ConvBNLayer(nn.Layer): norm_type (str): batch norm type, default bn norm_decay (str): decay for weight and bias of batch norm layer, default 0. act (str): activation function type, default 'leaky', which means leaky_relu - name (str): layer name data_format (str): data format, NCHW or NHWC """ super(ConvBNLayer, self).__init__() @@ -68,7 +67,6 @@ class ConvBNLayer(nn.Layer): ch_out, norm_type=norm_type, norm_decay=norm_decay, - name=name, data_format=data_format) self.act = act @@ -91,7 +89,6 @@ class DownSample(nn.Layer): padding=1, norm_type='bn', norm_decay=0., - name=None, data_format='NCHW'): """ downsample layer @@ -104,7 +101,6 @@ class DownSample(nn.Layer): padding (int): padding size, default 1 norm_type (str): batch norm type, default bn norm_decay (str): decay for weight and bias of batch norm layer, default 0. - name (str): layer name data_format (str): data format, NCHW or NHWC """ @@ -118,8 +114,7 @@ class DownSample(nn.Layer): padding=padding, norm_type=norm_type, norm_decay=norm_decay, - data_format=data_format, - name=name) + data_format=data_format) self.ch_out = ch_out def forward(self, inputs): @@ -133,7 +128,6 @@ class BasicBlock(nn.Layer): ch_out, norm_type='bn', norm_decay=0., - name=None, data_format='NCHW'): """ BasicBlock layer of DarkNet @@ -143,7 +137,6 @@ class BasicBlock(nn.Layer): ch_out (int): output channel norm_type (str): batch norm type, default bn norm_decay (str): decay for weight and bias of batch norm layer, default 0. - name (str): layer name data_format (str): data format, NCHW or NHWC """ @@ -157,8 +150,7 @@ class BasicBlock(nn.Layer): padding=0, norm_type=norm_type, norm_decay=norm_decay, - data_format=data_format, - name=name + '.0') + data_format=data_format) self.conv2 = ConvBNLayer( ch_in=ch_out, ch_out=ch_out * 2, @@ -167,8 +159,7 @@ class BasicBlock(nn.Layer): padding=1, norm_type=norm_type, norm_decay=norm_decay, - data_format=data_format, - name=name + '.1') + data_format=data_format) def forward(self, inputs): conv1 = self.conv1(inputs) @@ -205,8 +196,7 @@ class Blocks(nn.Layer): ch_out, norm_type=norm_type, norm_decay=norm_decay, - data_format=data_format, - name=name + '.0') + data_format=data_format) self.res_out_list = [] for i in range(1, count): block_name = '{}.{}'.format(name, i) @@ -217,8 +207,7 @@ class Blocks(nn.Layer): ch_out, norm_type=norm_type, norm_decay=norm_decay, - data_format=data_format, - name=block_name)) + data_format=data_format)) self.res_out_list.append(res_out) self.ch_out = ch_out @@ -272,16 +261,14 @@ class DarkNet(nn.Layer): padding=1, norm_type=norm_type, norm_decay=norm_decay, - data_format=data_format, - name='yolo_input') + data_format=data_format) self.downsample0 = DownSample( ch_in=32, ch_out=32 * 2, norm_type=norm_type, norm_decay=norm_decay, - data_format=data_format, - name='yolo_input.downsample') + data_format=data_format) self._out_channels = [] self.darknet_conv_block_list = [] @@ -311,8 +298,7 @@ class DarkNet(nn.Layer): ch_out=32 * (2**(i + 2)), norm_type=norm_type, norm_decay=norm_decay, - data_format=data_format, - name=down_name)) + data_format=data_format)) self.downsample_list.append(downsample) def forward(self, inputs): diff --git a/ppdet/modeling/heads/bbox_head.py b/ppdet/modeling/heads/bbox_head.py index 26b81d18e..09796372e 100644 --- a/ppdet/modeling/heads/bbox_head.py +++ b/ppdet/modeling/heads/bbox_head.py @@ -126,10 +126,8 @@ class XConvNormHead(nn.Layer): filter_size=3, stride=1, norm_type=self.norm_type, - norm_name=head_conv_name + '_norm', freeze_norm=self.freeze_norm, - initializer=initializer, - name=head_conv_name)) + initializer=initializer)) self.bbox_head_convs.append(head_conv) fan = conv_dim * resolution * resolution diff --git a/ppdet/modeling/heads/fcos_head.py b/ppdet/modeling/heads/fcos_head.py index 1776d8c38..3b8fd7f78 100644 --- a/ppdet/modeling/heads/fcos_head.py +++ b/ppdet/modeling/heads/fcos_head.py @@ -28,6 +28,10 @@ from ppdet.modeling.layers import ConvNormLayer class ScaleReg(nn.Layer): + """ + Parameter for scaling the regression outputs. + """ + def __init__(self): super(ScaleReg, self).__init__() self.scale_reg = self.create_parameter( @@ -77,10 +81,8 @@ class FCOSFeat(nn.Layer): stride=1, norm_type=norm_type, use_dcn=use_dcn, - norm_name=cls_conv_name + '_norm', bias_on=True, - lr_scale=2., - name=cls_conv_name)) + lr_scale=2.)) self.cls_subnet_convs.append(cls_conv) reg_conv_name = 'fcos_head_reg_tower_conv_{}'.format(i) @@ -93,10 +95,8 @@ class FCOSFeat(nn.Layer): stride=1, norm_type=norm_type, use_dcn=use_dcn, - norm_name=reg_conv_name + '_norm', bias_on=True, - lr_scale=2., - name=reg_conv_name)) + lr_scale=2.)) self.reg_subnet_convs.append(reg_conv) def forward(self, fpn_feat): @@ -113,12 +113,13 @@ class FCOSHead(nn.Layer): """ FCOSHead Args: - num_classes(int): Number of classes - fpn_stride(list): The stride of each FPN Layer - prior_prob(float): Used to set the bias init for the class prediction layer - fcos_loss(object): Instance of 'FCOSLoss' - norm_reg_targets(bool): Normalization the regression target if true - centerness_on_reg(bool): The prediction of centerness on regression or clssification branch + fcos_feat (object): Instance of 'FCOSFeat' + num_classes (int): Number of classes + fpn_stride (list): The stride of each FPN Layer + prior_prob (float): Used to set the bias init for the class prediction layer + fcos_loss (object): Instance of 'FCOSLoss' + norm_reg_targets (bool): Normalization the regression target if true + centerness_on_reg (bool): The prediction of centerness on regression or clssification branch """ __inject__ = ['fcos_feat', 'fcos_loss'] __shared__ = ['num_classes'] @@ -199,7 +200,15 @@ class FCOSHead(nn.Layer): scale_reg = self.add_sublayer(feat_name, ScaleReg()) self.scales_regs.append(scale_reg) - def _compute_locatioins_by_level(self, fpn_stride, feature): + def _compute_locations_by_level(self, fpn_stride, feature): + """ + Compute locations of anchor points of each FPN layer + Args: + fpn_stride (int): The stride of current FPN feature map + feature (Tensor): Tensor of current FPN feature map + Return: + Anchor points locations of current FPN feature map + """ shape_fm = paddle.shape(feature) shape_fm.stop_gradient = True h, w = shape_fm[2], shape_fm[3] @@ -247,8 +256,7 @@ class FCOSHead(nn.Layer): if not is_training: locations_list = [] for fpn_stride, feature in zip(self.fpn_stride, fpn_feats): - location = self._compute_locatioins_by_level(fpn_stride, - feature) + location = self._compute_locations_by_level(fpn_stride, feature) locations_list.append(location) return locations_list, cls_logits_list, bboxes_reg_list, centerness_list diff --git a/ppdet/modeling/heads/mask_head.py b/ppdet/modeling/heads/mask_head.py index eea70922a..e5df8d234 100644 --- a/ppdet/modeling/heads/mask_head.py +++ b/ppdet/modeling/heads/mask_head.py @@ -63,22 +63,19 @@ class MaskFeat(nn.Layer): filter_size=3, stride=1, norm_type=self.norm_type, - norm_name=conv_name + '_norm', - initializer=KaimingNormal(fan_in=fan_conv), - name=conv_name)) + initializer=KaimingNormal(fan_in=fan_conv))) mask_conv.add_sublayer(conv_name + 'act', nn.ReLU()) else: for i in range(self.num_convs): conv_name = 'mask_inter_feat_{}'.format(i + 1) - mask_conv.add_sublayer( - conv_name, - nn.Conv2D( - in_channels=in_channel if i == 0 else out_channel, - out_channels=out_channel, - kernel_size=3, - padding=1, - weight_attr=paddle.ParamAttr( - initializer=KaimingNormal(fan_in=fan_conv)))) + conv = nn.Conv2D( + in_channels=in_channel if i == 0 else out_channel, + out_channels=out_channel, + kernel_size=3, + padding=1, + weight_attr=paddle.ParamAttr( + initializer=KaimingNormal(fan_in=fan_conv))) + mask_conv.add_sublayer(conv_name, conv) mask_conv.add_sublayer(conv_name + 'act', nn.ReLU()) mask_conv.add_sublayer( 'conv5_mask', diff --git a/ppdet/modeling/heads/solov2_head.py b/ppdet/modeling/heads/solov2_head.py index d24b0b029..5f15461fa 100644 --- a/ppdet/modeling/heads/solov2_head.py +++ b/ppdet/modeling/heads/solov2_head.py @@ -75,9 +75,7 @@ class SOLOv2MaskHead(nn.Layer): ch_out=self.mid_channels, filter_size=3, stride=1, - norm_type='gn', - norm_name=conv_feat_name + '.conv' + str(i) + '.gn', - name=conv_feat_name + '.conv' + str(i))) + norm_type='gn')) self.add_sublayer('conv_pre_feat' + str(i), conv_pre_feat) self.convs_all_levels.append(conv_pre_feat) else: @@ -94,9 +92,7 @@ class SOLOv2MaskHead(nn.Layer): ch_out=self.mid_channels, filter_size=3, stride=1, - norm_type='gn', - norm_name=conv_feat_name + '.conv' + str(j) + '.gn', - name=conv_feat_name + '.conv' + str(j))) + norm_type='gn')) conv_pre_feat.add_sublayer( conv_feat_name + '.conv' + str(j) + 'act', nn.ReLU()) conv_pre_feat.add_sublayer( @@ -114,9 +110,7 @@ class SOLOv2MaskHead(nn.Layer): ch_out=self.out_channels, filter_size=1, stride=1, - norm_type='gn', - norm_name=conv_pred_name + '.gn', - name=conv_pred_name)) + norm_type='gn')) def forward(self, inputs): """ @@ -216,9 +210,7 @@ class SOLOv2Head(nn.Layer): ch_out=self.seg_feat_channels, filter_size=3, stride=1, - norm_type='gn', - norm_name='bbox_head.kernel_convs.{}.gn'.format(i), - name='bbox_head.kernel_convs.{}'.format(i))) + norm_type='gn')) self.kernel_pred_convs.append(kernel_conv) ch_in = self.in_channels if i == 0 else self.seg_feat_channels cate_conv = self.add_sublayer( @@ -228,9 +220,7 @@ class SOLOv2Head(nn.Layer): ch_out=self.seg_feat_channels, filter_size=3, stride=1, - norm_type='gn', - norm_name='bbox_head.cate_convs.{}.gn'.format(i), - name='bbox_head.cate_convs.{}'.format(i))) + norm_type='gn')) self.cate_pred_convs.append(cate_conv) self.solo_kernel = self.add_sublayer( @@ -241,11 +231,9 @@ class SOLOv2Head(nn.Layer): kernel_size=3, stride=1, padding=1, - weight_attr=ParamAttr( - name="bbox_head.solo_kernel.weight", - initializer=Normal( - mean=0., std=0.01)), - bias_attr=ParamAttr(name="bbox_head.solo_kernel.bias"))) + weight_attr=ParamAttr(initializer=Normal( + mean=0., std=0.01)), + bias_attr=True)) self.solo_cate = self.add_sublayer( 'bbox_head.solo_cate', nn.Conv2D( @@ -254,14 +242,10 @@ class SOLOv2Head(nn.Layer): kernel_size=3, stride=1, padding=1, - weight_attr=ParamAttr( - name="bbox_head.solo_cate.weight", - initializer=Normal( - mean=0., std=0.01)), - bias_attr=ParamAttr( - name="bbox_head.solo_cate.bias", - initializer=Constant( - value=float(-np.log((1 - 0.01) / 0.01)))))) + weight_attr=ParamAttr(initializer=Normal( + mean=0., std=0.01)), + bias_attr=ParamAttr(initializer=Constant( + value=float(-np.log((1 - 0.01) / 0.01)))))) def _points_nms(self, heat, kernel_size=2): hmax = F.max_pool2d(heat, kernel_size=kernel_size, stride=1, padding=1) diff --git a/ppdet/modeling/heads/ssd_head.py b/ppdet/modeling/heads/ssd_head.py index 8cbbe0a46..96ed5e424 100644 --- a/ppdet/modeling/heads/ssd_head.py +++ b/ppdet/modeling/heads/ssd_head.py @@ -28,8 +28,7 @@ class SepConvLayer(nn.Layer): out_channels, kernel_size=3, padding=1, - conv_decay=0, - name=None): + conv_decay=0): super(SepConvLayer, self).__init__() self.dw_conv = nn.Conv2D( in_channels=in_channels, @@ -38,16 +37,13 @@ class SepConvLayer(nn.Layer): stride=1, padding=padding, groups=in_channels, - weight_attr=ParamAttr( - name=name + "_dw_weights", regularizer=L2Decay(conv_decay)), + weight_attr=ParamAttr(regularizer=L2Decay(conv_decay)), bias_attr=False) self.bn = nn.BatchNorm2D( in_channels, - weight_attr=ParamAttr( - name=name + "_bn_scale", regularizer=L2Decay(0.)), - bias_attr=ParamAttr( - name=name + "_bn_offset", regularizer=L2Decay(0.))) + weight_attr=ParamAttr(regularizer=L2Decay(0.)), + bias_attr=ParamAttr(regularizer=L2Decay(0.))) self.pw_conv = nn.Conv2D( in_channels=in_channels, @@ -55,8 +51,7 @@ class SepConvLayer(nn.Layer): kernel_size=1, stride=1, padding=0, - weight_attr=ParamAttr( - name=name + "_pw_weights", regularizer=L2Decay(conv_decay)), + weight_attr=ParamAttr(regularizer=L2Decay(conv_decay)), bias_attr=False) def forward(self, x): @@ -125,8 +120,7 @@ class SSDHead(nn.Layer): out_channels=num_prior * 4, kernel_size=kernel_size, padding=padding, - conv_decay=conv_decay, - name=box_conv_name)) + conv_decay=conv_decay)) self.box_convs.append(box_conv) score_conv_name = "scores{}".format(i) @@ -146,8 +140,7 @@ class SSDHead(nn.Layer): out_channels=num_prior * self.num_classes, kernel_size=kernel_size, padding=padding, - conv_decay=conv_decay, - name=score_conv_name)) + conv_decay=conv_decay)) self.score_convs.append(score_conv) @classmethod diff --git a/ppdet/modeling/heads/ttf_head.py b/ppdet/modeling/heads/ttf_head.py index 2a676fc7f..9e2eb6add 100644 --- a/ppdet/modeling/heads/ttf_head.py +++ b/ppdet/modeling/heads/ttf_head.py @@ -61,8 +61,7 @@ class HMHead(nn.Layer): LiteConv( in_channels=ch_in if i == 0 else ch_out, out_channels=ch_out, - norm_type=norm_type, - name=lite_name)) + norm_type=norm_type)) head_conv.add_sublayer(lite_name + '.act', nn.ReLU6()) else: if dcn_head: @@ -85,19 +84,17 @@ class HMHead(nn.Layer): bias_attr=ParamAttr( learning_rate=2., regularizer=L2Decay(0.)))) head_conv.add_sublayer(name + '.act', nn.ReLU()) - self.feat = self.add_sublayer('hm_feat', head_conv) + self.feat = head_conv bias_init = float(-np.log((1 - 0.01) / 0.01)) - self.head = self.add_sublayer( - 'hm_head', - nn.Conv2D( - in_channels=ch_out, - out_channels=num_classes, - kernel_size=1, - weight_attr=ParamAttr(initializer=Normal(0, 0.01)), - bias_attr=ParamAttr( - learning_rate=2., - regularizer=L2Decay(0.), - initializer=Constant(bias_init)))) + self.head = nn.Conv2D( + in_channels=ch_out, + out_channels=num_classes, + kernel_size=1, + weight_attr=ParamAttr(initializer=Normal(0, 0.01)), + bias_attr=ParamAttr( + learning_rate=2., + regularizer=L2Decay(0.), + initializer=Constant(bias_init))) def forward(self, feat): out = self.feat(feat) @@ -139,8 +136,7 @@ class WHHead(nn.Layer): LiteConv( in_channels=ch_in if i == 0 else ch_out, out_channels=ch_out, - norm_type=norm_type, - name=lite_name)) + norm_type=norm_type)) head_conv.add_sublayer(lite_name + '.act', nn.ReLU6()) else: if dcn_head: @@ -164,16 +160,14 @@ class WHHead(nn.Layer): learning_rate=2., regularizer=L2Decay(0.)))) head_conv.add_sublayer(name + '.act', nn.ReLU()) - self.feat = self.add_sublayer('wh_feat', head_conv) - self.head = self.add_sublayer( - 'wh_head', - nn.Conv2D( - in_channels=ch_out, - out_channels=4, - kernel_size=1, - weight_attr=ParamAttr(initializer=Normal(0, 0.001)), - bias_attr=ParamAttr( - learning_rate=2., regularizer=L2Decay(0.)))) + self.feat = head_conv + self.head = nn.Conv2D( + in_channels=ch_out, + out_channels=4, + kernel_size=1, + weight_attr=ParamAttr(initializer=Normal(0, 0.001)), + bias_attr=ParamAttr( + learning_rate=2., regularizer=L2Decay(0.))) def forward(self, feat): out = self.feat(feat) @@ -249,6 +243,9 @@ class TTFHead(nn.Layer): return hm, wh def filter_box_by_weight(self, pred, target, weight): + """ + Filter out boxes where ttf_reg_weight is 0, only keep positive samples. + """ index = paddle.nonzero(weight > 0) index.stop_gradient = True weight = paddle.gather_nd(weight, index) diff --git a/ppdet/modeling/heads/yolo_head.py b/ppdet/modeling/heads/yolo_head.py index 033089ab2..a0817747f 100644 --- a/ppdet/modeling/heads/yolo_head.py +++ b/ppdet/modeling/heads/yolo_head.py @@ -4,7 +4,6 @@ import paddle.nn.functional as F from paddle import ParamAttr from paddle.regularizer import L2Decay from ppdet.core.workspace import register -from ..backbones.darknet import ConvBNLayer def _de_sigmoid(x, eps=1e-7): @@ -70,7 +69,6 @@ class YOLOv3Head(nn.Layer): padding=0, data_format=data_format, bias_attr=ParamAttr(regularizer=L2Decay(0.))) - conv.skip_quant = True yolo_output = self.add_sublayer(name, conv) self.yolo_outputs.append(yolo_output) diff --git a/ppdet/modeling/layers.py b/ppdet/modeling/layers.py index a4eb3b9c2..5877b5f37 100644 --- a/ppdet/modeling/layers.py +++ b/ppdet/modeling/layers.py @@ -114,21 +114,17 @@ class ConvNormLayer(nn.Layer): norm_decay=0., norm_groups=32, use_dcn=False, - norm_name=None, bias_on=False, lr_scale=1., freeze_norm=False, initializer=Normal( - mean=0., std=0.01), - name=None): + mean=0., std=0.01)): super(ConvNormLayer, self).__init__() assert norm_type in ['bn', 'sync_bn', 'gn'] if bias_on: bias_attr = ParamAttr( - name=name + "_bias", - initializer=Constant(value=0.), - learning_rate=lr_scale) + initializer=Constant(value=0.), learning_rate=lr_scale) else: bias_attr = False @@ -141,9 +137,7 @@ class ConvNormLayer(nn.Layer): padding=(filter_size - 1) // 2, groups=groups, weight_attr=ParamAttr( - name=name + "_weight", - initializer=initializer, - learning_rate=1.), + initializer=initializer, learning_rate=1.), bias_attr=bias_attr) else: # in FCOS-DCN head, specifically need learning_rate and regularizer @@ -155,23 +149,16 @@ class ConvNormLayer(nn.Layer): padding=(filter_size - 1) // 2, groups=groups, weight_attr=ParamAttr( - name=name + "_weight", - initializer=initializer, - learning_rate=1.), + initializer=initializer, learning_rate=1.), bias_attr=True, lr_scale=2., - regularizer=L2Decay(norm_decay), - name=name) + regularizer=L2Decay(norm_decay)) norm_lr = 0. if freeze_norm else 1. param_attr = ParamAttr( - name=norm_name + "_scale", - learning_rate=norm_lr, - regularizer=L2Decay(norm_decay)) + learning_rate=norm_lr, regularizer=L2Decay(norm_decay)) bias_attr = ParamAttr( - name=norm_name + "_offset", - learning_rate=norm_lr, - regularizer=L2Decay(norm_decay)) + learning_rate=norm_lr, regularizer=L2Decay(norm_decay)) if norm_type == 'bn': self.norm = nn.BatchNorm2D( ch_out, weight_attr=param_attr, bias_attr=bias_attr) @@ -208,27 +195,21 @@ class LiteConv(nn.Layer): stride=stride, groups=in_channels, norm_type=norm_type, - initializer=XavierUniform(), - norm_name=name + '.conv1.norm', - name=name + '.conv1') + initializer=XavierUniform()) conv2 = ConvNormLayer( in_channels, out_channels, filter_size=1, stride=stride, norm_type=norm_type, - initializer=XavierUniform(), - norm_name=name + '.conv2.norm', - name=name + '.conv2') + initializer=XavierUniform()) conv3 = ConvNormLayer( out_channels, out_channels, filter_size=1, stride=stride, norm_type=norm_type, - initializer=XavierUniform(), - norm_name=name + '.conv3.norm', - name=name + '.conv3') + initializer=XavierUniform()) conv4 = ConvNormLayer( out_channels, out_channels, @@ -236,9 +217,7 @@ class LiteConv(nn.Layer): stride=stride, groups=out_channels, norm_type=norm_type, - initializer=XavierUniform(), - norm_name=name + '.conv4.norm', - name=name + '.conv4') + initializer=XavierUniform()) conv_list = [conv1, conv2, conv3, conv4] self.lite_conv.add_sublayer('conv1', conv1) self.lite_conv.add_sublayer('relu6_1', nn.ReLU6()) @@ -675,20 +654,20 @@ class AnchorGrid(object): @register @serializable class FCOSBox(object): - __shared__ = ['num_classes', 'batch_size'] + __shared__ = ['num_classes'] - def __init__(self, num_classes=80, batch_size=1): + def __init__(self, num_classes=80): super(FCOSBox, self).__init__() self.num_classes = num_classes - self.batch_size = batch_size def _merge_hw(self, inputs, ch_type="channel_first"): """ + Merge h and w of the feature map into one dimension. Args: - inputs (Variables): Feature map whose H and W will be merged into one dimension - ch_type (str): channel_first / channel_last + inputs (Tensor): Tensor of the input feature map + ch_type (str): "channel_first" or "channel_last" style Return: - new_shape (Variables): The new shape after h and w merged into one dimension + new_shape (Tensor): The new shape after h and w merged """ shape_ = paddle.shape(inputs) bs, ch, hi, wi = shape_[0], shape_[1], shape_[2], shape_[3] @@ -706,16 +685,18 @@ class FCOSBox(object): def _postprocessing_by_level(self, locations, box_cls, box_reg, box_ctn, scale_factor): """ + Postprocess each layer of the output with corresponding locations. Args: - locations (Variables): anchor points for current layer, [H*W, 2] - box_cls (Variables): categories prediction, [N, C, H, W], C is the number of classes - box_reg (Variables): bounding box prediction, [N, 4, H, W] - box_ctn (Variables): centerness prediction, [N, 1, H, W] - scale_factor (Variables): [h_scale, w_scale] for input images + locations (Tensor): anchor points for current layer, [H*W, 2] + box_cls (Tensor): categories prediction, [N, C, H, W], + C is the number of classes + box_reg (Tensor): bounding box prediction, [N, 4, H, W] + box_ctn (Tensor): centerness prediction, [N, 1, H, W] + scale_factor (Tensor): [h_scale, w_scale] for input images Return: - box_cls_ch_last (Variables): score for each category, in [N, C, M] + box_cls_ch_last (Tensor): score for each category, in [N, C, M] C is the number of classes and M is the number of anchor points - box_reg_decoding (Variables): decoded bounding box, in [N, M, 4] + box_reg_decoding (Tensor): decoded bounding box, in [N, M, 4] last dimension is [x1, y1, x2, y2] """ act_shape_cls = self._merge_hw(box_cls) @@ -771,12 +752,18 @@ class TTFBox(object): self.down_ratio = down_ratio def _simple_nms(self, heat, kernel=3): + """ + Use maxpool to filter the max score, get local peaks. + """ pad = (kernel - 1) // 2 hmax = F.max_pool2d(heat, kernel, stride=1, padding=pad) keep = paddle.cast(hmax == heat, 'float32') return heat * keep def _topk(self, scores): + """ + Select top k scores and decode to get xy coordinates. + """ k = self.max_per_img shape_fm = paddle.shape(scores) shape_fm.stop_gradient = True diff --git a/ppdet/modeling/necks/fpn.py b/ppdet/modeling/necks/fpn.py index 0b9f6a798..867b7dc45 100644 --- a/ppdet/modeling/necks/fpn.py +++ b/ppdet/modeling/necks/fpn.py @@ -105,10 +105,8 @@ class FPN(nn.Layer): stride=1, norm_type=self.norm_type, norm_decay=self.norm_decay, - norm_name=lateral_name + '_norm', freeze_norm=self.freeze_norm, - initializer=XavierUniform(fan_out=in_c), - name=lateral_name)) + initializer=XavierUniform(fan_out=in_c))) else: lateral = self.add_sublayer( lateral_name, @@ -131,10 +129,8 @@ class FPN(nn.Layer): stride=1, norm_type=self.norm_type, norm_decay=self.norm_decay, - norm_name=fpn_name + '_norm', freeze_norm=self.freeze_norm, - initializer=XavierUniform(fan_out=fan), - name=fpn_name)) + initializer=XavierUniform(fan_out=fan))) else: fpn_conv = self.add_sublayer( fpn_name, @@ -166,10 +162,8 @@ class FPN(nn.Layer): stride=2, norm_type=self.norm_type, norm_decay=self.norm_decay, - norm_name=extra_fpn_name + '_norm', freeze_norm=self.freeze_norm, - initializer=XavierUniform(fan_out=fan), - name=extra_fpn_name)) + initializer=XavierUniform(fan_out=fan))) else: extra_fpn_conv = self.add_sublayer( extra_fpn_name, diff --git a/ppdet/modeling/necks/ttf_fpn.py b/ppdet/modeling/necks/ttf_fpn.py index ef83a8b83..9c7f3924f 100644 --- a/ppdet/modeling/necks/ttf_fpn.py +++ b/ppdet/modeling/necks/ttf_fpn.py @@ -16,7 +16,6 @@ import paddle import paddle.nn as nn import paddle.nn.functional as F from paddle import ParamAttr -from paddle.nn.initializer import Constant, Uniform, Normal from paddle.nn.initializer import Constant, Uniform, Normal, XavierUniform from paddle import ParamAttr from ppdet.core.workspace import register, serializable @@ -28,11 +27,9 @@ from ..shape_spec import ShapeSpec __all__ = ['TTFFPN'] -__all__ = ['TTFFPN'] - class Upsample(nn.Layer): - def __init__(self, ch_in, ch_out, norm_type='bn', name=None): + def __init__(self, ch_in, ch_out, norm_type='bn'): super(Upsample, self).__init__() fan_in = ch_in * 3 * 3 stdv = 1. / math.sqrt(fan_in) @@ -49,7 +46,7 @@ class Upsample(nn.Layer): regularizer=L2Decay(0.)) self.bn = batch_norm( - ch_out, norm_type=norm_type, initializer=Constant(1.), name=name) + ch_out, norm_type=norm_type, initializer=Constant(1.)) def forward(self, feat): dcn = self.dcn(feat) @@ -60,7 +57,7 @@ class Upsample(nn.Layer): class DeConv(nn.Layer): - def __init__(self, ch_in, ch_out, norm_type='bn', name=None): + def __init__(self, ch_in, ch_out, norm_type='bn'): super(DeConv, self).__init__() self.deconv = nn.Sequential() conv1 = ConvNormLayer( @@ -69,9 +66,7 @@ class DeConv(nn.Layer): stride=1, filter_size=1, norm_type=norm_type, - initializer=XavierUniform(), - norm_name=name + '.conv1.norm', - name=name + '.conv1') + initializer=XavierUniform()) conv2 = nn.Conv2DTranspose( in_channels=ch_out, out_channels=ch_out, @@ -81,17 +76,14 @@ class DeConv(nn.Layer): groups=ch_out, weight_attr=ParamAttr(initializer=XavierUniform()), bias_attr=False) - bn = batch_norm( - ch_out, norm_type=norm_type, norm_decay=0., name=name + '.bn') + bn = batch_norm(ch_out, norm_type=norm_type, norm_decay=0.) conv3 = ConvNormLayer( ch_in=ch_out, ch_out=ch_out, stride=1, filter_size=1, norm_type=norm_type, - initializer=XavierUniform(), - norm_name=name + '.conv3.norm', - name=name + '.conv3') + initializer=XavierUniform()) self.deconv.add_sublayer('conv1', conv1) self.deconv.add_sublayer('relu6_1', nn.ReLU6()) @@ -106,12 +98,10 @@ class DeConv(nn.Layer): class LiteUpsample(nn.Layer): - def __init__(self, ch_in, ch_out, norm_type='bn', name=None): + def __init__(self, ch_in, ch_out, norm_type='bn'): super(LiteUpsample, self).__init__() - self.deconv = DeConv( - ch_in, ch_out, norm_type=norm_type, name=name + '.deconv') - self.conv = LiteConv( - ch_in, ch_out, norm_type=norm_type, name=name + '.liteconv') + self.deconv = DeConv(ch_in, ch_out, norm_type=norm_type) + self.conv = LiteConv(ch_in, ch_out, norm_type=norm_type) def forward(self, inputs): deconv_up = self.deconv(inputs) @@ -142,8 +132,7 @@ class ShortCut(nn.Layer): in_channels=in_channels, out_channels=ch_out, with_act=i < layer_num - 1, - norm_type=norm_type, - name=shortcut_name)) + norm_type=norm_type)) else: shortcut_conv.add_sublayer( shortcut_name, @@ -158,7 +147,7 @@ class ShortCut(nn.Layer): if i < layer_num - 1: shortcut_conv.add_sublayer(shortcut_name + '.act', nn.ReLU()) - self.shortcut = self.add_sublayer('short', shortcut_conv) + self.shortcut = self.add_sublayer('shortcut', shortcut_conv) def forward(self, feat): out = self.shortcut(feat) @@ -211,10 +200,7 @@ class TTFFPN(nn.Layer): upsample = self.add_sublayer( 'upsample.' + str(i), upsample_module( - in_c, - out_c, - norm_type=norm_type, - name='deconv_layers.' + str(i))) + in_c, out_c, norm_type=norm_type)) self.upsample_list.append(upsample) if i < self.shortcut_len: shortcut = self.add_sublayer( diff --git a/ppdet/modeling/necks/yolo_fpn.py b/ppdet/modeling/necks/yolo_fpn.py index 873e43f0e..25458974a 100644 --- a/ppdet/modeling/necks/yolo_fpn.py +++ b/ppdet/modeling/necks/yolo_fpn.py @@ -25,9 +25,9 @@ from ..shape_spec import ShapeSpec __all__ = ['YOLOv3FPN', 'PPYOLOFPN'] -def add_coord(x): +def add_coord(x, data_format): b = x.shape[0] - if self.data_format == 'NCHW': + if data_format == 'NCHW': h = x.shape[2] w = x.shape[3] else: @@ -35,14 +35,14 @@ def add_coord(x): w = x.shape[2] gx = paddle.arange(w, dtype='float32') / (w - 1.) * 2.0 - 1. - if self.data_format == 'NCHW': + if data_format == 'NCHW': gx = gx.reshape([1, 1, 1, w]).expand([b, 1, h, w]) else: gx = gx.reshape([1, 1, w, 1]).expand([b, h, w, 1]) gx.stop_gradient = True gy = paddle.arange(h, dtype='float32') / (h - 1.) * 2.0 - 1. - if self.data_format == 'NCHW': + if data_format == 'NCHW': gy = gy.reshape([1, 1, h, 1]).expand([b, 1, h, w]) else: gy = gy.reshape([1, h, 1, 1]).expand([b, h, w, 1]) @@ -237,7 +237,7 @@ class CoordConv(nn.Layer): self.data_format = data_format def forward(self, x): - gx, gy = add_coord(x) + gx, gy = add_coord(x, self.data_format) if self.data_format == 'NCHW': y = paddle.concat([x, gx, gy], axis=1) else: @@ -509,7 +509,7 @@ class PPYOLOFPN(nn.Layer): norm_type='bn', data_format='NCHW', coord_conv=False, - conv_block_num=3, + conv_block_num=2, drop_block=False, block_size=3, keep_prob=0.9, diff --git a/ppdet/modeling/ops.py b/ppdet/modeling/ops.py index e2c193030..f190a4895 100644 --- a/ppdet/modeling/ops.py +++ b/ppdet/modeling/ops.py @@ -53,9 +53,7 @@ def batch_norm(ch, norm_type='bn', norm_decay=0., initializer=None, - name=None, data_format='NCHW'): - bn_name = name + '.bn' if norm_type == 'sync_bn': batch_norm = nn.SyncBatchNorm else: -- Gitee From 2b99b66767a42c9706c3c155dad4c2995fba4c4b Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Fri, 16 Apr 2021 23:26:38 +0800 Subject: [PATCH 54/90] update README data (#2669) --- README_cn.md | 2 +- docs/images/fps_map.png | Bin 385406 -> 385390 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README_cn.md b/README_cn.md index d09eddbae..46a37babe 100644 --- a/README_cn.md +++ b/README_cn.md @@ -181,7 +181,7 @@ PaddleDetection模块化地实现了多种主流目标检测算法,提供了 - `CBResNet`为`Cascade-Faster-RCNN-CBResNet200vd-FPN`模型,COCO数据集mAP高达53.3% - `Cascade-Faster-RCNN`为`Cascade-Faster-RCNN-ResNet50vd-DCN`,PaddleDetection将其优化到COCO数据mAP为47.8%时推理速度为20FPS - `PP-YOLO`在COCO数据集精度45.9%,Tesla V100预测速度72.9FPS,精度速度均优于[YOLOv4](https://arxiv.org/abs/2004.10934) -- `PP-YOLO v2`是对`PP-YOLO`模型的进一步优化,在COCO数据集精度49.5%,Tesla V100预测速度60FPS +- `PP-YOLO v2`是对`PP-YOLO`模型的进一步优化,在COCO数据集精度49.5%,Tesla V100预测速度68.9FPS - 图中模型均可在[模型库](#模型库)中获取 ## 文档教程 diff --git a/docs/images/fps_map.png b/docs/images/fps_map.png index 825ce201c5b728a62a0672e85f5e90e3977cec79..d73877729c0775709e5954c008a88776bf48606a 100644 GIT binary patch delta 313192 zcmZU5cOaJi+x~6KmOY|qSecPMN-CttCL=Q=AqjDzL}vC3k-f>x&YqExEkYtu)eke#Cl8gcxWrJCQS2q-n_JZ7;Cc zp7G=0Sn(Q?TB?6g?md=WK`=8ZNKHebeh=5Q2KjMe!!-2OtHITUDu;G4G4A&8OQ(B| z#+Psf6t_c}h3*gKiZC!Rd@Hk!SDR%Oe@bX?Z$Go)iG^ciW5ZLDS5Q!pENRih{Lywy z^ZTx}w6wSEh&Ph0o~7o!@yU7h!|0EN-iXGh2A9~_*wkoo9Q^*zOMRfk;;vj2qmGV4 zv3aY2kkIwsL@7s;M-N}(lb((!(63}Gw|)39Wq0A1NU3%I(qK+sxt-zp3m32`%zkQr zdUn~oH}Rddb=%U!CudQ|`M`nSYu`U>BegHYs+?DYTY{Ko2XnM$q|?*Wzm?l18HFR7 z#UgjPJL1CPt%mbSEi5eT_x>#Oj+o!?r&dx@3S^Zr&{w&8w>6MK$ieKf27FGtFgI1}-k{kLTlNol&PcYHMp13GkvW>(PFGO-dEb zXILAUnVHF4z$u}TquIP#cM=T$aJD&s&Mze7rlKNIN@}Y8V*iD%1TiZ3_cWU>TT3*| zXU>#7NHSdutd^y_p{%S-9UP0aH#gs)Xv*NYuCJ*hLyl!^bXOC-&Qj~)CNpbm>p-Tf zDp_K*mvuj=e>zm&D3Kdlew!q7pQyv-9c<67aQe5`<^T0k|MJR*v-VLH>umu60lAao zqvpAH63#?|=^s9PFdEK(FyjC}8yr3Vj_TR7XWkCTlP87aWty6rGf6l&ICxl>Mg?t0 zuLQD4=_Z_OYHGqg*ja5oIo^@U>%H8YbwA_F`|AW*da&;T#*MhU2L}Pe#F!wat1WY# z(S6k}j+G`J$A>!ED(^^WM`wQjzD)Q_yVNSOE0<)H|55+>289h+YHmrDKiAaNBf3md z^vWM2^ddI&B6gF3uU_HWyK!@K|C;zjM|DX>U36uAwiVBej*c#JNTb;F_7$6N_w;L@ zucxTTtEDM6eED)ue|u+#&XluH{9Im6eY)6hIaw`MU0qGV z$jIe%OiWJRnyH#f-4n|2C5Cg^I-iG~on1~xFoyg7-o_l>h*hGryZ`cV0XMURpy26@ zyGgXsIqF$#S9gCM?)~vDE-5ML_cC=_9=cKEx)os+Z%A`lSN-1c_V0N0_`~B^HHw~P z*f>N!uE~=bPTW6UDc&tTD#v+unD&lFKdO#LtIsSgaUF|saVft2&35)I1~yi3Y<>XN zogel}R9w7qa+2kOVuYuc7uM6KPjRodlMd+&vu9oRC7Vf_otgQPeuoKNR!&Y%Mm^{B zhzRP6%1YzOYL}U+Fyw;L%&(D>Ck_t%yDvrsOpafDRcm}x(VS1n#bS2JbC~O( z7c}*&NQjAvv1ah^>h2bR-Lw~DXUAb-VW|`>7lEb2gP^!RRqI}2%gun>pQ*|oxsan> z1li!y-NajXRrK`q(-}z~r=wxB`rvvJBwf@fwA1e(yu7@b1~pX`FBW>vz(s2PUSFB2 z<0ItiSp0+US6plvke7E^xBPLQx}J%NN$!JBv{VFY&mPf`A#*KMo56ue)*e^Z`5jg9$M<-`rgwpqpk66I;#kCvgcd%OnKegY;f(~~uB zR$C{Vi{ax37w^QqIwSFH8o~kN`SvZv=IRvd{QUgSfh;Pxcv1oaf`M!e;;O18!;`Jf zXuh9Ac}yzr#4qHRAP|#ps4l7ZIIREdW3P5U(99~6Ib6f(h~&=b-yMk+wx*SSvFllP zyiY7HF77ZE$)S2J8`g{rGR^Q$SBJ*0U#UDiJZA3f!L2rZxE=nXnCH>w-Syd`7kdu! zH*exlm<6}siU$mZQjZCnx7^#4I5ppo6AmHq+-~DMy5Mg>{BWVv!Oa@&8{o6((ri#s!Y{n~8xwP51xQHP0HorZ0{ay{? z>J-7PMFu6ju`l(ea3VvF-BfL+VO?#-;g5DIo3XMxc|{J(E}csI`}_1)A15U9F1y?h zGyU>fd_?X10S8eVr`iX?{jKFoyvXhv*75PN;21su!R+zT!HmQ5P@XYdptDVTeP7rG zB`)1EYO}GE^;TBJB<_{Tnw)+{hik}2Nkd16V)h-mUFE(Xe-$;3Iulv4zt3c7*(+b1 zo52`vO^o9L_MdsI94(yIV64^2xviyv=s2SBD!gCcuy}N^cXu%Xv{-s&m}ov6EB&By zS;e~qiBdS*s|1?))HN-&we>@J^+8OYudf!tUspZ;0a>*N2@Z>hc!eDA5qx^~`?Q_q za9^KSPL6f(yr}aEGrG@#fh6|tYHOw87zc6QPdD0H8U%d83L$L2zxk-)4$XtArwwqh z*2nDX+9v{!)@N@rLvpG++#t5Gu_=7mOw>?SY+`D9p2OGIm-`G)xE2X1sp|V{cxa07 z@3b|KmrSWUDRLNwyA8tJ)BqX_KY)mh&K56{L z?- zn}}LfUW<-j2#1HqlTp~SCCJO;$TLnjGCtMGdb$y>+4kvE&zWW{N5^DEnm%R~mHH4F zuB*O0%R^W?`AdOe7rcDQy#&n$nD{tPWg4=!Rh_b3Qdcz!g3O1NqlxwD8P>UT{;dT% zRP)-ca3WMT3+^aeI5)5-J8%1wz@6d!p9!F@O>qdwO_p zIvzr>dk1}c@ab7Ik@Kp7{e&MSJBo3jTHh+Y3Lr35A?OK!S^Ejd*!(u%3iWjgig_+y7VtQH-i5rA zpu@b4io(Bp_in@N04+eA=dP|ZWvG#5u2wbMnT=#iiU$k|t`6B+1;{-{SVC;Z7eg!3=bgMHs&FMSR%-SKZSx>~TJI zS+9&5w;MJ_DaZQ$O*xqYD%fAn04%Y;0rvUJQfGE|Ri6@{!otRuZ(#jBie)|Ihi&P= z#g5|_KsC|$*-OYm-iw!%$$#E*Tzg9ZIUwC#V4a>qZp?ktHrli_nv&ic`Z;%jq$NxB zy85L~q};APL9D*fr^CX}Ws@*QgfvEmHAaewUPytOByy_yIaVMur)y9|XabM8IX1Q@ zKB?!{@{Iy(xrHBqzXK*&J8miCmf2F7o!&ok?pr^%U^M_&t6o@HRppQ4!26);ypy4d zq}#Ugleq)kQmgOvUN{aV`legoKNFNL2n!1%KH=e12?+@p%=-Fz#nZ*pXc>&(7y3O_ z$Ep;?(*T7jlF@CxE0$kS(EHOT3CvkQeJ2M~CvOuH0s#bZ)U?2|83l;o^wR*=r$Lc| zN3da?2dSZhKOvl?4K*xu{K#FO4f8F;BG@NOz^pel{@yS_o-{F~?{AdeB3oteg4wfHw9E!T` zXQ;H>7{YeT$*MpVEACcIIYmoLOV4kF!6%`|VEo>^X@Elf1RxF+adNman(_x_HVgoP zUZbCHZMq`nIG+rN*LwrH8#Dak_Hf~891Nh`zFK#;pjW( zqdI+>f`x?)zE7JcA}6P-UV*Mv4NEReu%yoAtWu&GZLEP^G$E4{DOmN zqYpM0*{>exUUYPHloPvnQ6bGU;oCPvJ8krx3}Ub-;Mgh6F!iAH(N_g?y>`z8r~xnb zH*YWPby~-X{uPOH&Uh}S0m1ZYoyKZTDvr%Kp=nLZ z((#d}xYkoLB5Yc|V}qeVJP|uuGbEIn;nYVfyso$lX981GagYe!%dV4FgV?6}-L&iL z^}Fj(73vpyvkNrhgPAGu2HS{Q1g_w6X;S0e)yO{ILCC(iZJVqkq z?CWfD$-9hfLh}guaHHc!?fDT~pey0J*@cYl7e$Z8a-&!6<8;@xZG?sXn{FUE{ zYrJ)V6oq5b8r%#hN4U(~mg_;)NAPR!d^LwNgS|ce zL)hT|ldw5nrscy|Nur%pNuV&>+MOkr-3U1`tnIx^QFDl~*q+AYiyy&`iE{YosJ);T#W1 zh0Fa-Mr8jyk!kh=y>AO`ltxPf)!LV#>ME3#`P;><+$5smGtf`CeK99d$}Q#j`ivN( z1e(wDHS^;7-A}r^n6r%GY--neNZFJy3x$S;a@hqY@f%}92XW!sm!npM6)}QNI8HZP zGl)fs5v6LPWjqf3Xt*`oY{ou5x-Tj!O1Sjm#fy!(^dG=T5DS(vOFUCf>pl|u{_9uZ zsLnC#(R2gOugMw-t@)u>3PFsw-w~U4$6YANGo2^4tufS4h1~ROypk$ihu6V=dFb-_ zOP8!|f+6P+b`aC@AoUhByvltaZc|aWJ5auYUf}HQ5uQ@6{>V0?9K|ojD!0w`;D-rk zG1t|g;l-VU7KB?W+H?%S9QR-^H2#-$KT<^7O;q_nH-|&;_Q-N#g1CPWZ}cOj z+3Bk1s+*!E`?KWDTEF-Rtp-oyaov#j3mz%6#WFE5X2QWqc5_xu4r@y1INXZfT)zhC z)5klP`-D53^sGb}Q$14WevqzS_v44D&FDwY)<2!81qC6j7qEv+)K7VzAOM{jUz0N7 zGEHUNiO1*TD@fo~T@DNi!W%KgsHP_a3)p7EH?j@jj7V&K)yRo->#V7uuyAC@ z@$C2S?~B%H`UVG^ZQe}PnD->S8NiNs)c^JC{d>|tfvTr-BbcA#l_km59!IV~&{;a! zcJKqSnx|XZG`G3=^u_L)oXPCf$K&+SE>cGW1ESH1qo?5e7)=EIqts+r~+vEi;;YL7_>2>KlF z*B80E;~^3r&!TkZ4z_<=eoYT*DPaqw7r>_B zQm2SUdXr=d)LMcPfPuRfe(_Gz937v5<>l#XOpI47J>j1bEmhalq>Ty#{rOhl2UNru zY4@t3;S7>HHRW@$Qf_5u344c!>57Vq6nCOY3}S$P0eT^=Xv>UCHRV+@Pi%v{UYXrg zFx(gMQZc?jyIO|I8M$Y%5V}UdAs{0?rBA+JYuHPD^ff(GrzE}K`uA`_(pi%}piSQ< zCXzu%DJP-TzAE(t{q5Orf4bwZ?k*S9MJ#c<=u_iD4{{T25*x~@s;achADI|1aj1 z70=2_^Z88m+YyTwb3)l^2wr|j!@BP4?|o4)i0Kj$Z|LT}Fu%#`!hDOnMw60*Ls_Zp zM7!<90&>+u`qlgSo&^OQYv*(F^t^cD-69^Euy>?~o0(jIiltvwRn{UVcDs(C7%{Qp z5`SGR?xN;sjWR_qt^*pl5kN~b9?_2f_6)(BlK|KR&=9KceX~G&w(93a{f?3zhxF_> zgS(!M=RTgS=KRM0`0-;hH#fJm10@H0`-Yx(67Q2PthpQ??(H7!ObxOKU8Uw!!$oeH zl0PUmeKW4i7%yV$9TXH)k$}X-`OCe;Z|Lk)O8doh?%cVb6Q8c?>+4@(3B+8>x8}VeIH}HWidegZ& zRd*A@e;wGLwANc7umBFHHm8R8lIu&k(L7gT(L0k$L>Kd|#_cK@vuJYvawQ;L5+)Jl zds+nsQdvgQI%xUhfVc*F!^>gJ5V}|>bQA-7ySp4Univkv+!!NU=&aCa$$wx_!Ah-G{Mpk&Co<$!HAgh z9WNd&!k%^J*%qwsc!aOcjo_BeFAD8y`UU$g6d1{-R zp2F6zytoAfJez3D9B(KR6+ZMS%)d#lS{N$6G>Fp@OfzIVLG)rbdGa})YG+hqF>U_1 zGFoZ0<~kz#kX#+1zqBjM!EBoCm5G3X0d=`CK#mXVJ+Xl2!xa=1yqBs#nl^t+MWqEw ziE5s%@ZsjyyV^w$@mM6Edw%?QC94efr4ge2bU`VKI(n)O2@yuDhuUncA3sI~D&o0JDn}o>;Dek-y7{Nn#-u~%RYDojL%F4=99bsM(VLKMBBO?ru z=IEls!^8V39TAJ?Zf;6=0g|qpgzg91Gz6zdMn|)+L|^oI_3G9cstlEPjj-}X#-H)K z5~Y}6A$`-*E>t~TWTTNaH8S#qow|*8p7SA8eN?E#YeMr8G$yB6or|S=XJ=@9~V)~!g=9GyYIW7Uh*V<%h5uEEF=$oIicI%q+aSn$zB{donAOo%Tas; zpbYluI&{{$*T-LNtQskC6q(;#tX~?O!ilN%z#A$cNLT4bMk+ilYmWBa`N$b@ZN}2~ zMJFd4hmk(E>0TMfYDtWzk53^pT}G@u6ycvTCeZ&`PE?gXpWTEb@}&+zs4weMYh&K4dZVDBxv*klW#tbEAsI5KVsCh2VlZ^e_6m4ZR8-n}dY@-bPGqRgoC$(_bldh@ z9-@{;WWKO@5_nQz(VHmxWEukk1^Z+~t?QQ6i-T=apsA@$soMGcX)pUjOg)6(&Qt*( zYci0j$}b=gYGqjd_ zXD)#vI7*$m@*i)3H?FQhY6PB4%Lawy1)@ZQ%MdXSHGg7aqG;>|iS)WU8Sj@bRqH(5 zI<6nK5Rh%bz^s9|Bh0Cl z&kS5eC@cbmaz|In*OVK?fsxhq-mlg3^%<_eCP5nT+o$p(O&>jafpR}Zb+LY8;tY_dZEbC`w{H0jynvu?1nM**@lp<)3vt|v+?R2eRUb$Q{S#pA*X=DHKEwuV zK?Lsu#@n}V`vnHd+t}oGVVD7SuP@Z5(`^0`hq4vQv$v{8^cQXY*MB;|Pm)0jZrvsDINEYUzK~%8Sx7%xU2y9{PVmlO{Y=UbR^o(RKi$x{ z5q_yY^`;oB7R|v9aVIGw#%bw?O&4(4k0+>mQ}b6Qe6aWk$gvG;Getn#=4T2`WJzwn z;~R#hqLcqx10;rZKG8ac5QK1|q^3Sk*iuwj=vh}+H_(D08W%2J1b&3B z!sX9JKn-u!)}CZ_e}WA68Gfjmt6jw09jO7{0Q=3Ks&f3D;KdLyZKL>*kzsAaa)(jk zS*{U|BPbX{1%`a(?oeDPsHtC}ZGgG?dw`K=&!5Ld2|EZ#GyGW)dX2hb1fUhi1CCkv zkL-CwR6-&ZHdL2ELV}Ep>?c&X#IC$kfFo~?mD%Ds6&L@&)I(`2a$44eog`lR`t>U% z1QDD8Ts*w*U@Z`QX%DRJ#X+r5KozqiB^D@s{CJ}3f)ITM^f;m(hoYOs<_?2}3_|Ah zZEd%HAA@~D;oiNs>LP3yKO`XFbL!2ICrA5Ek}r1eJ?2+|BSq7*{`IbmF$fcC3x-Z< z85yYiq{4ZXCEu_v7z#xj5VTMy@(pVIAvxz<@rV^Pdji2f5LrQZ`{6@27U>s$@X@!s zQP7hh;YR4BbZs#e{$!-vh>I_FRonKh~dQ)gt zG1ze-nB%^R3IhX{PJu`K+ho_m-ZUlITWvcIt--RD4q}FS=>c>;bJ-fgS4GfMQdXAY zd0*$M-WXDCa3-rAk zq0Jza2GCxERw|(l!f7-|+Cw*_NR1fRG?X0y9Fx0rez!m@fo~xRzqptk12j z1mcyk0_vXuik#yBrJ8iJXmF6m*w{Em%1tDjYhB`{j}PAd_HSZniR2X&QlQOJ zv#ome+aK27WW2&Y6DoCCZ(3p^i}=%@o)B>}z-W5!Bq1UZe1FBK)5(i+8X;B*xxSPI|+3G>8yuTI7HX@w_5Wp8` zcwnzD3h70icXxOHXftwJ!g-|$%nx4*jX&EQv_S{@65Ier4c>T##l>OBSWia>5z4It zOj12}i2*sc9~jm=IH>VkfLkN`6~ISha6&ln&Bvkqg z9iR%&4|e!%2(h%P)31r9H+r@T(BMl36JzP=os~Rv+Zz{?jqP?dtiw)I#Cr2)YB~LG zbcZyK?3GC$;;GK~t4bC~=mmD1!g7S5v9WfT6vZAYF=Q`R1i~LwDT%HK1thN73S>aJJg;aH&`@a8*ThxChz_uKtn4Tb^A;h;`V%P8p~t% zyRW1^rRoY1G4W?egzHe2fj|5_KF$o@rk5{Y;`mc@hRv>nAOZCG_39UUr&U!|Z{51( z3CN?XtINpFE@U6sTF!ZQ+l$)m@IOoP{@FIf&JO=SCi!_Is+ z(|ENDRbOA9Ur>+_U@m_;J~99Y0ETd&KzrxsTMa)94hW#CD@VHvfD(;uZG_-;$pn}M zQe1|nNcbVR@$i7PlC`wtc=!-``1b8v3>rn++Q|@Cz$09QYjbda@aWN_=lh$S*REZo zprrKL-F=S2F=)PlWx<2q;Y)?RNl;xKS`MJ#0Qy1U5yl8`jO*6Ydx%Fa*6S{Fz(79!i}6dJ*8SK+yo)S>kZ#d5A%- zFU55q{%Hili$p`RQWZaYf5 zu<;BR6vPUf2S*B@U065i4tjT{y*09u4GV^-L{xm#q8?ci}pnW=e)dK1Ub zyUU;sKcceHPVID|^Xg7!-@#*g{#eDme}4|L*4yDujwh({1rDu`eNE1M zXyw%73-OP1ZF8OrXZnfJU_uQ(!h3a{V4|8;QnF|I$&eMtp<=C^TNxk5r;yY@|kBBQaynggt#y|9%Qp`(+% z+L_`H!j}4AH;KKUb}ey zD{Xt_mAwknpp5ob&05JXWtX4K2WB2_W^pX{hsboSQZbxLkUpx>Pa~S1e*34?)YK2# zZ3P+MGsq|)|Me}@y`ByL?Ek)K2)q929_O&@3vY|M#VuX!80WmPfU&Z}ec;_&K3Ry>>4pM4dsj75;&yd{p65b#F`(*ux1Yx&z}Zo1 zpuY5co8;ClilIldMU|EA;GCeytRmPcvQ}jdiuZH zfc~FG{GWH5;%(ANdzSrr<=Aw?sGhIs+pa$g^+yL{tUJ5*X9ZN(^+zv?O&uS_F(6tF z39ei6Ui@+CsW=r?9()-eFrS{C8cPtxlD~=Y?JVL@U(TLwP=r|6N)5qGRV@u=+zbC`^uy#uM}1Vyw=cw8oXX!pY{{2_ZQ|?aBh>b~rmLb2eSy zwCkq~5$)km&OI&aO@kUSu`RuKpPvlnH5SLmyZ+IyB@q?FYHy!f)-A&&W5FdM9b^js z--U)Rh;aWIij-L$1Jv{)%G%||I24rck7F7d>c4+(tXiM-@w!m?-cY8#Ls9#xi9%0H zf)K&(_HVb5Cfwbr6U0Fzoo#ztHh^{tb_pwlHNfL|mr~Sq^T3^k8{2j?Q@Zu{nCx(V z{cyq5GNbTmJeJs)%<{+oym>DEf8Ts?kqH*g%hfqPLwTpATS_sAQmCGObSclW6i&sz9 z+4-ML@BF$PtFI3O7gx$vG@wzEaK>(FnL?IlW^d>ilbum}9GIi!Rc7loTu?U*x|d#= zrHlj_hMF6Hb7`xFnG!2k?~<-ox_P%}wnilDpWk}P?rwc`v2eFNiFh4R-FtEWT9x`Q zz5hOk+ErEcD-$Wn33Pn5!v*@Mb`NlGfjiOBtX*+=khsE~$#Oz> zzxIcz>U1B{9iKuXSL|)SG=#@%*mGpWEF00#)_h|dNCMAFmweuTz!y03;eOCf?z z8?f{yol%#edwM&PZv6T6+UDjfVDLw+*~8DR({eRG{o{%yFCS3@N@^-FnW!;m+=v-N zNJMlEw2bfb^RL09J2yl020n^L>{ue^oUb28(kJlL!2m&MObkcnRUk>GG)nm>9TYFKESDh856j zLN*Q4;{S5(j!Z)12NWvdl8DW>Wd2XVKuCaYbb+_Ex!D-#dtE*De;#>C)n_o3(sb2U z|L0pjKSE4Tk__K&*ZRgr$MOaAeX8eLNx)*cHvo*t`dlZSeI*bnmc#k)8l}NP1%h^Z z@xhs8O&4u`S1xe=n3EuyJyp0;UM% zd~);h`Z84!_L$h%xh+972NPW}2i(<>LB=Z0!*K$30L3lquj!=Fvo_5E|A=zRsn+cO ztf2dRg{7r5`j2G(ls%phFKrz!HVfzyu(h=nE`OpH2ZC4E@bwLID=Q)xfdT@B5VX2h zFnO$PEo%kko&(2z31ZQ!03sCXY<>Fk3l{nYFlT;WTzmuOu!iPlwCBABtKU~>e4R)4 zBOwH%#=-g#=)hbB_Z@P<*~DqXx2iq$@lkk(qf)Ri=xLFy_o7T+le%05h8x@*_#hBB z^~#(C!h631pRTK?*R`$M-2RY{~UR0Nv10GE0u zoOMRyZ-vHSXlI1|dTodt(EwR|4OX!TXd%?zvMqOVlY~W5bZofy%NGjx#dRMd8epxi zZ~h*m15JbwY@+)537SJRtgIn$74N~6P*_+f3lfb0^7Q9D<+v-S;B7Hr;2Iwv{{sF@ z*yd?pR*(9wSfOOpy1WfBWEe$k)-367`np#`Ax9A%i8%={3 zmzJ_O{+tuj1WiYsMR;v?TuQSEjll#M?)^DT8|ptE)&sQR%Z!c@Y87_`d|I}O*P$4t0YLE{afkFSiwB!%!sqxBq(l)3l!_dhwM*zEuaKNF~zorQ1=oSqMt2%svOy{V;egmnoBkFR_(-V-Ei93Ae zIt2cUztI09@_P-C;3KNSsy~2$0p@r)V(ye`bW90euuCi;+Hh^TZ~tOI1!=gP&R=>T zZc)Obr@#q;Av1Acoj!~LLtqT*FiKaYq@<|Foq!(U^31pu{$?)NR_@LZl>sfgySMiq zGz+VD>_h=De5EvJf`nZ`_W?ZkaxgQQJPE^*=%AL>KqffNOd8x_`UlKCq+mXGaLhV! z0T%NmsC$s0y}&>=10P})LIWrTk~C^a6%@*+XJSf)bZhyo@Eq`b1QCFb=S6|sZz7jD zJnM95n!%qmTzdK3IV>nRH@~JMcLqCnqd?{Zk;Bs13|8a=&r!7jhEmlSQr`b$twx|? zLHU0b8A$`oV9JIzFnzQU;IGJ1L)y2)X8#qyp-WGloSL=bcmDi&SzcbQcyx4l*re6a zD^5Gd3hL@#(_~9B$Z;SnO@bKWh!5G7uKF2_gS0}lq5>?3a4Qhfs3!q@ZwB}5V6-fh z{bpldA0<%DzCaF7AOHMmxqEOh3r7$RHwCK_sOPtomDRW2qmyeeArKjN=_(vv0vI&V zSYBPM%u|jP{8sD!N!?vd?KJ4A_H!LHpoGfYLZDZj+S&fCht8hCsKjN85Y?}>9!LH# z()kc{9G9Ai7f^ukfYVnjhp`9MM~C2GAogwmyPg1Y{DOp4TK@&l#q;Nlz@2~&-H4uD zgCL<7f64(GXG;Hz&3C!OB2rRkP^lGsz!b1qz@ksXaFbfY-G&CF0o5MSf(+7S<`p}6 zdEC*Dk6waZi*TtMMj{_J5k6fWBE1tY;sYsa`naM(6r7?YFs;)7KJ#WeGL_r6U8E!+mV5ek!O07!lN207zChp;@eVOV1p+VY49KfrfT0&ZARuF|2lBiRfhrZb z4;vV2jxt`ia1=sVf}mDqanmir^eOd}q`0+>4K>b~hTh)0hmP>A{d^ZgP(i3ex_+gDDIQS&@+(?|jKaHw0pad!A_vUfIvGQqc z0!@P-woeq1keG!Tt0+YM_3qdeF3&l!{i{1j#Z_HIY7R4wY&hmoTSO$;dJquK{ zf4;YI0jvRQP)Yq>N@-}sKuTmmz;cUfqOLnDK``DEung1IMW}I#S@d4o9yoxezkfgX z`~+w+)fLst5mA1ArjR;9yROV+Wo1=(9En#W)zwBI?7-AVO60ZJ08} zLQloW_8FMQzIOe3Gq5%8HWO7eP!fn<+Mfq)lpFz7vPr|}nTE|nA7h}d5DTsdB5WsWduPPC6_N^`6FTYy zXOaeg_7*yl`)qYG2u@B4n57hVxVsjdY;*K01yvFyIi2h+U~VAoKu=fKzw?qxLOmee zD^&`B%GAh&pbeM{Yig25EjO?(O;F5K!OKx;TZc}vXvadShF8LgZU3<^WnBlKX><853V7Y7y170KW%{%LzUM@*ArQ6jMI6UFK$%$wj0gvV0D}&FLESQLdwb5R zKu+gQ+!acKd`vyqIZ#;++8b;4m2q_1{cvv~iC)+$qGAPtfsmZsHz?>1OFqwza+35J z7DL(LYU%hWg|fYLGvDHsQ$}v$ew&}#LLS=J9kqQ zzlFv@r||^<4(f7&`lzY<^bOgIo$L%DlN(iU*925VKXeSFRVd|PoW29vK`CEy?w0y<_H{bmFpfKW0q1*F^vXzcGl4O{E=?%jj@ zJoa)ke0kHQsk%C~SQYSyy!JTSH-;vDrV8-H+$YZjNZ05XB^YaA5X=jr2XcltwEWo- zeHUb`!150Z@e1ZT0+vBQEHvw+J=`9%b2xyZid!#u@h~vr1-%qU>vEP3Qj)ItoA|)x z!5B2;7YW7(@1h$z1d)8qGTdxVY$$F+JFBx{h^lo?|k%nlpaT zJwal%lK(}Vc=HK5NF>UzzWn&H;ujOQ+}&OhjqF_ck>ZzE1PzSmVY->D?G1Qep!80I z8>+AuzQAn&&tE=QZ#+1#zzl{?DxVx5@S(o7vO!P>!OA_ovJwm%n{(wZOsd050eTgg zhATse#^PdPlA$yCIb6UBNB4cdbHQXr5j;Br98uWl zF#lPfT!8mp@XVOcgM)~MaeXL2n=V&7J3AjbektdbgpLLMJ22Wv5uq{ib_yPiA}1RR z`DJ`!0?!tB244uqH=XFyaT1au=YIbt<>TYCcL5hQ5e_&NsRXQtc%b7jn0G@Jbl8>{ z31?mynNHhq-3WluN+STZgr`nX4(C1ir1@AD0o%l@vuCL>DA)NY40@O4I6UF9Z zm#pJq{Zip>xq8RIeTX*m;7C!Y55(~+woVXtB7&x=Ax6ODZCv*F^8V5w_WP5y!w)2{`8Vn8Xs%2tIWiavPdsL|~NUDm?)PZ5E)E zq=I{37if`4#sk=Wc)|-l^qbMP{A6c|Cf9d%TH#?q?+12uB6)O9gHQQWMFIfA#jhDi zj%09gq6`v@Ps&&iZYG$<3S$Bb0BX~LM=5-P$KRk$khOJ(EfhSkk|iehfDFHQ3<;4g z0%{)jmL!0cGccSwvjLq6N_9mJFD@)x;$2=`G=_m{hcVyRuTvl&#K<7E<2&+j{(xZf zgmg0l9R$LacS#0Di6W~q?Vdd02lvs1k|TgEpB&lUT@{{A_mnQ9L_Kdb+>rd)M}zi7@oHfA_S@-h14o! zF>2P~QFW;1KyT4Q+lYHsd>f_)3n3!&dh=|Gm}^VU!a@RabVw%mYN|8Nl>-TL?UXqY$Pr-kiRG@e}j_;z}{^ z=v0`;$&queex;h^0(9O_W?M+%!AIv?O)Q+i?g;(p9j^FS;79{z62(D~lJTGvdbc{k zeO$2~A_4c}jm7@Tlh|koa(J`~JTV4nX;OHYknBjY*<7MbF%=67FJYz-Op2pUzY+`aX`4QBrvza3PtDcJT8AA0tu zc}*im^`pAKzoWpu!6a6_Ir(yjHRN`5C?2Rhc!a`hxY@Su^JoD9aD>$+%_RGbOEcFG z@?rxpB4}tqDZ<;a0PYOVGx|t0)KQ!047TQ4NhwpaqD$?a@+-y2XLSRf~Ti zBq&I68aeF^(FSP($J;YC;rYgoQ|OGqH_wSmM+w)*z4hfFLeY5v+m!V-{XYn zN2^#BZ~~8DurNl*B6wPWN4pRM{li=F{Ex=KMM9Uw1kNZd48$x-_!wDOWNcNI-rk5o z%|bwq(`>^th@#HYw<54==r|CI(H}S8>tUXqU0ElqP z+a6qH0`RoCr>m0>mfRy@dEn^I0Ar0l-EI6A^9ZLwwJ1;lY=mnYYinP=Rbo@%g>J#F zQ3OI|I0I~9DkLp$snY;4L>+z*0{<0%vFCVeV@?S@V(_FHHJw1gVV9ki2WUGp;|fm- z^O1`jsTuO*Fc}3XXlni<3phVC=u}e`z5_|z_AFN!=09j6xYaY0pHAhv7YF}=mMJTl z1%w%USuzYXPg&G&!-XYO=AUn%Q-0pP*wC>k$BU4%-$a6`f9bgFuAM{2RRAeZLuNrI ztooPR?a*y5HtQrRp2i~};HG&S&MJMMXc?d)s&!~&EIDoi>PArsYU;!E9Xte(BepMd z2~EZ!=L+TJD>H!#^Dh1o%@%te$H4T#jhmsspvvv5J$UdSf=fd&O~4QNZ$p2JxVq*B zIxv4M#c!=SnUBhc18VvDVjv61=|_#5CTI)=ZTlBvnOcC^3lKyDc)$C=MH(wd^`Dt^ zvj4~0o5ypVxBsIbqNI`*YbskJYqlsUDoLANgve6%Ek)stN==b$Nh!PRq9~Fj*_Dzt z6l z9-f|kweQ}JqLoSQ&xW-hW`f9$eq8?FMn+ad?vL1X5wA&^;Y1=q0h+1W8%PisYSon| zl+_O&tf&qV=zE#t)TulINpfT*&%N4gdK~c0W3MS`lDKu|-B(g(Iu~z) z|F%A;e}G%sk_in=MISMa;ZFBQZd()Mewg!K!+Y`$VIZuJPkn9M%tLKGrEdEbWnBW! zGJv*mu{eQDy<#$MOLJ)uQej~aEk5=+UYv;CQ6tB^I~|&ZDl3y630}t znXU^3#%?HMpZ5WGA`u4~K{4Usf|JomR9qEJ64pi)Ux!3UR zf(&FHAPW>XU#jdiC_2&JiKif_E7@$A6D!bWIf)K%4e8ZW2eBvlz@$Y|ik9Nl%vJLP zETa^LBBi}pxLLQ(cIqCjp4=rmb)_IF$1!NwQK_Tx4v3zYd4Ly(_m=q6vC&w_LXZ*zFl zw&gSuxxspb_(CGCJq4P99yt^ct%5rL8`xOhG_8|Nw`OfQeK*B^YT^=*{~aAQF9 z_U0U~cM(Ts%ckG9Ojywp95kY6|g5(X9#b@g#&X$?0vi zY*=WhKXBiV*mVA9-RH6qjdGZDU&cOwAW`*(C&-cZ)0K#K!mkRJ%-}2yX+Jbt=U`QA zR--W*X{c8$_P4TAyuf4R-0A28!<|XB-Sv1v#=g z(B3YtHOMj!>5vD|KI3-!_FFj{JjKr)k0e7wLs6fc!Vc9R&=@Z0!&fVveGTbg=3>W+ zdGP;;7N3!0pRAl*1;Mp$&pZgt^EA?G34f>isBDNYL!|_;L=U!B__p71vbl`*?sM@h^`-OwD&7w3 z#uZ*O2jpIAJLDE;`@QpaT2P8J&fLyURN~mvvurS3D6Tt$T<@td#mhQH*zT@ zyktCja6abqf1UEVJsVnT;(=+S9=izOJe3@u6+z+&Z=1Fr7R!ooJdq$^t9hiHfz_v-<%p&rh2sK z=~G6(wdwkq+Fyp>D3XB5zvDvviw-cqrwZN6@l5V}j#&!|3SRCwYG`PVt_pB|{4*Eq zcM0Jqj~}Nz%tC<}k4@1%x`)ee7R`@;TwL7aufxNV)!Ok6DEqVx{SgFn4VyHt3J?{C zWfc;M79-vuxsekU-0E z-GLd7b?dI7$PkGZkcr)_)6!~eh?~?u*HX$L83_H7+-4>3>D7>Y7$}^EkLpm2vbcmn zs`ehoZ|z{97_AU)o3x;20FXr2L>26g{}mJZmL1tMYpJzsQ*Xm!NBCC2gG;1^>7n`A z1}D*Kq|{CKUEoKf zs-2nw7%}VFCZcPY|E1p3_{Q)2BCF0bUA~`vurf9|8=II^P&@YS*|Rv;1ev(JLiW5)z#N&|!qpJ6D9We2M=R*Xbg<_zbbPWFg?Wh&H!SZEc)5 z`zzpFWEdx;9I%hoKk78}S@)h6d~i~jnRl&{$NktpbkL8M(Cf2#ulw-WWtXP@j{==X z-aZ0c_5xFiEWL9L;r`C1kI>1%(bxD04N+zmJiuEYpB+zomSJ0aYulNuSS6_l{Y!!MAaB(+u|Qbb2hpyWQD z{U5)ySd5=CS3jwpd~&8V&(1emlz~u8v(12MK$Ho#%$f$~@WKTX6hPO-NDYKc^cWotUF7G^k{!e=kgBusq2qgQSo`3BVn5~H zTrxWdeo02 z(EHweQRG(WnqbkupON)?y!QeENP$yO&u@>yQ*s%#^u`GHo$H`BXv#3u=~G;-2x}lQY6HzKefCV%{Adj?>;C<9$eBVzf;Jm>+TsDg z0WLqj8oJO90aqb^8hlzTc0X*$aws2@M}HnRJbRWp3$?=y-h?)k5u`x){N+ok(%s&% ze6;u(Xf*cP%|MTFZQAZFKIljlsX4p0*E_j)i;N&gP$aFAdb((wT;JgJ|KRq!K<5TI~2?|611PD$`aO9ld#a#5iP zlF$D>Bo+utv7~H(H_l-p^h!P_w4zIvJ%Wn67Pc=G!f?Z_JJ@J z)vVQN`Sb0N@`wz09Xh!u(I=9j2629P~Fsi)innW9wdP9e+VY9L=jb6Jx3EM z-i~1YTvIzk#Cj&?3K0GSWiIi`VR7EKsA6#`t;3x=zwCEV>tMZctwI-}XL~2@^3|(h z%+)sSxf|rMfL92pF-hOU+cbxAsCz;aWdl)AEajAS@oBwre124qd$Am8TJkXf z*G0zfQsIf2{o*@dW~>4sBZYiO7n2rVwSA!~YX&U$hkQ*C=Di1xAOYu5`Z4TW{i+v> z5L;q@-ZB=JN>suXeK^U=D=XE0ZwvKHKp&=SJ+e;9+3}W-a;kK1QHLvCU6Tb7;6VTNj7~VpP_nYSiCPWS5Z>f*+-UwkvBkxTS3VVki(R{H zS(M-6sha=CyjBq=%|hpo{N;P-vLUyQFa0 z^erW%dg^C*nh}U}3Esr%iQ!L#k6c<`VYzJl-P!3uNdg_sRQNz>Ly%M?iLsh{ebSf zPa_sx&7u_!2$!>{@*QYqdnB`&&eE8VP{X6wo<7}<=x)B3x4Mx+@LX(e$4Pt^bPlev z1nuW*yZj!U1L;_7cV!9g;d1E}0aJp_atRx{8|S?OHLFC?FIeCLvuUA1HuvGf=h#>zVSyGeM)D#k|Eg4Rl$DSrKL-XUlr{G4 z+s;cYYac2<5+cGQG~4B$Unf+!?~jzI07|HZ)QTu?aAW+{YVI?WE~(y&(zL^E((p70 zw?;(B0NQ@*>_F{&gZVpA&q|ie_yY%o^kvIlyV_m^wSXDv!E)$UY{{mMNqW2t=i`bU zAy^i)Jc>rQGsFZv4@#fc|1+1>ZMixwE`~l-2!ABAw$C`;`dqa;I= zy7k0;@P>YCGKoBt{0zqDB2c)?bHn*aI>$H&m&=G(-d4{J3nik_oq3tg5-KMBmhOQn15+-pw z5vFCl?-7Nd)Y+M_!^@Pk=T{#2N9fA+%TIk}GA_v~*!;v@C+mIi4*GkC7pydhB+kvE zo_P+o;MAAUCU3=&ukA8r5yN)PY2;#XLwck( zoKytzEC-23Qf|McZF_DKFYiW74}j@bgK=|TGU_OEwCvqtf&{%FV;~NGyd{g=2eLmA z@Ij*yA21deQMX5|v!K3pl_84t{%Q7`L7*Cr<9C^sE@j|lJ_%FmN`kFD@J`iEVxUt5 zJ6IhN)c8M0Vf{Y|VWs{@DXiztU2V*q3ApS5z zfM15Q3h+M(cg6`DzU~QxXn4Ta3u|j|8?i#}hn6JOEc%$w6eA+zR-AbCH_N~5=o9@1 zWeRDJebyeK9tb&o62hX3!nrEBMMk5<=a;MO4}ee%edu>Z*uX^s)2e^{&JdZHJShGM z7iL=G6NId2rr#&V$0KTUhnHC*kH4D*$ zw2z?=N`1s`soD+dME=ojQGya^x6B|_fW!+SH6Cu15ZIR}>RdxG>UJVAD(n1$Q%#(u zB}_0%QPi#ctRwOTR^xA+Cx^R|5_wbpKO@Bq<8umproU`dIUR_v#T;V3O+g{Y?rw3o z8W^}b+#OAT>7*VmIB2(5G+CLN>2pOHUZv(~jZ_?bf2XJZ{}7&vljLQz2-ELJpPbG# z;(ACruFdl%k?QjD1t3aFp~j7EYQA!Xf^Y>J3YF&)JU-3AEAptzDp2xBfx1rpUT4^h z5C?1}gr{vYd!BCbAM2vcVN+`EM(Y?FuaKQ!fGVOaa|eKl5c_#T4)8pNKDgpV-lLP7 zd-3|+C^VDDA;u$qfmR?nX+@iTo?Tdcgo5A1Y}W+tD?gy`Hnyooa%aDvBn7eYEE2Kw z;aGp*fGY^93f`2lk&&9n+o3q&BqyKz$g!x>efutE6=W6Q8S)<^W%mClu{1fkyAUJ{ zpQ56ng&T!?aIdB*LcCyf&NwxP2At`~L2}08)Z{*TOuw-3S*Cj$!`e^bmic**_bjHD z5_Au%etZ@rZc=}!eFsG4Nz?5e9SNw$yGOAkz9AEw7C-h8ZDGZPUd9nE$Nb0)h_}Ur z5gLaYJ*7jr1a2fV{@(uWf!^U1k7) z7ejlu92iMNf@fX0$a&n%0zyIyPavti478HexgYj~Lqo|#cx4x8=b_g-x+^$*9y}rc z=;hu_U!6N5Y>;=7?^XhhJM!%A z-S-B<&(H_lpmsZl)i@{}GSo$LqiCt_U5Fl*)J7Si*KQYJ>P1kZ)~3Nj=z$msMlAZP znDkOm1SjZr%=AJ~q8+mwN99F?{yp=7NSL}8%from1v40WJ+>ou=s7e%u1bfJpE;XK zRs+$KsP0B`&L`E|hJlwa3un(Gp^Jz#2;XQN*eD39#GuT9650>zttaxBj|w>S@Y?tU zW}r$B?OIs~-~r-cv*)NKWVx(hVp~2d{ndo*rV@QaRv;?QccJ_f;e&e@-Q21tD@jV; z6@A-CI2@EKjE}JQKY6^%;5tJ4lCgLcN%|UAt*>QkXgo`nEXk{!8gD(81C3c(r#`}- z(PrLF81D-p{a|hlEJw$2aZ7jL+gXJ-wz8?<$rB6kgtiTcs6GAAhI*scW4MAyCg+Dg z;N=WNdejbq{f@&`-aU%o^oQ)uam$D{2Y-!`B$H|nAyG%Tnsan|+z#SSlfglqfaDJy zqu3%xSugY>5T~u}2tq3tN|HHMIQJXdrlrY<8OGBYvwgpF#%h?PAj z@j>Zz5uRxH@aNB;W1;8wzb)NP%k9CDDV%NcM7~4xb~fG%zDoVG*Kl}}y!lNgn}1=K z`BTe!ka7Y|vq52rAgTb8=?qCmcOkx^9-Q3<=jz{S!f!G^^Pv#kb@hux!eOPMZ?mLz-cnip-TGD3zC=2mwbnzAd2{K z{qA}>o5tO&QuOMJ_S1F(7)+8+ZNLU6liI-3S~;d1h7Jid8Btx5z6YHS3AU{-%>X7! zZa0YRoZ;ET>I%X_sPWqI)Q9@TEn{5|N^JqdIDjvMfz9c)NUde{y|)Qsb`|z}sAdWA zLdz58p%9zA9``Fuift1R)K)Zipndex);7+1f0`)9bU4H|F z96Ava>*gODi~<1#`ci;uY8o0>9)EcKTI-ufMBk@RLc;qOYHNImSqtLjVZ-Q8C$v$( zeU}ml&@2SdI=L^pck&~6C*o6MA~D%mbW_BWfVzQ5@<22sV1?X&_;7cmgh?X(WuzY8 zN9c2^uizex_sK!ymgG$;VQbP9Y5*!@F1qkDX(XR~g&;8^684$5e zDVIipaOKsRd&Eup%D;ZC%z4N#^UJTV4jNPn>6^EjtWPqD88Zd0S#+{%U>YTk$LGPL zJE8owv2o#EYk+^5o@VD>8z%ezLyYD#)l$ zYj6sH!dXC4pAdTrGtF-#Qczl2+cAFufJWpd@9qiSj~a=>ea5Na99vnXUkQl=^p;~v zQAbxHk8GaoZ3nss6EGQF75g5KYQ@^MWCV$eiKZs251ct9rxNC(Zdw-JG;z0XveKd7 z?Z<^Pt_oBF-R0a{WDpjPcoKSyo6pMnwG9kkmDkp$HyYQb8B+z)1eZf?meSk_4LT5R zL>Y>r!CFS5*F|qg9=isfmLLsK;v?mlllZ#Pk#&(5Ymk9`l1I^Xx7Pmc3yHCDuo3LJDd6rIjc6}tSwH(F732TUbYlv;(SY(QZ10oa2QTzY{sc5Fq=&s+NQ z$2F?PYhdVjAv4L21jnWOxwphgiF#^*0lHueX$Z@49hT`z>*@{v(mt+(m@`c_mfEL z@dLEmFVlE2LJ)t7Bqxu6wkjx7z=P0Ls5-pk*9ENN{dcJ52owd-hkitS}pFpFK!*KOV=}4gB%XGVR+{PJU2Y$iniPyFkuq-T7RrMSawGIX@$`tt7h z3-C(tAP}#P^aI&yqFOXA_Tth>KA?i*JuW-O+w2CAY_LPlQ=?Xy_P)PE2!)a>fYeum z_-!P{?8NLoTd(5iO%Ov?qFGNlilSPfE?A5VEy1Kj=*qhK`pCRSYie6CLjBMkFU7G2 zl{-6lik$%5T#I}>;i8ed@k@Ozdf8VZrE~+hs9D2t^aSFPs<9u06&*A)vAXF+Fnt5% zyc5==kAT9lej&v_oOTc^gN(Dov{@EHJ^miri#W zssa+|frt~QH~@=H_Stam;dZwGLqK9w@$qu+Sb(?in3>#6NPR5pXNaN1xUiZZQ*fIT zmjtn*N44i7tYt6(lAE>yw~Zw491>{jj=k*Aw7-L54B7FR3=;8@RId9~8@#q;_b*0y!-VjtO7g4~+;*@J&mq3K$Ahs#uio(|jdD-?3-n{5d z%xTk~8R>EMVqYOj^Y8(FP z4g4$F(#GUXa_RV>;vfYTfDo*N_q%cq3|yb-C?_7H^5r{vsgGAKyBgp=z@Rh&n*o*K z!fi!rP@Ev>JVJPaW3FHK1*qJO9enx96*!vczmJcTbZ6WQ$QV5~bbvXr4Hy-Pxxhyu zK`BuA2xIYqc_m?y@HPnN<-{n&g1uHYYZ-Q|@|C*dgtR z#%MQ$r+6Vv8sr4ds=YutH4%!NmmAf)5kH+|^#Z_Iv1-+M6lCNXJbOlu#(odPspi(n z1xwv(i7Fm;WzrV`b|e@L?q4G8C-3USiA#`~*v(MC?%+Uz`}iGZlfbP&qro;wj3juT znp2#$qFB>}k7316K{_d3C?0np!0-q)nTKrhc;c!6xhH>-!DT1}%J42ALfwhaqlp{1 z$W#a%mX=>78As8$bz!fjdFesAe+G|If7?47(=IddUNYcVNGtL|BBA7j<6kb%e`XPm z8vQFb5e=#^3(u>1Sp03R{}F$Oms6N$(f?FzK#+M+N67WhmMX}kDAst8JUmXHa0sC1fFi${~weF|6)s=pnv}g5z@_I zl0EtDDPS4rewJ4yC9dGYIr5xZzMeBF4~YM-aJzp8BO!E-IUt}kN~W~T=sZ%6LAd!A zU!kt#C@dk{{egPx?08min!wEKbUi$7QphNopXA6XQad}!{vX! zIXvu(j;4{$wG5n$qyaDw^NU*Z=o%AaIUN;pE8o7I9tk8P4k+Y2pU!_%5mvwE4xlI) zJ4>b#G7>86A1PJy4>Bc|8Pj>lu>sVF_*{@_04|2)s1Q3W&O_7%^FcPuPvL+@ZPbJF z0x05k7-yIfpo$Rg1mgnAm1Lx13q>F!HJ-i~e}-&jJf&|?S&$f2Fp192&b~Q0E~b*f z4~3!nz_C<;f^h|+6R_72a8Zt32A2Qit5`au=!_wSXLtDWe{PaLmYzBzy5=feA1(yM z@ElV!@8GBQTp==Z0-JzAK(Ol@W1|frXK{MqNQmrlVZm4v1SNd(Qo$fR2rl3;tI59; z60!m*ADR%AHDw;<0In*4DS(KLtnKqy2Amqn65BvYUqp>Zv}ooy7tehM;D$66GOO)b z{^+_G$c;cQCQ*%BH&nU0x<11l-!q?GKSvoXFk8;BiA&#sT-6h1*;&D^Z=U+^YgJKjz)AK@%MvZ=m`uAB(n!dY7ZU^ zM~o!FAu<`t!A_gwAS9oYIQ<|8zc>V=DN&_h=rVEAU#K7>s+TwNB(ZTqNkZf>7`h z#E3M25S=sOh9*O-hFm~U(xab73I`9wMNatuzQ{?98kacUh}6p8-(UAGQQ^X=t97D= zQp|^_217H15y_H>87M>~2H6?Nmr}rBnkctO^fjTp2K)L%mM;%3GWD-q{e0{Mx_R7V z7jTQ$EUTpRML$XMB1r5o3Kln)i*swifs&RDx_=jd=R7-nc>W^Iq1B(6>fkJJRBqQs=k)S&)_p8^Do>>;2OhzA}^0tcM-nCfUK_Qoa@X zM`TQI&AWn+;Q8QO-~-qa-MYU<22~$2YA935o*i&{u7x|63~XQ+2UC9k0rg-PUee6k zTIexGa!rtM5v1YYy1jn`4Kh5$rX~=tkZV9x1~L!`2S(!S@qDx=FkvwPax82p76_Ju zVT@4)QJD4~Kn#g&$}q~)NScC^ntWk@#<%@z6}}yj6JMr6#q3Bh&p9s4Z_&dkassWd zvzyy4AZ)S40GTF%Bx8^a6Kcd%A2jq8D7i)uxWSYwMNF83c0!GbSh4Bv?qP8m9a-FW zf^;fy5+n^kG*6;ku(rD(fm2ac^`9)pev3y74gw;pey7?#7Z;b$O;qYCRGJbgTjb>{ zAV(U)trDl6YWMxB(LBPpd1A znsxxyBg7Vh?Mal33)=Jx0RhZ!p+PIdo+iN_$ZG)(o%p>76&qsSgLTcQWE?YOAEEyv zP`wmJ+6|n691bW31M%K?T}v68oAEzQ4imnA7Y(@J*i@ZD!?cE5#GfZ7#y<3;^Is$9 zpU1qWNxc`k8VL7OU?~Gsg2(V2Vih*W8<{9%i4F*WG)W6`rZ6@QkI>DceK&VAi1{K@ zdNx{RWhHZP1Qvif%v8iOkLL6FI2lI*2^EN&UV9SglcFni4QdTgqJ%4{9x}i-15Z+h z89(TdzWw-7iHb7h)~&SX0%12W(G{>3nfGHm-ay8E6I>e78>&G0(N;9%EI75ICYFH^ z!iFyg0G(ssF6}~^U4S@O;8yB;$v+ka{E;lDGQgwciCsZ%UW;-t&~)N~Q+ba&P0D>h zSLF`uH@G%0f;^2S=*yBN3usvTW&n)wwpwbZnYZbgcA!EpZ>3r}h}srQ==nH)`g0II z?4AGV%)8st?53-AriW;+E}3Q z9|7kd7jH`G7|W7f2Q-*zUEUhZ*1zTgRJ2V2RpQd5c-y|7KynZ6b6AU2HklL@0}UX( z9fq11IEY1DPT2_n^f`7O#NUzt-h90Cy)2cxh#bZoa)CPV9wbUb)CQ zvLP6vIA(DPq#juImY6kxiTo#_#nsA@_?LaNsccCU1RGN@jZ*8CLz$VGIW9eFDtF-GFyeZoE(chp5-XdGdP+4b!Ipgn z#5&al!`m?oLNsOYb;2Utk_l3rd$mE#lSc&rWeJ)Sy~1OZxiZG?{%ZZdRVyji_Z>W3 zRd$n8^`Uv8`OerUVOZ zIT7BboP$FLu?KxWe!Ftz8GM%v?qrTU`uy1R^bhO`ixw@K_nv(TYW=5EE@_KTe>g%c zNWy?Su<-)vGmaqkpOc z<=N)F-J0fL(rnvYnAXzV(lTpgklyn4WBxV$%!(i;{#tFVAM4Ds1$!qJ-TGwx;llmz zo>Ylx(OWmS-xW6&Y}vATLaCqc0;?+1zyI-l(8wi6cH2ugPgTAwHa7Fvpo6P|(yT-_ zZF+{%kh6nb?1(Rpuhu6+$WyqV7Ky76geL&WxW|tW)_*6uDhVhhbb+HZlVJwgBe^W z-&;F6N+1G`#E`CLV^a}aS%$G(kiC3{l}evWvMDtsg-k`jm8p5;2$OQma&Qi)z*`69 zv^L1evEksXuBq|c$xDl&8ZQ0eN+16bee3+&w?+svyY=4D~%wV z{WbS2x?MIlB0yR(yMzu_dXkNYhuElieb;)JnFvluE-k={#u6Nm?ZaiM z0xa-hZD~a%xEE)XM3&apRD4Pb6Nn*F$xV6{oBlMn1OCa}fvN~ur^ydzF(dwJTG}R? z_S)JjdirY*5|0PI&ih%2P;v$9&(YV{NAm@WWR98+r(4#<5n0cjNq~!Ja>7V9c(I=g{74hZg*C+0^|bJr&>!sk&!N_26sTECHCT^$jaZy zc}wuHJ|E0KlF5DWAjt{_VZd4I0e*~gFOO-c!rf(v>1Nr37g$GgV|{u4d(ATO^)kBY zT5HG6oMx^zKYy?DzTQsniM79XmSpE=ksya(zcvGtCW02Ir!%IBVwJ%4C{*`vRNvGCDiN`DW{60E z&`{fGFMkLLwj-a-d8B)f66PW~bmDNRfK{02A2_*fsU31^ysRXI1n1fHQ;ko>fVUK( zcAxzEprN#9kWwg(_L#?@UP$rI&NO{$WKkK8qsR0evIBS0hD#(bRifk2rvblwk*3MaW8&cfv}QADyM}qe!M3w0lNDNs7p=DaFN; z7;}zBRN1}#{YY;*^hJ5JeN(4L&$3giz%uh)N^PohHraULdZfx5@v)teD)jWLsHf=> z>dvYa3@trVQz;SZ+@8C|-+)5n>O-rP9^G_L5^f(DD+I``kyoa$)8u+B#9mTRs{vm= zWYcw7n%<8_DpWixxkH;44$!ON{<#>uV-`^oT-<{vtgOtzGjl4s3IglQARQ>omW1fd zD?7CR1|_BfD`$>d|Dhl>kwn#1H1={E!3kX5+~is!afs5bU%&qA+r0gKc19>Ipo`^| zlF}@UFOYETEG8*DM5SOQ#iDs81FlKZhHm-baeh3<@sN^|l9a<+S)zPIAPfydjC#QT zkd_k_qu~T06`d$2C(Mf8XMw-ZQ3MYr7j%<1-Pez6nVMe1*N_127`v~icHi($6ZRAk zED0zQLEv9I^h?jcU>+0yIrJ!EVUMibZ=ntRdSP#}jSKwYPO8kG_;4;;rLv+Dd)?f@ zL0lZp1RmT@4&lWoz~P{YvQdN)n;v0yC&P=^oS*S5lQ;VaT^`Ydqju1R1>N_EnA*vc zDc{{R1y|bGKZ)D1rO%=5zDk_2mR6kmHhbA0?x_WZDB=>{q04XixfN~g`}ZbBS*fX7 zlLyX#^B2u7;upV%CI!yML6>z3&c0fAk(OCosHdmr@oT(wGi6b^GzpLO{m&tyg+yKe z5>3*^J#K|T2_sW0Cnu+XXr#tMw6&LmgHPDQX>NT!=wKMfufju2e3A>8tN(q8&)?~$ zypJ?At|##`@uw#*G~cixNGblty`myxb60l+jhvr2s;8H9A7Mx9l$9xET&5e5ijyoW z{27Hh5)M=x95Ubj*syXjAa8QLRi0+Kv;gEjX-SEZ2-K!UuHsRm(EuHcHa6|s&7h!V z#Ono$kkrjMzB4-XeiTBjQ`*sS^w!5+hNth~@U+1CO3BEuY(9M8z*1AsJ~qn})Crk< z^qmPHe9+p%=y3kjIh4#8L0ePkZ3qf*Bf6$UDVG_~V<6i|sAl!IF{p5k<40*63;T4y zrwB(nSc`At<9ndFdW8TFKyESv>VhkYk_719n>L?AhgfDOO6E38+tGZ{?US)vAfCv( zrM|YU06jELsT$S3cu|3l!x_G-i&fCfz;?DAVvM$GE2+AdFDr57xgZ86^QTw;oim(% z7lFhXralg6hGk>1ZG4@7o9;aJHNnW?`^c+7MO+&TBoc;;% zYqA=hr0#(m>gC<-SBr|2dOv+4Ej#`IX@9_#6X7b{?9nTZkd#lt%iDG+1F5oD$sb%* zj`}bpBH|)iNn{uCgS17}#>&J%k}6;`lCrMnyjaTWxo6KFtXy;IK(aj8VT4iu-uLtO zrw1X$3#l}2Mpcw~V4wpSm$2VwW+A;6)QKdo6V+M#{rjxAa?wEULd_~IBSR!ylEst$ zn?<(btpYH9(^jl0Od?%44Hdw|Lj%l0J_quI|0pt5KqWzxL@ke%V6wrV=kADPL&6@a z1Sxt?a$iA?6N@q#fxVBBsf80*>&TJIxTs`=k}h4kWC07t-j62|3EPJT!qDt*YZz8Pc=DVVUZ@bw!Ii(VoL;S|0H1Ok)chUkX~7ablE z!H16kkOGv4 zlmzJlJ%W>}8yX@PhR$E>k3O8eIx-_Wg|X$|I-E-AQl6ath4=u_OS=zH2bMyuM4mEv z(*Tjp-zOKN7yC`?lWPIuuy14Wgxy;+csAoDWN4gpXNmBV>Fr5jr>EoWB!Ne~syeMc!`Y`%l};@}F`@kYc+RN~yzDi=MyokE1i-qZp|6DWij=j`V3bph zjoL;N_%ycJAD2xPq+av75lyriyMyVPmwB2r_K)j)0Fv_x4naVW0$A#R=`h+{5(Y}5 zg+g)Fjq|s0AP>jXZs;K`ZbNmc?@--paO1^r(3THoUON;|f4!+66?`aK!4I!y;|b^) zgKf2p&LC=nVs1AVIuv~w5D~F7B8rJT4K=le%D=wrK)a@jorcGdQT2vr{A+ud*0n2F zw2cnW%2Z$uqp`%JGTc^I&(80t0Meh?nBlpvq&1dcyC$z&$!Cpf!Rs0BN+Oy z0nK$|4j}z~%*@P9zdu0eK;@)^y}cl=5KY69{CxdU6p}JOJZC46|Csvju<&XPEQV(( zC8vjsg8B{4o-Is7=M(q~Yb*WqdXo(sHi#(Q1M6TrzHu0;x@Oy@u#lU5-{C{ec;t<* z<>5(m9~v6kps1*r@$<^nt2#d)e^meoQ(E}Gzj(5HiP{=mV@(RmIY-2%y3Q}>{OSGu z_1;Z`qT8%#g7}EZZ|zjQNz{MfEEEbyh77c|`E3v!X3+_8aY}~Mi4#>Ra8K!P-@ahH zH|7|$DLo_E#nV^Dr{btoanI4JhmiRPR^fXo^LPiPcwbIS(~aVqm`k8cGJb^31>)EZ z(bdyS&5&ee5=1-OI1Q>i6wR2;*Np%_k7Mt>Z$J+f8WB-pdtiFzo$=GNatTA^HAXz< zU#>y<=YjtGUb#y5ef+6&<2uF5@+ll9krd)3V)TCE*#vqA1qMExeTk>BRc+1i(}}x{ zXCV@?Zu*IQC&P)&C|@g!(~7rj*tl^&T)JHDXu;g_9AdVeIdmM*<+rT^XY1Q0zub%Y z{-G5|FqZ>rzfGAOtgNLeV6%(PPP|atU!1i{l}RgDy7vz#VRU6Gm6}=6bA`D{^Q=YV z(ytA*^c!V$ryrHv{nESmKV^#Psi@{=4{gKLAH()4blU0Z&G}*4CP8i&FLHO(Hobaz z^?>|-X3a;oMY&?!(=AWVIH|R)IS2&=r|3@-_Jt~G(;$-I)u-p6=O=~gU@;OEaGk_` z&!Iq+5!AR*`cior%pGNg-fnJg-v^ra_w^v;3Sjc_?fPI*P%G~>%F4(Hw_c*9CdS@# z+o{;xzT?4($^%d55+d~~#rlHzdFnW4JS7?f}77g~b? z?u7AJ$@G9|rnFURV|Z&)lIZYk9h??cZ7UQ2UVCdcae$ zF)dw-e`OrIZ%`bc{nBM0U-ZN+30~wV@UBY;-Iqzyk-(H(X{FSR-FG!FGv{zBNpQ3T z1UO5}tNA8v_b=LB6PvUA0 zH$BMDcf93ypWMs!6zIm|Ih-`2gA3$Q)V6tFTdVP94kNd}I4te-8e1l~^0$XdfLDt~ zYemo69pjk$**QnZkc<;c=y39`!a~q9n!p+dCU*S>U}%Cv1bL&CGlxSK#o_8f7jN_p zjdNJVRcOVJ3}cBH04yb9ZyM!`I$A}H{d`?tu4BRmK-1fUkBC(QB@-2Ywm|i1!1O!I1f+`)unp|o z(pZVdT~{TGOL2}3HaqH=MxH`Q%q6n)$WR{K{wVgzAk^GkX(-4DqJ`|I9fb#Xb+C&Yx6w4^atBVTa~f{BHfeJ43%*F!=mKirim4s!^VN{KLZ z)=|FSulU>UXH4=7d{KtjaVyih01{QAF5pse6c5U62*7Jz^iBOVv%MtAxD|(_)KlY< zn}4kG(Ul$1x31)#*kW1t{J8zTgB53tvfddSTV7jxf1Bu%jiaO2wR95lvkE{5O?e%# zdCzSzL=BalQ*jaw<=E?LwL!_TGwaN@ja$!D3ZFZ-J@B%ufx(rlo5d8TN|xo$NtRzI zr|W#hni&}Q>cunq?c(B_5pr?p?BwgG8e)}k(L6J^ZeO*ls9>!@tP7k4=oO49m#mfWsI1Qj!{8`}D);s;OJ602AYvO;^oW zO+_t=wEY|XDv^SLC4mbrdxEo9M%4?~^|+(XdI0x^PbH8@6gY~K&v0U7fJ)DPhPKwz z)02CUef4UT{>DZ=LwT*p`Y$h(qyZkiDa(5=BV#E_THp|`(t>V0+x7dSMED<)=oHbX z0Ps|M@!%&5QQD(yFY6y$V--CRjazYg4s9D&RJ{JrIhcjdBbWLVKQW9RIq22zTEMx( zr|9%~s`-3$G*1#&sICj>G|;~!St7!{H@j-*SfLOgs(~RLg4ca?)e5OZ0E35--bKkbZ(fV@(=SMf zXH6{^yr2E%O-MucbSEp!g(}hS(r*9p7FioZZ>B_DpO*gKxf*>Sm(`R#OAu+WaNO)s zSEraT_m_9s)-GoSW~$-*AsX+F9mlM0=dS9jIKDYx`TA=xt;EO2tMF;f@3S9UGdg7fNd~8Sim9A zEkgkr57Kf>8MN8u21=gn|i23dc>!;h9_BLD&JaFYCVf^zP_F}9Nl-P%i)}bgwNf^}=rao}IIEjBnvXEd`;+5Z)RPwNV4GQcsvtOFC+dtzL_iCn#*Gn9{k{)yV zg@h>0>ZPEk+7C2-?fX)J$t{l zcIfxH0%Hk?upZhz!J1b2V9zSd!C|?i zlP%vD{Akl?`^E5@+FDhJXw!e7Wj8!wXf}uwi&NQ4Vg6lGIw(WgKoLBbo`~WeyH#I_ zs)+aofdkQKgh~W_K!~knAI?C-N`y8xEn)B88Iw#H)S<5mGeN>(FxMSD6ZmCX$}Zb) z_Z(%w#(NHJ1kruvx%Xw?o33U``ueMxHRkqPm;%`#o)ca+P3%k*tklm2yd|ex)xOckTwSHamDi2NDa^97d$iUp7C4&ce>;@Tf1SQ= zm#&ZUZ1syhiS@RUo(IDX{a8&*zK=Jbjd8T~N!%!z+@hwY&^wfQ|7lu2d%K+6V?%BK z9jumwajWH*sgn8wVy^BNAB3{iaK9ay@p>mNz9-naSX%hc z#!=YfxS4Mq#yjX~uav)+B&QL>LyLLnaMk_y-=)qjmg%it)Z3d%O$O<85~&^lx`BsV zf4YsPKdj4zogFsNZu0rng?$=boMVHSqxWH!g=BG_>`Q5iunzs8<^`zwX2 zqiphAl0?g)_Gy{>pFEpgMn8sO!iirgpK~M-TZ_2JK#NZHMIKA^(?L2+m0kAJ06=09 zRsK}@M}#f~gz$+V^tbu(nyY9jVFL~Zm$d&;CR8JMy;sv`+wJl3UF|vg8$?7FBO0YKcQ?NZ*za}9UYEgTcjIc0u+9f({u~7^h`*O@ zdrd8#mT-5w=^Oa!)ByNgY5FU-I!-XhmJDv?yKud7Wb~J<+B_{% zy+2u>zicsEJL|Rn{sjF?5e)5@g+G?V zTvT!0k-HI%!wI#8>B`906lUnT@X+?+UL?=u?^?7pCr^*5l8)vk!NGU>blYIx#pido zZ?0O+aLAWi@Cs7-B}8?Zfz_!VI6vm+Jm(%@%HW=5BM zAUx{Vwvf%Q4Lfg*dTg%BwNo#TPSa9VI1{E93QLd2$A^^rk~ zrW7p@YvDIghmHVXl+)-$D?xJK68qxg`N87mX-&5V<3Kl=QRCIZv-K1hhs8#Z#&W$_FaaQ91+Q2LrB3RiBzGk2ah7dS zjnf>Y1uZQ&CwI#~tSXSJe6sjEwvfp7V`u=YnACVMgZ}L>Pj2T4+EB@x`@fXm7}uO& z`u_d9u2J>|ujGdh$pS9=D!hy3k3}H)_~?cW)oH1IxiJm7wzjPL+WyK!OCq-7Hz_^| z7CGrMN|{AXZL*`4!^g;4h||F-*x+d1vv(L9w2$}Ipu%Fl#3W}a`N~uYlP-=Ge)shB z8i$^s1=IbcmL$FH%^MeE2`RU04`hl5U(qczVrW&kb+hZ|wY4Ls2V0;%uRB|^j-CCo zxa8jP2Mrgz4GoVB3@`_)G3DDkSqH2PVJc{Fw4{FN9l1QXXV2&TqL=^d_>Aty<>y~! zVJiK8fgw7q?m+x<0SAYi&bq;*W3q|Rz)8uAh7TkV~k0m>POHo?494InvK)VnVyKI<+AISE7Ok^Ynk?k=t(35dUIQI$R z22Ll5O0VA$2}=y(1o&`$9P=KJXz{k;r;0EiCXq|xl+_PXhh@4T^6J|QTtSa>?e3xd(^J_%r#NcMsx;JH2E5AYe@DWrk>(#*< zwH-MYi#|2Pbn+V3eb4kp9LisFN0wyDn9vP~JoWCoffh-~ z`0`{8$T_ly46lL1bB2_)Xrz)_6L>b)(8ss1e(SBb5lKU5xbr(t+)BsDOSJ+3H5!Ac z@Pk);U&F@6m~&*QL}W*7&l~-D9J#tKfZlcflxFfQTdOnD6aTemnx)z>EV}-tlq0Rn zGE%~5QIFCIdo$msrlty69}8GjtFP8KzG7Yfr11FfJynekhttxi>)Lur(mh8G0UcEG zu5FWl*23O-=4;BB!t}SP%ikvU2Gld~xf>rm@G7{W>e>m>=ZiP2%-DCRlFrHLPE{#; zLn&?SZGOeGjfWFE^aVG3ymIBX)L(s{wgTsxo&&8}Z6SBBB^{1YO}Ql2hJrrd<7{_= zyu(A5-#u20cu-0p$OkF9f}&#t*{%O`$tmOdYDD1T z5DYuSn+>iB{2>m7ODKf}WMp)VCV;IG)_8=Po1g;admk{Ke3DiqR5CaF1Cs;|#qJ_-&RpwOP4-efF!nLdbdwD?a8| z*tMqJH=4*t&g=rhN;+hR+bynFL;C8(Tap)d3?pDSgD6YU{=~h+D4C{ z*`)$qQPj*%^{-dkY2_9h{AUH?`ss$y{5tC0z!#!^gt7PYSk*Xx9P7EZyjq^aJ;k|j$?VDKC_>`$Ad!EMQKIL=f+5uwf9*5YrL_hjuiL`HA$u!_|^l zb9fXE3AuV0sJW858M8}K38|^Qy~P@g&b9}S1sMmUHBiAaV4HJpTw zk=~*}WjqB1MSh0oj6vy}Mqj7Z_u%YBcrnSK0@5xuDA1zg|KiRG<$-#wj$79F;9!h; z3uqM9`~huC6UYR5ACSF%uAfE22hRZ#gf~mV?Fp&L8SHXGEpz}8(ONioboA>EjI%HH zFh~A8NLyM#W^Rc9^cR4v-&}V^53!&9LwIn?^{mj`{GiC+$ZM_ zx4wVBGvdrDn%j7BnSgLUm)Wo}Ef6Eal3k>zlA9Y%Xeks(4a;(Jonw*9yJM1((QnX< zdF|y@&ql&@>x0`8Y6VgPbKwD~sQO|TBwHdM)U2m>$j6FxaCJ&baLIY@p>24@{(kD( zI+1WPXXzj{g~1`muN73B1M2{lE-r48oIswTNly)}GU&h@vhrV`hF4bYLyjLB zweo(!w4#WcT~fUD(~XloI&3-S515)_Ng7G;w_ep-oc)}Q{NCOO4)37lFpEhwl!eO%+&IF z+oVMo%Cogo7Zi+Ty@=*XV?0Qz_~!ZGy8hIXXne z7#NguUZq5-5t=}~{_OFOA<%i!(3m8p(^*~jW}B{M;XK!|=rjidWaJLtQ5xwOBKsvF zVOn7DMALELk*nMR`*EFZ+Z?OcO1%&_DYaSJKL(Y?Aio!AF10 za2`fhxzJ%jO91vM2nLl{`40?#!|Q_hSE@5X`VD>AfS$q1V;E3^{{a(tBYO-t{ftte zhgFejK~F=&@xcZI1%?Y*q|x$|n=Bj|N@=@)*Rgw;Z~iqyq{nR%@;KrArvL)hoIu2* znqOM_Bs_k0R-FFXBS9udDjXrSkPy;G1AIPqwiC{8FkT}9MsH6lUSkMCL-ceY-ThIE z9N<73OyG`0T|;NUVX9ue(Get~NSy|KEjsi1;=LbV@Bp-q^qo+{hU6YV)B}E|i03TS zY;IX2rsm+^DGs^6*@HC!dc zT}C?zJccroUQT;(VIt)BYG1ez(8)kzsfb1I8CLK9RqOElSL^U9hu;Y?ii@*xTceto zZ7JFR<(^zL)3iSq*j+m@)ffu@ien^}_FKJyLgwekkIRKcM~{vw(Sm|}=UEw~T3gl~ zpgWCX!f-Ci!F~tqt_#tw;F%j+Sw_}iDf;$E)2qibS60Y=`R9v&vcE5@% zf6H_+7_Z(yGv_a*EH_sHAksV56}!S?FJNVhz`Ydgqo20Pi70g~wso=W5>VH3XiQ$<_K>_l~ z+0c1T3&P}a${AUL?LI0d`qpedM+QHSCT$cN3)LXUJo+Xl+uT!pW2OF^fx9Cw3{d8N zhG2urR7GXHO2=JtMNyrU;QPmPcx88G*lUx4HL1_8w(99GvmrWUFV*pxG*c+>4ry+# z_)F$s`hRxLYPRQ<7WPvx&roIcssLr@+_cB6rNap%u(~|33cO$_ot1xv&NyWoxtRQJ z@GcvfFSrx-7-Fu0H!sSyC4R>eBEF+4Pr1G~4(+*PFukbnMI@ClLAhJLir7AX*uR4C z6UR@ttODaW$X`l^)ntxP}P{2+SCs4i%Ab{VJE6OYZ)Euxt;dKQs}ljk_Zf19lJ-u(Y%Q7Ab%r!;@rOt9 z$^d^gx{v_|)z`kz=0e?oIT0 zqDo{%6G@<;o}24mc$tz!iN2Pe-eJI(9*6Bdetq=v6?=#4Z}M>e0LmoIwdZ4ON8pq{l1S5o7~W(c*c>YxoBpFi6$gG)YENM*zij+)Cdkd*qCoT zFD5<fidbaJ9i+5l)hx=>DlwI|pc#AL?4+ zTss$#boXxbP~A&t!oIgO)lW*y**aGJyU1ncmG#!rYDV)DadQ@Y#pL3zM1&ZKc$_M- z3(D(~(nd*2MS7&k!jnVcb`-v7Dr1B#UfY-w|i!ScUn;19IrlLT>h&KMLvnMQwu| zQ>}QhZk{@{vJ4aPx%X#$tg|M2C?RtFU(})TTi1J2x#?({^ADec!J%t1%)b22r`vB1FL4$Bdw&LF&{fN7(B} zJRL#*hDO+0w&TDZ1MR4_v^I<<6&@qp{sm~95(Ktw2TB%#`zCaG3l7KS6Ns{tK=0@C zw-6(MG6Fy^*~FM86=S(Rp*GW&7hV z0TZp-jei<>yis?_l_RVt(Yklf$-7=x#_i3GeaP_`&S7ioQB{U-S;|xy7jf}eMLFlXCif;pnbd6kv0(L4+W*^ZSTg3+L)#9g6y?BfXk~fl(g9U5sZ$K@gt!n z2@pV|J8^MjKh^Qy_t|U5;OCF3sM5eEiqm1EfNkfAVBZYNeVm@<^h}+EJ}NbvDdgm2 zL47cj(0(d87V^A=SgpK3c|jAAYk(CQMH7!{KWrqW9Or9!$SAe-(^n{?5Ix z?_yPFvC=(-z<~;TYr6>J=4SQbI({;rJ-PaK*W1s|w#uzl6X8CMwchXrfRT*0cGSpO z=HyI^G#{`?UzPEjzvYj)GF`g`B~O3cbc3|n7uKvS69YQkkyR$3m2P-U!10{ z(c?B|%<&@`9hIGg{%f^LBDDR%36Ib_EC; z_QtpV?j?l8Ca>3LY8zgc)pJd(tgY>aRRMjTH4Qyz1*QP7{2&Lfn&;U5(9VIFDHGV3 z2u_YpPC9h0J|lUR2)fyB5|SHofPQM=sc%<4PA1AKp~_tHBsA+?&uH%b({8?OwV^$TJlR6CIC%- zs-6&P1Qt11KW_T^Hfj5*z{kL*nw-oi?HvM|S|*JTX1d#8|Ab;Unu#78FS z;Q3mBmiAC3sC~6%WxzXSYJnz4?k6;K^B-ry@Jz{4z`|`8@pOSza|ObHrdkV@o?`}?bH3G zrLnQnOHS^;&Ob<-OZaJPOH$A`%98bBVX)M2%Vn~btLlC|fZ7XRvp#eG5%fmdr(OM) zG|KbOmN{Erv5Z~U_iy*>oW_>F)BOmV7ck(XPgaUqPL9!RP9)A5S#7$V}f(30|_Y zC$y(*^V|~je#N<$>ar#j#lF@SZTIkRE_vE0XWKpcx)UNq4S0qg`iGWGc+Uy86YA&TG+`4V+y<>upnIkMY9>q9TB$3kXEab zq9S681Y~@=U;L`@zRg_!=|?n_6THCl!$GFgKuAd3NJ&Tt2JepvR3A29@`#b9c}Z~K z^Y(umWzbJy78j=h=BGslIaxS1i0hHzIx>Sq1=Q7v70D>VmjuT|Jpjys7l@>NF-Uvo zh?wv}=RC`AKdqf@8`KSj4rrJYp`*6JVTmv`kV!9$!dii5lY@RABni}n2$0Jv_Jg<@ zIbK50NiZy^+#j&Pi4Y0{8t6fgfz($=uDQTH4y*;9U0C{2#frUDU=RHlmcULo}W3PZE!|TmuBMK8}N^ zm=uGm=_wqvZbMJhoDK}$@H^4SR>AmK0fgp=nLR1%0|12py2Al^)|lXL8_2rOXsfvK zMr3!{$`3in+03>ye>@QzbuWP ze*ky5P4C0m@G@|MHo?^(RLg7JLJw+dOKe||#vxJK;8VZAx)xJaB@D8;;tEDDcyhzi z2K*`!--V0Jvx`?FwqD4Rdw6&Nb0?z05$F@CBDV2zv9MX5hbCz_Jbvg)F!L??C49_I zf={#DvGWehyK_)bwu7-)03>Yy=Wd6|Ig(J&?gNa-ABQmQpqU-NI^O8cz0iyr#xaLc zG9`kBhI^Wb8+tBO4#8joiYO#33=auv5K6m+yH}EH3}WHMTRm|r&#MwZtZvE)8bm{w zf5s(42F7j+CO$K9NnYNQE!If*Lgu;GgP!09u3`>mSUc!gUy%KzP0u`QJOAa zCVqXqB!8Xo+Ln;mZC|xmqwZKWqw`4rWAl{Jk{-3}=eHGMAaK+C_%>5(?23);(cANv z1a#P2Ws`MT0w)3a5PMXyW3&8`hP%oxO{jfB|L~SP)4h$J{w#q1OWwPucyPpf1@B?s zltHG2X&~|A$Hk>RAbdu~*2@|jS0u&fVh5t#{qB|)hx9;G-0r53vq^K$7W%QT)Ol$o z&WFA8OxMMAnZ*h6`#)N^Ej+1~f^7>Xfx5qbXD##=yNU)3-nKc|C_X45iJbRdOBUIQ zPpA+y!^AS}XW>rNWs!xJN{Dnin`zs3mJ%KQTv_h-&-5fUG&-?y+m-LC#kUv?^mmkx z>DrEe=)~@8_9>daQkI8Hj{f$IMph9Q<+Q&Nm?^|<)+f~H8X8x#9*~kUTw6@>-dtCyTzsjgM_9a};oA#8NA|$dHJ{J+yc`2>6$?%e- zS#o^3i^GI>+UJA+>G&eJmJ-gl_)8jO9|GEQ{%Ac59i5J&QC^$IAG4#K*aeF0+V8)i zdRM>P{>~zT4Qf3$kQL>TWNc-CUJMQ}AaGV!Qwso4KvGfT!RiPh_=U_Ie4u`Tl-8G@ zT3`(Xfjd5&UI6I8Y{JpSvU6Q<%oy~5Lu&Nmrui36Nbm- z6%`mM{kK3c0@MIzsz};B_%yHPT4xg{iM!N3;fxR+-12H#nRX0HdjEHwZLz!P#C{L zLx>0DN8jx)EWQ4Gsvhlv1$tUbhqn;^(O7h7c;vMd54#VC-xS;x_#K}>c3Y>JAfPr7 z$E5z{$Q|bf1DN&do63o1AD;fxpdKAWzB52h?q6(uS-^W_J^{i<;K9bY&%*Ap2}x

))ENfQl-2qhkC}UM?QVMobCTr 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 z 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%0AIne)$oh@S9nf5 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 delta 313334 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

  • v zAxs{qGQ$n&`TR1*t&myRc;u?@t3}>2JS? zLlwCNadBsUP@i7m-%JC`WJ8FM5??P#1=Fx>BGK>y-^;tHxlLgYln!GG4l91nKPfN{ z;JmGX#z1^q2EioL1Q7}&p^WaK=-fZSHX-$m`ywA>qy!tpV0scCPo~}ABI*SqEd!p$Up0W@ zd$27AP&2`$@N^$od8?@GJp>sQN%>ebM4ThgQRTbi@Rmeyp3*U#G+8)JPuryBGQGec z7Q7RE=RPO&(ObZ5*vm;v>-7Y5yI4Yz1eKA}-Dl4(6*t~Bv9RQlgWrTMJ<)Ut&lbgR zb7Te*64I!rAGm(3fl2BLC>`b@fE12P3%_D;519ZhK~0S_&Her!q}rnPnhZ7sNLo={ zt*TXGT1LOqeR^9>aa~;<`mxZs3>-l3N~jWnZ#ukAL(OHx$c$6ZyM2xui)yZ>%e_Y0 zsfeP@UCm@*WMgAvtfWi1F2$dxU1I$R}j&Jnv+Z*w!ObF7c)4O`pTP!H4eY;qoU z$REk!+Aerqc>mtEOIM4OYe$y}J%3)f$n5j?%SFyP9|t=f4?3JZbKWKvaRE_bHot>MwH6t9gz6G!dc|{bQheZ`V%PW z5KIw(eZaxRMNh+Keuab);v3PIm%R<4DmH{7nqFUD-_o9QrF~-`AkK!A=pOEHoNp}! zvk<3X3oiuMR9jbfh0+qfif|A(ixKI$6cs=~N8^hZ^C5t{F8O$R((4)+RKTP%IXU^M z?Qyay?`B;QF|j=eFo6mqI5u{fLhLe-GQc8RhNZPP01`k0U0Yx8sVG2;ZMueX86}U? zWOSrgWF#M+1P5e!ATRc5YcKcr_cyhp>_}k4IWO!zWN$BtxbMNFD5Ff;R$p3G4F>4jx1K%3T^<)l zLnTcLwO?+<2WQM|K(jk^z{uEx-1y8tusTxLe0^Ee+sey5_4HRcVJ&%KfoEovK=4l( zIfxBu9;isoQL@2>lm64NdFq4LG9pn{Z@Gi}tPj0A3Rpw0pYM6FCVM`8x{f-oE*D<# zhwZLlcCa6A-n!)lIEhePuU;(&rQ@BG<5X1LrWG5-Pq8jEaT{ama_(DNmrI-<@HT@> zO>e!^X8mPY$B{%o^!N9x)x*J9fdj;7WTxxVD6#m2jDxlsD_gkclk4>f+{iwVy+MV9 z==n8JEu(J;Qf)061UjQn!dVd;D_nQl=-4q5+u8?%lg7`PfpC*xAvkkHhKGmy@Us!6 zlhW$^%S{2Z@fr*MG+aKm@oKOE6H|Yi1u~C?hb zeRDGO3=H~!tjk{hElaRRsiTb7Du~gXK+2H&S#49#y?=iJPTUFrenDu}Qqy5|!AKMn zqKyD)?RDeEqBI2ppP+~9!&M!!D8v`1+X-CxB%qR?pW^3eS?*UwG^1qZB`Nff3aQ_A z5f~mB;zsV;>FLNr0n3>g2{(dcOFZKIW)cv##_b!O!rX7iZ_YadI>Pn!^t>@%n-0Z^ z5_I$B^8Bm|QHnwgAq~%(-lIQ}8d!U%7`#!j66&1(ilWuAb=10bg;Rr3OATtoyExE9P$d-3@8e3kX1>d<-TgygF68y5~Xo_~FwZxN4k>hn1M)e0y)sLoi zIQ+xKZnZr;Xk^4o`l9Mwe6c2J9>vqdaij3(m$_|MA+O@d#CZ_4cr4CdKkbmHgBLZ2 z79+$CvL?3&8_w*Ilar)(2)(<)H#9VqXe4mQ2|#4S(bD6P|EcxS8n`N&YHi~Wn!8bF z=u6?x4n!~c0b7=4?L{GE%?rx9V5gPsF9)0+tbG)_bO7MI|2P^~BkBs-B_Vb?T00_lD=Sq37@~2NRWozA&Q7%2f9;eDo0*?|n`gg{nB{-+T&pO< zkNPVej=E&C?e<_Lr1cOf+;;m)R|?@qa8%S{I5WLxYEP!|OIvfmF54Acq5DZMFJpyr zZCc#t+b#lE*_4^r{>MMAzj%ASN;b)Yez>mFxcPcjz|Q#FpCLN*A4icNdT{7X7zj!; z6kg<_s5j-0lTjOZLEYU!q^Q+FYaVSmr?UKtq6c}{_%f|Gax&!5tt0uW8)Mz(0rrWl z$j(H{ET)#SLxrZti$oaYF&aL*@UY%A8Bdz@`_OZQx0~|QoPT^;-sS%D7?hUGZEbDV z!}|d{V}>I)(ck}&-XtMWjnb-z8Xeti^vZZ8KA|@_NJzp`w(%@X+0}vrmp~fGPcvLI zJXncHC9GSLN~epQ8AbFDDC$_@&_Gb^4W~7*^%6TFcGz3|=bW+~=sQRlmf=tBH8}0= zY%xPV{D>bh5#0U3+I;d#d!`u!N!_H-9$CFL!OtV9XcxO&_L*%tczA`_FL50ixmm39 z+NP#cwwEv$cBO@}EfKTBa2hfWFy0>By6WdkSma0^3=gd+FF%JpqWbxnWNi$$Edv*d zJTl*q5PVh$0J^RsNSZ8#g}~b1=DvR!8vTbMGC5EFZow@QX@rl8q)m-9Cd?XR#Q z54)rD>OrW2h=HD7o%{Wcj*h;Z*5kKA;jV}4EPYHC0T{Ky;F6A6y~kNk_AuCi`{j77 zld~5-zg`akbRPh8zMy0|BMj6{Fvj_Sd9uRkSXh3*m#cGu{z|`NdDraH_GtJj+qh_W zX*eAhwca5)g_&2wQ$Q*;l}$&txptkki^l%_0~-t$GBHUzmvC}&I&^>{?HL&G#&V7a z;m_jbNmvX7H#9dlr`Vc^bFD*{1l-_+?Zvq< z_;!i*0<}lR+=|!m&dPua^1$!Z?HcUwC-3LiuV1Aa8@!D0HW6ZV9Sop#=STSV8kohm z0ZPOAgp20qf@KmGd$hMerTmbyrO3W-0hIs&;67XtGPQZ{zzbAj^9hRhRh@viGF5xJ zrM0yN06$L$lwA)er@M8q*6Lp@vLfOlJnaGcEf81reEv)*B~o3WMt7JAKwyK}Im5d? ze>!z7Nb;DJ#r4E!P~7NPJ}25)Y1$uq9Y%;zq~TF`C}iuV2^`R~@Y)Jn*S2<(++y2H z9&XN=Q%lzj>pfzFxzsrEqA-8du#xvq}EHV3sntOU7eTQd7&(M?GO-x0XN& z&lAy0`+!bD&(L6UYZVNv5^uE4UH@KnaUT5tKFGqG!s!-b5ejZhJ|46}KuAdC%v-nJ zyGv9*cL3NRf^qm|Na^wAi!B+8h1Lu^LGj>0)))nMblLh_=ob?}fkeqzcEA{U>VR_p zm@_eH0#6A>3L$g^gaHO`LVtyZ`kCAf)q$(TxOoKAP+37u?oZV<+;_@b;GLpdU~0ix7> zq}a0V;AZiLJ6meq;%l&{K<0b{pX0AAr6t%2a8@YcSfS{e7p%2|!qIN#HFz~i#Eh#7 z9D*(M9Bva-$bzt55>N(F@#EjWXPs(VU7h#?7b#dhwFHGI1~@X)j~DTgE=gT|5yAK1 z>H|O|fGj}tjRZ>oc~|-FEZAr3$C5Axt#)y73BjbC5n}b^pg1@LAkT*_o8-y?ebCm? z@kAl!Hu2Vglwjpcz-NBJD2H%+SS_kAK&MuBVJ}7G7&d9Bh=3C-BXz+d3i+k|Md6Sf z0d58qF0g&O0lS)ha(em_F#j@rQxCqQ&FaB$Oa`q>Bh%3D-i(b6N=c!F3H6CIHS$hT zy;c-xA`ESSC82S^f#{IDoh&yV+TJo@7=|NFiv9-*EMe{^ue7=@&)9)Z+p7b0)0wfh zO*As#T_Ur*wbft%mD2ZR3co%u;2^Hc-QMj+IzeG^ag_rHmJnP30zScw8y6x<=t@47 zpP%>@bieNLik0JzhdJBC`(9q2p$;7Qg6JGL zTHeF0XiQzWLjrSwW&v0rXgq3r_yc^J6lRt{w33pM0Tt?2LmcfxZI3r5KtFLWGv>=F zU(Bw~Gd|-L;1>`+QE-rX?V}}F2_IjE)<{98|7UuGhh z`4!LIntn^gkCHCDFI^5CUvQpUeJh;qpWicjnSbEP+DoHrMMYB|Tx+()8GpT_t9Vm& z$(-n{W4`-QIB);4qeezIpdU(na#>R|;Md)YU1nbn|NIGjQ0)C7VGiGC=RcRH zlt4h1^U=WCIyDaGSw z%NHRhP}Wu0mgzHqh_t8je#qiMmlnL2N7l{ygaBNBsjFhugxD#l7yV~Rd73oAxoRt| z_i2~w{sHNG#UvS0l|ti^K8YMocKAmFvqqtI2yJ~FPbsz8&hKT~&E74Pc?erRY5H#6f2 z469Rj2kVYdu$i}$D=^tKHzz0T%PBN6n8<4?z2Vs9GZ{vYeO^tH*KkG%AYKkvWQNnx zY`(q%A+FZBX_1Zv9VO65`mLd$g-@L&3%3}#ihR_^qd>3{0!S@xRs`|dmZ4d+2eJoJ?46(zZuB1x+StQHm?EBM8yc4#%7 zAOG)qck{C!^%^_HHXBS`RM@<%E-Xy6Lp?RU()+htj$Klk)kn(>ch@te9Fsn-&9(H{ zFy`B?8xD}iNDu$8S%`?wp+HKSh~4QTh)Bd`%TS|UcQSz(8RHcX|1vbDjQPndQuT<6 zo)1u0nZ7T^Y(|s_Nk8myvjgYKT%G3Uw-}Z;F%iha_h)+x3$ow%2929k?#TOR;aNKQ z;;h%^J+loBeiL~f?Y4`NHXSk!PsKNcBc|;tAw4N@)J?igo_`7N16cOBH1T6G%YnX)23Cz+iB&H~dfuFi76~uEVOl-VE4E`t9uJ>Pn=?CA->_Woh;L}U28W(O z!UB)5Vukb{6Fqf(_Z9~&JhQIz!v-J-$MV&#UJqf%8r&DCbzSNv^G*rw+tbtMwrsl^ zn=fY@`R%*sKP{S;?y&%~n>X{08mB*&>305cU9Ttxpl#>Fm5ottSHJpf*rDC@`gOL| zg7R`0|F)c>Uhw0VqLl(PkObx9?bOiFuzv0=VE)IFZZjiK+5D z;}sBGz#w&8obf!MmBy&;hs@qXJHK|*CQY45@NRkbea(~L2|OU}CQga;nu+JzyVd@5 zLnn>W^kmUl;0;9IhYN|0Mxp;>xT(e{5#CS`aN7cHjV$O*T3kT^AMno#FaiBT>andJ zXPQQ)p+{otbIk@O3MA-pdw9bDvJyDay3uRxD8r3DR}GJ-(a2oesn{|!$KRD&_w3!v zL>#eCiy-Mojt3c)O0bXoMX$-U7OVt{GZ&L{0=ZujmrxbKMWG&nM{-q{VNJHtZftk*Jo z1(y>)ntDFGNhH{9SQ7Smc2L*QYcSHtMEGA+uixhWA?fCi8&(oJ3D1PY7NMHk9}!lGj9>z`19K1nVu-g_3f&Y+FOjz7!a{z0vwKnI&!=PA zH7sa4&CYXd-{g@rae-via>T_U^l})>8*$SVAC8BF>{&o`398m*nr)>q@+Y$HEVo@i zLmi^M-HldCdUCusNzcwBe0yV;u3x|2f$s40sY{pl=K~{PHgnCnEV*ueo%eI*u9xFo zzxhnNz{6Ax%VURk?P46Cy3<}DUEM~td;SdR z(h}MnR5|XD_rB=p=!Jt$U;SU@=F0Odx5~)i6-Gv~k#_@DdV8~JXx`CIyqhJd+VRe`plDa&+w@P|;%uhD z&6YMY)<7oc##@OeNvqLvuDS{qkX|XVt4Cv-v-oFFgysW`y28| zl$^a2lkvusU$b+QMD?=IpAB1b?QZ?(*7dbKezxs~+w(<1HC~|og}x=8amW%xIT)fI zhth%6+50~)czY5)uJ@RlmJHPV7FN(B%Ql8wMhilOEbkl(8GXuwI_OuE8tis z367I*APTm-C-5v5#{T1E$#u6~B$F-SKP6A?L z`^|iWEWuuqDIp|s&uUfMu;k0aj5;L!mjXIjPq&e5M!==gEX{9PfG9}$V-*C|ZquKWp$y<$x5GajImCdH_t&FVeJyKx@?EA`NRtl+!SoLf z)>~5VPNy_!=Hf-Jff(Jx9y&?%7&!CK!Szw_{C&chF%nx>fcY=O9iDBU5O zBn%o#h%68ky2Z8Qh5#MVG+}u0ajUq1^D?|NmKp7RGKR`BTDn-`Z%FbgO;J;GDPd#a z-qp37c^z^72V~mcUhEhZPKPA1hB;+yV#4xn9h@A@c(*4QS)Xq6mD14@xpV7fbjio3 zp~LbhayJZgA3+^KPTb7_Ly>&Z;p%3WQ5gtIugG*-pC3=(2O;|^E}vsoR@NkbA^rY> za3=Z#L4IC+BOULeL$CUB)9t+)JQzf34Qge|iEIY#3>|URT&?TxvZa3Cz8kQ&DdwJ? z8uR^{YC#j>=7RSOyu9a@E-Fjkc<5YCoT42do}G_UN)5om0<}h*Ds$@z_IKMKJgBv_ zpFPW5a?*0G>dCj7fA_jp>i)V1)Z96z&$6J0^v|}HxmL{v1_W3+Tn#I2y!K7X#)e*cGx%S|;RpEidFL>RDq3PM z2%#LxLs*hnOv2IosZAc9C{SBi2cH!1_Mm+L)S-Y*AA)M+)=hP_sMZG$51cbb)JnD8 zX=;x+m(7o4s1BEs5CC|ZiIWfc+E+l{-z1uDOqmoQzCh}F;)?Cd1j<2M$H zzdwC|rZ`t0mQRQSz*iu7_q12;T)m7qXhPdopGC!$KWyl@6_@o+mvI$KL~&BP7DNt4 zru$=a;IC0N?{ZOYsqXj*+M-ezGEyU}3xR_OM1RZ5+t~uDZqG$PqpgAel5%yI@F|<%3qT1WnB- z>NU)b)jZwsLB(f}py!}K*r?URsOJf9S$V<4ltO~$?4YVPEjhkX>UqzlV$r{=3C_^9 z*XA$zV1v?ta^?OaL%9bB&p1h+;ovZh^GO@E8Ztg3alg7cUQ2yT0ICSvr5Kmlx-UcP zdU~p8XkBNbFv>1)9*mDjp0@m6cbxa3%+|d05GB%LTbnz2uTYu z2mt!Ze6dYnl|MssMs*h(D78$S2hqDO>06dwlS(}vjuxhF&N1KE+1dGY^958M_R~MC zawaS`ZrTihwc$3k=}pRJqp7JW|7=A8MQ3N(G`8^8rdC`brfZ;r4f9@%pOu0OwS;_iPFoSmJ`Q-di%3;0=+kK5I+K5J?5c(Dkf zT!ColkI2c(XTQiUZGlaam<{u9S4;$NTq*Q4`Inx~Bq2h-(zE^laDI25V9s^TOQLrwT?%UR&DcFY7Cn(`#}7A(=Ot7F&Y(vgfgDk zwKcU$@O7>D3|m*4D~kUboYY2d?I7L)#-031_DRyG$4alVU@$xBmQ0;K6Dv|sND2un zevaTh^S5rT*azo>fv-oF@&HQkN$z?_EOrlUAqQy4Vs$;9;dQA_4EClv<#00vNajuZp!}g+r(9#YsZcX?J{4Br6U$+B))QUC+yp5!W;T`EzTkN z`c1{#Gw(Cy*U}x;(cw!v#OiUVBe%-cz<{UFlh?t5!NDPv`dyuBLl^{<%}6#B7{{l`47@{9+2^FA)tfI14*aJX#vig}6$u7CIRi9bs zJced{tJK*PslWI(MY~hr%i~%7-5V|9f7Z%ssJQYMq zpZ;i#Z(xoT{9F)!g@sm~ko5KQ8~Zh89*uzfZug&eg&so^CQnpKfGw*PviXK*-;#6O z0n4~EpK>Hc56weMxDsHuVbMlQX%KOen~burE)V_=7Tm(p@*b{A2PaDg84%|JTz=9l zx*^Xq<3$A)rWD<8Vd|%qqT%IS(9i6x%#TEmSI|_LhvkZ`%&VWAxp992BPE2wc@IP& zCczXRh%aEz(d^izZVGFlnRS?;@T__1_C6ok%JlL*X&cr0oF^_z|5HyNUdPoJ8e+@5 z(a}*mp-RKk_9`c**-2ymbv)Oa270-dE$jR~QMJ&nT^QpVJPzK!kK%Mw`S0K7vK>#I ze=Wekxb}G+n~hDtobA%3QLgV2Z}JX*7TL+&m6=sG16O8U1q0P|X`);pVoh6LLqnF> zrU1P)Tl;$ZJ?%X)A>oz>&8_twgOB0S2Btomhe)`ez{-_hzJF76Yl^uu{E2ziHT|~1 z@xxwA)zy!TnyfiN6U#An5Bq!dM=~(%+U557YvBH_uFSI^x|e-fy41d|V`WrF&ZYGz zi)t;^L?k3sDS-A~lbHCl0)=PH@&nLZ5c-CgM)2@fA)3pF5GgQBo%}5lX`1Q}2$ZDc z!DpObnjnv61gk<2>Q^!|>;%4FHc_MK1jE7Y3!QFhNrwSYhx@r+^Vh`WWHp%8F=XlW zVZGL1H`xQ3siuZ|pF5OAvp?{@$D!G&d#$D~D>YfP!Y|j_+T#1l?Yn`~g)Xi}Jzs`p zNoq(a`bg+=CAb0Jno*Rdd=p#EtCv70M_jX8bRF&jmaN2D_l1puh~oTjyeMc1t$DVV zAz)k8fCKF4erxymd_WN`>o~ZCGIt}oo@YZPU!>)bW};MmWDQa6A+scrA6^i2Y5CgI zK#g~RH{C44joTjRR>140GP3-vm`L+sbTkMgK`+3#(;c}F`^TcA`3q+!J4Bm)R=ZK3 zryUQkjCG&n?Rz|kw+duKLr=vJCwxd=}w!8*}pt=Hlfn-h2yBC)RbQ zX>&*Kgj%NhXHxg&8O@$42izs9TY7(u_32&y82m?p;q;%oJ|jOP1~p{%#9{tyx$CB$ ztw~A8fUouI?fWl$t?s>usIsaaC&#SYZQvil@q#~kzB{#_(sq*GP+b|PA^NU{dQnQF zAi>*L(a30SYd7Yarhn&W|Dp_LM)_46*Is?Xalyw&_D#}aH_XEcjuXxDo1K*`}>wdq?TGwUup06)H!DzI#qH)Qqq@)zLv53sw z>lhlM@AkAXm)#!GJV0QQFWlR+|4{W!HP1ciebcDT&I_tk6i>8jk)>%7t) zRt8?ucXRPCdcgm`u;}c8bU`arr^!qxX&g830a2XBnDlnWAvwSCY;pE2rC}RDZvLFJ zJI;S1vKgZ587a2i7(ed3lY^6!F69`n$>D6VzQ?PYplceN9)4ug8T$lq_*T(|yPqRSvsDuy4@%7CkliiT|9@b%9 zyx8WOy|p>sJ?@}8iG?`Ci7!hvAXw53+>flwxR6SGd(t=|qM$n7rq&{L%%;1T+64f} z3-Gpvr_LT_WfXwBx4c+kl|A|hC9;m0&vH$qk{f+CFZkWrJU=Q|+>iiEbSckw=0GG2 za_B(9h2u%XK=)Uy%TzVW-GlCvjMi1x@w~Pqt{cW^B_ed6PM-@W$BN$49CjFpYsBbm5o%>1-Q0{IX;umoMD4D`z#sQLxsHXFIt3Vs_oKJsJ`0VWV-T{O{ve zZNJ&6)7Kr3Jv(vATJ-iViuE3Aw&_X-*>^)<1A{uAypql9v#jhJdr2X9q`I>BZ`1$M z*Ct@`Fk^AE2p%sVH9Ntbo}O+vviYThJwZpRzXvzp zbL)^o+1zaRoMe0ObFR40spCT=|1xB5JMxi$!dA&MuaC8S83~bukU(-~CY$m-tpsYx zy4Q4jQehF>QjZ8bQrZt+euttu&iI4+VHo*U_4RKj?nGoS;=W?v7TX5J3Zh^jWe6EL zN7~gYNJ-C4elbF3U9_b7RMgpGC0O6coUn&8hgBw>!D!!IGdk^zp%P=5)+(dkP2@}j zb;mBCRw>$@BhEo`8+cF5Obpl5X8%C>08;@E1asD*W7*Qk0U=pZ*v2#ugandNc@Wf^ zdHo!L4TK0eq{>R3JmG+bxEyR>MZr=7gVqhtE~7d50AQR<%M$7!$(9H^u4B4PKR&v7 z`}U`*F4X5B@ui^ykYkKrX0rA=o5^H?pEwg^TnWGMSF>C-?Uu>_UQtqwNkZu>{q;8yBzkAKXty{BpAzf{W z|Iqc`@mTi%|Nm)AX7(;3d#_|GTUpuJBeF+kog`6KRz`(F*)w}&?@_WsMu?1%?C^UY zU0v7bbNhU6zdzo$w@WzB^Ei&zdOq)u$0Ir6;jP@{M`Fh|D=9wiR@K~X7iBeq`vYA~K#J;(4lie+V{+ooF?9E|3=Hc9#wLds zc6aZ;e<$)g<$1*Tkj}8kR{w9PwVQ z?|P=YOyK_0o6>+8D_w>HTjqV^*C0<;@`H*_!CutpdG&Hhz(f&KSvW0(LlirlQ{%Sw zVfW@WYQP8`L#1!XcN585%-P@rK~u#d@EZakilbeov<%U381ZOE!^Zy32SLX_E8tJy ztLS-G+n{GeBaaWIK~``KrptD{wGXzJv_`5wfBsCkF6GKMrt2&tUSSIwVK~UD^;nhC z0Qf(Y6J_wdHX$XYn`1JsdJvLDTREVP_1s$)idd0yq~P}kd{FKe*QOve2Gp8j69!*i z>BKLQfi-fzZVsx2!}o6_9Y@28n|+sIX#9S%;0>0l(tw(0?5QuM;YtjB#Bru^i0B&b_xKPevfyB!o)t}L%QG~N%9<7j&V zft3>6XR`?gG(GvKnI$B@dKwsPuB7~|Q{(9}bzDtJSjJ*yaVsp*a!J1v8ai8VNTwAl%ExEO?YXTnTG*oCq@mVwGZ>Yq zHcfvQ7dLr+IXoMBsAC4F@yb?ym#2PACnmhDa*4v?FRNr2=xg(FaDYwLv&rJOH8rEO z?^k+Nn~$Uoy8FvuFw3fF8e#^ErLey$X{fYEB>G7Du2r1GnxKGHhHuyIAgB1Pkoo@Sqio7^7zVU>%g znEe0)SjCXRxdasi+!7>*;lR>3;%7cYdlhv%VP_6(i)xvOgC@>oBiM2g`c~Z|=!#+H z+`4rF)oi3Mo0SI8H}txK-tw0n+S%K)!bTG$SUXIL_so(2d@V_{Sp$@@`!)s&>RF2L zKcjUM;F95WO7pnubOIC^>%L`OPMd@wiHM${`ptSK0srh-ML-WDDSn@H%(-2Rz;Gzz zcp4mx#sIwB9VDBm3hvDrNT!9kVWheI_5m~-NTEpwBqTJ#fZBmg?z8+mj*d^DFkl4@ z<2YvoMg~VQ(9w+3wAvN|Ac%;dzxCqhYFxx!s|+ClGX0enUrk^lmSbE7ZH&-&LyVa5YJeD0T+);SCK z{BZ?ZH*elVI&_=Bd!ryVL9#7J7FsYBXy+cgotnGrsT22Bbl=y&RceJoB<&=0N6u4s zaXLdM0_f?=EU(#ag4odpl?y=vQPyl6*Yy<4_Z^7Jlbn|Qt2Wip0r$XcP9vO2SZu= z;>@wObO;l%5C_ffW9#xS7AQ?6NKzHb_&r?N3)Tb@L?t7+n1{&(e6 z9k%V(uS2^OMJxUED1|icfQ^RE@!b&v^SPp7Oy-Ha=Q+2O@1o-zDSKy@+N=bTY*_yo z}gdKA6rl@unoJ5vcD&)Fh z`|Jj~%F%ljS0|WS3krB%KrG6IN6_QlK8Uo|*3}IOWHUx<8f z!@E;-uM6zM&-q86J@I%0cN9q_IVC36qEX)91NI*c~ zH4!ER3!RmX+yOuyCVFB;P|y%ATYz$#HB1N|JD_5vNm)QzDqyCpM4Kt;1j}Um{MG{d z*Iv6t?YDx(>N_>}M?29_IH0u!X3T5(gS^8ru<1=oj_&V4MkkEvE&81s=$#!20M-UL zkZgMtDaZt&jMlviSE(lQAtEpknwEt$hk_aE#Kc4od0t+5GczU_Jx%-f0RlL`cffK7 z24Lh^9(44<1H+|3SP6dcyHrVTHiF}z7jDX7T>hs`@J>MX&D(hwa?Nw^O-y-`oaK#k zRURJk>qiuj596n(a#3IhA>D}HVG8N~{*O_eAyIl4?bDucwymK7IGV{F@vC*%TgMeulTnmk5iJunn{>4UWei=b}=auqwHB( zeYbs=Z7qWb-k{$IBzD_fRC3;p0STewPAh~dlH}`7(HXQ0_p+;&P70UbhaoZ4i#%kcNkIEn750978P?qxG?zp2kIkpHZ z08$cLy>Aw_anFNu4^-OKdk{GpAavJ{v^oI0gpT*C zEN~Wzf}*a7+Dxs5mDPhAG6xS!*Yk@T<7~?Ftbr}>%3`I85CrE={~K?{a4N^BoMCN9 zid|=ukTA5g4E9uBL+W+q72X{y>? zQAbQ%yb~OU3}Z$hF*x?+GHe%oe=a;WwJ33#jTT}cR{r6KwA~AK|A3wPb>Du#*hXOY z2Yn51K(~@l*o27!J1odEd|tW^_XA{IacCus*&!&uJc85U9D*h~qHT>2{}ecI{w;8* zoV6atj{o|3msv;ep<@a&`>~BqmpBDI7FM69SKC3+tyqu|lwo0!F_H$6nwv{)?kQil zIG=`#jcjWpn;xJE2ug%SZvrFj=|Mw2>F4i1K3c>m1g@#Z>1Y}Jy=}$tV*b}ynCF)# zskswan1xOZm3ckJ9pc0XBHJEJgM=9)c|$w*ct{Y5xq_bdn4)`oYlzii&mh z2tMBS;Y&BPE_g@pRFpK;6y4Guuj2pezuR`p+`J7J`@F0GX@KP2t9Nq8INnv$KvCvX z&fvGE)?o_RBfHfF_$2&V4O^IQAp5=%b4A+!JlAD4dvoN#6O21&^7 z-|r$KZ0rB=1ubZ}f~#YsNi-cDbuA57eC7lSqOPAmqa2HGL0y*hv^`+6F`d~16U+T= zfX};FV@R*RMTSpf%NOJV?Fi^$(XILy^e9}qq!cvW{yT8WG3(4F*U8VXB8Kl!-qL@R z$saBL&kpI~JDW@1?^X^ud*U*mLUSJ}z|g3Gs$L8-R*@8Hc=|p_}h< z1is-dT8*OLJvV)|-NU%zHS1Zz+&DcDoh&}f5E%7z30L(!#cWc9-< zEW~XUQ8U!ETG?j(5KL}bH#+iMRAc1It zIa`~DvcLsqJ$RA)FMCks3WZ+WKP+c@IY?uDLB>QoNyTH>)b+0QkyA-OX!($M0@cqT z2+BO4j2VT_92F{nNH0hLa~d`lwF1ynhXS*(xAvS;iIu%8!s&=SAyAh4m6l{ zPFJ9e4COQg9~zy{&BlQ|n-sCD^F5xv2dzd;o%L%abmPk1wl4ibi_D8AR|9l)ogBxAeQJHe zD)ctHqZ26f^1DV^p1+(Q1lMTQ$x5|y9SM4R>(mD6>)^+`BpuLVrYeovpZ%_TQKeAE zv3c>UT9wQA#vF#Zr)NzDo;4r!Jzm}|@1tE6h{s&qN}ihy8irdI5Az)Q^F)ihDycj@ zD{J6HB`?$dL9^z{qxtDb!iD@ZcKec|lrdTQY~@2^o$EioY?a27?+Y2J`x_gcAMeE5 zsIR^pm(!e=KO!ocOaaxwyz;K0a|V(=9jk@L&4w#)s8GqPtJcplSzC^Oe~@2c_$?^S zNEVfBxuSNz5$N9m@AW6>@gP)zkEfz5^dp4^$x*)~7=C@-b{__yR$A)fWh6Kay9a2AQn?8yiJI@bMBm;+384;c*gLcar4yV=V)5eyYO%YF?ltA(= zJlW3$OAi2wP3ZMS>)6A79dWkFj6&Li05x?&BEsT>r(9fIZjeidbV7mZ--md6%E~Kn zWUWC;W7-$XX*A&+40gt$u*xf*Cj}R#pOJA~D4X5U|W@418~Ml7Xa8#4>=9Kjx(PFi4S3P2eHHek4jXF8nAng!@(BU9u5FR)K?L+8)SucNhH4cJPR1*Yg-DCz)?|7N*S=byQJTVmQnPJ-0 zrV&7-IY5k{QA(q$~Fc<+TxW*PzRp_q9soDS~DYDv{ukqvn_u8 zY6US|bkIj_hY6L^4l^$&M-HS0Kx_SxzCn5$u-RHi#_z5|9+mHU#Td;bNN$VYoxp?x z!PA}NcYiLZ!r=x3DJLL*!fdRkx7YpT_n*veK2S^`8f1Er=TATr3h>KI+&ku!U_umy zDfXP6Ddv*+31Z6v`jXP9!KHaz(6d|yQKf=5&TRFVeib%*tM>Bp7_fXrBE4$R{zB^-{kkRSI$TJ^^ABb?C6IhC zL?6K&p3C`q-;oihU!+_T=?v36IKFMuV5EzRib52S2(svO9nOPX9+&gm8d|V; zr>}v;*zQFP^pNcW?X^0=y9J!O?3^HEn+;hJscqsC6GK7MJ_pa=LoE*U@bXb)(HU&a zjsvYdpOs#`22X$k|6-Qba*u@u!sh$$X4j8XtPvwWfWEXQ!QDOuyXdidkzlhJfKp`g!>)m z0XA_D2MkabvR*-fM)1CkyO))1AHFpMb`Tp#ReI*MUd?^yz*T7^x#@E#Zr zE<|LIlj!QgPHowS&^ zp{rJcraz|SQ-@<-c7hkEMDERA3bN7Rrb|48f3lwe*(0ucw2VULr88S(9#MAJ(cPKI+X@TF>C(voV@awAB>6!_;}Dv{VB9nZhLDiPX-fL=**%6{o!B~E`qa*z1UfAOY85eKWyoe96{P;1h zEFzZdT)>`w&5i3fDWL@~@Bp3g3pMrQBbIcwep{TK+d3WVozL{1FT|@}50r<%en-8i=v9waL9V)G%>r%&nY2yA)YpuCkCplRTEc;t}e$`U@1o1lp9721a=6NOEVJ-IX z#v$j?N&Y7=V1%YN;&2MR02Ot0U0)3h#Ib)IRF@Nts~~LzZIsFn^hC>|2bif~%B062 zo-`_7@-ZCCH<8{L!b~5rt3;2wK{ z6dxS;&R>25qRr~S1EG0QW{CV#GKvyG>@`4)%(|n9@(FZ!UCyrENR#VAp7wuDuJivxcyW~% zFF$B_b%D<>z}mC!E*Ah^D(r(}rFx{;A51mM%0qq?R!njYjj7w)3R=*%wRKcEI7D_s z?+0DwG6aR|{q#gihO7b3o5j7^zXO#7qTkolfVD%$?(Z)bD|FcDXH>p8iO;!}XfzX% z+SaC~Tu|YX{+&`U6>j#mg7ZydmmD@~#7gi7XUcgUKF@jWq@}y}7<>9`OmB?V)|L@; zU^ogNsMuR@l0Dw6ilY~N68P=wP)4)F6Fm^&bMz&90lj}DEF>VzN9=OpLL|JOagafZ z(7Y|FO(l!O5=p;P7MsQ-lVnUuiPC4gC}Mm{Z_6H!l&#rpyZ=4iYQ6PDs^K&q68n|+ z0xrUt;^q2et5*B_({}y|)}AQX#lWcw)Ji)0zA#fDQB+V#MN0+jYJd*}6mvHbHtmm5 zK}}s9veOWV@Afd!)(%FDIbq8hnLz;=&A);90k^cP4QXK4K#622gUY;n-1gFxKTN~0 zaX_wp2JB8Cwvi7u39NgD$g4^FKZI8U|DXhKJH%rV;A5)7?E8CY%plM{A@X)eX9I{b z?o2c2(f3#Ki}mcJv^zj&fj}T&?@TiZIU{6H{)Lx=`vYPUD1r|feoiX{KPbetdDEZ- zrQ+hk2Xvm>-j7>t9UWYR&}ouzj8XR78Z~i6Vi-K)f8k(aKuqw~Y%^9zR)D=d+8!LZ zv!@4(VXVSNQ69E-AcUvDod@`p0G@a~I%s>Og@EbT(<}TUumB)3a2~UInnR)YpFmWM z2<4Gains(NBxJb_1*l)1p1_9)0jN0APU_iqL&h-JzuK4jY?zI6Rr6~DBn7i9qWXs0 z(S`2m(V>Y%^a0S_fj9gS(dZNwU8}Wlafyb*t+*;w_ux}eYn4GLTBy7@qPRvZue6(A zTSGS)F=>YP40p3Yz%8VAv8*RUM>#3|`HrB&&_%DCr9p|3QQ&#dzM~7%Fcm25${S@>=PtSHZfZrU_{qhzd)}p_f z8xG1l#C**?0K~Eq-YW?$8{z+>+h*$=1_M<{Ni) z1cxT*NREFCJhVM(7m}6QqVvLnNwyWZdxQDM0xaDa!jhC7$^us`@Fr?L!>QG;iI zd`xR|=k@E=lfY)=;xkBmR5=y9(+wvdL}LIl0Smw*O6+5!o^{S6UO0aQf*`F2?QDx& zx2rX1M_L=e6lN39IxgoMpppUm17#bVi%|XP@?Qh<7kCDmfSD(wp}}X(osmx5f^7jf z7(~E?!1ZFeARLYx5T+9f)iD+U0WI4MtgzN#5auI!UminFaHd7_`oPDA%Ngl|!Z{60 zAGDL@gA2j31IDKnFiB|eqrGX^3Ck3MAt4#b3kzA^<{$${ct998g5cR#LHo7Zln+!6 zi1!sJteEJSju1)#6xCE zcq8Sh89yLB8ooj-!;Edy98|$*!Bgn~(&`W+%b`OcOF#rFgNQ&NXc#fSTikhb9op1e z5I=($S%50;_9kHfk{ayK>u?*EzcDn&hpd_dP!xmBJSQjklUu+zAy|c%W&s@sVCxES zA{$OS3ws+HDPMs~*BK-x7D?YLx^8{X#ZmpnjpFHaEM$!D9)1R!TcqO;;AWU;Z@>s( zmw;h%gJeC?jzp&ue3Idq*AA6RC|PB`L&^&EXuoYza&p}bxo2?t=Ljsm4l<$~GLn6O-f0R;}YdbWX&B4UV-7`lN;3G9#_ zmG(7gJ0nXD)G^wj7$E=?oc@L%Y;_USN{~ragKI)dhSx2$<3H?*k$c-tH>Wz#4J9BB z>)&q{0fphBtnnF#=)AlQzDvZJ{RRF7 zFS4!!@^RAD-Q4ii>T2RM76Xo}(0tDuuIJ0^5M6G@Qqmd#O|F-v`+V6zat=pFUcRi) z%0nMUhJ}@vpcq-s;ZXIfNu>N%pR6&6-t`Z>z)w;v>wl4x`R8WS6&`l=+bsVa)Ih-C z{Vq-~$}n>F0p^RrUPT+#GilF~GD~Xd+F8hk7k3Q5twr+w_(8x-PeuEyTU@yH z+ue16;T{72oxbGOST#%8ph0C=4-0n5Bic)9yw&3_bV393BL)WDo~zF)723nhbQ{;i z_$xEcjI3>pk-e_&RfmsBZ}@f&~Hj|_IPa2v3e_S}4FAa-{W49ct3NxN`_veUV~Dpu&{|riri7)2got7jjQc>M4`~{sjzYFz zE)Ee4!EiW8NK8aG!!igMwK5!|Xvh;PZi3YWq!oa+8cuOouyvkwlPD=E3Chps2Bp9U zCA3McmS;-nYeGc zH?ibkj3Yi77une4&yxlXF13C_e3@hUT(~-EDXX?XSBD7V6&^4*)nt{wi-u;zW31!Pj+O+ zoeSLm#aTp6HQ{IjA#BNc879So0s$y^LmfE~%<7vwMCKmTXENyd;X18=&U4gI^oYQUrKZr5qgjm zeM!Z%Z?JPSjKsZCo!Stco6KO_y!ha(0K2Vd5}}GW`{&P=o*qK4&Fa&%v$GLRJ13pZ zAomQ}5KINv+k&Avb_2tW4k&S%9AxNy7&`>t?ns#A?(FVb2j9-lSvR?DT z(^h|SxGH&P5R6Nqk~nGN)Tp`c)~{a=-@dgEsTf?^{s@=| zu6cH2BPdg#sQg-6?EGuGm`+6?FOeta4HJQb708~78+KE#PdXJ0_P-f^QH)lH;7=i_8 zdyzMNIRnExIOU=4q|onN)}i&I8>*Qyjf{xaf4+V#v4?KaPpN>2(5>i>LFAJsAV^8H z34o60z_-OYC$t$8stL+wz}H(lI|)pW>Myq8d`4l^;U+JT8tXj-FO5i5%2b`5R5d*R z&7GZBgF-a9*SVh!UM|LXfNz6E&Z4d+@M}&{|Hv_JJ-bmR;DiCVr`3^1d7gFY*=)Ps zD-UaKqzOcOKhp{i0gr;@L>yF!xJcV653k_I0peD4VWAOTnnR{wbd?YlkAB|q60eN!32JY{q-JHkxcj4joc&xxEI$QHSr#@3b~o?nKfCC*VrO|_8tAcR85y-0 zm0I!|oK3-4GojY?X8Afx3?PGNH(% zGaYj%d;xJ~@c&_6kBqW(y^Rm5OPXGd%``fC?r#6g==4yW*T0XqY(0c_?QJ;vsxk&lnyQXh3Mc6V|qKK6&JX!dDkSLT4RbA<8~JVddl{@{m8Rcl|X>frd(x zKAJLr!#_Fo>l?k%68vXI8FZg+o0tIaGd~?s+Mbj&zXTcH9$sLrQ1|?~b$uakbi@7> zPfk%sWdenh(^ygS5&K_>^(}$nPpyeAU);FFsfodl-qALD3lp!1oxS?Ud`K@Q26!wA zfUVu5s1g;-zY{WY+tB=2|29h(*y4<}gX?x)xG@6fG5mx;!lCq>9sk+0%bpTB&r*Lg z>6=bvU|jA^msQTzLxUlm#PS>l3Db@BMh2owGbZ#j7Ws8o8r?h<-Q+P&csZJY+IvVz ztJ@TJ~4}|(}>tg%IlhHp^53c_%wxzisqM9_89cMn&r&5(G!){H9AhZxp}$GZwJ!^ zEBoJ7b?W>0RHTG5B_%pcrQ^kfWty3h;)hmWBt2i9ff_qYKx(3o`&sK*+Yhk%$UtL4#!GQo4t86ZZvpb!;4{almbymimy*vpL}{7=WL#xWudk@x@>3n#x4DR zpbYEzO9iyJp!-x37blGG(WdFIpFy5%rFdDCcJ?N^)Y#4AM>S9Ento4U_{evN4Q z-+{9H07j^tq{MJO(LHJD$lD`oXk}KGzjqMs#=?mFzi00HtDw|h$$F^^!>FrUb^aJG ziGOm+1wF^1z0dVh8jcwnbZjFd66r~oIICbKG6$KZ4ta@|a+A=NXdXprX~Oc#4uLy& zP;y`%1j;+puEEaO0-h{`o2o0*;4BCb>D;O0U9`4S4 z^0_yunoMu0;mWEyrUyZO{)K{E?PMaA6sc#&<6R6lOrWK0E=8@Zu1>RJ@%6VHH+MK5 zae>d3+HeLVz6(o%-&y}SFIR<;&FkMG`1zHN_(>MG1@sc2Dn0jiy?7Yqri zIB4yA@u^RyAu(k0bx{!r&jf=m@K4|AZ>}RI_N_`IfB9}FIFt4M;6TR?wLGNYsi#Y~ zW`pu3xT=oUITfO~#>OmguTf8Rz^!d)sN}=vn&zY3*{#j! z25Dj&JIov+im8Nzhpv)dw>KMMgM$9Mg8nlF!oV0R(=Pg}zA$6CFUiPOUZ9dBBz1C*oS=f`}{{!JrZmSyY=60%0oV<8yI$B{b1_Qiy3LDK?lT*GUxh z!Hivk-83wPJC2)+Mqa)ZnegWmBCe|B?B6;{3Z7BQCZrp1<86xgdCL-77y>@gVSAG8<8p0s%7SL`pkNO-LoYJ7~Y`! z=%}e_RBSblfDPc}DGvFchw;C!{Jgd0{$kGjkNbMmrhH>XULVcl^|t98e{B2V49fJTP;f&dA=s>3tGm10yQE%urrl~P@k~jH zxR3%~E_%!EY$$$wZf4K{tY_md?M9$n3{_sgLWBBN8!5gI?$J<=n1z zvo3~uYu1?dd3)J7O~Ot2)zgDZpI&*mc@P;?>_q*F6b34NwyOa-d0$+QzaA%*bx7P; z!at7PS;ROC|2!Z+<0M`_&-WOryAbravT}Uk+avft0X=Pl->;>e4QXj+r2_&wDvNb= zyo6qzD3~#2@*D-`8{)OW`=&|`*Oopnc@1^77lYVeA3q!&u?dnIa^#zJkHLjr2~jO zcaO#+FVF2pXRr?amnoWH(@8j{osYj&@T$PW-O|SH@Uk%Z*5YE+-<3UyV+Vs4&E~Ff z4HXrZ%UQI)Z&8v+3EMkd6QengDi^MDmlrvmStk`mMQ);E&l0Yol$5W{X{$cgUq5rl zaZ@!=>YMDno^cn~E<*0wZWcvS6kLmFJmYBKKrP6*aZ(=3IDUGx6;lT8P1OnM<{OO_ z_ilmuYc5jbLp)cpkx6Eho;ex{b4D-40oN<=J$d0Riz*rZoT6<8?wu?|AyUTYoMYyc zZ=}E02|@8Vmt3yGuoEk~N>onQurZ5L&pnP=T9~cJUHaBr6jpQDEa{A~@!N};5e>0q zmDP2^l`ngHTj7@#3Knb5nVCkK?QO8uzSGM;PTUd{@ANe>QLTaNMh6!O;jM|4l=e$B z=~Zitc{) zazU8SXf?rsX9AGKrlbP2#k74 z#wZK6P96PRl`H{nB@=7w8o892^75ONl(4PMEiElLENoqLqah#1uo#{14A&uByNFP4 z@a2d=YkvaRhkYK_)42|NjmSUCMyZRUp>9Y>N(u=53bbc5U&UxV%H{_Lzu5e5HAVg> z44oqQS#==SJ1DnTDK4;S7zAaUR6Ie^mXK&@sUACn!^`ZV%QXrYR=4SL`rEd1^+@%J zf~u^o-1J-fZq2o~C(|$%{(;_#iXwlSgYp2FH#ZLjXg^0f*FhS)j3k`{9m8qMiX%J- z3=JDIot{J?1>@Al8!H6gg;y%0%Qth%>YYstRbCE8eHKq5ON7ucW2XPv-aNfTp>VN0 z3XBur+OMq-pOIoC|K?}PhX{1xJDavE;pfxOD3XIlZ+tSBe4d%{0a)R{Mq%)1uk?yE zW49W+mni4^=?{iPdd zQVPmYwNe_WxZKXZSRVEcm`vre@{g=i3@3AQh-C7py*)?g>C0@mtI&e_aD@dkROk5p z=RC@_s7Q*+_xXx=@8Wyd^)8;XRI#}@9TU+CwX>S@Sp>28;%5m;IAoake16P!{_+Z4 zzaD?)T`CoQM8B#kM_!Sg(~ZKMCUoA?AR-`v4??s0U9gNkw|x9Ft(i`+5Pav?$ z)r0_IPMSYoz(iyjl+9+EHIM=xhEQEXv}N-zz&5b@mSOlSbZqSSKFfzL-4)*)9njqK za&jV0R$XBvr69<^(bGeL+n24UH@p21TO;zZrBnLiY{t7|OK=4FnY?_P2fa(!Syt}O zDa&k-b&{5p)Vuz^z}X}+p$AhJ^eSF@6dg*}=3r2%;cPU+6?p~hQ9=UtOo_mLXxMy= zzs-@B;{YZP&t_`hoq99XXACIN@ngt(dUjOC*VHV#?eS4b-FuRc8QijJ47;RlKfmOo zeFXSu2B8|Mm<1I(2@}Z%#~BLe+oQO+hCK065&sPNtF$}igMYUS{bn$>Kxxo=Or4_o z@2N>s!*E@;d4L#p$;k}#5m)$yF!xhaUKQeEkU!C=s=`a}ZU0p*L7|G1GsVr<(LhaW zU$C=ddB*|;=)lj13O0H-UuiUFxuM*&NQcXs`-zsee_mXtetb1~d*KXK8@lt49N^cl zr{Jofm&-$HI(+^5>1;RoLN|6)&N=k-+kzc-397wikOERguzr@_m#@ z*UH+RkN-wlL;V}vnK#*UlkY^JV|?5BHogfKR(PA0jsDFG${Y`0a|=-iz0_mpyJbB8 z^#QAqQI2C%6SFPVmCJK=!+KazGW7q1-~4oZP54(mQ;$u!^UE#UM0{;y_zZRJ-F9zg z=Fw&eZ&OVTw=bP|$ahYzzjUiH5vN%hIZY?bbaqBsdf;+IA(Li)E2?vG5hRlxCAq>eVRZo0$ApGXSs#py`05!y`S8_BikIL1 zWl9U&Ci^-s`8!xx9lMTD8-*GyFQ3u_J%MPZAYj}Ddq2kBJQ}L+@7qkO5?`}9%%g}P zGthsu8Fvn8LZfpz2Yl8E$ax2fp$a%4A<<+ae_jqe&vGE62mX$eQ3}Kq5NGWAicka8 zj%P=Ua{XO_~))oz76f?uE&0fk#tRe|gG%wxXsJRR(` zP*?8|yJ_UX^J@nw^{uUslT{K#t0x-5{G~R<&na)?z*&}nJs(+8sg(6zR%vuwGA}a! z@#CH~b)s%lbLQU3r0io1R`eNe5L$S-HHGUJW)$0=k7`U~QhMhYngX0oUgt%BBRJy& zpT*4*cu#QfBiSxb85fkR1zINP-uwAoD7?YU<8}8@aNLq;-vr$rz`D=5*uz#mC1_4r zByNL&=4z=49nJZcG3q-IlzrP0gOw5k-@D#VDsZwuUl}2g6>aTDM$t9?jV)Dhl8D zOiphjR4RhDPp_$-4IC?4?wIE+v~FIsdK^#Aba0dzkwUv#Y3@2gkkrty&0JUBi3>Kr9T*5di{FIf>guKMeto3{pz`doxJP2|LDes&waW}g`~OZ;f4{1i zlCTo&T}(s>W#0dANbr^mq_B}VpLH3mj1{0WpS6aDoI1tS9984wZ+Dqw!2(#%fl~+g zDxP!lgiSi;%%dP$`?~cZrBgTMo?=QQJX#z)R~>EHz#_qLc@?RG9U2-o>EOvLC5noM zbMjsb^t%kjAT5@2!66fU~Q`|cU zr16}Jen^VKK%rEx%IkgBI5xQc(a*GhktHh!A6W*-3AD|0v4r`kVU}OEvBJE;L{jg+ zJIT-nGmMKi85FwpBHC}GZ7onYbaj7~m3&YY%ZJ_H)ud-%jr=ZqJXA<{d{toRQwWq@ zC6kkzI{P#(ZM-^!{$w~G?=>$YT39b&Qf>`z#ekL01wQB3t=aLu@~ zAtIU*EdT4KcI7J_dsP0t#Y3nmO^sO>tJm9i86zVF$Q4_cGD*^B zEbc91LNXM!uy9lv2H6M{g$|94U%Tp(Bxzw{Qs8Fc z^^o*6#_<~_)c<{eqgXi4ghv(}ySfWD&7lHiW>*NjHi#u8M0W5ibZ-$sV4>7~LMXT_ zE(XPtS=>1bS@Qdbm>nIO(rW+f!a>O^J4qW0lL9?bA*OPbQo3PcmW-Rb=@YrXw0~2E zxh(z_FRhuArr@TEJ9(>a5<#Ij77j-AZF3tW*fF`d%KH*WBbjFG+X% zi*em97ndWJ{nxK2la+y&OZ>`z-V+iE+IWu_&4iOCYw)EpiCVzhaXq=PK!h2RX`5=j zPZQswZ-9aLhkC}!2O)RN=Vec^)zlNmgoQ945n@aSkkCli?i&78LjE1fS!Tad{ZapS zREMV0$(_$3;<}7xI;0oN=r6InE$z+qi~QWmOrs$o1r=-~Z`J6~FAU{V&o1Fj)xEv- zyxblu1n(4WFwl$jZE);!| zFv=^@cp@o*K1PoSFg^^!x_5{=+Pl-pABMFyiMQ!{>U_l=Q{t{hox9V_iMi1YlKq3F zi8cN*Az=vW3f@`0Q@+v_-91XRxrI^dg;7wrxW~_hNyURwio$#nA`8wZY$K(*AACQT%(|L1W)|NBrZu)UcX#`?dRQ$m%lc(vZv zF656Lh5M%7n?I*yH{d;6Bocd6;=?>gg$Hbv5+D~jboI}r@t@T+#V zkjyO5NiuBLU{r!i7Qk@xvXOcA6!rV$%4WZK#nBktT^d2m{UcX9Ep6S)cL{xuoWHH2 zP_FeD^`|ldffB-Uxo>c*?-EIPX0Jhjg3uDFZ8`1GXoJ@5z(mM3Bzj=S(~*MPF|d6JeFgPNlAf6t&c`<^T9!al>V&K z7vtxeZ=zN7=s&Q~6Sj2xKB$lv@-8b+!H`^Wn!=az|7BjId&!~|_rPCNv;u>>tXX1v z2}@hMqWKbhDd+s*!_P&uoCcwQ!@2EJlPX87@Kj^?uX~c)J5`mq*VC|1ev{)9#0^qq zy)~fU|Fu2X6h&V#s0;9S)B97g-{Z&<_V4X`_%w<1-*U)*-+L$W=n?7qcyL_C`ER@2 z298)aR@844i$x6BrwdkfwqsE9JEEtV;F+5tNlrbf0-FYik{;eTS|%%TAop~VJ;tV? z?;ZP6sVUQBbKqey#&?(2rJxW3ZG#*>B~OwtprV-#-lG+B^YVx~xcE<9pNHZ=sAf~L z;MxReV0J6qJq}$>G&R>fDe=9on8Djxp!5VP7MAnw8IXyj`m1E2Q@{<=?gc$qB{{EL zAOklS)xukK&$d#?85pL96_Faf*_lI4Y1Dro>YtDNnz8w9`h&ft^x5Iz-&I>fY#Hj* zU%X1Ja5j(k~OH4dmeBQUH`2T)Zrx>DG-i7i#r@F-1fBl@$;v2r7a!V>b^E1pp8}g1X}k6O)4lWMKnhbpe4Y z3=Q#LY2hPK2c&5MIsv(?!LMFf>XO8hDs-vC67ui#^7oN2=7{DN%NyQ>MlF(wVWn%W+H5lnFEhpSnuIBW^nO#Mj{b@C;TA3###~xT9;LaAEU{PoHz9(g-fSLu)7A{xa+A zbJvr}yPM}X+o>yPAHaJm`3X^AhsbBjL=~BBupxAGt7P#L#htXeG#d1V}FoxHk*L z4;UQGfY4fze)On5jmsa}Ma+QJmgrP+pn59-?3hK+ug2HgFM+cL!VDPw;T+e`m1ra` z@#DlvfLs(H=2oCicU(Y*t(e zZ-F3-y8U+Zc-oDg+eZh8Z3F=Hb6^9^0lHVi&ap9S5auX7b^2!60=qYExRZLLf1KN=8X+ zNNzFT+p-2z)YBgDfh|G5|4JxoYYXbUKId{fjI!b=cK=@}n@iu;rp|=7PgLbb&39sa ze*BnTY`D1pW2uGrj9H zy`{nNu?-N}3dXw);06dPwl|=yttcxKLewT;8-N(%fI4Ir0%O4#L|(5drhvi|nL ziQu_EjUlJWd23MqqyC;9m{s&=7D4HX5L$5CIqEXs++=(%}Po`ueYP zasWy?gQQad1Nac^9VuYYg+k;dB9fKz-ITj@Z*g(a67(g&cVZ#vrx&9UP z6fieC=<|+XX<%6bDa$6HtAJ`#%DC9thJxC!WoCvMv>62D*kH0XS3ZcAQH0PjI{)g2 zBH@5fDi&M|`Uy{%mX6L4ij_r^4YHU3MCpL2ZPDqf+~T*O*5C!ZZIS64)QFH=DsaC< z_0Z)u+(E?R>=7aDPc^)>A_%g}4cqKNJcp5taMP5~s|b(P5a3f?TMJ4DAtrbbNRccr zbfL^-_$~lhn@E%mAWul*fFX`87di0S0NGk1SSS`IgbE>P;K0u!qs7k7&chpVHM)0n z7m@kRpO}C96A^It*Yp2pZ+JD}u#CLhxMIi|@B8;!SMK=D*W5!;p(YBYWx~|R|aN>f)+r(p^U`Rk#<{1#{5Bts_2QtG3fA5B}v!ZV- zTOV0|AIkQa1O*Q8`VRrcodtR|au4kVsTjy3jp!SqE)Uxwu2(Qsw}8c6sy|2n0H8rg z9^2>+q*WS?QQ~7G7LYyJC&xd&etiJbmep{MHk?^ei0BA0iym(XsLGm#M-H+4MFJ%X zj#xFGL>EF_Gf;4#!-Of&ZE1iJ3|R%E$xvuS!U+bCNYoI7DCTIt2d1wbe5oG8hw0db zv1b7>>L9$p2Gh;OUG?kNk)UuyNUOAa>9Yl&nDGQ+ni2lvzgFqLbD_%Fc254VS8H4^ zTwH2b<#=$5%*XB>neuIJ4?;kQoUQG8<-MaI^cixLkB`M-&*_SXL`BS&Z_i{rk@40} z;VBJ}za3e{dN1iTlQwr;;-Pl6u7nwc=DBZ+z z6vLtayMHa9*E~jL*kH6UQcL9g5_BdAFA2K|`UY1`kRatqU4rPaJvj0D}-aDS_{eK^S z8A(RTUS)(3l8{PP%c$%S*$tvXq{5Sw%7|Z>UJChSf? z-Kzmxw)UdQqgMK0I*xw6Ao2z3HQR7Fpjg%iqw@erVrU*q{a`tq*EzTPS;$bhD=Qp4!3tXHKTF z89P{;P+U6%QwGQBPyBkn$tQN1r|Z*ipk>K#gUvVA0WRj|$~LQl@eS2RXzXb7C5amX zzM)0(Fdzh9Z|{9OuY1>~e!QY~jx9i!$r47SJ7(WpIMGex52DGZ78I=gGdFJdePI0? zrf%qRb46s2T3K4A|Fye&;)F8vU)#>DI$a8@uTO9sb#m*fJXz4fwwb6>pkR^ggKf84 zcTM$!MqSsW#6)|fDN;!C%I~Z9y$u=JW7U(qFw1N&qfDWugJUEFujt~4rXI3ZU|DES zRL!gy7B8(w1ylsR-w2H`+rLBXGvFEj?mHmL$6CMf7+Eh;2-FLUPAJ{uN#LcbvWa(0BlK_Z-AFo+GZ+)}B ztN-y-Lm$15PlZeJqbtYq)};wSikbtxK?8OM{*oCX>hkb-+gA$TyNk%k&ASh-&bXfp zd#K(81AYDDSUT^RUAgIm?$`o^GvICSn)#~eO5=tzQ*QS!{e(eeWQ+gRN0TRB=b9_7 zTX!Xvg099zyb#ydwYN0pMz*Ty&TsC+=BI=6W!E27)z#~W9Ji|XxB4e2{p_(i67G&4 zXS=tzH&?{>*JIH9yq=M<%>=8Inty)PF66wwfWHR6>~MF@`H2{bz*uEDe`pV5+mVGq z9qSmmJ_`%8wF{3BIr+P$hP$Z(rJD(|An2l~Y(nC-93C(J%Py}ltDuJEe;+ini>LT< zQ4Z8AP`-b$Ftp*g^XgEvqUjH0)7cz7-0hz{x=?qlmJWTJZoVx$?e~OfT_<1}p3j~^ zX%v&6f8Q*9p#Ln*%j>l}H!pp0Ov-OR>O+KaS^h1y$3=xN+-G-Bzen}BNLpI@FRg|y z5-_l!^rq7No!*m{j9a(F;i-zU2&S5hG_cEW5+OD?@1f1<-x3d{QEcCcs;Kaw93VL6 zs4prmEm)4exbJm{Ur6Z4hX63a5zm85N|bSQwWPTzY@N}gAVHlH0$aL9cOtxq7K+fY zkt}la@*LdV*`Z`QG5C&as+g{HAM*ZIgaxFLsI;_Ypm3wPVq{|K7*H{m0=ot~79d5R z)e@zFo{m*r$SitKrIcX1djniK*s*&C18}!nds1_KYLO@@qQ4M5hMYaH<((B4Jh3Hm z@zN!2EWg6f;6cx*J-$8MY+$IiRl)Rvsz17VW*GfpxpgZ(3k*H6rM497%_j!mF30xH zWdBXcR|p8`00acIP`k%<99#OvltwtexLT4{iug!H(9Pe`?Cb~~7YYJ&B+|wHr4(?q zyXM0u{|#g(g}4&JbBBw|c>n(V(b*!nQIO4DxZ4!pz54*b>7hf5Ar?-4uA6MU#o((G z2Ut+}nHlM06A~WP*E3=<2ufk+!Aws{O)YgjgTD(|swONO(P((Sk5JT}0}uVskuA2n zw?KB8?Bz8#Yr~E6c7Fb6C>&r#_2IsRh4^C!QHwv4zWeMN5qP|J|2|Zx>1a`~7X}kP z)h78w4qSDS#G{8@J32bPw`H=z+Q)pjwenWk;g{kN(PBXMi+0-#QB0Cz&~nMV-zmY_ zyl5<(LN0z3YPVx&ZY;zxxMg3twik7M}JVN-O!*4S>$Pmhvc?Q(bAe!O65e{>C4{P&c~@ zKikmGBY#KuI>>klnsp?3wmVYbEHsO#cG;X>?vvAdL9 z)N)T5q7&$dzTou|cU_8DX2kiQ9O~pTh?jd1D`Q%6HCvX0xzMqJMOed+AEMo!k;&kt z!nd&wvP4U5w`iteMnMGIi69Ejs<9i_8m8I|lVVL?&l=jIL620m(TbTM?6E@Xb z-*~&A0VBF3iU|D^{jbBkMQ8ve>=f@T#ui;2`b9yBi+A@>&|UW#d>cfb4ZQ)`l$#iM zvkbv_C)%ReG9F>!aBcm7NTagqJ*EfZ0qi`$DxN?Ww2&HI?O*_ko2p391R3Mid{N`1 zYQf1!i2XIx)wJpR&Q93%a0m;_$#hqqTo%w~6?_08^b3(|$8sQdKtge8Db)b0pF-#6 zXxtnrmw&Qtz5)fj)D;J?;-bCivKQ2ib}LOAa^R{J&UjXWlxM?H@zf zIov;VDz5lGz;NUZ{mw}G)9fdX=ozQCW~CK(S-g~xQ{lR;EZ!B*6jRf`yKF7BUt{g| zA(gLQtIjE_;b{Jz^L?*d5fo;)_REeo_WEy48{RoL$A3qC17^rNCwnKSSLyzHt|~8q z9CIBMaIkqzD{cCX^TUt22woWlK4(2v1Ze?nn{`6ea3wOPfmiTOKjCx3`0#4y3^s`P z742!HGt8qb3UY~u3i=u-rtj_Ror9kA4QwZ(j84ENI*mA$6FCai z34A`oAM+k{`6boN)AcmTB0@|PD@pz)aNY_3)boa)$2U3{vO+3PHm5wd{d_M#l-$~eO|Wl8WQ5=fCefVnmJzoX}(m`u&A&OKVTtY_ipyvPl&8+|K>9p5Y(pZn^N`^zj*$XJxRri2g+p(qU} zYe;7V|H9(GSot&9>OqM_al?k4a5BYuRG*uK;Sxb?@;}PUz$V9 zf@r`5z_on}z(54-7fcm6>LA>4=gu97??TH3HR3iC6V3rI3sY<%HKL_&R$B~J&P#}E z8!87E7Y}&e2L^ z79t^6wS-Fwf55(bDn(IIF%UmUi$5wNB6@Z1!i6VWzV`N>!%Nu;1$`NrOUtDbkiKwx zzhFao2d-6I8HHO+AU_!rHiGni$}B(h;+*m@M+>+0mG&dhBC3T<`FdZ+~<* z=(>Ao85ABCUzw;qZ#?_n#>R%I6yR;BQ-4xMtBA%7UR=s1Z~dEtrz=eG9--sA3aU0x z3po5bH?DU!NEKqE0tZmAMNB2+ukBiClzjauwCu;Iw{Q`PN=#&i{6WXO@TLRdiy`# z^9VLR+TR+RFij-+&aG(qKX13cizqY{ZSUQ>m)g`kovS>}bMGXz4C{K*3OgoCk4RtL zBBavEXe_s1w)+n}=1vaNdw7%viJ;x6@NR*+1==?I??yfpwU9qQaGm7>!{a?;El=C` z&lbC@9MHO~%h=od{g!(Xf7CO6qAgr<_=e!}j=4%E_ZrvWX}+&(NSx0elzv*Nxa_js zM#pEhM?`a}&PtTc+eaC;*D3`IKKn;PERPt!xJ ztK^~Hgg3E>o2I;zXm3Zx#~;Drl6-3XC^(kFD96ZFt(%)147Xu;#8WlZc_e)PYin90 z7U|>MVZ#`{JiLd3h$Cnf*R!*AJ=M{RjZFM7)eCIK1Msd8UqG2MQoAr8>9G`$E(^pS zkNG@MTWI~b|HAg7Y7g2%n<#r|w*ASIYszdZ*Gl!5PIgA5zWMp{Xtj_1NvD&6=h^Ac z_Wt>kDAMzsxAKX?=lOtZheUp*Z1H;j?!&vJ16zixiYRDtd3_DfxMP-MBHMMVchqbJ z_G2^cmF(=godvoO<>>%<6WDWoW%A8gMn%3icCba?nMd;eTZEJ0<*aQhov^A3NjtQ!`o&n@|VyQjM9Y)^llTX}&ArQuAt!m!Yfi9h;4r zo2GYpEU~Tfz0Mt&+V(BBo0`72XWO<;2d$+zF#q{w>}s0JZIl;3vA24YQH65U=JKg` zPVF+5M)wy4RRW6-1o=$|I@ffbj_!N1T0YOR%DO9uYi@3ox|V!#m(P_|xc&Mq;E!NxzqS2f z8R&Q0ptDp2B(%zJniJi)>+H|hd3?6jrzPW82n!zvYJA(aS};>T&ZL5+7TRXA7Sx?^ zd~xhtb8I;?W!7~P_0s6nkTq&ECi#6OT2d-jzlxok&whS%p$AAfAj}JvwVr+YnYTBD zetn)A24M0MQE`Wv*b=yH1>d}RGsFG9XWwxk{T@Z0T3UgPHGK_@jWABO<_upCZzLiB z1Ro%ymeWqKc05XbsQ8T3@;GL7q-8Cj;y70Gh|h6%Qh z@f=d`uAFKZZOfWv2f~~6GYU!m%|5pqr;jK>nydNLG2EtTHcdSu?1NVmW_1i^#ssS* z+Lw_0)u;2riZe{n_(@mKCZKe2lBiiOKF?~Twt4eSl;qjwdGVBqkx7n8W_^>{hmz5e z&s*ajD8QfX9?8CuB9Rakaexx;zQybPOzyovjJUA3OY(8zx|_W!VUdv*0==(m{Lkp| z>g?CJ3vBNp6hP`dq0fG0qu0SW_ni@flBev74?GD0yiFVlqunUXzVTgoF+Emb%Kb6s zFF}-1RPYYp36GZ{5CwZmK9kVl4>?zj;$M@Yw} zT^e9FKm#TX&Cp38WRz~3eCpZu$53bafwOWr&PQW3n=skp6F`7_)Ill(b1(_o` zuNwh#z+1431Avrd*dPEf*edX6`T#)TM3zrS$sWSdwZF<%L1Npz`6s zV%HjjTkWID*gjO%xANE#As8p;lne|VDLuLZ)u-sDO`EJ5HcvD zc8T-w%Nyq{mo8cI0Km%RPs5KmI1+S1#PJVDi}S-B`v+&Eog9$)8|@onIf3=zQe4L= zW?p8f{=%jxB0oQWPYpX8G@Xg;-@0vOjQV% z7+?qAmzS5ZXWa;wkw#WxQj&~&0%t&Z&!*+ee}vF&1i1Up zuZ%SB0b0_oO6#mWjmZ}rqn_S96!@O!=cG?BGe=I8iugtbPqT>fGvy95=7U+j9$HQ3 z4YtK@+NHkPc-TILarWBaqx!qK1qut4UFN;Fh8nAMU3-wr@3+<7YPddTWrcQ#P4xo& z3bmwSF7@Hi-NY=IX~0edin+1QwJ#X11H5ZoybROpFUUiOG4m{bs{Ilni$tsDXV3=$%KZ@2 z9;1pAF38F&0TF+JgkbLjP*h$|C0&io0<~l-I)w(r*8~r62Al;dq2NYkTNd50T*}54 z%gA|)S6f?Ke-;6Db>XpY4WbwnA*iC0q;z0pX7Y%KkhQh-U}q`o)YO#g?1w^!VCQa( z(5fVQlBF;ZhX+uGB|M=MoO|`7OwxuJA($4OlEx=znI8LWy9HP^L^#p%`BjxXlfV=y zWRV1Cu6OQKcI{dfOhUAQfv!8y!VL-d&ya;dys3kQ^eEziu-b9jmeUhPEV>#niNHvN zYfGyPQ|oumw<%i5fx=oFqjn^-N#pZIryoG+rtIEncAyJYmHt#0Mt3(L7JupTXNX&I z+b8nMToW;?UKaX|d-386X3Kk*WTaB$a0&dsLC%=L$mVU9gK>HXcR|LrwIb;~<|8q? zJl2imTi1Q4)EgKdu=w;z+hzawSG|FlizeF+n@NAQNpgy+`D&XKR+z0AJTbYMnKh<{ zx5Cza%f@$|o%%{FP=(HOUn9az;(Ua=_w~fMEIX<;fa%AEoL;`pBd716JG~MMleFwf zex&FZGr1G6p(Hkk^`4mgd>$OUJ!wfZ%G$GHG{D#Q-h+=@_nY0eT#mQA{7EQl^!)t1 zhoOSnzWq`(rza>BGH(AYHDTlJgj#XSZOssF;81`K9U;f(xF7Soc?g#KdVMbnq4u15aMpDBXMWxiMXmAO;Bn2r1%>obV{ z8vE9gBm-ioj-c9}YtCv_>>Pw-jX_WplAp5MTMi;6jf5CGm5lke0~9y~n|@D^XJxp# zxa5qh=ik09alkw65rt8Rp3;MWDRwx+QQ+b1O6>W zduC>ZwC(GKrbv-yjSG07_NdAaw`D9r76?Wbfd@Dz)M)j~(M@`6-pzUh0IfXM1jDw% z#Dw@2BT|0f(uzN=@*UNYtGs{zIv9Ybe!va}Q2IvXt1ko>|P`WZ#{|}%WHfa-?i0n{5KgHh=yNaLP7%4CXx|BxuAD`Bz7G;!NN$54N!&anQOG*<*ciOgM$dk_k;jD zfPP~R4C349U4DZ26+O7x$b5MYsDc zE$`S+8}(`-B&-dDUy?4kQ8fTYv2{<8`$oP#6RMsyWmDH5`gR4x30Hrc@sW`_!cDra zvq*0qh_p(8q4Cp;H)SubS{JIV(qB9X;n#G~?;JNmjSY0_=Vmh09!BNGIW3e3oTP*B z=}?Vl8m6s88PZYV@0!8yM&0C>UX=02t7X{7X0^EZP{vS{CD?-h{Y3-a*#3{7=x5ij zpFit-_*h->i-!*aPBL@Jb+37JFXdHQThjbz>2L0s&qddFPsQcN84AQ`R$ko!Kfl0j zye6E+{i|Y{3wtZRt_c}%ZH|!qZdI{*SM=uJiaaJZls%68FK3}y;K$#g_=~5R^=4|! z!oi}Q*l}AH(%>Y_NP`X95|ThL+c!qCGApoMfoewwm~v^&ml{8?&|_uI^$Sj|mO>|k zFW7{yI@w}-{fGA{ltRAUD5i_m?1Z+5az6lan|ye4!}eC9gIGv8JUSt0Ky-p6`oN3J zl#}X5bv!U1;Ei{TP!+sOieMuUP7gsFB?j=ry3B2PS1AR|kOzX89de?Q%N6DBzm-iA=z{X!j4kYl^4Dgad4cK4Ou3#6x5fZqv!?S-uGI~!Yv&LX|Fmcsqx5~ z1y)v`iEgx5jYCW17Zdv=F|7thQIDD7WWV94x_E7OzrpJx2_~pniR~V@v=I$01?}9h zEP}~S6eZ?IZzh^=U*~jLl{=Ek4E1jrA02&w4_H5j{O|(OW^wMC{xj#$F9;H4mKujU%sfGhYcu>x|B&_xl^EXPpZP z5%k_OquA?_ionRk)XVXo-X8xn?o3cwqZptrTK<*=la@7%#k*2-{WX;YK;8~~7&lhr zyDmy0RqS9c3Y5TnYr5$*8&3{0r>HOa?zz3UPAlER$tB%5UQVY`SX|%Bma(=jxOEv@ z=eK#oU!zLDB|Y!=DjlwMx$?!a78S(mC-)FMx1lGUsHiwY-;h`J#LL6u0jlkn_dJ~R z_EPxyn9;G>Rkc)tT$yW@a~AFJ%>z&3!G$*I%KD;X3sj@}+nwh~!$`fU67s!oCa$(D zb|t!O?`_Kal*gXsw9}gg!MWS-L z1Q0;>6`!smC0zmar>~)@=}}YD;$&4x`LKjrtvd++2w4uT$X?D79=MC6U~@v3Lp$e& zW6&N{UcMpMqTr4f#{+~!$v!}3g!sB|aa}WVK&ta-nG~ce$*JdZF9-AVM1Q-U3E%SN zL2nA|dJwgUts#FMFAvWm5fKqJN=+>tr`UCNS58lk0=jT?fBJPGY0|(HbHcdO_(!Q? z2;$)l)Ua=VEexihjC};ymt3>d*{kcELQGVbdYe_h$%WLNJz_+31pr0Ax!=nPSOA|$ z2`g*Rei)%WjHcYwJ+0Y8ZkHke1aKyB9VwpZ8RCHe6QD#*N`oc}@F?55Tmhu7Fq}Jq z6GsXC6Gd!8dL%-t1DMv2Q#Y4C_m}*JBkuX_c?9|VX!{*g73elr9NcxK*?H5VUb8zk z0)Rm{8KNUsZV5$2oiq36?y2#E>k64)`0Zh1XOByvO6HG>8B$&DCG*#4S_Ptq{Sizu zcljjo++DPFI)xK6HMoHHPo5SC6N?;5PKHiS8OW^@lQObP$g;Dy^{bJvBg%Z{>sJPOOeVoh1W;E52 z@8lzVLs?c@PI`35%!JU-)4Qw*Ng?<0b-8XJR=#?Sp$P!`X5N&)Y#p9o}aufHFBsCZC`TkKOLm?p}K#lT`4(C!q$uLK>A%~%Du{64e1b&zgunEf%qTvu9J z`Z_oD7MuJ`Xk_FD-?YxLD^FJXqDmxs)|_lW0%Ocj`J1pb>M_$NDLT-TwiD3Sr;*Q( zqJL5Nw@nf2Pfr{sLg(Z=Q^^97NEzURZUbw{7(Ycb&qyg`3MFOifN3pT$*+2^?FEq0 z3&25d;ziy&IebmRT1Tfa_SS7V84vZ>ap>lW!$nTAqQlwFo@>{4UsD&jb*nah6t-(` zq=WcE99>+NfTU9bXLE$qN7B=7*JvpF&ZB+GqdsVCj69D@ii{C2uiTQWx_${w{nQvE zAOkI2I^+AE2S6ZsWbgGPR)%Y4YG_S7#JCCJyn1Hl!}C@B?YFH=O##%BqnwTx~ZKeHxZWC zEHdqD$@IHIGq+;nIxAxuQ$ost8yOBE!v8G=#KmW}BwnTODqEtxaV%_(SDt?9N=7C& z+P-oor32AN`8a5ptUOI#?Dt#L|F+*L`)1DhuUy=W@X_loJI|u`&FY?Fp-(=CVr-#( zf7ga|tM%!|t0+{g>9$+y+Q#0fj*h|)PbctY2zzarfua+WXnA_{#kTm7?<4g>Kg8r@ zii1C32=E|WV7(%s zGD0apa{h}q+tbLNx#&C2b|Q`j9R7kR&|TKZbCi~sC&cpb#Y(+KTOq;9KaMIF+^*}W z6E7Xj8*-V-^6o})PEyM9;R=$hw;U`=!QMS9Tlp5`Y>>kmbj8HSQ}4=>=$5!I7F zZG_c*jr^*R!!`{khiU}OUBpD#pr6dgftg4O&he~H<1sSmqks=$&ddSJTSB}+#D=Ab zux*WBPWu#U7!ryOwqA?CJ#&4%5J<;BB+iNSKW(J%2_M>U1^~WW(IKC>cFgl`X=wvt zm;j4fmo0@FkQ72FsLYSXa5kCxw-?xnplEuCu7!^I-Icw!ErT@tsTqF%K^P!D0zhli zE+QxxO8uGM=@g&T?%Wb9<2yB&OduisY1$tI#93?P-SRRxLV5q!*yGIW=x&KUa*5r;tv zb(^f7*BY~Iqv)~?Ot>a`R;CB@{ietCS`hv^T;v+2-W4ARE}d&oH2eOxXcb_|wFe{L z6*^$j&oAoYHT-c4R9UU%Eb{l6JKa)huorX+5YdacBXdxO$>_$mC7Bf{A;bV9MemBl zcqEE3>=u*DJOTYH2W{Mw?c%5=R2uEHFmjJ<5a%=hju8T!%_^lLb1 zt)1B~^MY#}**Ayd{zQuK9i6ePPOKU>IR5vU-1_$GV|Z=96`n3k;!XW@}e$Gg2Wb;R90g8V6kQ}Pf8 zosK!J8)Vhb$QJ|=>hNM?W_~e$Nq{tN@oViAn(d1)Ajgvwe4#e)`afa_YI(F137jQ}iTtcqO+g9w~ z{zlPSnskzO#k+<5@alaWgk`F9lmoOt6c1leth~kK8?#S^gJG8-or}9hhDgrH6wN&q z6%~&7E`-HR6I=5PQ__)wG6BN{!_iWpA3Jkdw<$6i&+oY&RMx#Sdf?1i1#}3K zGRPi6(Ds(?+KZtXa2k#$c(_ftQsJ94{rSI;L+ujm@@4n`6bWrnPm_XJ`Dk`_V!GR} z?PBtqV}4)5{=PbI6Mxgkl~m#uA+;0C$B*mA%N)tKTK}m-UhC-fbZJ?AX7!4I{f{{^ zWcjl!*M0i3ovDXoo=NGQ&>=Aksm%%;1}|<~t=Bt+%4gr&6YZdvmUFCFAs^obrk%Iq zb3iMSN#4;9!IgveRTIM6at;ps2zJdqn7VK>Sa3=oynpZ1_$^BND?PJCe!?;q)Rfnt z8v+uhFIu*}?tQc2VPTID6uqy017)JrHDT4xrFzr%{dUwU>wlo{(T|fALzkrYa{--4 zwCAxEHIFdV6m9NV{WxXg`cA025^Z-(O`_dYm6F&{SiG)Si~T_YA)=$=9>BcYxSTq= zKV|dD=k{Kzw=mXB$DT-Z1-Sg#?rAAauQEo)#&m!yHF(1F1w~}6oD+Ek0ET#<;O9(K zKjm2*?#?Wre+hA?$h(@59tD zr?$Rw!jV?}zOmb=ZH6>OB~5`OwNwA3_nCQ1D>^JSueGJE+DVU)U$gtq+(T75y1I1j zKo{Bhf|9CJL9eocVpa$3%?~{BL%F=XkoM;{!`o`1kzb2j;&)#=#d*cJ&-3|t9RU`B zlGcYu&tG|ERcU`=;Vf=d-5v#leQ2byWOg*R2>DQ2=G&75!vV_OFm=;`?>}f9clKx^ zS)*{ax*Z1m2FFHn2+#7$YQvR9bBJZ{qgqW881+u=CnngF^v9+@vCzKo43{n!63Qz{ zv`EFM#-OF~^l-E(uIClt|Cy(^Iycdod^@xXEjtO389$NeHccY?2VryLI*y0qe#+NZ z?a%L?Wnee8iH<9mq07)~A-gJ=8=95ve%|9^vO7s>y9sHkK@W&NFo@Gpr~mUTJ{X{C6J_VNq@-AxbK9Ln_A7NC8X7V#bv4&ZMK8a%2R%UwI$V=C*~Y8#%iP}; zOSU!7%h#ZlsBdVX!veCV!V+26k5wB7hqzjGa`*>x45Gf`O`9Ar3RT5An)tyi`g8sT znDn@ImAkz&;jCh0es|d9W=X)`a1YhCuwC?@Gk^+j*%D?BrE-b)W(PF&Lf0S4m_OO? z{PqvKc0hnqk`JA7=i}%_iJN$QCs}-_Ip0?DC2HC+SHTa}@*W3pa^G2A-wEBvxjkQQ zbX)c`tAw{KT4ncO%M9cBRGUq~SwZ z8G69|7u_jL9p0j#?(Lt(n?C%uPz?3EYt$)0Q@~Pjym#`fIZ{awku|-=c2(6~HXe*x zVk04Rg3TM8=$CmGYm0;_kjKy%t$y-01Wfw~l!E&GWU!7krOdL>Z|vqln`N|2Ans3?h{oA)JQ;x&9?UDi$B*_B25j=5u2{^}+eaz+pmJy;T{V7vy|wx*f>Us!qcS6KPyM9my~e1+j~ zC-?U^hRjt0DlD*CKK#~*`MqAAoZPwF8&*)8Xj?;QPK~rjA$0pIXy&;zRaKcSTg8>4 zr?z)Jdfuim8nUmjykzI>jUldMzeU!g>vv9I<%|H(3?#_|)nD}t2^WBoUt}4I=vDje zpwpUNGq!er1vlPX#}S226Ps|kS`M`b#J1{w^dHcKjssPbh|C`z@cd1UI1B=|9PsGx z$Y0Yu<~cv(o!L;ATVG#q-~0H=J}mRP6wTnnj?B-VOr6nnN2eE#{&jR}a==0j>lPWu z{HKDz&YSq@{x)#?c4+Lwzl7&Wt_EKx98MY#lz=QOEBXmS96`^q@sieiO0Ww6@n8E= zc@%rG-kqKtF<9{EdG1Qyd{Ut%VBU4a!%P74EQ#b7_-VAX!1R^?3o4q!w}umu zWzK%UE|N``NSZ^v*t~9gM9Ic)lIJmofHAs!j*yCLY)6;1rKK+Ya+F`Ns=MyJLv8;( zX`5^vjpGf8hz@6?s3?viOe8L8{`tMNNA=^!kI^(@F)4X_3R%%bH!Ki^x)tdEik z4N@hvaqL}6c5AD{*5T$3_WYS6uWqpe=4%+kDL4-P$F_1X*^FC$#&v@8LA2WWl@CW{ zeEjfXe;%8wKa97n&JWfieKw*Qn!FkbWiJW??w1*QT-9Z7B=SYxT)HUj!S-0}pX2k_ zZ}fwOZwo7C&!yK3xjNWS2NjkVZ_u@?<$|jSSv0_!hvNraf=_*Y=W%Cc4-CKP#aETy zU!jcFDZgYt_zm{hRf+!vo+1{=Tn2|hrqd7OS6RZ&PC*@Z=+p3U!6Y&rU36YV^3|(1 zd`G|N50OC!VBgRK!0$0;CScmWi1D7LW#}ii=V%=1xUC1Jk-Au@vxi-#q(wu?yh}9RYYRCN*dR^MS0B+ z;D-ZN{}*|1u9*fZfloyf);UW3oHBpV;)uMxsZR>Z7kjKUKslo0bTXos!B^7r<(Hdd zrRFT4!|NE^IqnA?54ep>RNlOhDMDl%Z;N4yn(=|I-c8p8bwCe)d26>&5hW}rm^Qa6Uzk8OKBO`Z$RCZ$Nwn}U_ zlO?^l$Y+?;V#LuQbN30Jl4M_oU)k#)sCqnmAB)9vZSG#vkFPAT^$o@jFF>0~J-eBj z`yGVo_Ti_L#473zeY$yiZWS8O#T$-&Y_IUw2@Ls?g5xgJESnLE<&U;gRe%-+Tk~<{ z9|7R3F9y%Zn~_jSSc<-@x`FKiCg#lccr=DnFcwj^FCA2P5Cx z@6Vi7*8QwlOu!vM(~ze2l}N)!bk!+2JaWRhm&i6;0fxO>R~b7#vLm?kf7J(se3<2? z4Stq3I69=wy6G&SKR_rd`ojN9Q6Zza>>^vImuhxB5|b|_?6|@w1(SUrEo1}6B;Pc; zAr{L*hr7z;TjHoS7m!+d07c1``@>KYKT9yCJvYz`!5QODiw|hne?@4#mq#MhToBeq zba}m{Cf-$^Jf`f@#)!c)JWqr3@{ZhSB^F7jb+j>TG`_V<04(1XWM>MT36m~x{s{LA z2!52@h z<}7MtV4+}Wkcruy0dH_qeSKXQ)g^={rsvt+n2{*?4ZXB0-{;j$qwPk(8J2;*dh_!2 z=g2K=@dsoji8Z*V?abWtdaT^!wjV|E&$g?rv0Tc^N|Mpbs#9LzK(pYD=y%QG3F78I zLaR>hW~{<~K{RYe8zYg3uLC3^JqnCv3MnL3@aS{g&dg4^6AcOMBRi&oCq}ONKUNEC z3=LyIr%1FWOW25#jhG-xY}k%gbUT8AF$J)O5G_c!5*Q>|jyyMTN{m@vJdRtF(6(+z zDw-m_nwwRpCs}a#>d~wt1(5d-1M7!x-dGe@7Zenj>`kwSKgSKsx(W5kM1~>SkvFw| zSL!Bn&L~a{5wPY%M*q>n=V1Dx1}mRC4nYyH*3}Y?>$qB`` zBan8qUuPj2QgL$l&cq5S0*7Er9t66K$;6GGy>)=L99AXps9^vFC}9Ko=y2?yea1o~ z?$Yd(JlUKE9qI<=xoT&oZU-3J82pX=T+MuH$No2!2R^|6_bb-<;H`siI~;{N2ag8( z8&3VG@{jS`U0B+%H!r#{p7?L+1%bY-Dl`pG^$>$RA@RKvY3tPw{SK?!x1rbxQrg#B#)G$VTg|)`TjA z+;D8cg@lE%g0)EiJIuyciHgzy-Cug{4b~eRvv0mVgwz0D*ZCr+CQ2Lw4;Y>{pg=*3 zE^2kW(*6Ox+s7&aq{DsHQura>!b%L&IjMvCOK{Lp#44WnZiM290inrv{3|=|m&8#E zg5P8016o;!t1#_x!dj83pC2&x+IP_jjz3NqI}+i9wk*SCV2i=;QyjjJ_|}x(dW)J3 z${2{FtY*SUmTQ3Ui9r%th4=mVs>+&xKXaEr|7||B9`uagSOI*2av{Gd6bv1pPYrS$ zd-m)(e)8mnm>4eD9FF2T#0>{yMun0)cOfQr{ojlE4oK&;bFD^jRs&8!Rxkye*|x5+ zqiWO%~)nJ%SDrWE+#1LJM`}j0s6iA4gC`n~g(>TY; zJ$qZI&DKFZi4tRY|Ngx_$gs#s;&@kJ*Xws-m+7grfF~^-2N|sDijP5Y=DB7M$bb~P z#Ori>5JHLM4=Lh6F?#Uq89SJ4zyHi{#_Py1l-mOHqtm07P9?a6Z=lpk7G)^9mT9jz8pF36WDif z_0x==s3NBkb5yJ{nWj{J(RqylQV#$Ku(aFXT3{l791IaN>b9lvk0K-lVr6>IXGjo1 z^_IEfQc<~GA8IL0rGrnUb0Q-m8n6s?e5g|eL0I30*$rD%=!Cz=6=k3{Ai!>K%S7Pu z(n(BmdN4kYwojp7#PSJELG+@pow>-pAlzP7I?y7$WeQ^h;z5cu)PTvR8O0Qon3yOr z6ELR$gU?VPHPWw9oGr%(B8$=zK`X$S2m*s&SXek(`6vzmu|*`fGk{gu?h8bs24P)K za3`wx7)6+m772@pL;{q}(6zr<#=YK>@aIrA8Fzhri;E?&*+&i}sql_kDFj4|O%!jY zBnjTA)*8l;p2*&BrVm~*+33LfXsi+^mg$L)7~v$7)p@cC@Ib9%B`c7$a1;xl(8>~5 zK@-KxNl5~PJBIbGAMFJSh?>#DYFLqoKp7$mU<_VG*jPi>`0F{VpSq#M-$bEiM}q87 zBb&o7u<$MM%+wY*6;=d-KydwxeOlk?vCJ0x6#T9S|1V*x@0rK6fd`?)q~!#3dgv+S zT)Y?;5m(f7uxeZi0OLa%M<5dM4WQk!BCk|7?>UQ-&H*JsG@C~thZ+!afAH}PsIwlj z7I!df_xV0AY;qQX8ySn}eK;U5=&_v3G0Wj3%P{!P214EH)Xyi}-aoOoe$;pKDLTiV(A(l#tr?HL6VD#vV z&AYNSf|5K=#DXp`hYe3`%I^ffv~-{P;Uh=FNV`JDH-Hrs?dxc`!r5-1zOEoC5FAaD zt~3aek?B2Ibj1o@`{|zu%VgUg%_|uQys%VB1m0hBr4;!EoC0x`K*iXmh-&0bJfjTV6L-4;jfikME%^0GH zaWbJ6$USjZB8eVJPwBU1h*73Kj~S*Y_|L`Lg4x6U)m0dYkV60KCx_>cIO3sV5SU3l zej7rByHHgb^dEehD0Xlz>JXOefD`qgkoo?xx^gdT2Y7^+k?eZ#FkRPQ-<_hi94})l z_%Ed_oke%=lHZXHV34yVIyG|kl^hO2xh0hoX_Be`8LJy8R2fK+9Zg|nZYscIu*V#n zr0$B7)bO36YTO&uqwg=`nxtdGEsbZ2JYDemBr^belGM+$@aUhg4IG&%cYV!*(M1Db zs)?mGxG_vb2?oTdoGpgGo$fw0U>NyL{Z0Q}^=;4;*s8aR#(;B~qM#~of%cfZR5J+QockR3Rz z>_OFC;dl*IRaJ#pMM3rK0B#~`7?sCxL1_mMwN*3BmdEdGCf!}mTxPb75V*Ku4}Zdo(w zMTcT%0LoUe1zbuW5k0s4{DY4zE0YG5#In4eD|=54mV81(PWEY0>jfh-;qL+`deG3Y z2>ovRX|dcJsQywksg;QN+qZ3_7|93UeDWx1mvCkDuAM~mAy1X8P)bWPL!1rspdgIF zig5^VH&$UeKyT%0C}n{cuYPaFET#aoDBz-cEeZdbHMmHUt?<42c$aHy+M* zj3A7P9JdGCdCwtDpdwI)G{|yFSeR|+&Ygs$g<6O7aoSDv=hk%F-S=EXrew$i(A7Y$ z+nfR3AP5Ot(QAcQ7%9s~H9I5hs*;V&wRSb&sgoK6-P{he6_Yc!Wk{byJ_nhk0VY9L ztc9ND)8Jq@VNzf14}C0TRpR6yHw0)P@;TCKGEURoW+^|N~Z@XsY%g+j)?2o z;Efi<9>NJCeF)m;i*VEbA9 zw>3=!KmPib={4&R56R*h)CTLRVPW(m;98wUJ;A~&cM)`X{<-lL7_I^;BD5fE5eDIW zk}W7Sn=U+oN&8S#lS%!TqL+BB`F~_=<7ZA zU3|Of-D3S8R{g8h_@Q`$@c{FZ<=663SHSv$Tb8l6l}c+{-ws4fJ%Mj+;D%%8zHtjI zdD}_9XV1fN8C&5($fNt7nWC-U!~AQ-il8g2*k7%c1d$d4gNJ8oPp&=Q&y6ltzZG@= ze}8>1um3OHe4|}LV`a9V^zzm$RvS;mZQ0DhFP(a%)V1Q*&4|ak_Rj>x z>`@EY6-JA=2m;dweq*d0b z@SNRoJD+;({*g^sJ=+ds1+6!C+CIg+ylK9;N1ak&bTunj>edy1IPikr3FWrbO^d=h z@`KtkgOWE)COdh)EkiytWiGt$v)fB?DJAO6xbGf^w51XAab|Xm>-rsEirY7`iTSQ6 zvKQ8ROkZ+L#3<`BhZ{HNjqZDSd+7>nm;7>fKTi|U-@>$%`|MBJr;l6gn=Z$uF2e=- z=hw?)q5oQq$=O}whv`mR#mX%ctm*tJ7!!?I-1qgcuV<$Ed}elBr|YV5^eqZ zA3Yu(b#0kCbuVL9H?RMep}3x_cqz}?rLppB1`T+5TZVjwIE$rzR2a_BE!mYillQ)K z&E1|1RjXo}dl&Ub)-X}j`J=c#9(v&TxAWAc|2%5^(`4PhZdvAzU?#f0mU&sEiS{2~ z+9buE7|^q_LQJiX7LmF+=!62kS@t_^-~ix)Y_Tk9N@ z{l(?9E1W}3`Pj9i&M^4TRZkL>sNT~WY#@3!FX_=_y6NA$O@KSm>YZ%L0b!M^i6DG5KSw_AVkz*IBe}7u|2>x@= zGj|+3Sa($=Fz$6hMd^_sr>2swKi>>L71U-Vt=n;#TPf@Dnco~Eqsz})aNfH|!yR3` zl(ze-?l&6k)~(-G*Xe5@YOrjxk5>Ga%8Ahj!59*kCTFeNog%Hi?3Ar-UGQS4&1k*6 zLA7+LZDzob=S=~tdoROfjR0=?1o2f7n~%9i2ryt}nbB#0y7-T)c$pu zZkV0>_pvm8aF(jO=h0U2^F!SFciBn-Rm#Z*SHuGg3QBgLP<~OCuUuFEfKKf+_u-CR zc``fVWX~r;^>taKUEJuXR?}szSATuD*9ia|Av15OILEz5~~yOYZE#& zPcyO!INm!YwY|nKm*IH(I+aDdYk7i-jD!SxJP{O@juw2IIsZfWy=i|NTD*Z0IEZwRuw8xZ&G z+4;du@$qdwUf=#&gX}0++!FiJ{qnowCGSo=eH!q(+CNX27Hi|Ily1G@hxk!LL(0Be z1A1uXH5EQQN`D?(7c<`Tk^eEiYsucdT2JEJHn}sXsJhR1cek58zP2qV!O`f$*Jm>8 zmx;TlYA&on|I(Uv{`CJm;K%BjtF`|5sRbn%U&SiOJD1Sm76&2>397_)HPzGhSLg;C za|fU1q&nqor1Ouw=Re$OR(pzf?b5mV4T{G;7F0|Q1U1Ld@$t>iw7+?Iv+mJ_Hb}nG zojEfdfl=WJ+1aWn6g6zN_a~!^2^v z{?RdQZJN=IbDm`!``^B!1IRkyGt5h`*Smcu!<{=Ah9AFM%0n-If`>!YIbH92)^UgG ztUGP3X>G+ZreC^jDi|3TFUW$3z3}_wPv#)IJ9o4`R6MLv_mogPF8bn5D#!c2&vfA{ zSkGNJ(tYgVzyU|<#`u@{iLD`ZZ7uz8rs(MUg$k@!uQ>8y({&9clizH8Pi35wTwgKq zD>EZ(fB#_ZZHEx^EScfQD+XIzNQOSFQ9T$Qm6T(^CpPl@!~XBThHK-3pDACV(rl~S z+^ui)a*He*{E# zs!k4{`xLK!>YUuBoc;FcQ4OwxmY?tDL{NX0)1RFBIUhH#A7fDvxIOILt___gercCi zz7D{rJ271xWvm~UE(*Y*_kU906<+?Rt^c_PvAj?!f1vX9Yi&R8TBhe|d_S8SmISRH zW1XcIv(vZ4n}6tT2y62U;|)p5a?~t8#u_Bk+}9@Aw~Hmj_voEFEf3g33&hfe)$ck4 z|8#0T=5&y$zXyF>5apL@ECTExnd6wRG)EAPC>#7};3=zO?k-xG$0 zP`Yc^ba+?#%P?7E`G&IF));F!a?o?}Ng`?XpIiN0U`MFzS4NqEfZeR*z z6y~O>xYlbt#aV|3zHI+IuV+-L8YL5RblmJ)zd6Y2E-&H>3OFXN>-kl2SjLGO@YXf! zl^5~Jn=IXvYqH(9CQXBG!!Z^*`7}+2H5T*=3bmcvcd%%09qt}bJ?NPPlFE$Py@hXS zb*Y={nj-7+DQl!6t>cP?-U9_w#>RDp4s9CyN;ouXyK5Ov4zs+|Ioi!+Tg%%I;{m2+ zOiBma-H&ecr1|*Nwv06~-)Ps7dZi$`Q^Sk@KaT|eG?ul$=F9a@P}Eo15y|vtp6}jC zLut)3QqC*i)h<{FnVO<}>~n*m(n`&}ch(p`R2+YjZ1I?Rtf#46QdCl-F$R6D%Pfbl}MF>80?>GBA z*&cuC(nwO3w}Eu+nZ|siRG|mMvnF?Vs|G)f_Vg)j!-hvsTkE%dA9%fH zvPU51i)BcQ0t53qAG3%o{-{?q)lsLUG;F1h2t|#Luf{HSLGjI1FG_Nz#w&f7AMTJF z_1PXu9J+Z50)&U+eqW!s0$QUs=*?~o)wP{>K=J( zRO!>#LKhIAqbT&RLvdw!(!Uoqba!Uz(`~(w8$ijOJZj&<{j6&ZQ$D))gSJbASExiD z+7;>~^ITHKY%;U|{wZIY%8@^^n*J;{_oICmW~b=H#A;jet@BzvGyXrW-UA-Xw*Mc$ z5Q>ySW*H$QMOw;8WLH)sD$^8NvkNm0r$cvy)zJdJ<|yjl=n*BHyQR<*vj9R0f^O*Ai0?k z_W$!WoA|#u#|FM_%TOtpIoQy{3+B@&$Ih+Nx@Or~TfVn*P8$l;M+Qx{H@%?TC znO$37g-fo@f6!We?~qw%X4Uf%{rCxQ$-)@5a%=mst~D|LldsNk{C`61p+j^G%-Taz z2Nxw9X?Y&Lc+qLHV)>g|9b+m0%S9IPrLa*k=Syuu)K%Cz#Ktv^&;E|1Sc{c=sxfwTr+dVhCEp_A+n&7(dTqNI^b7ZQnDyS55QnbwD(SiG#5f2o7 zt0N4Ley@)3|NY;SkmTP%K_rasZ2 zdwQI=Te!oCWp~sL=*SX zy}7!sD-wPc0|SkcM}gLfl@|sb&}?3?2MtQG`Q_&^h_;Jbi}+~v@a>KW@*FGQWl}SO z$R8WZaK+DozYKrC^v|cgbqp+Slyw93s=xLcRN1K>T&1_L=>?T|p1B%(IbArRqy(&B zQT5PAh7D#P)U04@$W-mK%yoKo>! zGa_pf><=HFof2+{fT2shvP$h;)sRQRH!A|#JN$bOKQ$}o_ah%k6Wt{u`|MH-&asM-kp(!=dr7cgwnP>iW`l+>}!(+ zQbp2E+Y33=S@p+h_!qBJKlc;*Wph#&J?P4F?FuQ&q^#m9OKEZj_dTNgc0 z{^%uLHeUQ*e_ZKWXzW>+?(HT;g{P*{tgNf#p4^o>;p03$9a&htE#Uc5L-%enD zjHxpNxYU6ZhQS23MCK{Gzp#VfM#hY2f)kNsP*~v8beO1IV($AIqpSB>$4%r@8?UZ>$qmub4EAsNum+5tNpE0g zq#N$yf9zT|a4;$K%U^ME)q~d-$;yJUUj3u*MK4YD=xW>QC_}0;Uu6FWdXX|``Q5u) zZzh~?GA^^;;39FtmL!--x2`XF_c)mS>)2| zlwOEw^KIJ(s|OZKoDyQS_I>YbzO_*ZM}g;LsuTu>lGN@sNPp_4*}|2K)cfP z{uLlWKjR9B3@aglV@~tt!v_xhq=uuTqxSxr2m}(w)?gCdqPq{G8BpQ$Gyq|2K-yy( z{MgdM3zAC1;87PB7b+zEpR?fWwgetsn~r)dQ(+x#dWbvN>&y-$K}IOPf4N{|jdpXK{?#X9F zUi03A)l%Gzc;A_?HMHK<@^dv;x7%7ONDM1aP7csV44z|8c9&rKn!K;AytI_)K|8j; zOt04631JEVFErlAs_TPj^)fH-4biOXz^*17eF9NU{N3BzOU9G;vt{EcG}9A5eJVeT zNebA>L=r<%F@lo=5ChGAMFP_~L1EU@odx z=QNjC0C_VYB#4KS;RPwJRX}uLdJ&7E0s^e=;2>#jC2SuFe?VLDei)x)CHlesl&&}f zZDw}7O9I>>mj5)8HG@}efSHeXglh-=&rZgGRZT_pX;%KajDPNK`&gvxwOxUJ%W-;d z@1k$b&lu4Q;y4<&8Y>+Y#OJV2>FzPoOJ=J2+|Tb(BBR(E{i;u2e3U#-0(&yfE3aiQ+& z1_h>1k>1mf+wy~8ax8H`<>lD$M!Qm{&KVPH4CIQ-gH_TjuaBc9*dH?|oTi)h9EIoHbhz#BKp zFtdQIE)0L;OJN8<}@v<}bYe!7iH)gb!JWv=dN<&vWJJiHV1Re>sVB95_bF z0m6e7qmcy2${NCN{@sJl!gerP_KPSfS$eiZcaKcC5ChJvF>HDzC7b(Q=UbgWIomPi zArjrF@~_=Qs`d~wPoNgBG)x8}0DLW4=ry8dtl@#&2|X=j%khJ{paFw$sM&q!pEPF$ zmGnNDYtxx0@)yf7)+n0))-`};;zKTe{)ZaNXQw}y%+EFW2vAhF#}=1lD@xg$#$v*& z4q8NF;@P(8i5ZqkIv+NEA9!YTm^eoZaHd%%$y743%PotLpo6DXcvlfKxP3Cu<2*f_ zCTn<)oGQ%b-B1_9Y-8gcp>unYG_}Dv$Nl64SIAnyzVOJ2^QMaDfiCJhn81P@N0qkc z5-WEmYo!PJ^+H^1(U^(PB!#AL!3y9 zfKCM*zDA`ly}f>bB*X!l@Tt%%&vYJ06M||_NtFQ6*@UH>N-}>X2QJ?YAViZp2ulXI z>Aj#=5#1$%RYlAXlfKsMuPg2cNqNjGV?X}Y+JbvZaITL7qFf9gVW9m8=d+aH2z;Hu z&yxi>c`5%^-F!y}EFZ!!1lTn3`hcS&d1ye}$a+rvB1^{x@%QO(o-j^?f9$A}{V&$gOx3lZL&DMEusI~W@47(8gueP#gDe)ON=PqW5TP-^^253l#4Q-St$b( zR5Vu}%+Q&Cs~KJZvwxqO(fu*G+L5Vc8oy>G{r9faE)a`HeXd_2nZ|S?u!hjM1ANtdoZeZ<$LO zhu-GM=oj7l+bh|uY14?X0a|;dWk3X~6kJgKd_Qp@t-k;A64fi>gz@w8!WO4qjKM}p z4=h~w`}gn9oj!|mZ7ZP85ey2EhY~OB;XoHQ! zgak2V>?|M_SAh36RRZl*M%4V|>q=zGgg=!&^Z7Lc$k<|s%C~OCup5ZWMSD2u%b;xQ zgRC&&U214dkAn?76cEYu9<|Jj0}5#tdTIk=LgdbK&stTMYfu^*z}c_4eVTh`3$SUx zF*$!vnsbQQaCjA0-8T67)FbZA+B*VaFC;WE|65A;c7rr zP7I|LA%$h85y2|J+#*X}{FAGRG?YBtt#V7GA@{~=I*ZMPOic8_{H%fL9ClQdh+U1= z5^?e304~*|cNV#JF6KSGQtpZ4@v&ppbplQn^$%2Doo*dJ;=0kUQR~;7;>n&x&uy=s zQCh8_Ip8dfu4&)^M_=Wmd_jri!zO08>nGwMJpj#;hTKPc5~c$bK0c#s%hs9>tzQ}U z#IDL}++NOlpso~l9=>7i>IV&|4P`U|2ZtZoJ1-tIJLoBRJyb-2Z!yctpC6OO1mM!( zD{Ff>_jJFJ;QI0JvNaPI$N3%$lFzguDmvO$x8&UYdBi&6+0b-?gNw@_kQ=RU0jo9y z;B0*jCHXWD0wO>#-($Ri;V1GPqSC2laoS!E_=VR1hf$*LU~_6XJ3D6t#Rvd@Dz@YV z%?H8v@jK^GEAW{J4z7 zx5UU=qInojzX?F4Xw?^5e1Its*%E{C$q|Q%>FLCGL3nD{3?6uB@AtVzNjwE{fe$zu zW*P?mB@knwBZ)Y^5`dj7zP$leND=)W)jj^|(bHk)?@}lIqcWi}<(F(kvx& z-ZwWS_@tzSP+l6f#`_~m%b}HouAcS~*RwAv24w-N?3yQ^A7~bPtCwb3-2O_%F8)BF zyUyZcX6dT4?N&uhX4&C|fA#LtUY$-7O!W4$p8R9gf1Sf$<;hZBqnw+;{zFgnpHIyX zD^wv;9#Q`Dm#HRe;<}}{VdsE$M8k>H%?{oj^$%7{7*U#ShgK%7TD{@BiTk(36%Etl z{@)$ja?syrjd3aq+81zkcx#RM*wBOmhg@(twn-!mF6d3~KmeC9gn z5+Ze|03hiXs4!3-rUMXB4b%&qr$^qU6WAPZ8a;qt5cOrixPZT71HdG!&69$L6H40( zFhz(4G~}IMzI<8S(Xkqo2x#=@?H+K{#T)rWMMa%Y-%Eq~$d3F*yAed=wMvkbxD5}y zbSyg2qK$wD0(*3&`NzevZ~g=+^<)0U(g%p)L|_Qnd#L)14D(DtZzXN8A zdI$f#xSRI{faWDKg<1#i;iC*SeMC%#1PvR}i~+EOAU5C_0GN4rUwsuIiNw&5K(7H< z22@1zj?8M{bwdDT<&-h!LHT}ROcAh0qTy2$A`9gQVxR#Pc&)oHvH<}l3U>HuWJgr} zHE?GD*d@h9_(rQW;15>G-R%1dz1{ZEw?57e4p&j49?$w=Ma}vLpDtRCOnNy;4cjIJ z!oC5`EGRy-~8tC<;91%SII2mO#2=w>=)7^Y@yIG za4?PuXptG}H^S>TqNhDC)TQG@e=@(8*Zz)K$znTckf;oxVzr^Gh$KJJLe4?dbu z`3H_we|FoKpBY}W$wO|_`RDAL8so3Cb0)q#AgQ$G<(VZIL{~lu7qU=z=+ahN;V~x= za`-Dg>(b5Clxu6A$zn?MZ4^i34vr^gTwj}id>qiW_#BN70VD#4>zyqr?2(C8Aj4MN zR4ET?4c1c|6&&ej-E=mUJ?-8v_u0?8KmR&{JW=@U4zH>3`@NI}V3R9&cox$jD8`Tc z{>;x_98|x?#>#*ZXBV3vFPne$@+A>7fNHRFEH4L*5(2m!fGYO4$bU_9POPR`BWp2* z&ik|3`JI`#iPevg65AXC7z>#bN^WL!A_x#VxObJL!6F>tdqI}7ex~>C0!v1EI@+O?^aY(oKM#m^1q7p|Gv~7f&;RPwKqe3mCk(}7QU+ye1Pyx!X z@mP^AD`1+U_IlHoVGPnifr!)x-g{N+~?K?DKao)Q)I(9Xpm-o z1mrV;Y(o-% zuMq&rHcrZ#B9=RpM|Vr z^=dX1P1%&l6YU3ZmR*IsjR>H$gzgALBu1zDc6Il7(NDXCe3USf!~bnNP+ygc+YT>g z*Pq!x&A@!wnvR)SNMqSU=R-pK*O#X4T7BFrQR@v`%$! zMnyC1JV$?DL2KyE8-JCMSatu@jTo^f=&<^(#dz2vSAw}0K%RSwtenzMx<=%-Fe;px zFg|E5ov3qGz$49)ZhmI1GZ#?u_kKE%_EqFN>*JQ zUHrsy^~rPGmn;KTab3CyfwIAQ?v+%=-x{2oX(l}$B&MH$#br_giyFB`Vq9<;nhSteiz@kAoi@jX43+X3F7xN0;$3Hu*( zLy7me!t*jX&Q!rT6!VoyiqP$z4$3W?0w%cx*nLs=@~L?{7szU=hZ^@_>wQX@IOlhZ zRJa)@=WupFuf-`N=)OQ^$2v}nf(sNE(L)E9xsjr)52bJ)w~V1!F-3vRC!5qS+K+CUk zDAjo5YKBT`jn+LNy@)& z3(4KMK^2&p4N!{&0+vo_hMhDNpHikDnn2|!O}Qa4^{bnK0y6&wX*nZ8nHG5~21rTQHL^v%%QSUb5w^2)r9mJ|E9?bPa%%8$F~#%<+9KYTK+TJHH< zj@M>v_F~Fz1~khe$A7SXK*#Q;x;o0E5;mXYBJbY7RqE}bVj&Td3|}`fvu>Fk-1DRB z?px~4n@qDUk!<`-9A#w|!onqbY*9&)Jv-f1+m+`R)2-B+yqK-WZ@Mq~@vbWoTsC*N zd`NPA@p5~lq`N4G+%HkPZv8z+j|EITP+YOiX{EJ8;_S=*>eu-Pgd>&C(`eVap3|iV zyxw;=)qKf|rM%V(t`FoxhDIE^A0K=6^XIjW48{yfJ0dgMA#U#``1XF`5Z4@1_F8#@ z<SBJIsZhc$v}Q`(1i?y2u1ocVi zBm-&o5XL0P4T?=imtl<^n4;Q(j>-MKZ&JAw<4c9cgYL4|?QDS42ju=?f%)?}u(Sy; zE%MmKM^{86X5#js26<&DeG%wR$px?{XIB_`0d~P>bkq1YFLnRXYHVK|5gpA>Sbgi)uSb_+aBO})nKaiCAWAR; zp#hCc6lvscOCJjDE9?ih{2>~4U`$3f*uo0pixRq#qd++4rp7Z}caAd?3u#KFvC zP1O(G8k&LA{)J2wDrY6HU(+Fh1^MvZ#rxN7d^C2i-Y8-Svkn|JdtE3W_FZe|*MR*> zci(-6-x+Pg9xpH|s$@0w!DCz?@Js=|56M0T(qtR^#)UbVP*@eU$@$YJbQiS}C*z3$ zvt|bUAy{algD<%~E*|oHb-wkb{ZR{F_3!?r$W9jDlfjBL z_v-W+BTgmJ{^1QfcUpHSm|Ep7ny!sL;x;9(%eCrCWgv{NOj|OpIkv6R9~)wAS$RgF zYme|tVM+P9r-S{BVQ7@(*fM|r``x#{;NqtDAqm2DOX4%)S*uWj%+U;O3!A=8dr#*v$X93A4#9jlf3wyM3% z*=BRPpB@!x^s?`*IT};9*81--&%ahbP|xb+G&EdvME`~Oy@5La+E;Fy^k2MG-fFw| za?Xk1VZ{q7M~|npc{e3-IPX&I-et=q9iwF2BATm0=gGT^XLng3!z1d^Ndwb&(~#0B zO|GhWH1P^r4ZB}18`+F_FqmxQTbpF~yzmsmQK?m%ssr6lm)vAx`vq)CsmFQ8F*DQ7 z!r+?Itcr!1E`f{ZR*f9iZWs@kI3MXX;q$U4s(Y80LXW`e6|FDUr82Rp8kzD~+l$%V zmTN5JSRuS<)+jlC#uQR_DnrdBk$-w$BV@-_gCZ0{fz&)n^~ljQp8}x0A~Q75wa6GG9fMSxDmkLo5VPZL=T+F;&bs$NdBe4?U6Y8!;H#0#zi=OkPrOYkr;~( zw$`On=++TlB}kWtoX`dRNn9Rm4&K4xPXu=)^kXj@oDD?-^t!JIj!tf?A?$2zOC9yr zMLWDv&ttG@#QO_URF_aMqwZPID%e-CxNNE2g9i`HTvL(@l7o)o7OT(AP?NtW=HC~B zKcsGL{jhpgGXk9e5L&oxUg2IHV{pWL?J;MNA^NfC23!1zVu2Y1>h?|OYak#zM2fvP z@BA}iBKPMsyAQ=JWc9=4IOKfrK2nSo{D0gafTkAS{Ob?kiK?us*Do z=#8g9V8PHx4c%&zC7(ZkzPPh<4fr+ZXQ#G6RO%*1NIl@$^=w5Xg$j@&+WFTIS^4ZO z@wVih6)xvEU;lM`16${CeE`?*7dGlb;!L-fuPN^7*NOC+qz{Wx7JiYb78JKuRnD&X zCOxCji)?V5*4B*8+#JrKxMg_G|NU0w?9Be9*Kd=cU?dasn?Ie3ruiNWAKo1h+PW&^ z%pm*F&l{2X9xK9j=CE7aS?`v5wlC%8#8O`Nxq+C)^CSCdJ}p<5KL@$ui)&}`==8bn z0_{7?exE&i&CPAknMbPEKJ>5@Twmhayma5lz?+#j%ru|b$9fZ6Pu$z*MU`?&U)#Ul zq(oG1<-w0>Z)RpMMlv$*IqGzMyNO9@Uu~e{>a=gk5*bJJ)S6S51P;_6@ff)Ae7?L) zxUQB>zbrsleE*tmmN)ZOGpo0I?^69z*L3XnIRoW$zn?u@?ApZAJ#Q6sWbRAwFW!se z%N{>^v3o9O-W4hW^f>h+HPz?FYF~hB^`hfn z2mb!8T7;7#cK*q57huG`lOw+I;!73IAE^5KQ8OjhYdue6`HyK>X?Rff^dvZvwHt{KL8u+o7~~{h%Cb2&(E)X?!`Y| zNDyk|C%SexoM<#0WyF~PLIAN%yTWuJOtBybyZ*pK8ivfN8MC(jXN)n~rZ%;h}53}hYx)*3@itB9pj!Qd*`m}P6@+HQ5j{q0}ZG7w0r*b*>Z$?_>mN;SMT|3QP zrqMS;@YA_;N?bS6he*{em4fr424-#tU=~G`(d*}86i=g{O2~uNv)Zyxj)JMk_ky}> zhqgAfW7J?xAnQ;kpmk+~#rX>tVzDD_R4jCLiGAr!^vi~tVq&q`buylkSsW1C2ejwwn9tgPP)NH>O9W-h7BueAY=i;M%{7(GYUDsaxN`pSji4YS-XI1VzWWBG zT0)`hgVZT25hs8Q{lQs~`2HZjaIy?|9scdoeJ@YXO@HRO9iW~}6bkz2v+qh2jw>x` zG2ue4^9U;4p}9z;j^LST$FM^9hX6&;EZl>sO*s8@7@WTstVj|rU}O#LEHZ^7DsGV0 z67#)BnDdQEl;IekVbl4$qV8SB4k#%?Ge9Cl*mn$1C#|jqdP0d9bVRY$BlrppG)$8j zrJKxUw@7YvX}wIyi{IP8g9k}Z0@WE>n|>(b<8Wy`5l7MJBQ}wQg=>5F80nhhD_B~Z z-6DT`Y#{d?ql)r!N@SP++>5pYJ@@bbesRorMtAT!kLJC+ojvUx!O9^KT!rI5**>P* z($UWDJS${ZOe-Bqw=q0w>ld@PFj7hNXJnXP3r<^q{ zq{O8AakzuW^j6(BCBI&1bA9^Je*NX>;0lX}v`c@#)6q)TRYZ7LQ06|VhoHjkf4c4- zXhf>31YE*p*!n8zQq36iJtZ6MYo$hYP|l8yrG!}P9x0$gOG{}ljxKqa?GFh$iLyKzohZ?X`iJa+L4a9^jz4Bs(eXQYTX75>z~P1I z#bL?q>iTwe@dnv45DvayZs;tyW)1Z$!-5cXhlbYwJlD$92Z%R2dIyoOWM?pt zS81t$qFMI*%%DMVl&kh_>FW?e35W^~ZA0P_L2oEu1w9P1@Q?>Uj8HXA7Q@!3h8Lr* zeE&QJJ|?<<#?{#XfUbuV1kV|1tijmKh0(OaVip#v1VT2Yr!k??2Q@h^C_%^U7r4_x z&~YFpofB&-N%C|4w+&>UK0O@y){&R9Pq~4i7)gtmaw_PbmMM+3YDw2^s{4^i4bJZ2 z)z|L+|B)8wPcbm7W*=qKrKh*%Tj5)Caa^QRv&AoX@Lb1Ds&z#bJZt^*Y{hK z`|?$9@9{=%X5Q|_H!-oo@f}U`hP8-XZr50(ZaLS=m7xuWn)=g!dAH&@^;W3PTjcU2 zQgT6M-92d3Lv>qXg|UVmmNBx0(Zc;ZqhN9q0@}uj}|+!r};T?+y0+)h+W8NHiKPz?ebuiDBXm(+BcSDvfK-;>XQ{s(5CaiLj(e1)E2aO%FknU{^1SonXK?o8lFEcqCMM34 z`IqGJo6jJQBwnS^1UaCmmrkt=TBB%2-GiA0ktQKCanV{yS$OtBIc5!%?*hS16^6k% zLE@>YEdo3GCZ?)KP-njsx}&IoUkS+*HRPe_+&s;8HGaK0*D}@k_ortvLKP_UU`hq6 zMM0YI=OKXMq&CM_p(Ky#n>Ir)sj2Q1_HgJQ5`QE99yi8>^(waDo31Y9_t}z?cpgL_ zm2AT=b9E>J%Q3?_1(Rhc%pZ{4)Kp%+cct_~AJl4r>bV+fCK@xZ$=C>IxMs_eDkq3v z5_?Il$vjxs`Z4zbd?_|raR4Q5oE?{l+}6pIqEpI`GXtn;+1X_;1wRb?{PU0btB1_! zUpN3#3e5RHEyL89PS_zS@4VUV5{pfJyrJ8VD<8^B?Da_cA};cVB9WkrrFu#>OZf=vNUz z0swUyd5Zs1kPw2TiJtT}xD%lxp-`Iw85|pxeF(`jv$Lc`(&C>Cw7qiWN)IC2Lf5@l zv<%^nKqXGO5N&ayG5~{yuN?y@!^HZRtycJ&=>-57dMG#0`KHm3N4qxq+(VMkb5nWF z=l=cs4YpWkWMM(RXYzf54)^ztJZ@+;tgzaMv$|+*ij@rg^6olUDpOJep3P&^FKlQJ zJcaIvKyOJ_h?$0CCB{*u4r7h*sRLp#cm%43{Vh^BH7Jj7`TO*f>#^mP9zalHefmin zJ|@6TL~peWrfMf0!@VNL#1|34mAZeammKuo8cD;^tHIsKf}q3is~c!2$-I+u16I%y zK1U-2_MnQAl;>YK!Xb$2vc+{-W3pH~_}uTh0}AcbIK*j7SRFA4JJzh*G8yu_z?+Sx zd9H7<-00A{M)%=m;nI?JF@r6JjF8h?S+=b%ae3K@ky^|YH+01BE*IMLFYKU zRe~u}%x;C&v+t*o&hRLld188d;rP%qh`~&hd$DI%--MwrS+x7bIR=&!=1_HPgop@;H&InqX`U-HXNe8Cmr zWK)OSfoKK2OA`P7j@n2fhJdV`Sat7RO^78D8?1>}!G@}N>qh9t*cI@FX9sXf(u4Z% zi9*%qR|PeJS?Voh%$yH+7pDFgik|Iz7Nnh2nqeQhbjN6P?z!d9bC@wXQ4i+Zq) z4lOp|p`^8X;Vr6{^bBi{G$S$dU93V?s>ngN5Y;dX>_Lfm2T`8E%DmWpT1ZXeu6Gh=6)C?(NMq~yiljg>Z(f{sg4vdQLusLc#FxOQCm*W4y})F<``Zd zIeJu_cYg!`xJ0WXMG4_5)m>b{7&9?oK#6k(fq}z$Ht0 z^Rn>uCd*K;XaKkuo*_-1?W_qgN7K~#qkMY}26+QUPknw-Z(j7AotvAJI8i(=I{xby zJJm>kS&;T$eue}a>(WIs=Csx<1|Z;Bxacz+G-^I1UYq|VoZvu?psJdtrY%}OvT8$x zW7u|c6Q~OT8*uu>%8Znt-x8idJ?VuADL#N>(?MBB3BU}yil_<7pQcvls_dcLf zA@Ep4Vm9o(W7B8gRDo=`EMsQA`|&EkVTdzh>45U_W@&QP^^VAe12}7ov)JYUjL3&J zc}|=}-}mr9A?7-?{&BPWSk~+9I~OlsUh%KscMXzq&;3P^!XRKP^pJsg4Qi#70LMxm z+m)5@%?&_cW9c5cRt74TldVJq->HHejzt_&PK7 zUFzr$ZAv=sCcbz=7#8mq`$m5naeZUwHh9WFNU8B}%K3c_V*(CGj)3?(tyb?s%1#V> zvc7$QHxcrP4^C@{r_m80>`<;>HQk1;5LN*r5~a3j3)i3aymQM@)N=?11_hPIP;*I~ zeM0-&thZZ0%q=Cg9>o}{Wq%xoLP)Tr+Q@99hKkzEv;CwHvEspF7nYW;v3473O1Wc4 zH;+&QNv8clvXqN0j+1TEB72pV84$M9H#@ zWS={W&@u^2UG4#^r7d`9iDRZXTyKYS`7P!ma#~=uEI3$n_dJK(nK~kb=s%p1Y+gN1 zKc_Q_6?D}DuNo_X)+K1FB*VngT-3R-X!S~NUl1>mTSWRMPEKg`C^$spj9&(blgMpk z=Mt0exqJYCYx00B4m|_KAm*O0&8Xj+Juzi7@a?1Oh<99MfFfxuc8bpv&$hxyUgifex)W-2oU>}@+PmO-n z52j=Iv+@$3d=hf10Q+px)JI+5g8_GdJ8InB6r3rIm|D}X#D#M2EsSeSx&Aku(hM01jkl3tPXGzvec+%5rZ zWNYOooFT|zH6Eo4BUM}f+coX=7c|tjMDwU7eN#S5#4Pj zk&G(@k3nTRVQ%GzbXyHwV3B5Oo?yP&v{uO&bJlC+KIla(%&h(n zu)sR}eyzkpHa*#QKQRB7lwaU8W7tjD6Z&S|{rw4YiYbo|Lq%KE3krwpvt;|Yp1{9) zgXF~v7eoMtVH%3L7HV?9l-+Z`R+{(F#cFQB66Gf?m&m5Zmq7uZWm}FvHSN+$L-osh zQpSQ_SJ%h<75Y(zX95t6!*d~aXqEUE0VXUQJ}gHn2d`Ncc?Sc!6WC7-I#&mAK#>W1 zhu7Zniaa`^xRAhpl!`j5V&0eE0!j`lsDyZ02|wiEY6*{zWhS7jgY{9NpN(%qfw zEh;1`%x3o=NRdOR9g)@rE6e&PlAnEM=RDjsUv+Z`IQ9 z_NE|6AwIfH<^?PQ3ZjkElXMiO?Y`UjR+*9LSrt})?cx4u1VFyi3L=y0pJ*W)t(4%7 zK+WZs>#`^Lg9t|yxRavg>;qaqUxHP$R`vYc^hRK~Z8Ika*CWUiIc3uu0Raa5MmCNp z@`yfoJen*fdP9vBFeHJ#UU;KR`^y#JYiYZrP$p?Ik}$=re&Y7w3Xsbe#(xGQT55mW zX#UdrxhyDQ`oM6dW1i;)T8dtxQs_ul*z$eab>DS}r1EP=Oq7nbZF795Vo(TsR&atI zHJPGEi1l;Xv<{>)f+26p2DmMh7)cs+nlv4ZK>Dp^IRa(7ubh;1+|UkLu>$W|GlPRQ zkqe3qP8>wL+aL;|*_NQw1(h>f9%C{VDxVMgb5xO+Wgly*Red)9yu&#+PpjXSfA~b{ zWbsJVuK(WYmP?GPU-*w7|6Il@B*o&`DWGX;?N~kkn26YSK-QRpc>g53oIg)(KRevH zA!+2#AGz|(@Kw)%ialQN0~DvFimT&z70yVY04)831dt?)5iY=_Uqdhm=*J4e7L}}e zt%2vpWOW(fct`a2uJxmpAbyzX4hkg^5M^vy>gzY^ZOCwKe<=%4j`(d*cs60DB%CF1 zQ6T!LvOieVC$S3cqHJw2uM?F7C7{gOEBfwTDaP}Nlgr@KX*P~2zM_@~5)G!PXep$A zJzf^gE}~6%RHD6y4jqy#*!Tzb6@>DYF0f_|`b=jXw>0CV66=RjtfOK*!Y|QcwDG{n zN)WHm42AmQ#waSrMkqoGfLRGZYfa}y2RZPwkHh?1@`UDYBlitc`5)1~>ej>UL zA=Sp0wFFVN`!dd~uZ>Az&2DhS(?G#i_6PJ#V)Fj|Q~Dmcvp6J0qg>^YbO*-o0=x5R zMjz3NM&93iqDRshiH-Jd$ACi%8fFqMHlRi7ON}9C2K;R$`cEGT{P{C_MZlNFLAFoA zAbzpAg$1!)M8A)nn5es85FUhNI`Li2b%~@^R#rjNF+YzxyA6L(lrGHP9(DBJkc;>NRA=kmmETSB zBX@+p-6;Hs7~#_joWbh|sf}cKSjkg*y8ssmf^C_fDWX)Uez|@E5-Zr6X;1<1iUPk^ z1$fZX)4+`q|GNZ?zO%wIFJg>9h{pNUyd}myHZ}y@LZ;yTz4-nI$u|e!E<}bCNn!P- zHiW=?i!^-gu1p~SX6%cZYNFiQ7vxV>%|O6ws0ZPYTL z+s#}#AjVECa=s9=2x2{x>w+!=VXURkK!hI(%LnXzglJg)gz_BfLo(V}>(`ge>bYrX zZj1I~hHee7556|XhG!N#?LwyioI>_b#PNH#qP)JIt;L29KtMYQx+gIu)c|PF(D9%e zg(qjHNl-o7Yl$Hu9`u5CFEw9SEqD?{AChoGRC_(+QBAcg?3}AEpK{2|YyI?Tv+Zx; z8NXW&|9SE&A3Z9b94VQF8V1~X4Glk+vkAE!EiPk}I4EsDfHqB0fw-Q}%w+I~b8|DQ z^YN`XV6lX$B?Tw0gu>2%2Gy^P#NZWXaGGnDv#^vv_y0Z7nZDwS%|Y~Q`;Ciy|yY-#3A`7&n%7-QQn5 z!@f_J$@tJ|q*+fn9sjjVc=P_ferlfQq#WTcBcohU0G^&lgJ#*9UDwDchjh~$lQ{6t z_>3Qq_FO#x$}^|5DLWLJ-}F;&?->8ILb8Hc_d1jUS1}Y%FT|9SbO)O2Ee>Ors*3-O zc6MUCjeZOJTRmKJ;=AT+Xx{VD2d2zu4_nUi}i1dHXdvQ^>?CdaTo2! z@!1VNd^vW*sqdd;t4_@#Jq^v)r}Xtn{Y2_dEczoTgOB+=eV|O;Ktdb`;Q349T%3-r zf1E27Fuf$si7e+9xlFjG;-z7Y#7>(Ga&b9;z!&xlaYZZD|UfT z#*QFB>Yxy;lmu&eG%^vIHnj}slI2%^^xpKuE?RVh28mH^G_6r!bBz7u{kx$ z;4pF3Lu5tybIVTTI@HQ>Af?0l8CA<0s2`vu?SuLmxTgspL?~g{O7%|wpe|QE!YA*@ z4%4)22*5;VpSbp6R+qviul2(WxHg2Rz}=^DEJWfHeyNYy=!C|&68T+-qwE_?c|jqD zpM?$F1qgEmHf%?rtBg9Fh!8+dzu7|xVCj|9@|!pNU8SxvW0S!N=sFfbKF$cqO=8GX zpeh{vAWfwQb=xJNwFV1jaX78O8zZr~=1w*%%0X*DJ#qJlj4w`ZP@7(3P$1f3or#(F z9^AG4o`PtXUq|2P2ofi47vLF4F_|z0ECPOx5iS696b&*GL=6I|GK65%h*iXRCh5?^ z5xaTB1zt)7g+xZa?%-LJkZ}t*@Sr*pxqJ*EZ#g>vJ%X%HTh7qwEfQ>i#v!fvfwp)$ zcb7#*uc#v&hOh_4TINCAfG;yMtQG)s5&~%p$V@6UKM@_$5_D`}MG!j@sU_?7MK?kE zOe2^U+^Nne|M@F}02T-5mwUzqLS&w#e_Qq)2Vioo!4M7IzWOTHIJ zYfFgmJKibPEQFJ=fd_;ZO-|5D+UbTexVnZ#vjzgr8m+DH|8BM9}KX*X%0B-TMWz zT3H@apy20s=n54#^ZTDH^)pt$!g~V*2W|7%VJOb%n3kA=cp3=SdhYMWbji;_2Efn1A_$=@EYdu@O!teg7{3oGHd3~iaOpJIv=3U#3us|@2#&8C zp}t)@fpTTEt~?tv2|__gnnPwxn7nWb7AZ``2ZDfm^Zcj0;jd4U(}H{J<0<+jkM11c z23uk#A#FK^-d^X0p$%TYsMpL>-(S>^c3%}tMj?HyH8Tn2@0ahKbf0$Hor#}%`qSY< zr+3PP0y5_IZb8Roh&R3?Ew3%{a)jJSR_YK~arE^i=s-cXwl)5L`Sw05t4Vd_i+Y4<61%sg@T8 z#XLMb%A!YDH|9UwSU91IWWWS3?X`$8LP-|>+FH{f=%&(?CYfzt74&`r2a3`>CG1CN z@Pw_}Xqie8pqvDsrx`j)XFeCx)j~7hHUIY&aEOxuyign&&aA*hFaZHQ8G-cogWsl@ z4vn=q#0=ud#z_&PSG4VBApbl($C{p5Oh*kN^=d@7i%_-j!SzOW?8o+q1Y~oSZ6QE( zTa|U2%gWR-9{Gp|ZA2l$J3PY}^DY3fPnIi96hC$osD(Ejy5A;%-AJ##iTIm_re2d1 zl|xUX6`xuvesN5ViT0UynV?cCCS`}qAy{FIj_Un8?AA!>7F)bJT_#tDnmu2cbAQm1 zwsl`;w`3P}%XjxL;rrD?%j@^cta@)%p>q235D(=sFuF|m%43* zg$8eL8;t+_vWhNxn+~)KCYEjYT)p<`=i|KD=cfv;0%!#b2!nk!686`E!VBju`IO9a z-3D5QC?L zO(uYnu|D%;Ec0PbenN8BF7wXL&fEOcI^hzx9@0mzQ`gWK!V#n3@h4u!sxTGhqmJA; z)oSSfq@hyZ2(Ju{{Cjrp=xAW3upbT41DcxGz^H}sx;Pg^Pk@xXmbKpaG*O&E$NL%S z-C&wZE(q#ODA!^^LrBI+y-e~Qq`pH@o;)V6L6TXGP>+AwCb z=e&FOzV;KH^4$G1zx-Yew%N+ae4#`@I<1)p9&h36xka^iCO=l0+vm73L9rwrjnJQp zxrsNMz3dW$7G9z0=RI%Hno~bB`O!+}+_1K5p_5Gct$2YQ2F9|>XtYyR4=kpB?i^9} zs=cdqC?k^U$f@78pL~aWg`DB+!(ZFq7k>7-d(rxtg$*_9`PtzIYp25<(}h>WFVVQ6 z>FfIiayNH=w%=-RkIy=uP!m<_f~BwdraJrJFNkbwTUbBI5ktUO$yv^ls#k}zKcNz-|3=J18 zyas=$w5s9h(R?@}>MbnqSD($$Nv*Trnd15L&)MsYvQmw)b1i%D={=*`6ap*9oeryQN*($7{eCNJ{gbe#8g z8ap;J@ZzXe;yx{ZR-LQMqVjssFz`6P{eRwQm$F199_q=A_Rd#ZVmq&imMu=@euDq_ z5x!#Kw@H@HP8)Plg`w{yIttcXb!(p#X&<`*RV=})NCOxm|P>EgNn++*_Vc9Hc> zQ(^i1rRVYRU2hy}_;cMhZfe_3hlTs7BKPXNzFZWJs`#U|HExiXfORsH->W@05)<9r z{(Gxw4^;noBmF#U7k8;PN&SlocYdU{G9KS4v3B8e3G_{z8boK(F&ts$ndO#q#fM(L z^DJ;aBzf^{;^T#zxbV7CfAY{NAI`p%y;fBfAJ*+Y?zPKHKKs2X^FLSQbKkr`s`i1) zoM)4i)AZS@GIa$H188z;$5{T+`ZUkMu<$nIkA=;P4;R|DGiPrj|E-5vzGL(e_z%B- zmZ;Em96`C~-_K0`?)_rL%oeIJOWiT$?o7t-|MyK)zP-sa$G;_O{=LsV=7#^==Z#Tv z3+r6SH#V-esP6vy;59CD`KpXn9TtDaW?lc?S@==S{)H#5d8FOEebnN^aF6*2{_OkG zb6fYHC&hlXEhm9_dHnH@qRPr{`ul#gHbhgdchhoQH}*e%v;N;J!G2oBavJ|(@DO)3 z#js^xy5*30_KRcOsrPICd81#KkAIBs$g7PxH!S1QBGO+i1|#@ax!R1Z+WxFNw`u(M zor-<`xui#h$3`POcX_3L!5`!nud`oxqUWDciWfxnB87N^8w$M|V%5J)is{6gSjtil z*57%N@qc$Xl#6i(-c`~FF_5pxI=rd<2~%7+?r_*YH)q$K$9iE~ozeG*2k&uuJmHSj z?ZTM`&kp|_zW-j$ubESBXUV-hpY3ftRVC!t{NNCka)-4jHD`U%kMH3NFLXL|CbRFG z)Q`>$(2B2(T01$ZwZl!D$XC&9TT zz9AvO{%t%GvANmWkNjKDobdkdWvH<9^?d)&f~IIHayUfhrryp>M#?taRKC0OvvaE` z*9IwQm>MVl?~WD{i`(MFW;a0QSbt#k6cT?;(r%#)z`sZW1V2N=NisaRFJ z!D+|B10nA~yY|o8Ie9NZC*gE|ygzF~^tRff+w0eDIQ->1RYP7P^t2WvJQ*3NM~Y?bGA_}KdrPetKv(IjlDXv-c8KQlE- zQMPgVcem?H9g^!_zQ#1yNJ_sXzus}ib*@p;Y4q!-acDPr{f(L&!HzqeQ^U9;#YCsD zFf=gGW9ff>9Zjg^KnQu}(+ZxSX2J&~4SOuN*#~%Zbib(z<0h{XE$e>M@F_jrD(_6y z%xB-*8xjJ!ZLQpX_fW?v8LJy!wexf9R__o|*NCogX^pHn^g`R8C2F8GYxB9%{~iRi z&qgQe_K|mUx?ClycVDVtzHs!{k&?d{BSgB|C@OiU!DwD0a}Y485>+VADK#@@SuC;7Hg^5@=7{@RnILRZyx7!^@o0Vm!; zC}9UiekAh)nrjH%H#wfAK=p;8gJASXl@V|sg`Mir0FW#U_`PRdUh?zfTC+w5uq=Xq zgF771@{)VTbrthS>C~^!F3~HG33&P z5+-p7Qj}9m#>&syGy>D$~vZ{&5NJV8o0CM zC%p*O8*GIU)hzgFr~V&nZvj=++P00d&28_kAc}efd*T#5b@i$&0+*&|4@BpXw zUxmMZR_Kl8px7*2923AKV+|C<&$t``T9a)VUO@r;nV7jF?A>(W19jR61d~G2%u-{z z+Yl625QZNDV|=~Yl)4Xuc>J9YPlq5-BE1Uhcb#6{An4^xO;>kA(cZUrpMMI-O4`>i z=1Tjr`)-S-XCisc-WC4r=f&}vb`>@9@-)WdB3L7FACrb4^U03~i_8s}VN=)Lh9W^* z`v^B3lb)! zH1c$vNjm+j&yZSEkG%PN_lI8xWIi&V>t)T!`xe6+f) zHmj7n)y_@G#7N1EcWfDcIGN!>6Lo}uB0G&BPYCI)+qkU86J*6cdHvne5@`!G^cGyj ziGA?$Ab*f;v?X0c2Gad6aQUz`!ER9xl!0tBq0(~aT?VAzkZr1!z!y;y3t(sfi2lN8 zR;M|rvWiTEI!r^m2U&?{D!U*^5jrkiH^_xd0__44Cf6x#OmuMx?hV*JwT_t>oP)F> z4#LlqtgI5yd1T=IJ zkRB zfW~FBjMXaUfMv;V4%Fm2X-`+#^x2IF`4is^KPS*aeiXytJ%W86*d$x)CfkiF530e+b-G z7Uni`MFB~DUQ|@nFpUQO;sIV`3IAW@GNy7GU9EpEc3ry`l|&)`2OR|AYCqTNCXY*G6F{|_-AF#}()zN{iCS?Pe^!qRs~g)03VmjO z#0`m6zGN~vjqg)=`>W|tf9e6=&y)AFfpa4B(M+BKsxL#u9{z=f6pc>fiB7xm3k``% zb)2B8~O-vsw#4gglfTI?&4}f$DDYjltV1Tv@hDc<%=j zjUg8C*%EP=j~_)H7Duz>DJezExyr>&e3O_fz@CDGOr^3CPApK$w29g6%Xv)8y)7jP;QtErP8M`p`ywhoD4TB z!%kU;AwNapgij^My;S|0V`_!=Erw&R?1iE-pQ{BIC4jy8n-YqOFUU=fq2!+{e`WQ` z->nOO($n?Igh@^HpBv<@&pCnBrOx_U7w`F zn=pal(B{yJFqBEUfj>?#h1^u`?cElJlFv9#)$K+z&#kULbPAhSi}W{=Rlzc&tsc+R zVmy40J8Nl@E5xZlB8Y71X;}5gJn#ozGQTE0&8H1Vnv&K1-kL~v*oWRiWJ@ZYUWGsM z3CkdQo0S7;SuuxYxbW@KF4k_7q9u9!ah49Gm?=>2pXcfT2%l6+RvsXcyo2=+WZ{dU zk_kCXlh;9kH^J1KSM0!F1z`*fG`a!J9MK<~8w|7Mdi)j$|#zrukG(8=U{2N_P z#zguu?dzeqe4UPqNyyqr>H|W0J8KSxngpP_{a$kb(r#S5=+vMJ?q{k|#bgjl2LBu! zG{ts(xVed?00`fRd!&}|V}NkGW*N~x*u>Z}o=L-|%q{%uL1{i#^<@0Z(*s=@-~ zQ~X_MJ?+#Mres3TKdbmtIaTwC;L0yb0w2&o)G!sNC#*)AiPv~#`7pRKX_OXK6;4!x5khft{f32E zE6Wr36gHIc(E9Au3@zs+&B7Vw_l@X^&>rc0)-Ou0djaj>lgE$sA+-nscej^Sk-qNM zp}&MZ4l;vrd)f6;;zWB6MFa_=UqGO8V*)wSSQL}yF&NqpI*XSYAL_tb@PIP|56xVv zkLf6^28Uz!PUo2G)O+_v$XSD zy;b;4R171M(zKr!&ONL;hqcb5#TFz5Tv$Y~e`1*fQN8?y~*1-jpfd!@| zTrvWMnT(&ubZYs4N&f4j#FeKE{3&xN<&~i*w{bHTx?ndW8zJo8)ed{h(mo2-wPnTl zpkiuB|4HdEo$4kUmHZz2d#mq?{<~^$2>B}++|xMCYm3F0%<*$FU7D5r!#4qZl*s8} zMk}lG+xIQ8uD;py49?q!g)jgX+VJtL>DNuV%M!+>N8?i}dtR z5rUYTcn~1jC6dUEPp3MxJ$a(NyI*s}V`x z{OqqjGMtOLWdOQ~EiOv9YiNv0Z7bRQcRo+8EGfm2jl>)m50AH>k@&@X$!<^Apdu)U zOqG$j^A3&hf&LG75DBqSH4#yf=YOlJs5nTTKe&7@?Rkt5H%}>kX$i#k*&h-UGu0nf z+aD&rvZ(Ph*x-!l5rTE&rXYchmobjJ?Hoj}Rfbg!4RRcpC?ACpJAI(RG}y%6(|^ zM)$4^Dps+6Bx^ss5{h;YhO)DP61h+&1^2HNB)$(;+iwOnRGc@wxbHliD&8|I!C9{D z;y6=SW=~d0BB);PS|CpO>Jh+H>g_O__T>-30GCS(N zjN5^{N!)4%veqc8S-R}h&G5(A&SIc!;poF39*B7HX)np2K8iW)$HFBX>!(}kJ@RF6eXLx9KUv;ZSVNa$`Ro73;!i@^^rQ@WuN(Zbrt}}Q z`|;z9)g_G_Z_QwCa_%!cc3T!m>F$T0*14j6P%ZIW|G4ely-X}Gj&I$y%X5-d#BL!U zXFhp|N`dUcm(G7XMBA@jd(xb_uRnEQ0Q=R}R67z-rK;xhDgR~Eo-6bEa#bY`So+rh z&AwfvTr#Z*7ju=%h~=wt`t7aN)(x69uP&|EsS0i}G{%}0^ALd9DSeU!x#Bufq) z@ha}KBP|hV9T=GVKw@TqXimr>HE_(>pz(G8;D2FZ)tMvXMeH9MlVrL}`(i3lX+)l& zVYz<6?gX1~in`2`tuy7Dtsf$J!d7s4dcICt2-TeU*)rH@QZUF-mxmWa&58ZqIWH1% zfPcb>_l7ov9e7hy>SJ$W;_MqYkccTbo*4e8pB=MOR5NNk-oYss*VUtqcjirh@?*~8 zgL4q(X&`#b-&9{emhAp+CF0;95d|1J{BxiSiG$WitcoiY!j=Qpa2Td7yi`Zj#5>A{$= z6Q?}NwPm1v$$+aRVSc=DQ3@&?QNy6K`@y4P!`0$xf)y8i0Lx8NlJ!LE-5&qtqzTcH zkN)2Gzg7R_8~HYG*8P-WurJ%xRyH-<#|Q61G`z%hbdO&7ZtS+29PkzbF)1?~t6(pZ z#ep%67TJ2%`SIgew2|aF*tvCPN6?F8muLvwzy0{ zfENqFd9L+DxK7pWGY}amnIjquU-VBXYq&D`8!CnaK4OL)s!u1nX&`)EEsaETU(qj? z40d)3raHwy0iq8IIUe48;14>1Vdrhqpdrn9|WBGImY}^U&$k!snMmOxnFqzxXzC@M*+c}9@a6V_#~?m zrk29^7O_1CS?{&%UddgzF>)JimwLKQIz$Ly!yL@khjtAQC!ov|#}C2glE*rU%UTEg zVHyuG3wCsTF25T6dK?YrQ1B{h75x0fqMUvIH5B&uKI!0|E9Y4zN!tCh_bXLG6C(wn zW~ePEU5+RV!!Qng6#Fm{`9i^BhQx8`r9gCF1M|zFnU|Ae0J)WIe~8uHPybXT?6i7J zRP>{WuWJB{TaURBG^bS+$>JPO96~f+!M11!YZJ){r`N4@H}57t>icfm?&WdVk5hZK zCZL*0HIE~5)_+U4wifj{A*NS-eGgMmS+yo-VE1o3ec|1@*PbhfLfa3-bOR46ay&h& zs3Zcc5=+kE1gyt0PJ*JUysV5Vr&h`f&$b~6AE6y{Gs4qQ3q{}*w25eZZl&(+hHq2~ ztp#rhN+x_o9;5CdsNT53ybg%)@=#|{5ee)e>U9Y1B(_F8G65Ng%!A_>(nlFv^qn++ z{`q~xcXe%2{m56$yzb)R4|3$Xzd2dvP|fV2o*FTN8$`hB`qHBK>C?4#<6;7qq9raZ zdw0FrgD%1ybS}DrMy4?PV?shjg!L>^#Z+%0_f<@ zSv+}$3biJWLG9H`nC63hj65_X0{?;i?vqc6Oc4~G?)x|{M>B;M>YUl9naC9=f$9>} z$8s!?I3p~D>u{-gG{7(In=0wI+1-r~(EifdA%yGClUcMaZen6|JF+B$7drz;< z1&zY|47;ox%D1UOj@hO87?7>LeCZAp$r7^f_%er(bu)c?yE7#XPnfrmo($+ajgUjY zZ#R=j;>;vjzlJjdxqTiM7IsQD_7%2*6N8CPP6XA)4I7%7CN{vn^#C2sEA;nJZ7V=+ z(u8$Ny@ouaNK+&GKZvXRuq$gU&9o?uy|n?(`X5mhRC>JU>n@!m8oYrL3y>;K z*N7Z3sErgW_hwrCv{a#7!Vy!WSu!c=wfQz{A9mT8Xy>FoA_OVIVA+wVxA(#dsw>2U z&PsypA8J?0wVN$6s;Q~1d#-K#| z6@kVQI8@}I`tBJUONIzWAE*I4-e)uaICn*$6VS#+HR zc1`NcYu|=evfo3tFy9;v<(t>qXU+*6|MzF3V)~7j+&ZVX?%3h?eZ}PdM*>3(e`z4$gQP>z(M|bgEd{)LEBSs)PUQ zh3WZ#6~5Cw;ZrUnt0nsW&^!E!d`B|B^JcM{SyV<2=r3AcqF7Wi;P;m9fy!-pOqC%l zl0@LKLxKk1;#~@_`IL%#422VF)h#LmhHr~!FRvKiT{e0sZn+Bf)$h=_l17PpzazO+!Hj&%Sj#Wu5_Jsc^X z9#S3WajBfNE&AMii3@odMghJ@AEl>XI<NN3uOX3o1?tW#$_{ZI|`fPVi-9Rjc<-mk*C*{O2cnUB95Q+AYv4 zAyd8l!*S>II#Ivyh&>vB<-tAAj7GhpFK=il%pq^N)E(~YDp}Xzvay>HHU4FN;2Bp} z%AdLWEpK_7A0K(TZe?qIz3#1$V6qWf`;uYlNZoLo7FcWzIi$|#-Z+ZSyZqbm2pv1~ zWkxf&%%6>`Y(K|)LB7==0P1$CXhn?2@P^x?tFD{?|56#{DdHY%HNFZl9~+*;{PR@d z)#)d!n|5FH4wN{tgiOn`qdwYo>SXm{&{AMm%iGz^)HpX$>wM(;ey&y~@&O~fM!>2= z8Bi4xC6@qrQ6>&|Kry%byd~cITh-=pTgT~OACfs-`;y^VJ^ZJ+_H9RJ@oeGDzU}^= zkH?-bvvmE2ZRDjulYRB;3!ryBNB|~M89FAMg*7!*RU6`(!;ib}=2$X6?N-br8s zFK%47UuEVd;^V9jzmTZ)Wu9^8({ZWKN^#I4kGGvx^J(0aXm0aZ?B3Y7<6hKg*L!P; zYZknn8_<+ABSv^qaON3ss4$6lS;9q%3E(&}p%;mvow z)x6KOPQBivLLjm4tVMfduA>EU&xMI`#G+X5V&-o_KR!L)P{!^X<>fIgaKcJq_G-wa zd7_u+6<qtVZc9)Ro(xQOCfym!3i9G5mbYwVrji%>(#nbcyvW|u}Y=-Hgk}lk0UqV|Jb<6mR z20k8>H0D>@-^SI>AV!ML zva2LNx%M=!(&S!7QrTI*O1ZOD&B8u6g^tYeH5$zxA7dF1_2Lg04xXZY-K-&Ezg7E` z*8t^oXHnw#%98rH0wGjmx3)Rs?TxHS2)4TjN0~?T)%q<=OVzDxL*zK5lh$QsOuv_} zux?ydA}m=xJ{z`Z{u-cCB%5-*pl9^^tCa^R#MZt<>B)x|(zN0xUW-)>d!+086-dbp zihtMBdno&@Bf`$`7e#9{JO6_*hsMhl<%f-O6)KX${3*ADt9xvQ9yljBpUCID#QVW` zDBw|%Vqa63Qp%O4U2*z-;ni&dcErlv1k;P{R1W#eTBC)zD&83rBf@Igc7I1p@suYC zFVnSJn!aQh6mH%j*(`V|tYQ9hxzfLv5@?kxXj!Mnz`+_}!~wF)LdtcVK2V=#^*g20 z`2up3CtF*1Pv9fm<{fSnyVoi@Hr8jN{=oXzo8irQd%GEkQap`QOUdItOKluG%08Cd zUh=PMtuqSCSswe4r)+ySPA8aGOTA$>B}Ga{K&elH)1YdZ&$7DVPvOQR%#XJFPh{Wg zrrv$HtJv+IOGZV7UfOHx2*jqS{0mV6MUZU)oZD4WD7Bn9_C;ECq?&xT>fk8bNQz`+ zs3UIXT1rCjY_MQXo)E=#4U;(nLSfQ^eid?6hGXBRA62Wa41d?4IZR``Ka0Ix9Xm`W z{x5lxLWR8{^T)VvDwmSP-@bJl7tBpadF$Yp$fufZcgfZBbmQ!bV@i#R@Niy8Co>l5 z!z+(`{%ZsDGRr3T1b(CXs}iL?H%7^j1lHzVL7j@g-MksrTT!p4s?C-PiS!imzkJ2# zFpHKjF_wV?Pm(GI?cmcf5V87N_ox@lJ6ixXw0ebY^%>8-dpZf zWWOQqar$Nkv$8k0K^eo2*s~XN@+o{HpZ^;8-C<>XcEPmTli#dcG|^}~XRJ)<^@aSZ ze%pfP;c7RFu`0fK=_$`?SVXJKpp*~r}YQJh4OweOY`=d513k6fEwE$p{Zu|6RR&TyOQ&C zNP5Pn-sP0Ms_w4fGF@Uk>|Pn`p_r>4yXA9){<43CnD>S|UG(kK|ju!tXZIJ1iz?pAikMV!nHE zsDErI84ra1y_n2Tqaj~k>-El5C1r**4OKkVC_U*SCZ#Z@0UAv_jIGf^nzq@TwXVjn zE!=vW&i(4!`&Vq|6rPAY{mLv}MyGC--KMs@$n_%EF8*{!f&MH-{-DO|h4kU!k&twG zV)AhE;Zy!eFXH=>;=5X0D=JGWZ9AXQ7@moFa9H?4hTW1>;*X}2KalaE*hGR1^0{}SZ_xmuGy5~46r^Jf-a+6_|5ashq=h+~)h52{Y{;8Lq?%T-Mak#_q zX8x1DL%~d9xr+nI{)biKXLMQx=qZaotGiOvY3vL>B{O?Riqv=#)N=~29Br4F@$&5lEu6&)jQ&5SFANU zi)ISs+Mxc;OrGQytHs_m-S9SrwP{n+zQoce2ZXqoL}*vFTjWKg`ie50z6Dk&eISzL zkSc#NMRj0cVBfWK-Z^K=zJ6691x@gS)kAHPlQYpo10>Ezuz;GHVdJLjo%Y9{JS{C^ z(h?qAnym~mJz0v)_@ay1fL8`lBpdNGM_}h|CcXkQL!Cvxplq#hLFL)!$K0Qbc?^CZ zdY!tXY^cC+JnFB_8yxbwRT9?yDP~A~>!dHumF(voeBZv!-!$Z*g|E=9<$c5aeuLV~ zAD>4mE$T7G(d*6nwYzW%Gg><^c3%JFE$Aw#=OEwDRoTW{_j8fMXob~5cJeq)xqNZ7 zwKTpjPVI(3Lg(zeQMiZk%OeZ?Hj9xAgU;NBlRH zzthf!sPK~;lDGL_2V=rHMv8BS>VH~}xXo7C>+fd+e+h^Bi>?ET}tQ=j67cO{E^H{y(~m_5ysBCYltN`?C!8d9zcxi9JkGf@5{Dt}0R;7OUzx3(-bsd;{l-+ZZPWpM0PoafVq zLwm;y^95~a>d%Vy#`p)+X!|laELArJeKj=prmO)!_$J78(O34afPY>%J#n zV_^-I9U>c{^^v$|;*?d5=Uy5N>KQ zhWeeJ=FGmx_fING;t<9G?Pt`)?qfjP)4BepoEXr*;XO+z9ydLtaaWG8T)H~Gf2xb# z;$+>?(qBWA1e(3`8WUfQu4&wgHV+Kl9|QGvPzJ?Y=e*s@-5qf}3^nuTuDspe!X3Ln z?>=Yrn1OPsrvHFYQ>~@=Jr5g}5r6C#2K$TTr+9S4!WeII(9s$vGM4!hqTZK}U(V#U zPC3;dcb9_Q_Phy+&x1Vr*SiDE2y7m7c^Nz?;gy$X_v^vx z)fK%&R!-V*`7{6?nTEV?5Ga+mw%lKn*}s?J^-~HL;$f|hRM2qnI}*KC21e?z=hI)X z{x-t;BRI!=+}l#M<9X!1uk81lqU-{EtC_+=($aRZTd_Md46qca^^Pj0AkFEcVOy$1 z*|~1Hazf?WwRD<>XDUn#Vr9mM>pa8-WZ5(_ulB!Pdtd?v9K<+qNhLe@l(OENh;dp) zw%FLj;IuNll@C+Or^uDuY=s#~`=gQ%BsM0NikKWE+nZX_uNs2PE_8#ZPm}sqlIld} zS}cr2B%q48v%pteLk&bi44`$EDxOV`E+I+gQ!rmT=_o>43Mop6muH(;u@pM{e=RL- zQR|0~GoIvMAg^sAV^Q5SASZ?WNen>~a)@|l3HFP0a-srG`<`>GmB>s$nuOoLxh+We5n3kZBJh%# z&?w=*56SHTUrrfAdE=4K_C#^&MAB*i*=D}1_yQZnyu!K0t_auB-FoFUjF!)QWCz=7 z<7^9u7UF9Z_<4V{p;S8ER`g1($x5kIsaB^Z;hF}NlXcew(r2rsl;4+sEUOba()6p@ z(0Cy1$~_OOslJ;;!i31MkoTR(M{gcUsY+kIP;|)gYo9&ZQ`Z`OSvbW=?II9))bL>tDk|3_y-e#~*l38S@!MHlJiMpPipXJ6w zJJM8wmm3zoGRmu#^3cVY}W=LwvrV5im1CJ->%l`d-wP* z1yAc)*nY%5@b1WRqeZDR!R{Fl^HT4a`jg3gm1#BiPC<2rD=F7kk2lHwvn};W{qoIh z0(wmC4(3f`;HKj$$Q-6ZdmFg*MG>E3`f)!rC-MlonfkCxC>GV?v(|q^#D2`TN@cir zQxnvY5Hv}mViq$$3{haZo0_UBH(9AVwWRCV9IVHqdf3Vd#-;y3KD-@(KQ+jtsfXDQu0pbIpIO3o++-|<|Z70h|L%z zU7b96Qq0Dwrh27530^o5!AanZ_w?#aKay5Kh^?HJ8gvLsuwCC|&T<;u6;)S=xI?0$5UZ zw9jevz23GXyUM%cLV;kyWZ**5^0?UYm6e0>MV$)*L`~}0`Ft%zQ@cg`&euCqRlk07 z#$eVMM+ozkO?rAhLugG;m)gAsg$-8EAN5xR0Bxj6_QZf26gvqB zDv_r^5e%ZW2E;3=5+6jCt-leDtf9IXPf}Z>rD2Z*YI4*!F+IMb!SOS1yf6VJ9GNn< z#pO@vqoGq`;pcDVMEn;$9)GsdR*-+BbVYt%94Jy4DIdqrJ%u^&g?jN?hK#C!w(pYAr2``4LIL$(nO12`x_xzWue~c5amRgFRsp|>x z;jwPNeeJ49ac(1n582rW`YoP2rIy!Xde8av6ZN#9#i?rPdmg+-D~YnVypD@qV40~` z_*z(-Bhb$v_Vu)JUHqPeDZ?6tJv2;@@}`OE%+2x#UJUG$X7P=>;XSk7N$pE=^%%}S zxCe$xY?DX{`32hy!G(e2lELR{I9HI*;PB(`&4}wzdsuZ+DJ>Fm^L@ja?K%>%FGi!taiMc%dG>QS9n^!kzE`0hkcTQg|eo! z9_MJk>zw%CphuJ77)gMTwtB?88~hzk=QvpO$#o7XfkDn$%>JE5_7T2AGI@;%7NuT; z#O>OS_G3$-<1>qNp=D1tY=|dga&t|)pZcV)^)gOZb{sfC8pSpt*&-xF(j|@1sUX@- z59gVFIKOLg8$aFDXCt7CSkVFvMao3ZKGiAp%-M{H{+%=x@}Hxvnajg(xsK48p#0vt zbH`gF36Y=or*8niOUS7{>!_Q<$M-r-@68z1x0f{vJGSvi)RJ0Vna9no(|^DI9|Z4S zYD5(>!)l=1fQqE?S~gO6>wubt4p^fef(9nb_D2_FWEs$|SkGcM)(xbFz5R3#sg?4F zZX8}5N=P9K@Pr)1%jn~?ZW+4ogW3`utTdjG)SxgPBmcc@Y2&k3pCN1QH5S6j^XJ<* z`@6d%gb;rfSaOb#PQYYm(x4CVxKbZ(JAx;|AwbCM4?ai=t;s?d)x5PXN0kr6E-~1A z6qgQ@*b%lO4+(NRrE+3er3lG23Yp#~ZBC_*Hv3=mKxDXYzoY7{e5n9JwgKmIq9fHB z+v+4cR?A4S3Vu!;ho_#r6H|$H>q4wkZU@oqJ{<0@$6IQfr1vDWwE;)YM-Vond+_^&!qyBO&o>PlO*2%}zcm8a#WtCR)Gp!kMOIjzdXk4o-y@Wb5R! zTZipEB-TdgFDv~@DvdD?OA|MS->cfNY4+;oUFWI@#Jcu$X*!6P!h}C+TMAh~I5a0; zd)<&qV+1vlJOv!5WpD{S9wyu2q%0Ct3bY$9m?f2(`;6FO%ZCFAq7DQ_p#9Sc|H-{? zdk}}#Q!>uwc+;CVZ?2Z41t3_*2ofE63d9Za$hzH46GKLPrD_sS&LV+GnmTo28KcuLW+D(#U)GBqW!EQT+26Ld2x6_wYXIP+ife9uF zVL|9Q@u1|?LvEC$mUp&BnrRIwySSChGBLwE4qV?<@eZvsTy$C;D+@$(S4rRSn=qB{ zS=9H^3Uki+=$&A**LqDtGB!5F%f%M#yVxb|9D?>1rrroV&!wd1diL6|ZgZvLY!o#Z zu$zkY1aD{~+YN>2@6lI@yMxB!+#B6lfJTHl~lwow-|g=GuWhjvs6siWcO% zg{qeg0@^gY5xHjP5k>^8zrU|_noq9KeqJ^?*y7R;oMEH3Crm&(?fDN5Pk#>m!Sqw%d=D}MZU&mxA4$1On^dR_j^S%@Egd})0m|pNp^s^UH%CR z#!uGcY`N-& z$~6@hF4n)5{kmb)L?u3HX1YCQXg*%0@6^1!3|g&`(1Z(1_CNFzOkaB6yX$g`i;(P{ zEjQVJB-c?iFC{WLtiAB&&mD3f)&Axbw48k5DENbNP#_URYeFp_ay4SENDa^WAf#1r z>P0}F#REmfNJ?nmu5Wx7^8{m9WMjP==KAV3$}o>?|Nm~sAlx#y$fast!3or;uzQh8;WCFe(XZ}x_bjHCR!%RV$*85T%snrezMvT$x_ZF5Lp zh0>p**t<7YsFWa(*hu~z*d?3;e-RNr!9^7Hm+W`ny0xpdHN-2jywpVFSfDf{nUGW8 z$XEt(9k3dC%JF5o*P>e554DKx$sEmw=kHfuY6=lDRJ$q0H}3~R19!K_QbVlvfglu}~jkp$FASMCQI_1#aN zK0R^jX}NaVkZ{k?P&~|=t&Boq99x6&k94z|S66fMf${!*IqS|vlhqSJtH3Nsq7F^Ik7Z* zO|~uz#qXOX-4YJ&XJf=;L+#u=7Em!%Ahpn4pRWvKxXB%KW2G z`078W@)Fgn5^YKm5Fob233nEc5 zm<#Ft!J@12nc}S4wt{GUcYL*r;HO1Nbqke7NpQLjeSCZcgju|5vYG!x`Bx@62U`ot zHo==L(uws8T*FC%;6LnjS*ff~;CxWS_CQLIRxK=fp+Fxpkdv3dXBYe(3l#0)r@Fd2 zPF~cTfE%Q6`D!pnhi#Iqq7a`D5YWWceL*cl2F_iE{*z+Jc*2l?;0Dh*B3h9OK$_Uq zOR}nFdwYTf9h8yUDNmWPy(eAv4B9=c{gK^yXny3oney5hitC2MJOZdu3~+Ser_~#; zntG|;@P0k~=Vq$2KW1j+Nx%rh&`6gO(%K-TUr7WOrIG~224qJKWI2b*8ER}LfER=e zNi{&7oghU9Y2oYsn^dhR1r5JY>ti#M105IQOts3TX5WcY44gP_h!8S}6hZTU^FH=w0Dx@rA4KEE%P4)FBlkN2JVe|V#sxEz`0aoc7+L)N>FdV z845lg7&b%=?>AsO^57?h>S%nw^&nHIy!WDhY|x?ev56{K@hyKp;{StgXfte>1mS`LXJ_|Z(kEMQuVKgoinY&D zdS7b$eHZ<6{ic9Z99`uap_6r6`$R=okO!_GV?-9 zL#a0BASP)_eJKRcJ%l31f8wP{VH|?#S{P$+M~yIGNuB~N_bt?QBfD33d@2!`bTL&Dv{YW(jfJlcgzRCGz0-6$Dc?f;=*^qT zHpBj>Mp~n+;4P{A>vz2vGVvzT!K8={ktUfY>@+98job~cs+*h_Ji;uZsQtoG;OEN* zRjwjk%V%oGM7EG>0!|NZVN!_E%xGyA@15mBC{vpNFMpE0x3NlHATz(+jOT|5J+QcQ zO?h;xau+l#Ha2dnkDHYmbls#;Y*)HMwAS4SNiEkZCOl?j}|5JG?gD+5c zxw2n}Z6k6DrQ4a<2yT8$>kKD}(RA6r`VaBzrIH8;;N?#PdWggq9^(6A$)$T@cW zcv7PqRLMB$&xTFRU3yCP=N*oV_egbr{F%$%WIwM{8Pw3n725aDX7}Ov46zy0&ZFHX zsK=pxQ~(bOUkyZby>i@?JRN=Ti(SUsh5oCt?z@KEE#l;O*$)27b z*59Z+s13Lc;nLcA&PvKE)b^2-x0`oik=eD$6pg0eg@g)1m^|CmVmV0AW#p5#_x4SL zmAp}!CBbOs_77DhkA)DryX?IRugH-(Cuxq*r@ANR5IjwBP`QYrlp9UNv$ z@=6bh(}8ZS~w9kma03Ze*G*u5nPG z{rvgky7{lPoKHgur5Y`a3RDKF*Y%rbYecH}gr3A{6cLW$vzTovO1kEMEMOrg07-tv z-;I{{uNt-D!z3Vq9sIm-Sy<==yLccG6Jte3#5n>26uMR_?fql4N-RSo&O7*D&``KL zF*4r@U@iuMk@{Hs-jSGWW`vd=tzawH?1s&o;nlJ5Hzg?|G>;7ZP}&pqkg*0S z>x)JM$=LCbojeApg5C3Ie~Uye&E9&%C6oDWw zy8is2l&tTjVE!mG{E;N5;3%nU5S^4bG1#CGg{TJGX$Hr`THgnmp&_4|C@Z&${+oUW zv0qa#U?-mw1-gY-o0fOfXWA?5h!+&SGQ7RPiFR|WR*Oe`a7>ycB>P?`tCn@&we-ix zz?c|>F$IOo3r5Z%-|@b|ry$9rGrs%Tg%bIJNz-*j93Dxpy8bl~dZ#;e52laI=W4p@ zjW?l8^p%urC4mOjBAaP$5rQpRLtrC znB~xyIn1_Ofla;n@T<;xDjD!hlRF$t&;7YKdY4pK<0qA@-G`R-6&4x< zQbtM!Wd1}2P6wgDEexuthq?;Iv?S6CvljQ`VLgQyXZW&trbk+Ck;xMl?TDD(-6oj= z{tuQA_vxUQDxX!vHD9{A<6*=unzWS_p@PF;N-W*S2bvmT zZqfPtqNdhH4=x%yjG6;vq^Y*jvp9u11_!B>*-o6nc{yrffD?O%#;N6({2l_lvk}R4dimoL0s2gG_O%e5lmBcnle! z^0gR0ouqzmWezfL1h(;+H4C976OB5YHN5zXGDxh5hjQ)MM6rV>f}+F8Ahw$K5mTr~ zMqUEH^5diE&d<*ijM<94N+d6X4o{^La^H_=;jxjy5V6q@S>D#&7;$!1zt;2p$A{_gf9u2CyeqNq;6y91d5Gnne^$G%$@0-A zO`xjVL5$!)diOrH`}n)~EqhKdFrOxGI8}LNNehX5yb}y}uc0e6&Hm}=qp&1D>zaw! z#GPtFkyi3W5$8L5YH$r`?zu@J*I0+wq!kWDv9kB?Ge(~A&X6xt{I|ZZa)y`3p@@BD zn~*Vh|5b)Vo@|DGttJhdp$FG(suJQHQ~`%QzfSYq8+t)5rOi8UxUJ8NgPpVC|7_(< z>>HVG#e|Q0JeCy7EiewFyBEd4%lf1I(aE=+HcaSZF8{T79)Ma!b47(X=`xuAj4&C} z1jtF}?w^B=$cO;Z!1+Vy3i)oGWS{PY9GYx3u<#;r5Rhq`kjd6?fXeE2`b-)JJhv<4 zy|M(aWAkwKvG8NEZl2Njnlhi%&r)D#yIEI%^y!7ehenI%@PZeE-r(aV1x-~8^)<4- zQ7UnfsSfRv;(I&PARd3?Z%3%h2`6q3O9xRWc$WU3;UyO22nE<;#7tqB zvVy*#%*HV6HLR;3h|!5{u)$$oNLkx3yjAB|K5RtkI3uQa57G66O_ps{Abs6rlwleQ_W z>tq}UaQ-~f)Hj{+vKZiuywI!lPW@^b9Q-vU=cJV_?E_mkXDZzIN}rSaLzg`4f2jWD z;w^|)aFD6Ix*CB$Tcq3B_3D;)31vuQjeX;r$X3$`;U{DkXKJ7Ad0Tc$SyuUt)7CrZ zt^zjm#pVDw^cJ^S-Q>e59;l7Nh zn_S<=CQbls60kg#DlshM;#2LhF){!Na>g=4W6XaSbK%4M4>H%F6cN-4VS*0c)Lf@= zF3F&aWbFnTN_ucWI(q$)q?r2NED2*&z_>VuS2w5Yd8#{1%OPPysSj;$A~^a}z-Yui z!hit%EmeOw>hcedot=mM6x3@FvH{v%XO%VcUUGg#<>lXwO|SE=bnBj;!v~5S^2da7 zP1Z6^Wnw>y8hqF^*vK}yr{NB*^!Yyo#E^g^4H?6agJ~jpg6|%{hszG*T*WzV?)vy` z;+oi{6A&D+YTd`DB`W)>*u*f-HrcAvp~=t~cap>9$!*$9=hIv){8Ww7pI{Mp%es-P2E85@`WS|l@EJCc9CRfDYp zcl8otOW={;CFC0|ZDo1Zz@uPHW5-tSyZKCr96et>(vl1X?PAY{^HI3&2&(x)!VeVG zH4QOgj`8q-F`fJG4&f?;@e8{M)SjeL1*H-j1)NO{$>1XvYeN|s6Gy_-36~?#!Wsf& zv#jLBfXIxSK&#mf-F2MrrA7XcGF&XF%A`~BY6)DiiC{+~R}V&Y>+c&$ECg3n+_np! z0by19!A2cC#?38DHtJD-h;RxKIeK_y4rR;rRCfUuarbsITf+U(L_M9<7GSK4e{@l~ zyGwKV3|&ZwSkV8$B@1uW7Q45@5&Zjha>JQSG7)$iZ$CTC_Xdy&$T;#zF8JK4K^g0k z1kqtoCe|Fv{0#k%|8XeGVp#eG2+X|A$HAB*Ee_Kba#8U8Y2t?AIU*Q&Q47x(8wDj1 z;1x4#tAk=>4l&Z3;!r+cgMhJ?k<{@Zw%Sui5`oNe$nf4!mJiVZn9^7r|B8L2M;6+i zlU8Fy+l)Br!$CwY`4n9FHQyfwRP}k3KoyAdB<#cj0&G;Gx1^kd8^0fL9;KW7GJS=A zkC`w!#cMx*N( z!ejXy5(*tpsL8NN^VrSYMKDrX+IT8*Wyk=$v%Pw*VB3_pnlVuN!(vjHWO0Tec`OkX zlVTs4eS%vOa?bQJtcjws#>j1#0nN8NbCn8r>bVFE-5K#N5JVEQoA9*4BwL%a<+qD; z=F`h^WyL!RuH!pU{_K4r;hmL*oEGY8pXfVz*<%Eox~lSDN-&O44@AhU7R1P13O z^vb}Oz^%7$biwP>+`y^G*# zR7}bL>4G5@CrwODUYaSvI}QJ$QC$bhzj$cl$1C}36#WSz&WA$aI$-8iDL}Q4aO@OhWwVO;8w+{oY`dYE`-fVQ zqnh(B6(K_QG-MBbP3AKrN+?fTGS)1XB5MaibeYg?(0ivqlXL1-jkG54n@oJ$c0jrTfMr<;5yK9MLlUjzs5ha7JtCMp|sHN8*WQE3}HP<5H>CQu^U|>!# zI^iRRU9k=b4PxCND7uV^OZ>J zrY2h{Gtf^`X`{_v`uy`DH(bht!ymeSFQEP5f)l_I@?Sgy*~odICTge3%j{dipf; zq<;W9L__ovt;k8lte^-o2rQ=qsq)Y}-9$A+j*x)%|HQ3m4hw{RG|r=xW1yT^{ZNrR z$!MjEt)xV%q8~X}rs~J2yq?bMPFYB(nv@lz?je9YApjNm$}=O+)$MCgxY%smDoVo= zMC38X*;?ReXZ~$=_jT{qw|?>RJiHwLyA624B}J|C@fHr2$49b;51hFeBzU2(uxxZ; z;PD+(dyH!=B4VXY+F~Uc$&r9!zZ_H*qq=A6id~?*RoZ>tu+MD9q=voKK&b zoTM~2ZC`!!%v;FKI~-bxQ;Kh1ks4LRB@E%rC-Ya*>()7ON8R^-f66bycW39hyIC)y zDE{)VS)YvT9al2T&WjmZEl6F=C!>*SkYOC+d)c_}IuiX669oGqgN8=j&Ew^4&xI^z zCw+*sCTCYtVSmlMYv2Jy=#Lb=%;Cie5lZiP`g!A~rtH-Eyez2yh$bvhJn2&3#>d$q z4$+IbV}-^zUO6-VmO$s~yQV4=4P3JOEpkhk{m*B;lQ;+kIQCG9zC;Vx5%<$WO{?(M z{2^4Wd8KZWlOrv1=dWyXE+$Tg9(@#~S3Ty{j2F4+0{^9KfLZ;r-Yp;x2U-X1kh(*1t`%ahM)jsjNv}#e4CHoguv< z65t9OG7N6PrAbO9$ip!G7A_#EDgHV0<1Hbc=yrI2L)=}aykZyWvsPB4v5GezP4)-m zg=}?d+p!6AV>AR#$;+NyjUfJJbBB|(*Sg-H8F`%vYyZ2+9@D(S!Mdo1gvxufzkcne z?Z)r%8`H+5ZoBJi*M*+UkN$Q817c)ASYz%Bxh0adJHiPFOG{-cFI_So{fq0Pk=?^f zw4DlQE-jz={UK;oo3cs)~Yd1-;2kXi@j7P(KU@ z3J+)4Z1EZ;?ZvIadH;~m?+mh4{v^GT0a7>$>mlqBA_b}>Z_SNX3ALdV4Z$KWi+D(6 zh2&l>J9PH$i}h(6o$3t~+wZhm-3#+SqG3#N>njN|QdH~z)vnBNWfL3wEny?$&c?+U zsX={3#fP*07|Xdw-TIPyx~|3Tr{qoCibFNSzz4A-wT(&MA^g(lYybV)O$xPk>T%Qc zLYRVDofrbz2w@!=vw)*ek0OD)_Du*Jlkyka2WT{!(z+{l7Zll~_62p?7OJYL9`aIq zUl7cbFoW`TJVmwU2c_Sf>C{l55m#Og^OtIAhsmDjdD|q9pqBe_FxOlxh)cwsfTd|*Cb&R~5 z?C+CA0|za9l!oJLGD!5_ui(c!`3S0meRvBv?UKP?qZDVoc8=Kb3O1Fwa2w8zqejTul!3_Q0@T#5Bcy@K81pBI^9mM@DQd=KN;NSc-mj0>3%cF(>b+G( z(c{pxw$9dqO0??WoJc6TS;Xip>g02!nu* z4M+Zwcg;PSXy~7Q4EHxx7C0&K50D~=*eidpGGDR(huEOW^()``zJE7o-}LW2{60gL zp%+YX1e=GzaT2*tTFM{K726$>0Led_Wovx z0y~K&6sLT88j=>#`^V@FZ|pUEc6HEp8Mo)04UQHI@0NHeTPn%2EFO+_FJJz9BK-d? zF(y4VLn?R~%b)^82~@vjA+pCx_!JEB!f8XqqROV1QC!W6Y4ve_$qu0V2Fgq#}($pW|yL`D%xEOJF0#;~mCEG*)R z9-M*g{LZs2qjUSX!fTu25p&m`J($Yz-v$Y^xvpJ>4xEjfFk}sOkfIO^BiZc4gf?Hy zPTY58A(~_hE!HJUiZA6Bsr$C8CtV5FwT2bmgTZ*yRDk}EnJWM?=mzxgn6oPRcOhcc zs_rw@*c0!^8D&&dDv!*RkYS@l)QDz)FW$ z=fh~)+Y_i6G`49Z^a;1LQH40h^Mxt+X;&V# zf%_wIy8F-L0Kk8U(~hl6VIENF*L*~JpxBX`I=yyb z%hqT=N>%#rEuhAFO94H!`(O2YC``@bg>o#*Ti}JbOVPiDdktP^zZ!ffPcC`<_`f24 ztOi<8du6s?YMbkfKj6`=^_o=Dd+nZH(ea=>44+?vVZndiB+YISR?DA9$R*{E(^ff= z@A~?>=YZ(nulxV8ZzX?IXj*BjRpGrecvj)R-)RUB^mBiIdWwT(ZAHaSn@X+K8x)oP zGZz5CDcvCUuPF=cgr@pVK{Mb>y8Qk=LN-R?mi&2KPqw-#ux8EvX-~!ef8WPZ$2s^v zLlF2Lty-^v3<(ojzKs8|UBXXl<&b0L5*E#4{YA{rat+osXMBVDBR!p20DfiE^Dq0_ zQEu3G1#j0-2SkzP-0-E3Fx0=LN6Z0}bE*cWYcl;3X5yv+V`RA+U`_F#e zKh|Ag1fIXM}{!7yvju z{qiFY46DN6Go5&1nz&14<^k2XdTTt0kjtBW1|e9rhUlverR_Y_)fAA8(_(9hF>~HS zcq)~-zmmh?KwTK>eih?BD0W0};m|B@h@8fZ={NDDmiC9fi)=g(oNt0qLf_CI z^uKNAPuz-$Z zJmI!cl2A?IEbAOv4!*d)woTqvmB$T3fjJdC?F@}{Sq{t`9)z#gg~W^u+pKSrHkHOO z3=e~Fmu=J!*)=I=;ToFZ3uhDhCy4LcdlaM6C^x*~z{rRweg;hxI#?t(egqppaeivW zeGqtVP@%=|-Je}R*12}yqKZjo3zvHZ zmB#tR+yNijZ?I)GX?TK8Ma-)FDgWX3Iie8-(xQfY%S@bsNZ+c zpEKtD29EHk));`cA<072O%#7f-wzm817Ja8;EGbPPZ}BDVL>>IOuan&0M4q*BjDxZ z1)$f#u9miVvZI@H#$iio#lyHhmkfMs1Xup2Kf^Nwk$|`c`bS`Y2$4(FLj`}cNmG3Y zXV;q`{xZRAiShH-O8xOb3JJJsBaS#I_?e-Y1YN@z4C)h=k!f|khGD02?7NSke@xM5 zFv{5)X+HWD1nMh6;1}ShEa7P%5%fixn)Kr3aKo8l2& zzupisC1AHPc1%j{4}y}2#7OuD?*zx>?dMlk$;-o2h~2%1w7fyzeOBB(6+;D^o;=w_ zB*iF5nOrrOt+;)=!TcsfuY`9J%@+}t1BGRR9eiPQ(Ke5s>eqwEl?9@~>k;`3_{%!i zH=Ui72}T%*!S@XT(aCQNMNQI8gYnfF?{wMY{Xcf+q4K)}KNIm$W+EGoZFeAdA~p_% zzkVKRfu}DRHd8Dmc%Us9zy_?p%M)LEut#Onffu`baBZ_5%X3D93{817Bm4}jh_DdN zw-6_M8+O_Qkx~VaahlhYDpH$^uLHm=U(Vcoq1b1zjx-~tUp5ZJ91ybp=+E=xAee_U zn=N86v5>?(2g&C+E-qm%EZR*(8ppEeXbj2gcD#>479OGjd$*t&=lw0K<}89~HFOB; z*|0wy!^HFWnY`~O7E(*wfz(*J9Wfe#=(QysfvI7mvtj$Odc62$mn=5m(03=!`^>JT@ZE-pU4esP4-vSg_Ri; zR9vKB^M<0daTg~c`w({B1(7FP)l@-Ib)>&Fj*3XL0 zFI3hjHym}Q6L452Eqsua;#>^ciHt~giZlu~Crdv^2115*G?zi7Dlq+{ft=weKjdPU zMZ8Hh#|JK(ReHYX8`r(+*{QJtls9+ALrQs>>_q5T^&jCV&gKTF3rSzftNh}NYBQdm z!F3mJDhgQCoteQ@(>evBeL>xA5@yv_M_(KQu}|C^QKK)rYE>0bTz_Uw5jso-`_OO8 zit#lg1x4A84IkFr4)F3hg2<4~mzim3o^s;`2@}0=CAdcVGCS}`jGe#f}UN%T;|yp4EboYI(R1s*BQM!)$ODzboUgHg%P;g zQdF4DZ_gLJ34xI{M001p?ezf*O0sOy=^ga#V<~g3&Va$##72#6>mjK&hBd(Fc?+d<%4w*sfgc8#_bfIeh{@(MO z4E+duIekM3Eh|{0?@@`pxu0^-J-@N>OCZtsAZnhiJU9E9xfXW9rCH-QJNd~5Ib+lYKLpJyb8PDE+y7ae0t&( z8P)RbJGmd2uGw%~9=*^F7XpqOp@K-74+}P-xr($5chb+oJDxP=DBoB$v>yPj6|tLm z>omg%z!*3=ZFWx|-kd`fWr4Hk=jVnsPbBIC<1yp_LrWYccdPFt!vR!&jBmR==t_<( z!TgC6)alcwF)Zo!syZ2XkNQ8B*pKd5avyMD*1P_~1tjIav;>ncq?fBR0P~M!E6wkD zL3-*odB`1D0CKN2sy@NM+mhd0mF4iO1^S|%Q8->)P?wv9lGEYG&vJ)4Mwo#Lh&;w+ zBu`&ZK?VekKBtOy8MkFY!vtgxA(?-kOIsGhn{TyD(qx!v(q}BqOjH_$0`5wJ8FCOE zkA<6^lG0aYfk$U471)!ugZ51)M2gl<@DVg6hGomlU=s^sOJFCEuNkVb2O|CY>z5Wx zO~#{mplZ=2)i8J#yAbbPqMt&)2T+lhT>3KFb!e$J`d@|LTgO$4b_aAU#GtKdGpW27 zhBqbVaBogaC-Q|5r}c2z#&O-az8WkZ1V-FL7f>R$y0eQ2?T`dD-M@d|^)<9qWz_GZ z1r;Pv&u*!QI-B5pQ=Y{jKUZ9$iBzQMQbO2I&G`XqF>;&?i9s7&a;`bCAV%||-6nbG zrWHtoo=Q~+$z%K8`CQLs>LWUN^34my(+6H$zsGP+p#g^f_ML6-@oL1Pc!D)3W>xfd zVhrah#m86k{$5UT;7Cp~vCC+lMjc=lA)hCHokPBPahCrW)g=gWyj!Z) z-**-ycUt3cKoe7z2D^$%o<;;KVNg1QH+qrYu{jab&@iT}@GK@nY(&r3D z@nF9dJ|mhCl-{GhEi%G*HZemD%W7-O8{30^2aC#n%1IPii?L~&JU(3iiklH@E_4=L zJm!La?TE&YgL*7)sM`qOWQx2|0M@URF^>Aqi(5~u8eO+;-6W=GSg>DGw&|D%c>Q!4 zHGCM@rV}O%sb3_3iXbT{f>z0Vu44;tRtyP*TwQ4=S%-K_=8w=QYXHf1spuZe<3J_R zr89j1_^J&zH$LIYjTKVXFItP7y=bNZyK*Z5T+s z={&Wm0C?aM&OyPM(FvS<1RDHR2sPTtJZx?r#oX=DTe&6Qmi1<=U7)doWx-ZDE+%#* z8B-fS$q%)buWW2?-+s2|wrraX+hKNgpQW|)xn!0bsIz1beOqMv@r=@jniiStjBlfL zI*-r!JPBO*v8A^q@FP7F6Vr>AFR4t#WHI66bfOt|r7cSrlPslGp89p<>*(`cQWa9S zA3S)_i*ScQ>05BSG7Afr`uO;u748yrEerhD)L?Utk31F5blSI z7~`{|5SX8?-Fq%Mc_o_XkE7jQZO4v9I1Mxrxk<`Sbu&xqprbYh_4h?clR5TmU}Iw| zMiaxWii(`W-N@3Gv$FD+`uX}^ho%1T`}ccAdGQlrMV%vVfHAxwUKQkT`O5p$NaiWY}PbuI>_#?pw!zP~Ku0iWuiE2aGi+b2Y&(-#`_t9U|)g zsv|S3IHuJwdA%t~@-$xdvXY9J7$X3Az|@D;5K^RQ%T6)# zDzoWyH}hkI{DG?9e?KTz``HSGl{$uZ&d{8Sb7 zdr!wr&%RoTy3P0|Ip1E)=V4kD+S+;GZD=%Hj8GWDr!9sMYO#`%l2(o(O%18Z=jqRmW&O$Q zTwLO=E8*koNcp&(PfWzN-I4e%6Z#x`{16cijn9-xxVyV!V9E*r*5xL0jk@06>(McA z3=1KW_h97k$Ox&KV88*__A|Uo>FMcno{zL<(nE(5id2VAYv-?*g%+o>RC+OW1G?T82W_v6xzx)9~yW2Uw08%&@mRc(ADBr)yhQ zSZplY^5w*SC+CbHKY!M79r2s=eEdzHSXo(R09N`Qod?VfzZQQfAGf&=UC&u6&cA&q z={T)%oV*dU>kr>Q6&_xad`${VtLF5|n&GyPq!!y=OH0w8(tBukf7Uy3V`*n83vOQR z(zPPs%Y2uP#Sb&Zds%^kSPb55Ko6FJg2LjlkPuphMl#xS9I*-2t*orL@WEQ2KTl5m z1ZE!RT36YPD!SXKbbDtQQBBv*zOFv{6DHEj3~amf%HO|#b+af}Y^Q?*KRi7|IWJwg zathoO(^yK%DsD_n94JGjUtFM{R)fT+Gh87UwGEas=K|pY!Tl67EkWO0A$WEpkjyD8 zpqy0rYVF*)6PI2Cq9GZF2a5%Sg!U>P!to=ca>I$6j}kN(g~ahbstfPpdlQNSK08$S z>*_`|O^B>hROG~AuYoeHCz3GVvtBg5jT={>w^0K~!3(wI0};YEyYEuA9UdTv+8Zn_ zEhFWAHZ(Len|y$g!-}qQck$Ams=!NzSzGf<8yBk8KVdH}E*^eSypD{jlUcn;E0C(P zx#dZRl&TIG+ayLyPm4bbARO1WcEgf}Pcc{p*=yzufEw{ks0@8v&iEZ-mzTyOvHfY}U}QDD@pNR1W&O zSgon^G_u9yoEdU%goe(~ba!(*4GSI7;3H6IXu7|YF9;78Ih1maj!S;tw@>suO7rR> zbABBDeN>xLTp3CtWL7up>T~g1f~j6wO#wGqLI!*MK3Z#=?9kKF)jfA+MSEvwSV4if zudi=tHA2o?a8@)!Rwe*Ci7uKVa)}OzxBHHu$$LfFZS<T6MI2vJHyKQ)_AP#RFuVuncavMrmhD)R1b+s`e5IzpfA4=$?5J+FW59) z_ua!08uN5?bULota3OI#b?45Vda-3_gtqoIXhDVxT)1_e&lPq~PDWv2VQ!Tpl=(+F zadB|~kVVYQ%*2OdxEw!6O7dp%FR1Bpx;Jm$-0~me#O4jf5$&{J<>k92CI!15#w4dN zdpPS8cA(Z4`q);?Pz`g$;oF8Ti?EeOWhEuYFI`%PeITqX^tQjh@9ouWp`kY^l8q82h^ z@8Wak&Shc;=NjfPGO~*aR7wg6%m+6Rr?a?82irIjgh_b(2sy-I9s?-SY$7~A1T72> zh{xWlOpcC@kS6g!)uRUb0ml|q=)LJ`snb~(XX#tIuxC^i5_-4Xp!{@nbR9D8V&`TK z*viev7OVx^Edvh_@>k5Jyoc|8#y#w2HgP_B^k|m&TcY3-6MP~P&vsA>tLbCj9v+22 z*2T+q&D;!{?2ef`gWm}V(&?S2N!!lz_gCXk$rj|Nuoj!-R!YwsdqqDvO8@4KMQZaa zCFcuMV|3@<3w`|!5>O_1);Ci!QCk*K^vLgDJYYma(IDk%1vc+Gzz|%Tf+iUO60%hE zOm@bl3(LwHT;tdAkJn2OK@^aXl-#ub=7(UTgjget(>1Yfwo|)-G>V=TH0Am_LF=>#kzP`TJ9P}B0v-0biGu)f`yB>HrIfa6C?FIEm zFeCbjym0=xD+hj=j|~_wF}M^J0s4LW_8F{C&vz<#M=t5~>|{aLM5DI8{&qyXzVyM0 zDx@5>!H2(3Nmf-=^^T67ev+YzZO;V~J4Z%NNN6FL)veGWc6TF{uZ5P&3l${;3OqpQ zQB7MI!knxB2?`wm_g;HD#TpY6j)djKV~B%Bl~X9B5h#l z(Db!$z{4pOfut8rLNr5OD-^cdSYITvwAJpRbD|nWY13u27=Pv!F?Kww2_0xA0Ec!9Ub=`Aq>|US4 zm$R}$Ufwu1IeM%^Jn{_Z0_7u%A--4nIFAg$Qt)~^ACYT5jVw*@y`h*k%IH{HT6!IF zd|%a!!|21vv$iF~5vwguReP*Z6e%*F^z^JD24oL^oQu12@O-6hL0#mr!WI^_$?l(_TQu07gHP5z_OAHj=babph9q=A_!sE!E z`jMc}LQt8sgZPqBI#kqZ%OJw`>I<*1Nnz%5?DT1-H`T%7W;WX`fMT~H0mnhiOk2Ec zSp$TL@A6%83B8*2ek~SX1D2P)hli9rWvZjYg!8Q)Z&Vg@<}xjxfb}3@#xpy30POKxW&u`OT8p9KJow}1w;qf? zbZs_un-`)U#+Zr0JTEH!#A$p;o6wkORLP%I@`QvS%6q60iIEKYEh>r;&}spf+u&p3 z`>}g9N>18!@n(>YE&`%v?JBapYpNinWGmm1lamvMJR}P@QN0Hp#BGoyN(g?-3Hmup z8i<8T#o=Ss{uu$|J}!}FFlu_C;JU0QlTmr;2fI`U&w@~BKzb=GS8R^EfZz34xJ*Q|#X1T9;5JJ`U-0ZC4j3?q&lFt*F@8SX!R(`4Ka9 z^?67HPJwy7-_*p2QBs;tPEH;@Iljm`n313^q#@<82VG$y=5}6t>JcA~?Zg<2bIu-K z8iLgpW>&kFAR9bZGcc%SsMNf=sasFJlvU;a*?~`weVKqTJ@s?Ji&yl&U&&m^V-pS$ zGocJ)boA=!48=61EV9}>nOKqD+^VdMR5|k<+{|+1X{9i|IYk&arBfdk!dBHiQ9kX; z4*s}@j}qUUocX|aJLz(MGi`Uu#mwRA$xl6NEG>WE<=Klq3hhU0@ax*sGP1H;K|vi>XTPsZx0Dlvavq!Nth=Gl5j41*j=Y$2f>EL^BR?zHCJQ>EY?`GbO|A!1x1)Sul6x?MT_ z>J^C%8#WjyiHT_^NZ?KdS{oIevgm{_66Q{tx!lEJP4o~CyJ1X_MV04&KMv3mif3jT zgYez~+hetg>45_WJg3L)+fop)uq9TC6{Z^zB3Neij<`~cHk3i>Ea!RK)2GmGq-z&9 zn*M73)aZlQnc%1Ua4mmyMbM-e%EreK!$}?iaLyW`(YG?h_uyIWobZTdZ{I(Iad7MGbJ9_kdc)1#evoRC5 zr15en3>`nety|42eS78>6@F5Bv7LiMd|%MZo&J(9%}dnVtRp|BCML2I-m5f2l>(0@ zyAJZ+EGGyG4_~$#(6YhitVa&fiV1Dej|(CZOi?%9_SFv=1E?W;ux8h9+_;acsnLMR zi|m;Brgi9XcDBG(^q#pSiyAG2kt1?pRKKXx`3~G$f{goam2$QE`S~SYuw}y-v6#7( z56)H+R^<}S6WEw$zPzY9EW3R9vNlfvjzQxS^9-jJ`~VAL5hJ=`@7}#6bq0NR2K*Ag zvNAUV0|PEk4H9dlP76UN8Tq!5vl(SSFjA8DE1bW{G^TNE;uY*IpE}E>T;vaW8EgdvUL#DhB;I0gLZh%JG^x2oRbyv_$u3Q%vse#GY8uu<;j>K&@--l`FO~XEc<-rGkJU>oPujb=gL+;QOELV>yU&5eD#D%m9r8%-Ou4xSA*ot~b)2*@LXH3BhB zBnm99N1|KEG{}+Sg$oy^DEf)PMo=)HdEF?o>&48>99_i2FmRhMiW5MtOtb*t4^b8B zmxP)9{q}al+|b^kp+&Z~wg&vW{8M3Lj9TlOzE4RwpdDaxX^}tQPwvsgRX|peksU;q zaXcw0DVEP0lxo|_!+NjoQmSYoqC*U?cm=gjBu>^Wgzi-v_AViB5LO}#3`<~IHT>$P zG_=C!KB`dRrJYVR5o_TMC5dTH@}pM<-oE9xj@q<&^J-Fa!s)poO?AvCEGdbDl$AZZ z5wkT-E}=e4fB5is-Tp;}AGhI{E%qO?%&8yJj1)5z?GlcET@+yf+fX-!&71oW*=ZpF z#rEjKS*3dPNYdcXF9WA@3$-V&5y?5}3L{%`dqU{>bEqNqf+AK|x*<@}y&Jk8xM}Sf z`CP*8Ms^lBBR55fWB;>Mc}cF8z z1eoGvWx;9Dl9-kjg+cT8T3eT|+fGG2ocezD9CivK2)$a<&)4Pdsg?)lWjpq&odMI+PF$IX0~FHc5{g~Sv#K;k?z9+qNWklbItZ+o6n4#s-H+Il&O!e*)@B?`RZzzaP%)*!X>9W3|Byw^K$OzM~VSHviyDb zG8l@*r|CvLQ?LR+E0?}kO@ng^JK%!(4 zSp-rci^)_-NQmU02+&8z$H!|>CJ%iy155@58V{C>nBu7~@o4+#1Hgg;SpBji0GO1k zlA>aM)gF`}HQd1rRWullJ}c}S8DZed5qpAyaug1$OJMk9a9;!UOi+a6MGUM*sHMw3 z!hF}WPn}TAg)`ZPqHrV;rAmn>n0K87$}eOf;;r1vsH0jIixl8PXrJMcb(jxh`(wcH ziy5|&(-(=})541askxUPhp9M=r#Sht7z2}m)ZP(}mknMm^e!MUFoIPUL*D2{eZ?e+ zOGyV_DsXRRbM%uZ44Wfag`B^Y&_ti~?=Lt@?VsHwTaYAS!5_56ywX>cSO+D>yExT7 zco5!oPVmcRKWG*WZbLdy`%BDuquaA3ii(Qr4w*$o(j;9Ee4W}%^HQoyU ziem@3=`>klk00yze{QUP^RCQ?oR;2uW|NEf_zjPPP6aW|gaekszj?-t!2MBcRC!?m zrQrQ;F}RAe_Jj_rH$=a!C%mbV&N)I~SIh2iIP?=Y7GjWewnO4JC`;6UIt-mc8&-Zt z>ihhMBl0QaT*l+5aeV0f;pzaoh?Y~mB(2g2JYVLgy&$c>flj=jrQz^ldaQqu50qXn^%4a63t;h_lG$+SiY%$Bxk<#H=k{ z$ItJHP3AkKg3&G4<5p_D%+4^uwGlDMnxB@Ib{#ibnfk>I^K*8OWbK?)sK-EdR5(8U z;)QuYK!C_(qFmlKqdnA}pfHl$AU>XpNz|J+f+^hBPpQ2uLeVjN5cx*3)jo8C5x?11 z=A}#PaG35!M*v9=0RHO`PD{!nyC9>|+_^x>|AQI|ZFS$;Y7caHwF92tsyUSwOaVwoiie>j zbP-guc5t3ynE>h!hIz)+G?<-wzzI*7y0@UVYwRbYps)%#&vrXIyOTaA!@@-GRF|~t z)F^^hmynRq_z5hp5coxa#6@th1d+M)RBr*SS({&#$$(^d6^wXW0VrxvGVMGse&wh~ zh29i5xJ>&>23pBsE@bh>Z+=Kw74qNsNwGGmm_ef43l(%0RKe*_)6J&3#rISNob-BV z=>G%PHSy@RSUr&@{gNV0L`+6;i$;|*Lv>=|XrW>?$+UpXGwFhr6UChWfeGT2q`*9Ks#}D4;+OUDz zU~XyYDj}4W#&=jy66_bMsDp+ZHQxWPqb>H+ll})9E+)A&dN(&d)jB=S#7|Eg`3X=v zF|{OAM{EC8Pp z_=t;E1L)CuW!IW+sw$Apazx;_bAyk!w|7bHQPA+pM}Mq>vh6+?O?Fe|>8UX;{OJ@f zu{|(Yij4g{qTnjND-9d5W6*#vK2rt~!4afZRz6$P!^R9NkNiD%6v07WVFTOLMVcrjeDdT;G49k0$OcY#QGkQ`=0+No<=)I7)NWaFmmUc~V*gx)FAP~cV-d0I2ePM4R< z5%of`Q<^bq_;sLRT0!$=9z+bNh>zV6_{FL3JLH`gA@_V)67wN-D`2D12sM3XjVeDF zYZtfu`}6!XqrRr3rtX_PX|mVX&o2|*)|ogqV`3iv{yp+wBIS$tg$Cp0|H%(#z9=&@ z(Ql8UO?_M-q}Md&BC_mZ@{nxY68zNeacdzH+5I}((-mvdm1^pvNgB|yeQOxw%7q+~ z^XjAMd~f;j2~z~1fWcW|5 z<|Y8hK7~E}aW!>y3jk^9$A5Q95+!q+!b{gxC7tUxKEh^&mTrYRM>S?hUlV-y5RzJD zNT&=Sy?W5lKu^O#7>&f-5%G>i15vjYSY#jJ(;4n2sIl2(>#3hYyfO zd7`e2yWA)^yIoV$9z_y@*O2iU>qqW>(A~`qRCga*I9j%`;&~XYUAM5cC@DtuqaU!K z$?yPj5er3?+vXM)5n>tHX6!9BH8kg@gso^>rdq#YKP0kx8)Aa2bCQTN2vB6ZjxYsL zKL84G8=<`Wje`*agFqWJdR9r8NWVG%oak{ouE8y*)(c|XI%tQ&%7KaE)qF7GNai;fSzA+iA-p3r!Jv&`cVnd3ZI47RRIoOk&$>b+{buhY~CkV+6#RIIt> z6>?((sZ~d?jhq3?V1ASNdP!69xYkwVS@`HFttvrZMGz$71_I&DDdwuApzzKmF$|fw zI!biLIsMr3)b!ZRo|26R&COR40mA!ciM5NgX1EXI9;=r{qx>7r>dnf=2D3AvQX~1n zeK)b|BUrs*H1Mwe#fukpQB#p-1z>ZNHH;9X>ea--N!D6Nq)40RY7Y;HkCJS>!(Z=izTU0pvQKmq+1 z>q>DsnS_O}EE!5DJf0=8mTw)VM`%YA{yR1x#f(A@%?E*G$8+cy!W^C1*5Y*bB#K*s zJXb?tB3Zi{TAy-6OiVo%_;sY2i9_*)wU?X1f=;uG3%QCPzK|_=SgPr99z(v+#r@~+ z+}Q$ZkTBVhoG1s+u7LEX23jprfVQ_bHeP|zIWgct8U>YdcF3(2rf%oI$89$Fm3b>k zg2g}xH7SUBgsbR=-@c7693}1l(<*D%ZZ*DEelae1!$YX-bNV|2eIou~>|C|)<8&^q zwD2>F6#eIS+tQmu9d-tW>s>~@VBGq?X40>P43iZD$fnp<~3$uoxleAA7T*Ab3 z9~mj784Orzao)%T*uteVKQZ@7XXmEoiOPx!hEB_ngeKLJPVp7RWo7K{Q&XQm-vb>O zIt9Uic)szw4-|AAp4uROH428EK@EYya4-TMBJKK-43q7qt(6?!kI4DAf-#x$b=er#)bX z3~s&k-J?7Z60!+u;HY(&qoPr(`TS$XCljr``%})JcU9gCoYiETLIGR527Z1UHh$;W zv8|WQem%?wWdm+tcfhuFW3vnNphwdDeQep1CB}KmV+h)R)dh36|EP$pY)IIG>yC?J z?|1soEeUUvWU0vS@Sbgx(JDsPS_4+6LmnYV;!y>(9c?GQpj3kLh+oGi-w`p9$|7M? z-^sXGlntG&=EV+Sxp1vo4H&Dqo5>jSn9#1`o4x z5=Q$RXv6b%bQZTo*U4rpN28P1u1OK84vHI#gOLi{!c_A5XRG8rxCtPcLT%kdn-}+w z-6SY7BBG6QIa1Ot6#LF;G6x(@WBSDEEk}t=)8G{d)sX;c>sx%TXd_Y26HtoK;ICZn ze&mQUPH}-!=M3?L3YWqICTm`b*`71-JF=&5U?2<_D{>YyR?gYC11qs>E7 z1D`E(;Dt;k4>ni6z-1JrB@H$e_V!YC@P88bI{@=74R@$m6M3H?#ab!&3tT!E`rQ~C zI7AIKrd8a(xbBTVdluD|OJAqco&i~anbqw`E_c=6zUS`IXi~Hr8y?PWdx1M6LODQS zmnS%>y%4PT$LO~oVk`CEQ~V~90|g9#JA};BwnZI%#Usi9Q@Sc-v0GL~%gV_S=VXmw z;^-^39jVrwC*MZI<#dGYTcZCKJBc*H!6pycCuQ7Mly!@tVfQ#_*`9 z2Pn;j9d&bat9TIq0kA{jra=WbyqDG26yd!nrOknN)qpePT|M%?Wq^2WT}Ta1qSG$s zLCU#O2I-K!-#AyTUTqKVHB04XzVf*ll+iWEQ1#ol`P$d)!iOwuY-im^9}?MaE`@?l zG?WzCO4TR_WW8qx$8!>}%hJuybS;C4+}eW>i_t;=m)`;ws8c{115<$_KsFARiZK$OAbh*MyugXAi|1gLs&Vubp zHXXt4u|Kyoe*8por8R79D6L82jIaH+c~Z!uOMbllT80rg2%;;?`)YDUpQnu*8l-rx zOT(@bB?Fz#JsY*3097qtzMPLLMU!U)#61OG2mi+OFBOMA(YUyJ-Qx$TU&< z0v%M)ZjHXW2jGe{gP|2R9@(%PS`-B(N{MN#x7QAgNH01~S?V_6xHD*Z>5ObbOJAR( ztGvA2duZz(dpo-j9MTc9rbT-s^O0o0 zut0>UPZD;grlf>pcjPPY!X?xk1H&Wgm!`pg51g=OFpfTspG#vepgtWbrV3u?2U<)< zVv5jGJATJltPVzN8*J9$tS-#hp>Oo9Y^&To)HJlPMdw64ah8TfQ+$cqJ|FZ#I`WnG zKbOu$L5-5ER3!FL>m^5t#0KJKgC0-;KJWA#vAD?kQXZJ`xo9NJC(0mV!2fSK7;4$t zu0hi*6vMHt-zG=RO5I;^AYI?>8Usn(GSn(pn8e1RvVd&tnsLKU;`*YSp<>fj*oRLK*1+|YWGK=`A5)mZz>Y7C6{Iyo6O z1$b2K)EK|y46&r^esiYk13C~^Df)^)2@Tq^ANa?&GZ(peKO*bONx+&Vc*%P>853iK z<>WYsQ0l~q6V{v7>z$Kx=fr$R{!){`mMf&4R)j$#@j<4+C2D)bl-|trv>kTM>T01o zffEZMsaqL6(p|9u;H&uR zIfi-NJ**`wt@U?x4e4=lakWi|0SNxQbxS8Tyu&cxShVjuD*XrUmgu4A1rS98?@P;) z|3WeHLyBC%I*I;4ahR?=-Le;ApDgjcDJdy-0OKz?))7PrOnKpK!u)_hI(G4SHxJTx zbye{E{rX9WI~Kw|vrTgfC5$$7Li@h&U;w9-P{16UmbL_k>Jnb%RbW)^0rY9!#C#HN zRm`HY{2Xxj@O=u$e4(@j64|*-FBoAX7XyR{wSk&RBM;l^)eLxY!k<9h$!-#lF^cn1 zDOd=$Gx3udz`eb*vta3*zDw;j<_Q>IH8&WU!8vdeE(4jEyqBU9tO!qBDQ!h9aftP> zvA2PyxQ?cuHuuR<>UjhDcTK9~H#Y;+pisMf65nNn_-f_kxs;S%^nA1etjt1-8-Wk% z05}GnSaj_SP~B++(u>f|TrVwsK-N9O-aG;k1_w`~QgjJ$dm2+o2x7P%RF9PpLvQ_! z=tNCe-hsMt+nz;wt2eq(%L%bD^%+7N7WX4(A|uri^Ljsg_@@;Am;$~U$?i%V6I-#C zdxwX^(T*T|-wzRbo$DdweMp?{BldWq39_x5H*xYWI)=c!9V$0?flr1 zwx3wO(;)BLaG5H4h@QlLKehkd$dd;xElbe1zkE_JLxl%Q6ppb}1b?DOX+;B@LFXEz zi@IqFvQPb-i0N~}@O2DlYMXfhNdcCL$d-)g=%p|jm3*JN*+&R%kK)NrUq1KmfG~*( zn?eIC4)Du3#?}b&Y=z1boE+Rx>6lk|3(iuLqo{&J7Lr?}eMD~KMh&c%4K_mvwc`^LY+VotwrTyq!I1Eq8hPhW(@0Py4c600&UnGr z?EvDt;eH1sCDXz6IA_{s7j&ZI;rhNOykM|tG&E(9`+@-s%(%QO;?IJfJB8{&W8xIEx+#}g2K@j=O;rv0`C)va-KONG~Cvfc_DPIWjVS-7~E_;S1( zQGX)BSaWmp8chL%HK1V@xc1RJvGgb>x>zqgDIY0>q6#l$_f^v9K9jrt|l6(UW`5@nAQ0hg-Y><(u!I69d1iRQB z(|k-Kx`>OZ5HQY1TRh|?=669HUHiuoZ2Mt+$UY12fpFwSMDzuL8~CI7SU{mYc`-4} zfWRR6m=d2qr9we6X5pB2<-vH(V>n;)60hQlox%quJR!7Er&=>oQWhf^L!YINWdY`x z6x&M6%2;r(TU%Rw3ohX%$bU3H53l;)sFJ7`_ zg zZa4-tkwJCxx8G*FGy>yKoS=`2iVCH&mum`M+9Wzgl`dVn6yoi|12)pqG6)H{hLU0i zYgViX#Yul3nn<9vlj-R^2x;%)z2MQ6Hl&mKSD>`N<#|!aZKd61uG;G#|9*p7D|s|Y z!)2Ti*1S-)TYoI?cytZy=6yskcA-)DtP6f?BXzXR=P=1AaOds?Z zKs}^OO6r~(;4!p1C*Wh<)u@oy{z|K;sOSvNIp_Tze1gZ`;<^TW9cCf)E)Gvo-TJon z_F5PRoWxofN@bGZ2Q;ZYH(*3KX@3MI>&oUxIfgzVU&xN0{YK zvC7Iyg`+O`KVFuCp~ zy*$;RtJ=I#UY^uzApkmsH+t{E1A%5)<9uTVNr{wsa?b96 z$~GD>;Vn1=^P3(#&}Lt4KVLCM@URK@%y{34-7mMA64-)gMXfvweH7=8R+CkWi0*)7 zF5vrAVJ*eTLJkfPQ7FZq!WoPZtNJtr)$3!Vwgzy+$QHVBCssc$V@o?X%KS(g*$K$Q z_rwzwkjkFGpZcM$MQmvCJpvkK{OgDj+D+(iM1}$-L`6q$DC{r>keE~TBTGos7bvi< zSdY3B6@y_7Wd)01pR^bR;sfxtNJwHoDqsUf@owRSK*d7eX$HoHD^#w1$H=*90VA9HD=aWFLst{qqabtgO#LMkdY12Ue(x^n~><%t$d;B_xF94uL* zV(r`Z^6GGV4ihT9bd8mgc>#L-6&HGFra9}}7a+O;G`(9;{G%@7)yUC2qg z#X&0@k2nglGT^N#i{8(O!?_C(77g;~B2sm+IwCclJ9P_8^$zKx-Nb9^g9V6K z{)TVj&@AzQ;7~`NwY$WLYSe8=J%8Q-IS5(@%oOcMk-U+G*=m~8MKl2HM_BU?JhJ2G z7qmg=25An};6G+8rU@D4XIR0Io;FS^qI1H^fmQo_9F{1l;NVO+cy0b$7%GXawJtwk zk@IH$*+~KnGgQ}rpD_ri6Q_|XG==560NNqH`;X+%lgwh%i9IfVU%ol~OBUh}#3xMd zfS}MH4>)LOM3^L{q|PcjsUAjD@j970 zpVB(9knZr*!*9#D7k_w@{OvoOKN`@L0E_JR?mY=Yss`PWs9RO= zT(*Rgx_4|W8u4Nspfzxy%=-1maicKaCK4R-y8?73$w5{N3-2-C8m9021rXpKaasPNx|t_Gt1 zC)tYUMp5TvSA_uVi;!3$H&La@|&ap6#xI|iYcuAUwtGf68KgwD8d zO|Y=q4d_Su@YJ-w^g|So^UNCZ34)D*i%y_%hJdL-6rpqBz)?RnOuEsq_JG+n9US-} zx7ZCMXJr#fA*eOT^#waeH0)RuXl7ppQ!q8iQ0xza-i(mg04d8c9G@Wx^Ic&RvS!es zoj~l(b0WP`kJp^YtXSi{b#-;GANsV%7o#DYeKLSbrKBh+(&ZBy^|UI`#~LoF^l?MG zNc#=S`Ed9>1B6GqeF5@wadaSG%Xrn7gO)(!<(@{gKPu7Qe@pU9OW=>erJg?&YQ$ON zIq^5$gawe1UhJ*VeQ&28!%DO?cvC|l3K#%|=wc1WM#iXDH^t06E`4C*=3av0$y|*V z2nYg!4C@$z<-f#7jYhMwI6ELu#+q3eYsfeW{6OMIT6+5Dca3aigGYW$%i=F>NXpPi zqd6?Uetj)uv71;A9d*Vzf=*uh4=;*QW#J&`5ToPe6{1=t%829m) zTx)u@_woFbOV56imwz&2PJU9v1~sy2g#X^YzGL7o>_CyAQljZ`YVtl&$zu02(}tnq zhh+TU6?uRw(jJZkk-CVYIuX3`svKDiwz4}(u2Bd)4%%5p_B3vtx&==5{-Z}r0l6Pl z_x|O8MLy|h(KzMiYbUjgY0bUaFQ+i_qI&M#JVEcUgU2bg^-%vG2R?Y`zlyA>hT@~V zEc>HSfy53v1?fa>dpoOP9<}0+_wx$@&8Pt0)B@)R4ebFI@WjpSZ&xb z&Q0D*oPV$KzyFy+&Ho6^sCC%avY04~9_0B%&5BYKV1N8bF~kcRxbUR!67n8;Ma3hL ze}8v2Q&5o3fHF`UdaU;J^4~tH|Ew;SxRBegBSfr7YypBCMp8=a1=t9HA{j&y3omaB z^zQ&$1akv1<{Ia*5=N}q;4j!VxKMIP+H;8cx---6d}EItWMlo;Lx7kZ3@ir2t%O#) zfw^l$zMZh<$WO*2GxL^kFaGh#Vae z|IfQ8e`>T3BQ4>79!*^H=#L%j3CY|>m$&gBPm6Dn4of_=SE5Yt?;&#V)={4Da9X|z zy+HgwgM@$I#BxImMV3Uw>C@W?jv)>f2NCA5+jWwLRA5<8w3{QpuZ2Uh5`oSm=suO2 zeg0h)Uhj#$+L~!}^xjIW`aH8}4EcFGLQ41eovm@#C$q+>Ay?xf&1w z8Ys-*CBQEuvm8TT*AV}&xQc&^a@ovR(Sg(dd7pEC5Xm6dIZqOOk09ev1f`=9)Ck)6 z*)S)*vW-|8tc}wG^IZ&0CZujIzDwuc3=$*3Ma$-0(Wisr&*t{vKYrpr7hl_vJo6ZY z00_?z{Si!&BxS=0`XTySCb}5`4!4RWLO_TE8k1DoHvN5TBFPC-OU*3@{a4_*sQ)}4 z{vbB@lCjYVXyJe|AP#Zx!?wymG*n+Myot<-SQGYK2 z`CrqOxu*(52#5S2^g+sp{Ft-(=)tP}hR7T6<=xKmYoy&bRx0^kR@7Xs7?P zcC_3{`%M|nQKlZ!vaKFQF}|$agWhF(G!B+RlUm}pZpu-QK-P>)c?2!Hq+G9^o%}2i_?sg1j!w+gbN)OL8u9Dg=0u}7f;e=~%}Y~VwnCE8<#VCde_dO${>2o` z*Pa3o{*E#$OVrMRpwDRT85|w^xh>BAT{RuOV@r*%E&1@8X?R@nzn_6TK|p|oHoxI% zWW3|SxFl$FOf4L}6a1Y6VO-rgt#tH1+wVr8kG3K6S+9TFg!=P`+>p7Na1M?L8lS*J zL8~=b@;8qThv3j-{ z8ax~vi%=NAKl}C#9kBSfay$4E)!hcPd&jKo8d)!HkN(?D{_hjwfP5uOuCE;YC17+& zQiD3AlH=%dj=n|_&lR-cY&WN;p=^Ble|9O80P96hd$rRCH~qbdf8S}_nG+fDY;j#A zc|u2%w*e;gm6H>s|G`ehVHh-^Rw{T+Cbm{(9hQ(@M z9>%GSQ0@Op6=>qML=WzK9KuI1^mEW(%Qyr^Jh}?c$>baNQKDxe|8aVyxLI<{u?z+p z6+HUKlIhkF4*3&4>k9(+7zF9F*>7l;5-jSb@J-NFyuUn2v!MxYyBP zJg^xmb&51kIUoqa*I`9|Kk1LaFLwS&|3eP(^LJ|HglHU3F)fTm;QV)t8S@DW3B3h7 zNF08kwjwFT@aX6zsA13xF%K-^324Ly{8L;JoI_w?L_`Pxs<8LSf|<_sk`i^4Dhx1D z2`)wkf`9-htk>hP7@r!m!p?h(R1|59I_N+AkTZ-+YHDiuZf+CgUqFyKNevLxpnoS8 zMR=e^?l|DxC78khfIfR@3F-ob{Yo0~Ou}roXAi41Uc#t%^NZVuq=|zI@`8T+g3C*) z#M$E%l0uDyeKJ@iB@e(u5?wX~GI1ymAqtbmIMiG~QtiMO+bVqaDJUvtp>#9ycw%V=+IX|EG`+Xe8>-9Qb$1pw&04^>) zE%3?n+x(^0+hE6zQq|t$j?5TQe*3`I_s6IGRYyn$Dx%{CU3)R<@L1Y9Y6QHL{F2E? zitNS)Yyz1;-nfZ$-o-Dyfc8(|L-0-AK^h*ft*)-Fgvy^&o_$DU+^VfTGZP9QJm`kG zdRy03wjD*`NCmu=MOh3KfA#J-AG8FA$dZ&ttm-R?sX6^B9rGdb+^9vNNb4aby7^&s zgQ$fU-eVagucFe-faD_JW-HK$-Mg*)=zuwv^?2 z6@V^Yy6jPhJH90FMckAmH6*j)`7J+f`Qx$U(slIechjZY!9xe+x`|3rfX3YAYw78Y zum?m-iDZcoJ%|M^=#sZzWwU_?p?(_5&YnG6TKIBUgbfW|%6jXxDIXeiE9=CQ9W|?? z*!aJ;OG>RQ1BE3bB=bZ9^PI@6B0pM@cfjIDNZW6e6Ws}5wd;gIjNLJdn5LK;8-R z>kDAJ0G;9+SU7%wT;EXh-B!E*+XT#+#NT2Pz3fN-KL>QpgVt^87#UHF=S)qO&8*`i z4*`lXU>9@H+eW0e>N!3pK%d^3ro8Y}XB4NiCGOL*62YGW$)biG_ihL)Tp;VfbRC1dLo3?l&@GeLPpZjsdHyHz!mq~p(EM@6bhnD7B#ExG)u|F z%7Xq^;i$syY=QK$P-WfdbAuh=P6!bbzR%qpKq z&I+xX01ono*5U^(ai8_z*>xj}=is)l?(aIC+lxMBH%X}HcY1F>Fc$6*uZZW?w(`?B ze|3Vz?Koti2VidYZ<-$HwY-v>+Xh|J9iOiO!cp$$&rf%qpGX&U1!qd>wsWJszG<&W zFx=TVV__+GI{Q6R9n{Lg5lmO*6X8xShg0Swf56s7G;ndx(r9mJ75?J)Z)nvAc&Y&; zG)CpN)i%sn4=j2!Ks&yTp$`w0>U!NN*hRIcp=SrK1nxGLNsIj$?P$&D+h&L{BL)c? zmt}2tZ1O)yI~8kaf*0l$NX~LzW7WMwGe{V=zH;#VxCt0|E>%*k`iux93b6PzaXk6A z7oki$lNKXFY8tvQ!9IyQ!d@cI->#Z0H2g>iXPlQ--N3qM62ti3wD{W^r`4`&i($HT z_Vuq5ZT2@#8R$~Sbrhg12!=59lPz7j(vVDEe8{Up3TXfeEC@f_cZq5JAR+p95Uc`F z>=-CUr7qT3&Ozu^AEuDnI##^Mr} z@?kseKHm*j0K~y+z>)jJbIc4o5vQW%*cf4#B1wAFbj+C!l8-rKlqXI|m{r9y0*e+c z0^BqIsh?;yXq`HMR%np;<1;@Pq(p&n!AnWQIY8@oD+_U=n&j(Xz{5H%Ew4C|(7<^Y zb4`dI5rH-uvhaZi&dVYM3Xu;k%iiKYA>8P8(06oH71%Am@|Qf>p+4ZO)HOTT?AyLS zU`o~I1l$%Er8e|{jOeMUshR8WGD`~H4vwez7MRBYckqZofBK&ZrTwdv$Ogf0Cl2jk zWQXhIQik`@C86NXN@rD$!KTe>x#M>H1m^&?N2DUGeMUplE4&_}0m?`-=g|Ecv5`ht z(V8Eb5O|U8f zBD}*vt`OTX*TIOj!I`i*z62g_d)pUYJ?`cM7q3wfL1t+?mI(2rD z_s4J)5RIR%U$^e+)2E}`%k_$x9l!3=Yc+2KBArtbY760RLTEn8bYfvIBlZmcDLf?5 zVpzpj4fu2Rl|}4Vo?UAEEVuW;Nr(Q{w(9m1!bWz$SGiRYC-4 z+NitIZ|NJI%5#gadq$+vPV$^ONX1j<$SV?VIGu>p3#mbc$b%5v3H^*=4ae0r4ujzR$awqbJIl;nw06^x2{d0vCS(A->pg~=rc{a!OD)G8 z>KzP+#P(kK2=%C;JIRxf4&`~}Ub#YZ_velbkL*+RwlGO*#5UU$8yh=ydE9Fjk5Hgg z<10H$(>~G|XSR`|QG3moccIz%gt>HL<(s*^2o!A|MVMdQi8i)LT2^L?+37U@rpf4j zSZE4laklHi&?5*ALOc}e1?;8j;Q-~|Z(2KHZ$^02>GFfqTUv@)6ckQR#8+f~n?PDP zt&dkG+YDmR2Z_Jwurp{Vw+V)nd#{_AO7%$idJgiAGTFe$=o+aoLD`u^;`Gn{A4jb0 zdWk1-^$QSZ;Ck~(4EgBFEX~SaHS6cxA)~r^W1p}Y16F$cnM z>dL@=wj1HHw+gci+C53!FuoK<0_ZFvDwFdtsPiII?n$O2Xqv%;Hv_9O{HUAh9$R}N zBMRIPzz}#~VS3RV9zqC_1Ql(ya)@~!+O22;*;=p`UazmjD1d@uq2kSKQj7lACb+-f zKOBnY)+4ZA9i<_8wZMsz4N*B=Yz?-YOe6RK(i?kWIS8v8k$?p33O8o!X|9Dvn?6Hd z5}~&2&WpwBcYpM-`B?|Hasw4S$3d}(I7!J97`;}q4H%-)SOy5)Yqg=ft>8_B*v!^h zm+l~Nj3!9E4-G(h1ZhLP*GQ(UqS8ZE)u7DaAgn0CR1UETu8ZE`qn$4uLy%@UEx*3*^8k2?#O90x+i5uYtIiF=DS{)nfqiLPQ;`vmWN)S>8k2Z1siTEbCU z7`FEl;Hc0Y(d2uTXW4d-paz5sfN*C*Q}*gkvV=_!0>sJB7olZ-)x{njQkbQ-T|M*Q zosyx{a8;dh2#LuBqiOJ^vr=PSsL4?(C_zsk;?6tpn{z`nC{o;R7UEh2D6jVPvpc4Y z7vnC-Z(w$-*l+N`hA(f>fh25!WS2>063EE5DrHL|k!;kcQNX*M$8Z&D+Ie_e%HKBM zg{=U7rZ;U5CnY4%3fEFrnev?$kqO9JgxidlQLOMDhWmYX=IO@G2<9>eK}gPJW8o^c z<-=69TR2ESOiVsGd(1ZP1fGKE%u`(A=eV?v8t#f~)~$0=p1)IS*Kf;~5cVo2c~_o1 z8FkG;oG*%6Sw~|3U{;`KzuI(ca%{SSva)P@^Fg)Z0QF0LrvL04@Xzalf0n~c;JXrgl(=%S}|F$?)JmJVxaZ5|WaZ!iG>+Hu1cKFr+>5}7Fi&a>A_Zc~Iq=EaZ zMfdFuA&Ka%?0pJ>uN&azJ!L8aA@Oid$I%%*rsj!cQq%5->KPXfj2F|}S|uk<)#%w< zwEMsnN2HR=IIfw1EuzpNV7W7IKjo6mR$+C9ROlZ(u0&7g+sQ3D4U>d(@N@KH%QA)? zNMzKCD0Pi<(6SAj=_I~n zn-=cueaZ4=CB{3yy^1PSZ(+3QaD7KBI;u4{4eu(&i=<&94jV+awwvtlq@O2|+7O_90S4q@M z?h1W^m+59gH6+s~crzMc2N_>xuO;)GNa_SX!krJm`E>8cqSHVeSS@xKv08d(v!I!| zkKT5;x9~o0as*517|3;De>BS6+kZGE{~rk#JTBRzjq26g{HVDQo$ytj?jO>0%l3K- z3Led$4pEiYC1+AMHu(I$(U3)T!$$gCx;Ry5c9k=2*!njzyN}kIF+-XmXg4^(vA%S{ zcDzTIzHn8>l~#G=nv;`48_Gl-L&2sIA`H4BR>|ThHgurBJko+!5?!0xX(TdVZS! z0tjbW#{eC-r|ga9Eb{3W)>xLG$6Xl^rKieJ(qW-PcP7@`mu)!+BBLlh<$#Msrt31k zAGUh4s(t{ek6{Js43R9B()f%vZp&xDE*}Kai**_s2IrtqoI?*RY7*gH^(Vd=I1E|* zXvhBj%5OmM%ajSmqSNvD^t_y$O&tEP->nE5;0UoJj~rvy3X*W_!|ZISC4Poyrdv&S z`Xes9w^roP0=1kv^}xkDA34$z7?hLp3nAZSz%kBx;ZkH9FPH@mzgG0MK*X9wR;u^m za%iLDnBI;^P7v-ier(OyQ>cNMh!mkswT9ox)wuCkKD>9&vMkwXw@NSR%n+G>-zlw$ zpx8x@MWH|u3>z~D`+gzUJ2ig8h70N)S{a+HICc8;c+^)1IoDaF_3PK);aeu?c4lof zfUtG3{f%OIZ~5AL)IId?{)2Ri03!S^kB*!_6$emZgg_|XI*OuPga9Ohrc#z0zze&( zBad8W^-Jw!aYHx(gut-|Ojy(1Q)h44g%@*LWTHu6*}$v&P3 zF0>Q$gb2OR%ix?xwIMjpSIx|)ZRp46GsaFH8~EhVJ&nWl`gLwM=5XJ}P3k$_ZD@C* zVb1i7Aoqh0_!&@2M&V9QG4`@s<3{82C>@n<7$JNjm-j)r*WZyKMK{4 zf)t1Vihe|DDucjM5Gqs(vRIw)9)vPLKY(8f2NB!GQ3D!gjK+M1w7edEVV=CC>@trl z`>dNo6^e81C0y9n^fHQ4!0iUlPlE_V!bmBWSbm;+oYZ#{rah0s{DjpbZ&IEY+Xkwk zVaY;^f$qZLiqoZ6+;lBY2W{u!23pfKdy%h2vwi+f;Ubho14w-z`RbP zR`#eQd{RaV(mr(gfSDIA3wlA=pu01sfw0pPt!aMKm$R5yq29sB-oCvk zwP;!pni!QIzqKByHUMWbDUXjRXNQjpCSMNg*bf>~zsP=)rrwx*7d z5RpEmo%vmJG3fLAt{n0aU0aDJH@SZ#BShwM_#yi7IlpfFcn*`L_{;**3j|P@&{3pb zzh29WYfc*bTT-}jtLK33HDMorN1qw`bZqP6-y227o-#jWIcHo0|B6|r*4=Zw4;!~S zXwg}J;(#+fYx~_+y8muo^{!dS$k?BQo~A~tei*q%)@fv8^%ULjMnjns5HifIF6+4N z-b97fbleXMdNKb5B`-_%5LQu&FOALHneafTs(4B#0Q&^hv0}xk?3eG~hdU_fCVnxu z{$h4-I!C+ZdhqlV~(KshCw z4cMaDyHpTH!f_PDY!Vbq%0u$|pv4i!;~AEfjhf<~(<;E}5S9?S#7S#YZG>s$*`ZpL0| zt#@Y1QNc`;;FPwEnbV+~vm70S&kgkyH4>s?n!SoB{)VolZ&ShnjPc`C+#EU1w93|5eK?io_MjEvs z+tV2NG{9t?RVf>hv@25G(}lX9iYM6A`zRckOrHbA4KGHduTy)g$09$$Zqy7 z{K=@Epr@5hA^qq!Y6avc^FUcHWK9U}?&e$&(dC=cfN)a-mF3k^g)Ns~Pppd-E41Y* z2G6SlWUrp61(?zayP3>`^`df?BD??7!6KvT(Id;)VnW(cjT2iOJDD4Q_ubOoVOBTY zK~o%-=d>uUS%1)dJvxGI%^RHhYS&#LCzh%H{!#0+ET+DDhwrM!r%8vas;ZtAoI>rV>(Fk_*f zto-SvOEE=8MW$*UJb@jFnOjeT9&z?XtPqa#27pdmPXJ3sfR4!ftEQ*)P%RP8=A!5$ zi_4Fj>GP2Mq^$Ut^x^rqb0xSx9GIiE=NOO70g3e3A3!Wr=+?S-INJJ5NVBxZ)t7S1 zAY&Lvk1*0n^xx$dM_&W}{PEcvt1Fa5a$B~xjv!(;Fn^fN1~N_~Y$RfpW$B?vWC48q`?#^Ynt;hEz-Yhq?6t5$biDtZ*kMaS4OgOncqG zK;vCT#_!*$#~G<%>IM?lT^IuvFoq@ft%fa$36O~CH@?c1=Nv!m(D8JyfpH##p^ zKmn{LoMnksTd67)-%>k}miNpp(Kb2#eMXU{JZBlLvN6-bKt;f)Vi^ijNWGPjW`N=> z&}}rLV+6v>mKJ>lFgUp2No{wVt$#z0BjZ0_H$9;YsK}T9EYb=jr zhlW+ujfn7xTT7GYw^N;V}6_o<~b>P30ollxR1%b(ys8G9G+JWs0+kR?_{IKN+tugIf zc(_F5c1R=}zeP$L_2Xwbm>1Q8z4I5*-oO5gSIqGGQx7BJG3 z(~L6|o_%E15soTQsDSh(;15DS$Jr~WJiJYwi4MCD7+_geSFUr{zp{sobwvTbG`m7|wjtQTF zxhp%1z{OQUpTcVASp+wZ6i)QceFFvH0*>9zR#G0ew43OP`m+3H9H+>&j0_X!OEg{` zH|@P(?YebdtyP6VXig>lAIt{ZnvMBUU`+AO!+idN77!q3Y2Fi_ZNftl&Egiw3v>;W zn4Kd`;z4IGlT?<4Z9hW*;I_{*TL|}Z72Lp5DA)Tma7R>|XIB>T4L>fC&95TB+L~(L z+VgUtVa}+TKp8^l678LT|NeN+0iAZY5WNg^x-BU`@1#S=7R(*U)sDVd53zQNP9M&w zn5Pu5CA_O*dWPLy%j$$F)IDO8IkT>2M3*F)ex4qvS0L1P8&&0!KyJ|$;-aDFFmeIR zOh?kO>jo&#QP+sFYw>)m!8psuX>RpR2bjF{ z{FD*DFEsH}s>Xpn7k|8X^QLcH@kiP|=I_@Qt)G^gCh%;ae_zxU{i2=d-8rg;I)Sf5yns3RWd8Ohk$JJaadQndjbZP5UWP#7QG^S$T zn+>4Sb{eT1ld;;P^yqol=a|9!L9I%3ukwq5NAE;vut8fTgNGl8mJ|&VgR7w9Y{Mc! zVy=GS=9&+^qTdFds2S;XbQ)=*5~Y-(SdBHJc(T#7T`&X4?p_JJb1Rznz5@1$7Dv!f z1qX1#EmSVT-aqJ0$2M(xx*WAqfRLEx|1%Hg_~^KjD3`FUO)AB7G8j8a5Y0fxGCCLl zp~vx$ca@sKZz3{Fk^z}i*6udNDv&*yz#AMo!NGcV#jDn$uPizRBMZwUC-dm^BgfSn zM1{vhyh?uof@(YJebQC#WZwO%r&{7P|E4f{W$%c-9Y$>!Mn1kJsso>k)(_L@-@7s; zEt=TCahQOziIlB`c)QnF6}#ihlnFupe^j$k%}0+uxMbGl^hWCT{r~9BB98f*{$n1j zJ>unI^UF7VJPaZV*EUfvZ1yd4arRJQ(TS8ME@8jyTh^t-*YkQ8CTp*~vB7Y8^y;T< ztZY&>A?lDxAWr|Vp$>s$DW)^IKnx@r%Vg1Bw<;@O^-wf1|3c6LqCO#~zKR%HCIAZP zfj`4i_Kp|@Rwa7XT>1gD2DI6cho-0RzP)}^^1aD`9Z^-F`s`xz(aZW4HB*JjyiVy zc+yC3wf#XsbAW3jG)GZwTm>pJ2r#uFem8^apq7+DbzH`1M$AY#W?>z$7|auxP9NGh zAk02si>HT&B(ppZ0%_W{iH!3S*s-17nR#jqf)gwljTrgy@rN@@Y}Dx{+~Of`k(}C#XoL0s%q5Ow_)&_{yonbcT4JZ-2DC8yj0`eE8UF z_L3IU&o^|g>^DZFp%HbT=l6M*(I)H8x37afd{1_Isj8c3qRR6_LFqUC1@0dpRar}g zL#v&!@s6|?cG~vi|L45V=^Xrd2oAHN(2r?_AA>`GcSCK1=EdyQSFRl-$a;J2jPZOA}VsahVv}a>e#Hm;8L7W@%C-M@9qza zii$Z*bB!4=)mGC+-7NjczO%khy9OtEj!*Oyf*XU;tv7zRFmN%ucwn!M=2ofJm~epR z_Be$<#)Mm}&d5G4DqJk?F?V@-<+C~;UZ2qL)K&SqH@FsU+R>ux$ASy0lbD9bf!K5T zXrvIpSP`i-9638Ko_F)fQ1izF4CRKEi<8z*{bN`u=-UfduOFd{ZHKQR`SffD$-%GM zLn#~C6#1V)MmzGVs|fZI=Use5S5rTFDML*!*vC)5g0jP)V-CX%vuT5wfTJ5Z`&ITM zqvRF{n6)ZEiP$=2co!L6QigA-%VI;6qvBcHo^kO=3MsRdT(Y7U_n0_7M@_R#3B0^@ za=4zfKCs_wVV2}y%82cb!Y1l*C4`SsvaQJqf@yF}=)F%f*4dc&qBA@7$XysbpvU}& z9})Sq=;frZe!#k8NQkDCowb^m?w~`|ATd}H_%dtpx0(cv^&4N<%_SsPiOJB9# z>y#w+5j}4*t&ZJw)SB4e=v{^lxG-tF4gx}AN|^l=oQzDT6Ih4?6z%&e+1s@E}{Hiaw%&ALzXiO~nB(e9Vhs%(JRqh6h2IJH7h)W;W9k zU0mZT_V*=;5hNW!wdHpZ`>o_zeUu6sDf!Nv=eGc5x_^r*$+3-g?s7o+d&>`D^(9<8 z$!x|=oH*c`17n?{mrXyAhra|A$k;XULT4n2R(%=&&i_Ot`M)YsdXz=#G+z_o_e3~oFy~9V(GFGGj@mBB7bgNdd&to3~ zG}r{Gp7-x#Z{feU4Rb(;Vv9cB|F*CF%`gXeSlhFnu}=oJWp5(LTM*y&xgJLkQ*mDir~|fGm4vi%HOi0bYn%EQg)l&|&=23l{9H_hazwKG9W41h=jELPm~Vp)3K z*$o!{jB-yiYmTdHAD2rTzFGB5DAP$a83fgTGa-5Kx}OzjLjZxt{s6zhy1>?D=3lo# z%^TH#?T4;fIZ+lQpOQ`uL|+?lKcflN;5Lkk8ZUwy5Lg@uz?~a0Is3x926OjeQQ8+F zY1kGUyP*Gg5l8&b%ez8M`n~VtW2|j8bL8OI*HJTl#^v`BIhFXT88}L6X!Fw}tTt$1 z$?Fkkt21JLvWv&Q5 zmiKkoJ48s_U+qa1|+2~Dbk!FBX>BSH?tQ4!P%4 zj#w!Iz)|ex1@S__P18n1Dj84&oRaC?ISUsyrAhrzXS#GTX5`XGN30RcKs*UsncF%I!=}ji<=+h5%Sl`ly(`6?FkeJgv zHXIo%+J){#w+=2qiW5vAWDUzsmeoHN#hXxZK6-K2}rr z5AG2#v-jH)ogO{L#%hj&8ox$n9x$_K?`DWq$U?TEoRJUS#zIc7ePrvS_$8?;RPi`z zC$>9%Ecz7{N!^e)x)yAvs>nH_ZLil`DQ(=?v59Xb&1SI_rDQ3M4jo&#QN7TdAL7fu zXZ-X!qUSiU?1gC8g=8}K>EWRmFjlK7y{m?auD=6$rf}1O)l+b%YB%JJb|b%uej)1d zY@~3O4TS9mTj8bY$`BiZLcqhX+{^zLhr7&XR8v=Z95#CdIjJ^G377CJYb&`>3fB~QRk=}HzI!D|?SHMU?%uB!CRwE4&qs&;+x7N+j!CqBvWx!q z<|&;O#Kvz`7O1=2!y+_sh|$YC@ELo6cvPm(m|@s)865=w=`r_EJN&;q=6oKuyvPce z&}T>#?w}n}El4iz8IVm~hG&EX|NpqlEowZV)?H4`wC^N4I%EFzmNRw1K(r2>JTX-p zC`!fw4GL!i_CsfqStA=8|Eme;AB5@-q1{$+haHQB&kPe6rP$(&83zb}nKkc(gbZ=D zXjB*Ioj`@i$%Ud4CbCs$c;B@`we|gzCK5tKmJAmFFLA&#Nks zLx@uFU31s{XnmJC-Vu)q7Iu!0^9Q42Q`@*C~uqC3!OYnTdUy5NltAAoBI|UK7uV@9 zf(SJF($(wN>r*1yx`Yb0VCHslYheyEZ8HUB#i2b3;Eb}hl_dLERg%m$AGYD^N%b+V z5G2f_+GT1opfH-&gJt<|&{FQCHZBINBeLurp~ld$U%!5dhsmkggk}@Gh+2~#y^6;{ z+SPJBJ3*PAN$%fv?f|_vi7x|=A%XR}vlG->eYw3TP8796Z*OneDnnY%bX6apR+LY& zD1SwqbR13}7dCXy*CUV4qxbsZeR2HpmD#>|*M{*k8w^<}%bBiG+n2g=U{Mhx8Q}Fi z&Y!PHU;VCWr;+=$T9kS5poMvcsA(6)=&h`1D|F77fS~CSm>O3=kI2any3(Slh@{0N zCY$(Od+qGvl5Z|vOfr3igF{Fu-#ocEt^7BjHm%iO9!Vdt*vXuP0p%&pbv*yXTW}CBNY>JRp@UI z=6~^ldz&^Mgsp{Gh38i-N-n;wAgXc*^z6gt9dQ+{E5j95E(=TD(19z-|9YT}MAroaVh+&HVYPmer|5*;nC0spv^z1o!hDb3%xKz<;s#b;4D<;fswk9X* z;Qa7`=^iLwy=F?({o4eBjoilc@xDjdScY`Myp%aHZNh#GWf&y>D!Aq9q=#>wM^J6X zB+7{EeT4ZcJOf~=y7l3vLVwq-*Q*MGo8s?=H;qAiL_`MO>7bukvXDG5qTq#%g@uI_ zp*SqjvFqK6)Wf1`QBoD!LzjEVFBvRb+k`AyEk%oGVPYT&v{=XTCge@1AoYX0Hm)sp z?s=PPHb|8k6(!e8T)NUmzF{==n>I!DU>)}eVTf{CnnsCt7jxaPWws>0WXzj6&2CAL z+qG}M9Vs)e7cDUFusPf6j6hq~esT)*bxYigh>ggSfL@ZxAGaQN!Agg@0(g@OW(Liu zU|NPOROSdun!dIB#i)+#F=0Y$w!EH(f(a|?8o+{3eWKGghT>+W3ierezysS(nJEoD zkKE!JW|fzL-NZ1)Xg@dEK~i}v0nf*{DDL(3FJl%Tx7Sk30#iZowpSb6{;?Q5cra!( z3Y1Ms-$i#X7yX!Q+R|pSLl*2&66g!x9+{K@*O4C;Ob(({qo|Qm3wlKwus~;7g%M&3rE} zo6Y)#_7k=fl6-JER4Bd^+++0DHj{h4Jy)BA8jOzWJi;Tx&w2(!l6beFiCO7hQ*E-& z4)TCFj%_OT^KK5{)%tsSr@&PAJB5i**UrMTcd&dQgQn$m)+CVZ0Fm9H7`#jq3afva$rLY11W!!8$3m|S z-rdCb+qV|9m@)PQaO+HtcPx|F1Z}N6aJEN|iH;a#3SWjgq!G;%{*xl7R&(@jeZP6r zrY)NKnF7WpAA!2q!>2nkBA&_&<%}X)=$K_2(2LT~lg{ymAx!LwbegnhUz6nhTQ{{8 zR0k~JOuG}N*Jt=dS`~KktKE_JweM*rs4)(RzSGaP6fEkB4eUZ8ET=cJJ!dzB&dsG4 zuvZfeV4QcNF9E+QO(tB%S&hx7{HVm~;E*0@Z?rd)iF#<>RJAHRaK*qtlX1h64o$qO zs<+{3X7f~pP8=5(Ry|Tm!QT)x5E5Yx*$KKbN59nHFKp!6O)d*YRaI73XH{j%A}*-W zoq;-X>_c!$K4XeP5;_e{f9@|AUZq_>}*vw1|I0U&WGpqS}Fy6 zloXom^uNBb*O1}X@63#i>Gd1{jlYd(F8l+)4z~vdbri*Ug?epZ4K{Uz}7g7E-i1uBe{T50P zaglHf6F=9vb2C9gu~DvKC8Xn$r;l7n=i|sqnny575ludvph5?N0k|+aXx+<{1w1C& zWmpHd6)U!I^2iPnqF7t@u3?;!f?5085jj+js0xIEv(GTm%76}X^-onD`0NGeiO`!l+eLV_~4k=R3#_&d$j!bWISO17(KH%6A85EeEr% z%UL4fVRm1%wF_~SXd~7)4iOgNbpFKLZ`73sBIXgJa_fJ)cYvvAz7+@Fn`ZShbtl|B zw8=vXt{e0Bsb{|TZR6*5@%GB=w%%>NYy0etTokc8EgWWg`;EO#POW@x6+gS?WjLi6 zOGW>`mWnu7VVkpvIrrcqbh^mUR8&nW8=`H|O5il(MpJgR&nf%}lOU zimH{gb?n|%f*Bn@k96>Rh?nyh?iWci6 zR^E`+X3J09*0Ua*^e9U^*VHVl*%x=CYn>;xopkzJ&2#T>>n6{iJ$uruyXl+L(|?5h zcvPTsZO&Kikk`{?@~;+0=~1nSJrZUGYA)6X$8mW^@9-5Xrs{hMaCS-Rw=}IVZ1Ky| zvSczzcCcF`k5JkXrf~Mr2pD?QeVGoBes)Cbq;Bj7+tTC>im~KLfvXFNj9>|<^C}trFDjK z@Y=mQzjyeC2x^Vt!~03y48=SODrnVMC`EoQX!GE@GTF_U>b4DM4<+}{CK%{|uF@-O z;FL6l|Ec+9RGir2Alydj^_os{aag&Lc&iU+J0g>~@bA6m!(EuZ*Px5{>;cK5u-N@-mN>1@!bYkp~n&z#pZ& zdN^;1{I@%)Y1?>t?@QYgP;`3biXpWxEdR4xXYsm=fettyLMEvBsb-+@!0Y~`>n@7_ zSnP2!wSp#S1!t*1K2xHBQ~y6cs$)x*Nlvd(qh|8Eei@Fwsw){|W?jNrXX5KPB)A%uY})V_^559|wx)Vt z+YTE2W@t(}E~Wo-HGJ2jv$&WU&AW~|1`lC2XM)qpbQ4iu-@1e?!wRH}6L!~L$>X0N zHm@k&QhMF!?>-kVK2r0nqD=oB1?BCJ?+I(MR1QHZCy-uI-0z#W0iood7tr74{^PjR zRz))_w2$qHcmL}uEX7se?51j>=4XN!{kHFZ*oM>AuS7H2*Yn$Kc$|-pe}3~=>-N1@R;Y%K9#H+Z&)Rjvhxg=7Yu7*jve#2A)&6AT zNk2#Q?K=T*;db5{{T} zAH$4`*T60XDd-Rjb{14qe!s<~2|o_f{(E1qwvx;`uuRoV4WwMf8ZZ$EO`37HS!;gdUdBW=fZ;LV`JC2{r9<$C|`yQ23y4@ z;D3ruo90pb?$>aGl87KzzU8Qu;mFL^?ak#YT73Sak1w(S`p-z|5isCCwg%tPZx<=< z>cwB*U;C>1WvC_<9;0Ds8tuM`uDeLZU&Gg*zP?vjJrwFRlwaEr1x4RSkE26JM33G2 z-}h&!Ogz_Vd=7Dz1Z6n|O;CHx09I@4GO}UL-X#9!@W}_oz~*ksTt@2HF|i=w)-U<% zKIq$H?7DZl8mb1F;ZN@s%Kz@qAC27HR@9YsSxk*O{rihY zT8#cV>07Rwo7LpW`%}LbH!(-cg7!G@-7pC%EFaP5+uy44S38+@|G3rWhB;R@`!?x% zR6O#_C4DtDO(_HO3G8j#wL462UfJy+YktudO1BJFl+y54hK9oz6FuZV)HX+)bO0uo8attkM*nQp1 z$}*?O)1(=M%0iRtFghaNWNUW0mB~DsYT$~M`uo>%Vu^1NJXHVh6Kr9vr(FYOI&3~RGKf9m(KEKvl zWyl1a1u}yR{yeEpmlqBZ(C+~z5DHUET3&1lUS{|iNmS=zAWzu(ce>~_ZpGCN#h*C~ zb_{6Op3*PQ)m+UlGqB%L5#=C5Y~TgTN=p1H27x`=Oqw()&K0lTQU+v#E|9JmgFA|v z+Lmdn43Qg=yK|)YZR(b3X`nW__~o&;%xi%5dTvqEI-g z>%>enae~8Q5yBQY~@U7wq`qN+jL>-Me)r)fUm} z)>#@7m!W!{J>KK(Fz-tBXCu=hJwAQy-lk)pny-<0k=y-ER-bZLcI#4Nd3o(FqdG4K zbx{hrW$b-jS})*zfSK~kyFSD;QB)L@>(Mw#hu3?HVHOY|vGGAXd<-I@uw9JmGoE{f z3{*ca?P5vS%cm@=dgif3*#SXbcQdWD@@#~8S?H;&gnBF z!-)v5pp`j>?q;U~Lk?+Mg4=j6DQj*Bt5kIQoWmbB(fj=Q^S6*ZBJT0>_Aa1yBb2VZ zapOjZ`vi}PPd9wpE#8DRIHhK~nAC?(Z2?;{W7NCi;vTr+Gfe9yZqls!T=B~sV5+VK z;AJdJSJJ2jPg)8g%Pqeb4UJS&$_X3U2+faKBSy35eqrn*Wt(_CIzOPRUU9rbOZx~Bx4}Kfpa^~ zqAT~y!fKZ_{Q=E7Xc=@Kz5=LYYg2DxSm-GCsbH}Mcr8}rNzi+m#~d+{A&$qtEro7% zLfI>Bn4+R$j>wwnuU6O8%sjc69>k&xYm)+{{xjl)4%W$MP#J|E6{Ytzo?4gKd zYqxzC9ZGWm&)?e=ETOlaon)TV{V)`hxaNG=ng;dj-$eWHVGV~4%jA%_(;R?UL+vk1 zplkBh?!LLpDvJ$un9`G>OX4JYbYB(D54U9lNdb`Cs_8TePe<&V3nvhPqH5ZUET<&a zxRdSAQjEnivatBQ$bIgmp6NY{f)jzr-yux(Qa^ydOb^O$(eI>yP>orwNaYn7XuC3nbr zy7camE&{*8NxMp3yf{p)^XmASC%!1^ywZn{7;%&*5I5^m>UeLd%W(qM0$LP@bAaZ5 z8*gNE6lH^nm)p$sZ*_K~HX(|~c9{j+4XI_pWu>lq|KvDkabTM(?b0VsVtx{V(~RTP z3XP&t%a#X!*SwcZyn?j^<;Q~4o^C%7=kSZ*!x~Ryd2~vEYuivzQz^}oc($l`<+prx zKN2)YFZlZfq8!KKhk>FCC&|ShlTsr@EP)m<;Mvo z#^;{)d%>=;5^*$nR`L6?<#+Xt)NP=sdVa|8;ZvFUdyh5UZ#nVkTHtt4KH>2-p1+7e0E~rt`$dQC(}Kj{mGp zL;JXbFrWoj^elE=!=bls8#fX6(nDL+Pq{30GoeK#@#q|?D8I=XgM*{%Hi&u|e(7m< z>NxW650jfPBaLBL^WKz}%2R2*JDdZ}N;q2Qy{=o2qE_UqZ0TH1m?c59eVh|vl=WBG z%K}7)#I!dPJD+Nup*w$tQt5R zew0jCzJ=Lku9x<;NALi-w!1zZY(I0&7>J!*65gEY?2N}vZzSG_^=Yn?OrEYi%A-KyC0KNkvyNAwu=ktmdd^6E9(8ry zbmhh8v*(wkE44M(v&vQPrLfYMy-`8vju=t9Tu%mn{knemx~g7_9#df z21~%?jQARc7x=a{asOGFJ|um@2~uOuL}$kgVYeZw|R)e4F_pwqdw?tB0uc5UU`B5$wV&GM67N0X5}-(&IW5EEY( zD03p0!xsm2na?U;sR(E{Sdi9gF zlZuns4mo}kM=h|vy=yYu?xl#d(7G#7t0a%@E8i9W-=x?Y>U^nz#e} zO_frYK`THwRq?~FfFr{J4D61`H?e-}zhK?7N;XhlLP?F(UZePdJh*jhGyTFa%gRch zZ7E;BHlA@|SjLzRdK-lL6ur>3M_dv;z=Mg_S&Q9Tx8FcFS`1@>R7g7ytv6m(oo79< zR}lA73V-~00858--?>A2db%r{l#}Faqy-u$tLf{REkq%kKXBjFN((3B>3jY1E0e5> zH-&Kb`lzXm$BrTaT;~Y#b{A5ub8aQu1R}^zoA~?ZCvRc+%`lyEO1c6zTW5bg`6K%G zW4X1K+Vt$K+av#&M$NAgwRrJJ@QQT$T^&|rBxG?U?{|DB&Q=1c4YEc zpe=>bVxofJVFmHg^u5Rv<)86#iNoD43(B*9{Js;En~);^rkY9o2#dPs zN*^4?U`*w}ho?TC60+(Ah?gpIk9f0%qX>Qi_Y`m>^{#_;$oteE764xsT3tJLK8~c> z1=WU2VPZ6b1X~n-)o&l#BcINpV?L+)!W*EK4Eh5G&VOImlSEvDYYwa=Ku|x%YkNnDRLF z=SMRUgGkdwdTYZwUmFCYWzR9K)Uji*l7>75*n=S6t}`qma5 z9uxegt`4bxFJ|t=p1n_z7jX92VytVt@-1laN*)pi!$jTXFKj5-bkH_YXll;5d$$YL zTS{%)I(B%PvOGQhhba3+^yVd(1WD6KZw1O+;pREwl@NC1S9>;@ORJKrbr=={^a7r> zb#1fS(6oQ5Do5+xim##zVMAA|HjMA47wG7hJ54>CECY4vW5QN0;MR&#{8|aJ^&Dna z9`hdc-Plj9X4ahN@J7{qBv+nbP}pGkU1}ly3$}Zw`t^?1aeddmbpM1u0Zhx><*{39 z)fE|)pE~X{oTB&hiTjrsqDm!0%Lh}MZ9D$};7bgI^np?C=R{HpcNujql`hgE)FlEZ zFb~qY5!Za6rKROmp1$}Scg&&JG2P?%MvKp-((~tYl%a1Q>WydrHfx}(aKeu)G4VA~ zHx7r~scB>_KrxHr28l9LnLGRNaHps1UiZU;d}{LND|hrXZk*8(a-|N6wpO2Lu@I5n z?tN$nE6qpW388*%OH^?$+b%eIWRMjkP06<>h7Pv{S331gT3=gVjgQ*caW4NhfpsHU8d;03B{c{YDe5S5#F`xKn=b@ zpm?%HAVwLjmZeOtMW&j|&0mSvoH=hS>L)aO)_MS6(t1JrjQaYlUT~P-Mb-YQv{WUn z--Yi$3^y^*4S0AqYy2RsPv?w*yaYKI9$v8()G&DKI806-~ABgoYW;6 zSq^Z-3(IE$` z0P*N>?vm<$?FGJ6;tsZBHtY3zr|f^$VUMaP-&hNFZwn}&RBxzA+#YiDJS60Om(w#g zi4E=7N&50`Mh&rWTM8-Bkq$$pUq83GiJkDR$gKFQRZhWY%VO%do5m&U?MMfY4abT5 zLdE^#!6@4o1wEt)vVA&V{;A(=ZLTZ-7i`HFK2$Rg>uVd|_u`NEzXyUe-%S4L6IviU zrIIXvy!vTAoViHQX|7c_d7ee$cM7wo73sokV&-`y;g0oT^B8cgPzcOiR-~Kg?+dy8iAB*{qkiGJl}Bed zl!8K2bema;LD#<@=vcT2j~2&x>e`@oCq#^`l&7I+rOG*M&+G~f38})1d|L8q;0M39 zo{lREqyV1caP5tDNS-gu2^qR%X7HYg7e=91yrx^5*fse#vHL*ja&}nkM)z2=_J3H1 zDVlm53)#JTFJEa=^)v<(GzL+fd7~1^!VtC795e|J;s;qJEiBZ!b`}z99ihYb*a&cP zR*LPcUXoehgh4Zj^ZtY9TijYh>PPM!GwD2lK1MjfPwk?+@_m|uKo8&wnx;kFlaYyOvKDM#N zwJcY+TaHokOu&)+U(u{b&s_VF^UOkS@9+uX%vIBvya3hQ;WW(Qm-s5TSe0S&Xi#sr zeG#WP5AF{HdQ75MZjnRas{-`Mrg5w^ZRmpRZh!A)|DLsX^OI^pq3U3-hON_q<`dTMD&6qm zN+a;N+DBOAdSc$XNAhB6G#nrX#Vem(uEUJiY^`t}AOY&i;fushm+}~gA;AJVY+B~J z)3=vd9C2$~3TbHJBfS@MvY9BiR$9AuN*dZ~lI^|u>5UpTR7qn;uDVrAY`MZk$}ikw zdx8BdlSm`8wI7WeG#Or7D&4gDT)xN8qrYyD1DMA)H!!i%iVBwkWzchzIb$h7->US) zrEkJLQq*S4Ip%DT*=p&nqE2sWIG7L^{!79V1gz`w$#|-JQTdy%$7^#O0_TCZMK&Rv zV9tF?&Oc}{w6iXV79djCyviiFik~m`b861ceG>r_sEoiw}8!8PC-*DgS=jS(b!f)n-H`~y5018p~VKSgEK6+Y8>XRp{pkI}~33;1sf`gQ#bt_sz^9q*#x9L1kO<@XU!hV%2>7^y${Ak@CaJ zc+bwr+6W+%Q8k<@tpPOIc-gT7`_*?$10hi>gCQsOsFd*8e zX{#KTQAD!60BG&Nz&V@HRW4a`4ARsEG$nBme2ESwLxQFfxEse;9-E21KTda9>A+*V zJw5LUw3pe>c644`)VW zA0-56_4?GokQM}Cy3-GTL_~RKbW`C;M4C!|RWA68ZxV8(@!}c<;wErX0ZUTFl7nz{ z%&DD$lWsP-?p~LF%$A`CfMVSL#({2&A-nz$UvC0d_qkW)d-l2h*T3sJhfP*% zz3=lr&wYQU8|x?v=oVj^I9h2vJ-vt=YHz7?DCkJXGTwToWIK=&b;u|LWY_e(3jM+HylecD>PhucAaVmWkb=y6-7z_0H{KD!>0g1X2a1( z_c3neQ)A-;2F)jwd>8Yr&zM_VSK++Wz~ky4P(5R%{qgeA8DQd+v4b7P-d2{eZ!dCG zrE9NogPS$mwnirrd6GzJp!?6s&28o@50;eNeQj4RtpbffZ>qLd3y0!i+y|&tJl>ZB zNm=PIa9g8K31~l#N`{yhD17~mFcYL;zUJ&{$hy?yzo(1z)W! z*igc)QMH6F`v$Q)1F)rgDvR)9y+$azc4NRbovS1e^&jY4z#`dA7MmIk-t)0u=Iw81t{!uKL zeRh6d307GnMq2|WMl4L|ZT|Z6&yZBOpgh>vHGJ;SSt(d6;~65%7{V**d;^>{sWyEN zfZ*IQ;g*+Y)$aY$Dp~5~Bdbx`%vI!rra{q&w}^ z!y|D42s3?%^{&3)WX}0;SS&CMHxRo8*OZ0)K2eZ0jJy{6#C1PT9v?FdS z<{e-w;^J|`!|!E0sqk$L%7WhTSWUqTkO|MAj&ta`g1SzRPhWq$v1v;K0+3XKTWJt`{3 z`b8hX4iiCy4z3b(ahJABQ+sBBW3LKFp zU{i^yKX$C_*^D@FFlcRpA*5fA40r4;#opNxGvN*oL5&dsw;zM&b zv9A>OYshonxT;L!=shEC@k#RUkH3BeX%|{MZAIQW?5lGxEk^I~Hz^tK{C-@z$UtV+ z1QVT9`u!_lNyWi-NvVZ0j{V-N|FxKjdA5E0#HHrK-vGeLl{ay26hC_9ioT)k-Rrk% z%`^`kaz|=O1V$UQ0u*$1c2>pV<%y+8T1GT!l?xBb+zvtv_`6bYc9sAzaNXaR$*w~; zg^T8iG98!@FNWRN$q0q)LI*O`(+~$?!bSx26U_sb2SVA;p-7sDf=zaVTA0fLezmYy zZqCkS;3=&z@tb5Q;FrOwd-?eIAh}E(DncaNY2l>E^BnONg17{5U7YJm`B-pKq$~mB z6R8^N4BbY1>j3+rx$}lPq|KRFYR?a+r$bk=?=;pR*n`@fMAMs3))%>Pe&Wpnw}nn^ zgI2s@SWaJW@1gD69j8s3Cbo56Suvh^Aaxgye#c=R31)%TOO{360fK8lPgG(^&%SW> zYW_bAZTryXlYgpbKC4KInUE+tnq}t;T=ITpZe8Rjfwx2Iq32nz^Gn&_8~$VQss6Da zXG?cRs%B4OZsO{(@1DN)iaHjSljjw6_xo7ODU-=h^5Mk3sg~SuW!$q3R-Nk;O(wNu zt8`xb#62^qmTPX^GV!?`b9ulfvcE2*KU^i8n5NwMa0bK7BWBzSB%v|Y^i zzf?{1`5iS{r^>SEr{@FJQ{od&-GUzFA9^|tv!CdLq0kepWs<5=7aS*Pl!-Und*~+; zrFDAHL|}uWc8cn(|6KToo|2<&=LDn<@vKv=U<{+P4n?$~*d*09`LP`>e^$S~8|C!; zBo3!uRs+Xr`$b{j>HpR&y04yUl2%>xJ)mkiFeWnj67-AXK8~pip2z+8aal*4(vjHx zD;dE>f~~DC>~EycPhXwarurJgc}tc=9A2AWP%v?HPy9UxN6n(C*LoCZHym<0;I^*tjSIe6ybK;uoE-mL4_Cq*BVuaze@b={wf_w|)I z%~c)$URIwmxkFBTlVk3@pI1zI|KD32QaKm#N%r+En0yWT#fJHQA$#(MMla+Ncym|a z>&X77BTAANC)ABUzxVo2K&0x1GfO4F^Q6Iwds7cBeV5~|pC7LRLcqCPYcAU=daP5D zw2=7673H}8bD2gIcrg1mXsKE>2J`;>LHNy$sjC_CsY0MFdr9bB$Lo(K5gg&1v# ziB^;&J`r_b8~mhHT%goiv~nfT77?7X5rFh@K(YX|ueit0vC98HGiR0}^THCb_-HcL zWA{frO+v5FU0q!h8*UBhFxg+<1ONU{gyN#MjyS$c7gKfh+YX3d+Y zVs#eBiaPXWg9srdZXKt>ll4l5z;Ki{tY4qE=?J#`72wcm%P-M`KLv+N!al$GF*wal z(QHPAxDRCqM=9c5G?u)pJ6*= zJGF*-lW)3#7W8bdxUCs|e{vb+6Mcz${{Yqs-fzh`f6?(OkXnMoR=8=b=$Z59R})JB z6zr6BY92pwQj~x3{)3e6P*aqH|7vYj=Wa%)MKyJBxs4fd@qi}|0pK~Y;~5xt(u)Jm zp4$&asqOIlOC+l>GV-J4Q}!Zz>S%oaBFXGFzcQ;T)+;^Z|E{sm1>t|KXEcfZABVyO zyhQx=u5F0fBm#DW2Et> z+vnjmsHsRmh_Dv!dx}XObt#^QNeJ|P9BBq5P~r#Jos|lhyB$5#k?YL76$9v;6;m4o zP9x3UY0V1y6ty=!046wIe*>6*AZPjchcI`)z9;<@by+0#k9G)p%3#5Tv@Eb4sJRB7 z0}TYpDJ_Gi`4S$98c} zknm7kZIF_x6FYK$`!DzhTF8&upSX10W30XoTpJ)B=TC(=n}tEw;muG;Er4^YV`6R* zXlzXp>+O_+LfjPV+f^ZtRJE&t!W4{9y8tAb`%Y<-5q3Euri?HjD+cIMDh{n5}IgB`6d)ZFR-aJ7T|9R^@fvha?=vV9sPz#PvZv6hm@WlA`1Z@- zpz`1y=zUsoOBAhE;>~c>UMD2Tao<%mD)7q3;t&u(4~z`c5^QU8vXLw+x(r#A=tCc# zXEMjCuGZ3>u<3+7psS8A@ywLHATJ4wM1 z{n5l8G6)eu6tsob`F-G;>K+?h$0qdvoi#*u522Qd)J;pm(`MwebUtxSK%ryMtaae_ zZ#ewmPd(eVP<6Kmy^K`qqX8f(q%v!BF`=au{J>MYD*`DOK3=1z5Zf;4M@iodTthvR zx#E!KAQCSPr4cd{kD}R2Dul36O4rV)`SKFjrm)qtV`l*Z?+w2mIy+(T7%)w%MnbfK zo~A5uc;8Bg5PXUaVC`8*A6(-w^6@%$1$!rpBu&sdpHH{q6OnEl3F46T3slDGHkJwF-4E0 z=&C|MHM^eLE(I&*IpB=1))MgK)AWa<@}zb z&4c*MPs03Us&Eydr@(nhw!d-HrjiR6U(N6m(bvO%s!2fa_qp371!M!E1Emm4DiVNb zoR;9ntubEwX+P3wM3e6XqMINxVm&PbKt zUPBZJw4XpJJbBx&sZuo(aJiX_$x6jj)drT_8>ZxNSUOIt1wiW$Yqk65VO_|Ut?;a< z-(+akj030`?4fq?ZZI<9E!>Ka7~!O?<0w_o;sC4f!KQh){kjzE6QBVc%n%%@;Lu8e zM#1!QCm6!R(Dp=+uPVZpK^4;>rk+;aswGSEYimoj==U6*A6`G$C^c9lkp15INx_w( zuXi=9wY3(t_t{v!d6WZn(VQlH0AQZ$%A5S&oT8_V)#ASjL zE%oGhZ`OQTg*eE|t?WT1(*=|tA6c8d_0$ta3j}uw|sEpL%*s;*xto1 z$cqRJI|DL~B))irV_ZFG06X22$M>_fq0Be}ej(xbi)jkOBKFW86%QhQ;?$W2Poz+* zk$8+X?ZGPm;k5tY^o#^>Oqin=^qU8md;#hG$98*EHHn}Pjlj;skmso*sR~MntCX2zy&{yDp&)D1aDkE7z%Pj5=0g$F%vyjCDh-OF9*zA17vLTOD_PE8~3?# zd-qY;1ytw$LystF<^i=Y0y*Y@!GNkk@Dqb-DjzB2`R2<0jJWdS+2z5j%yaoor8td- zE^jldd4#H;kV>$~kx){RD+*xZ-BYnuy#oUkgwAvMW8IIog zvJ}Z)=f#Slltxi;MFQPes#=WzOTX1Z3YPG~Mx`J5&k zE;W|+je|FaJwgDSFRc$=BBbqka!I%+FXtS7GP66I;z_wUccq+6eor_$9i95M0HTe3 ze*j}1gsi^Sb3T?u@1r14knuEQ0h;XNca*xb*sc2`=_gu|hjv7&O>!F?oxI|VU{x&8 z)5dez0^)*I-QVO~NXK7uw8<3l^KTBgNkg40bS$}KQ#Dv7QjkESpoW&gl}9#`Dn1lk zuYsN$>4IZH5x|FvBR}j8@?#F;;Gkj~ly4hutCYhin!>tJLNFyHj*5g@{NaW(rH#Q; za+{Y(Lxdw&;3F=Ak8Gke*$wbq4F$JQF5u$alFHS5C}m1#i=^L2M(ELIYObI`Jd6ev zCc5wh2p;GWL5qtU6Ntv-w3Z$E?7{B$Z^LF+&~>|qWKC8DlsqdWE^LRUvl5G&TgaR! z)~Ml)P(q>$I?dGpuL*6fqc)~KnNt5+!h~W-5&3|q`GKEjD~_aHhhL*$9spdpEk3T(|wdgg^`y>=Ci8vI%$!5M^=Uv;Pi!G9TfLZT|Fhi@b z0e~*#bZlocPR@2T;iPs)$ufw_f4x5Q%wGK2v>&Gt3cTUaeMh5octg?}_FIByaGHjY zK#Paa0b$bp-w?k9;mVysGcXFVK4Hok=vSTm{XtqBMFD>>{ydIlp%zVW9CO@4t$9=s z7#W$4lI)y-6XELsY)NPdD?~dM6LGJw1TnJydN)xaFU>)H`J`>+RmZ}fbqd(5#4X=Q zqP)fkC=)9e6mH9|$dMitZ+u;vHMB$u&dGSuAR1tZ+V@fVzIqVekQK&2zsRQm@md8A zyqF@w0c>ih;Me-}V*UqSF1d8t+Z+#wo)6e!5u(mSdaB0-OrlsHg3PfaXVrkq!VZyN zafg_E@LnhHbYSZs0TdW2E@AEA-rf@I*OA~mcZJ`8^`59^@oen1kyOHAA8kcF=7ZRW zkA2ss&knP>nq>K7+69k%fU(V}n)c8`|Ir*xOa}Ai^+w83x_fuLN6ZTaXjtu@PhLm# zkVRN6*i@}&rwq3IFj^DXTTUG9K(szmU(Vn{M-D%4Sw+qk>?5kT`tRd9E3z=wJQD6f z-joq}Y*n^!w@23>WRZ$#SM}ehHaf7D#k+2^FmD6=-;)h6 zXVjFE&J9Y;g74^u;G>kw(gsz4na;K#R!T*d#?qeHT`0oON#j^LjANm-f1zdr$8JiRX2$GnG~@L4jxHv217A!n}6 z;v9f6E*_;WnFCQH8(x5_@UV2a-MwT!X7}uf%NX)Q85aSHOgk}8Mo2|5L-l!a`N`?FW?D_ew<={3S4uvnTa5Y)EQwioZ&Gz>O~bw?7cT|rL`MCplB(GZcvS zV)^WG4!WWkJ<}M-4oVJ1Q%Ew?hIB}HKwngoqq`TLv|M$W~9lXR4a&#J&x+P0@R~m z6YUQ**{5;RI`tux-o!>;Ndb^m1x~mv)xQwYHh(iAakHUGI|#i&ybBT`ecE*|sail9 zK=d&NS3MCwTReI12f z)QQX(29@TdhJnV*%-M*--pF$1ZH^kG@~;B|8021xPlM+!kijmeC*IZfp@YOqxNai5 zB#pcXsPH`3W#yw+wY0mh;ekzeP z(s%C%0zt&K)?)*h+l2DEW?=XgmQG!X?n!hzSdmHXH3RSV_wK+BnP7VsRsWnOyf?nI zZahm)xn?(R--pE7sSk@iT1q%LZl6g#^TT0RA6uC_eQOedTOa@Js`XV$R*5KvVr$)6pxJ+HYWe3(Cbj#exL-{V>D%h{Ss7KlR|1a+l14u7K}Gx6|Rt@Y;nxJ?^87RuDT7f2c7AwI=RNT*5+ z1&cu>)1n5w3cS@PxyU|%C3DdFEa?59;|b{8jmHILv2*U#jH8Rgvlr~z_J5<$EGzjp z#)1xNr`tT1!`;+CzYa7d$^KCzbQ1u9YAv^IY#YC)qB{CvGrW?h4Kz_%lfN5VsNo1( z0Be&6SaUVA8eRgWKW0pt#5j0tZ-|JiL|k~K2Z`XECa45zEYq<%Pf=q3jb#$yr@~bWlKdQ_vTUC5Pql*$aFbzt`A?i zp&yQLzPI0{63@M7>K;e}@3fjrU$^X9R9O5n)Eib~`~;L0i2@pDAI@{`zTj*t@#jys2hmW0Ttd z_$f5bXD}+%DFshT=x9F!x%r8uZ*9-5yTTku*FOm@XTo=Ba58}4cR6F1)HTh^07^%y zk9gB!AWTc;ZR(F^A*F&{ur9@Y`Ea6Y1Jcj24;fKuAwmWF!m*=2j5^orrejx!sFhq3Aa-L^7^)GdsMmiC( zCK>AhIo;+pdpH~70y&pl`Y}6iclyeIW);jYT4{P`V^D){^@)ec~Ts4YDq42cp3*Os7F3PLZYHESlmHykj&0PZ=N znpEFy-l$(p(Ox*csD3gMMoEPmRtds~?|lzrsD?acS>P(|^%-dzaW@n1Vk-eCw(E!| z^feFZoI0md^*Xv5+BbXahHV+71;X;txw7&VTxH6J_tFm~!U0FFbioXZvN7p<=`f0r01s8ssh;o$ zXg}5&>z|E6JK2hFwtoGeJj?@ntRT1PVDa@*$F&n#6O7BgtFpxg)w`~9wsgfLAJO+Z zz<=XM;4Q(I-$Z$)-_5n*ynsxK7bz|SHoeo1tlBJ7b9OHaXI%^yO%!D3z6*M=O~P}g zB38BE-X-zlTJ8SST2HtjBDD^chTB#9NM6k;&&3lPI&`#gkjRX#nhPt*Zs{l*WMQ?22yoP7RmSWQ{z zBHx#LCNv7G93UB63zA{ij5ur{hT1z+8Z&3s)hVn_p`o-ML3gBNy+veH1|FW=nhP+tQcL3F$vO z29(dI{O2`_LX3Xl=p#pWfi%lu;$Q3F@WSlo&t4okP|R%9!Lk{9B9-qsu-4__ar{NKmsHt(of0pt{KZ5i@@`@5r4!QfY;+8fIWgcD6X&l88tXk*8vAd zfsF=g8o{RtP*3h#=Vk|3r;_9a@ai13+Ocz&bE>5#ylk+^Dvh8&;^^H^d?w)oNC(ks zrs9Y^=ZZ2=PGm{&^1f1({@*Eb@+1+xhXZW&w5vDsAyUt!5CfVK}*?a9I?pq`#!2>I}mth=B2s^r<9U z04EuSff)+;{iA3CHwl>pp28sELLkdL5CsP=3-+!1${HJGfqoeSh=`CVqO*nvDReo{1 zikrWDmW5{Y(I6rV?d;ylYTj7DH>YWa$n&Q(A;J=KI|^!$35Cr)LFt?;0(u3qB!aT? zgF|qANZJ7Xp|C<7;BnlgQ{@dOS6;6c2u9d{B$ex?Om%ExA;yuYGr;LsiM5{xEg_qQ z420CuM0{yKKKU1#tP?4cEoh4q(LBixzq@FCV;C3~>DaydAQb`UC+|N*lSiREHswM@ z(CBT!JnSdVCps|?qp|MQJ!3qL=hULfDUqsg0oI=sC`zTw8=#W(s!A=<0Ik-8=!$;^ zpwHMkTk-n{eqxM5LnAH*sehDnX>HG6NbQn`mw?({94+bq%>`GAA&ciW`&Kc9~ z{RL0-(plW56%YFkW%^Xb>cV>RSrw0P$hRf&6k^id&2-NzD!c-P1>$qpqy5ho14O=w zoIdTcep`%BF8zUh+qyvH@vCiDxA?#DU0hI4Bz2%#c7Z&ok6WmAKB;} zATjHWc@Yp(Q!EmevjPjvSs0aNwZc0EjLSl91m(5ijU}|%=ap{tc znu6Jhz!Nml;S0StA&Kq%`}cXL-^rJRuM3~eh+U-PJCZi!;$i1X{eW!e5>@y95B4wX z5@-$zu5byOPhJH?$*Ce>4=u%c4LOWVd2B-3i{3}^`UU@jn;Xs0oO`Cc#xOvBwRUR) zp9cDTX){myLh|`IUVjHc@L#herPzLb4xZWQE7`t~b2v}x@NhZ}t0eczUIpb46s(MX z0Z=R)!`MCoPP{|M;KJ8>9DV@WGuhbzdmH_1L<$YiC4UrIujc@dKbxOPj%HdpFtwKt%id60egX#do8c92uHRw8R9-(kI*AONwB3s5`1OS8YDFoSJ{bb<_ndhLJ7f1Hs@352^@e)hQs)l%Lj9uVQe$C5wX zHxs)KYrLf_Fh=JZ)janRE7FzFVdL|i$1{0(4r=C3p0%67V-;=!%i7=}6k8D6qT4u) z8)s2kH=~aW40CV3*t5(1Vf+W~93Sk%8Smt(jD$ui*-War7fLi9bNT!4lC+*@rgspi z7f*>7u$4DdXX4b~68ACLy2}r}M?kw=1oU>cFyja{fue864p%jmNn;QE)C;w1)KDkb z(i1XBhaukr^QH-FA3chumJbP^d)-L}8UJ^9_-WRBCx|po4oi^r$7ORzEZbQgzy0N& zZL+reZ={}Ji>e(9TYxa)Xv^>2mJCBCwX4K`(hg8h8bCs+(8POon!}M3W&uKps|V3! z=hOT4Mv4kE$CB@3QF2vLDk9=%G+VrMDf)mU`$qOi=pxJn9rjaOH&iin79(Ol--WY_ zyvR=7>(H@pJGLdz8*K-L2YdIyd^Py)VsUK(@q(1#hpKB$_SX41?%kK(+uRvntV{g{ zws5Buyi-0#%V$x`dz_pE0%W%jy8%pV1GX<#2+#1*dv1vUF!22Q^UpTjuF`XL)Jxc=U9mEfXY*+LpT>RjsJXPNXBbj7)@^s^Lb98b*f3 zUq}T%&xKY<3qYIFpe%9K_}vpJ@_hF`qMOIP-n`F6mRI--a^4f|*phUu5Vdt}ahW0E z0j%hBoz?hO4vt50K!r>hz?V+5-(On8z*Q-uc%!T2%1hj0b2gSubSE5%iI?P|^Ae4%X0bM{&)m-UTrEq;L!^2Q~N< zv;{L5zuh}JG@$||28#0FAPepLNY%Hu zoF$T%ODd`+5*2_#(Px~~h+xsC$R{|-SlkPjED6W^F@`397BY~WP=KM35Ut6UD3{GCdiF;q~#=ocVQd(tY(A) zM5D`ojW|DmFy;97P;^KlNsG%Bq1@p#fDaw3;XvD|<#ZlTwpBW_+@SI$^+r2sa1lwU zo^Xaa{28ztIoWVn17hg>5PcTU^;+5f!p&$z3{qW(hli`t9apl;wOtVMVMhqX){zer z8@fW|C8sQc#F5&3EEDluF2p_r_3y4Ucj|DHHnrDNN z9q~+iIzlBOTJ<1k2&Y>UB?zNUE$?5-n3&}!eJM7`-&+>+{4qRcnwFN9 zsjfdzsw1mpD`jzrEdjSp!Au}o2ySKbprEf03_6JM;dwa%s6=Rw7>-y!dFEMjabTd~ z+2FkliHe$e`$6jxlZbha8x&Ll)@vZ@AGhEjU?~`2O`LTt5t#B2t(wlg^MLOun0i-k z2tE*{4M8z|80-tmw@}04Am~GvOLf*f08;2Aybmw@0 zU)Im-MT5TJPUl5Z*AQWY{*|aHfyH|`Mf7Bzlovj7vCO|6g42*_ zbUJidOfC`Ypx!1m07v7qCHOrA-uTNR8K+>GjLoAUrJO8&bDz5eQj=&YUO1{)8rm6R zQK_@U9&8CRh&NjTH6n!plB;;|SrW`rAy|+;L9+Y@1ESF$<&~G0Z$h_AJ};eFDXO-C zg&ymegDiuE->?a3U`@{X{PjKngMx3vn5DoH%7KHB#6yGN7i*6Fw$-NhI7#h_Zpd|H zfb6C1^X@KMnqo%Igs{I2Ec{W8Oj!tc)_pq)DOg!z3lRCO(7f>W{DR|-(h&hCog5h( zz_!v(EH86J5cg>kBDe}MAJ+G~O~U|e-rDEht~ds3X#NbMo-h_KrE@VAfZO?{?KH*w zLp7p8YzHSjORM}XEX-AFjg7jrJ)7VMh&rT5qd_Cswil z4w)%aS^~;hh-rYqH5x;!)`Kt?h~4IUfULd{v_(-?9A-HP#0o*M3;hj+d62lW%~oap zuQ0(vpL?FLuu6CyKLdlS97Ly$=d2nV_d`f6Oz=c#c^Z$BDj%z>po9nI4USwNLL;yX zysoU=S~`sB1NT5JT zKKE=K0t85!0LP(Z{wO&+kugB!1ysAy&gMw^FIbVX0FQ51?UUTtOMfZEQJ@i!Lhn8- z?y~P3bJ?y;X6~h(P-O4-V_tE@FP}1H?(dTk_YdV)4iQibX|G&yXSKU{{m<0krEar| zj6(J`X3Em^L#oD_dT^AQ>M zY*Z0HXp_wNiy14aAj;2?K)a5jiw_iN2533THX>6m!Pr`M6z7G(>v*kl@UKtjxXoR< zX*<}D{12Ox=FhU|UH{<$$CNiWCwNtDzfFsZz(?0>n(wlIzp&+h*TIY_GaCo@t&K7q zt5%Q>4ewQf1*b2m^l;ztsB2)jPSU%v4QxRsPU+jHTtJbZ>0=tRiN)hZxS9^B>~Zui zLP{%%-*K(-d7xW7jaVXqd&R_1Z1=`E3jTxMsK>vLP1RHMu;42i<0Ci>+3xpy(mu_p zuumiI$DG^+hGM>Et{5c`!M(eBH74k^0X(UO{n;m$Ap(md-n};Z-A2v*@T$ff`#C~` z{)U6&_^-g5p8uQpQOcEu$onu(P{fznM0TJphBPG_JCGK56;@o_c|W$)8EA_t+4V_Q z44?4UHwGlhpl_od5Ywek4)#-@{$V@Q*JmMZxqsGNuP>h`LrmB|7613>7hKxoe_+Yc zDyE~50%1_s-$OL<aE~c$LlnJz#Y$m3ZkZcGBcU5 z9O!2rk#;kJJ&MC{^^zsoc9-+b;MJVU>R`V>hzI#?*k3k+?=m)Kj6ASxa(ek~$V>7d z!}Cw`pra+VaP+n6iSHX$T3SV76sE!a(`LE--&3AOci%N@LZqxh+<%MEm8QCfi!STb z*Q!6J!VdBTFZC#nAWWMK9NTz?EzD-_2_2~ zW@pzIqx^EUx>Sw-i@~4#uIEKlKkyMots}dbl7Noy_^12W@c^w<`f`-L!@MaAki|3& zr1VgP_+~byF!^fR`AKO?U(b19Gx_%%_wM%|@812FO_}~q?DwfBkn8sqLNUh#76}WE z_0P{HG~?%&+b>we>@Ts#oVmu?vjoI7*@kEO{6D|qfBJ&keqXRg+1CP=AIwz|7XIfP z4-TzACtZ||1DpIq-#+d6@!$4h4xWubsMudMjh$K%aB08QStfqKqOobw&mV;kpF8)6 z3)^T8ukVBHzeK34$TzgGq*(F*XulO4-MXDB_dZ}D)0-( zP>)Zl0 z8Ey#w=}l$-=*fTQ-%(mRDkV{~X`7J5(dyvf6`sFy$TTON^FoN+G2KuptN*zT@e^0r z(d-nYG|nyn3HH3oH7(1&Iq&sCS|N9sD7$LJAIre#LN=wUXpHNQk%_UP(hRF+QxNG8W z)b6It!xBEATNuAs*87o_&-*!_Y5Jeno;&eq87_>NdhOk-S7VK;MroE^oBrRA4qm_Z z&SWglab3La@@s!=eRNdxYijB#3r&vRJGB`)b?I7>T51-JJQKI|c^?YJa8&zb8J&fh z#rBLn4)k>LQ_wz#^2Ea0I!PxTqDG=$kP26VwjWVPd=QJ$zzt~XV9Rue<5pjX_} zOX9@ofV7G>$i8R6RRkcx6S7Tm86%LLz7gd&H(bV8w`LO_;#JEZg-NSi`%_r5>HBvv z$&DN~2e{>hG1FOg`0haGlc_6ZxOQ@!h0{=LLuMuvswRV@$QvSTL_5WT3B6XHd|M5# z{y#qBaxdb5pzskKL$Vt}>h_!8Lw$r{0I{gwB5}fkZESO1r+~R#5K5MkQWa6kkWPf9 z%0cW%?-?!40I)!E3;1f@-waO=VJ^n8O6!*qQI7^Ji~$-RfjS4qmj?O-$`ehnWAsQWj?y|2B{%XT*Hz%L!*TK%p>#R>dUKy1NjBIdAw55iV;4HeJN*2GS(~fJaqSC_ zV)yMkt-2QrF~wS0im9J8;5g>K1EezLe`fGn|6c~^3IDThltBOvTY{`W#yr5C4AFL3 zt3Y4@fhr(g9)bYHD4qnVDooP6Rsml(*bfy7H}lJuU|FK{CBG+1Z*|n21HfHEHYUje zsbQ=3ZF=uBG)Zn-z0EGXrz&()acBYeg|}>?(PpS%xbHdX!ZN0h$!uS?;{NRmH}t~d zi9m5jT$id~&g~GW4IW}5AgP@#!TtyqZnB~*9$0yS(BB6*L=kor_lmV6jIx-*T}e}@ zdlEVhrajnA4jcg=b*Wn>{n)^OE7AATQ$#Vi$b?Fg9KvWhR)8lRuZC+Uc9eOiC}MJ^ zE>0G%-j+agQf1`_mCiq#+TorXn4$3_{|xxc+nr75&uuZrgE}o};80*!=Jz`(gskP%ly(CGkn%QvRZ1Z(SUquWi+9p)~tKKA|`(O{v_~wT6aIEb? z_+5y}v@jRddkuZy3V>B6B)3a4^95Y)af;gxJGC=ItcIZ+c3tSd$#DnWZUod@1qRqT z4g*pi1k0F*0bfR`wbW6O^c@nR;?f91X>{n6%@nQI^ZB#UU>)i4;YlM}t&k=V(1Q(9 z^^CwP^t+W%kkFjMg5rLtsiUBM>Ht9zFU17N@($a+%E_ULOsQax0GXkqnuk@O^zq|I zCo8JJVY zuX$s3`oBH*nC767}z4aPy7IR;IJthCCJc7@yS+-qIWCo9^(WV|jt@_uI06UcVlN6Vmz0ht2iy zqEqTvdui}>B>XL?dwM<&P*)^!q9bB&LMo0hNW<1fcl2Ncj|nVp;)VZL7GfQJQkV!{ z1o}*JBakGjveuA@IrSmgL`^71fkqM%_)J`LSd*B4U|=A|+KZ58uHOaLVNdYyEFfS#1gRQ`}G zrZo%+Dsd2KwBjdgc3~W2+%o4`y2p-@#S>#m_$yD|eMOZ4c(^mTW8U4ns%&~&cBlT( zyOV6dh0E!9{a1F!!8rawVXIUDad2!r5FmJKrHGfXkVbUtR5FBRL+AM3o@i!Y=H2gm z=vVxAPN~4hU)Jt*DZ%b7WB@xOahkNnS6=~PPbfd&+PjT@0%~Eca9lg30J)_WRXm#v zkJN$h^6?|=H;_T(hjT8*{%(M1M9dnp6(lB`Is3n-5HK>WoFHC{VgvsWdu?lw<08uG z0sL0<%}$}3TuAjS`>tkk5%WeaXTMxZALy0UNwtgsd+jBF8Ab?lhWuHcs~M2e05UGa zE_Z^~8M^$7D1q zhr3hj83F#i?WMaY2XO+Zcjpsscouzde9Pi}_Fr1orCPK&{~`AB4|YPq#pb2Wz!2HG zN}C=$XS~uY!Pv(!nd5bvhF{JWd5B`L%~=gZI#~Z7o7p3V*naByDg(aB5MqN0DPJTl zZ5r@!b3f_<51C7*yD^Cgye;J-()b|a*8q!GLxwE&PGKzu5Ks+3e~CwvhSe;DPLE1V zsPHNM`@P+fI7Uwws;dN-^Y2qbA@Mg{udhQ01I0?hTRwnOxr1WFQP%@s4IUeR3LYhE z1m3R4k>%c4-w=Ela^=2yMe}Z~i;L^YxJ>86rl)`e#{kJk@NA>uAIZ4;qX;q)yL%AF z#;1-B(@JgRG=?z#r63pPt|+IgEW>@QOpi9`=k=YXi0IqtbJzUJ73p!~<8DUap^lSj7j^H-b{ZEh=KtTnPXM4-rvWYQNZr%acfloJ=b4uA9ml(q zIi0?8L$GC(;`9`1LSfPlBs<}ViSH?lB4rcWJmXAe4@Ud?HeN))e>h3h+2a48w?{OM zF@QZ0CucZlYb6#+U&<25=r5Ai3Lwdj<3R8(!Z_TsI}w=p3rfUQT&q{B?*0>b&EP(! zQbYv%FO@WCTV6OE@8-bt+Knw7IJo%qpRZ6Zo>+>jss}LDciBa7;7;Z^z7SRGHK(f$ z2`6BoE2!9HdJQV#p@{$XiBaNx@DH7cn7 zd7Fh6B@$H|Mc0<0i0)qUJNYu&Hq?QCO=oYR`*!bU$7@_(Y1##+JIJka^cqxgcQfb7 z?9SkVwEwk4?-26p!#;af#_DC5v~nOIE(|yBr~||sgL9j}61?4*cmOe(0ld>ysj8$0 zP&aTS<0;H2C`vWLKKpn>OeUBwAtqL~gS{Q>2MkLWQScN+|1L-cn!>ZmIy&J(kmowL zp9ypfN8SQab5UEn_irO&FXR86Z@ImB;NpH1?g2_9xI=M~VY$lh7CitLZ(X~sPYzDl zgG1N8pk73($@@*)4D;L#XCLJ`1qY2jDyA%P_%U9z8X@P0GFt z^D5`*N{5`ccJSE4wfZr3K881?Bm;Yf@3MaEj85HLEKc~reKHpIV7Rw`XLc{S$$;pe zI0uXYztLiy47y$m=4*}tx-hTxhu2gZ)Z6zfQ$~u|5G=K*G}*zD5Vt^VLq2dUsYsH0 zgL?B$Br80`29fWbC?vsdnCaHa!TKo&r$z+)q>q{%9|NVHz)~p8iq(-@q!ajT4}|*_ z&}bHnphd^(R8JjNDgpsTc5O7HTFpdm(-r`-!n*|?bx}+zG{GWwYGfZSm;s>_e;(Cd z0y4q~0mnux#>l|yv#P)#-vNH7^>5P21ddL>4eEMztbGj>J~VsdGID>!SM*>nUw;R6lZxsmPhAL(cm*PBAvkAQVUhy6>MeyvLw0dnAy@f|_69*p z-S^Gt&ego;>*8ZWhn;+ze^%ilYC|&|ujgE9K$MAUOVQ*MXGcM+uR}(28)V)^CT5Ax zSF2Xk)yP}hbu+h*0fBqAecA65<3_UHfw!M)K&CMPwH)EEp}gh?6o|>elx#Guh_g6{ zP`RVcUDxzuqDD1od+ns<^oq z@0E|Zv_sWKtfP>Dyu3Va{*EgG_Eq|5?|^D1UJSaZ!rZmIR(yuXi=$}^=gG1*s0^KXIMNlA1{PS zuo_&ac(X^ zXB~YmvS<3$KOgM>{m|~`d!HP-=D2Fwto`S23k&^bJ5x3&RG#TIyppon!;s&X_qT?) z#P~wVi?0KG{ZsC|bGUTjQIIYyO=(R;`{6h{%^WTNy+=c_A0fEdkSI$;P5)iX?@vYE zb>>*Rj&dJx#Y%q&!Esn%1945T9sq$-YRY3Tp~kPHZ^%^E%dM2(F7fyw>(>wRXZugJ zefb>jWxhX$-4A@9aqIiVkex5h(xR^HKl=CHbIW{R{vIk1{PKtgzcOPsPNV&@mq9%v znsD*+Yoo1KpWiMVw#2AFAY?1zlVI@3)^7fmO$0YeX@kMXlvs3q0D2xB)VctmgFJ^UZ3;ZnQ zFxm*^V5~bAD-R#hK<(PTXl(FrWvY$=2^~Zm;$H_L)3R+vNg*#@MIU{4uUyTw<@n4DTK#NUH4{(2OxuON$K}HQjFq zXg*g^M#UEd3)o2$5nU!#9p#+zP%2cuTO0xf)c7g1M7$U@emVkTOiiEw(Z)uW?>HC)+ z0N_N;nqOASL5F$-vQ9{4=AzPPR_8zF&&F;Nt+}1>BRZAfHrybiGB^q#AGNHqZC7IT zf@8zjyS61D$HDl>F&q_#0%R^9=<0eaw6GJs!Ra$1h(Z9lZ;kOdP}-Itfk$3VT1rZ) zeuF|1p_q`aoHjv`p^e!lPfTy&0QGyu^nSR?zzlUK`pyFUtVJ~72HPe*NTdVA?n>tl z4XUggxQ#D%2VRI@udB3Qr z@rnsAuW@tKn10*Q-p9OeWS7~i>vw&7{o?mfeISg7AXo9d8ZXeA*S(rIZCdGX2gHRSQ%X zEL^R5c$(lo2+ zR8OYkfsAiIuiVmnZ&^F*UEjvXzC}Dc4F$-q>TS%t=5KtjfO^sC1m(Jh!oh_zrzB~B zB`eVX3$kVdF(h3hR!?4bC%*=8;BxH0W_4*OPe`Ql=5bvkE`K%XAVLDPlxO|D@!Wzu z8~~s17Bb82-Xo{MBoiAm^6$=>!1Aeutw<9l_KIk&%`nBV>tW!o9*K;7{HZsQq_PJW zux0QTkE}L)rix{@&H0<@PonQ}_GMTbzd$$>g}9Ky6CJpMt@bac(f&}+SSi`O=w#u> z=9-u3Yh1tju@V@-VE!9hDq?iDRkCag<^PDzKG$`z4VU3HU<&7KBSPOOZ6)l}Lu`MV z09_8@zse=V=z8|8rYWTy`}wTW(=8tWe46(wM*t%#%JT3)AdGs*{;AEvZ`s$D{eS(* zCz7&;S8(^*ZMP~O4Bh1BT(p2WdFAj36p(5T#UL%nzCeinP#xf83eUYDZIW&-+q`Rw2ce7A8@uD8`A0p2ZM2-tr909hEVeFM9OMnXE zy0!xjqP~=dl9d~5Ji^4PLvICZYP?M~oXY@TGHw!qg>v!3*RS3;(N@F}op#0CAxFvXqCXm+|DC7%r4d-AR4&jLX8^*?~zHeR+8Si3)Xa`{khnGhl z2u(yzfC)@GxHI0o#8iUO(1v2T?%yO_U!|9ymPo(B=4@g&W@S8lF5>dV{9l&bV*goh zx|HRZyEnI1qkH1wm0Hoes^?1@3NgIV;5VJDA>2hJt7ciOs<|O*C3NGB(u#j2n#-sn_h18glz}WH0+^wx+r1;$kGJAvw`s}Mlrs-W z&KGYcdp)^V;hRseSz$l`4~+`PE)>E*56+u%?bcT0wN;@0G;3WhYir4>QoK6! ze*8lg5@aGW4D%Pj?=Lp7Z@B-qfn88=IJWGvNoGEE3*X`v@DlQ`DrH|L_h##3?>?3c zTI;=wP`tcB(o*>-nJ+*iK}l`gE)Bya5<>${+Cd+c*bAFEpg%bAz39BL`i0%!hk#xY3m0i+u1wP$DccLx|Q?ppHrb_1vJ27g7hA zg9mXk>_Mx#d5}g}qO?*jbwI>YFp4n0I!v3QPBXq5%-psF1b`Vn?EbJHjlVeWCm9rN z!#xeiZT5*MhKil?KjN8_u>ai0B5gxE%?i+zr!*Mow9kuHVe+Q?ok5%-@Q6xiG$JY` z&KCV|3=TCVTWu~QK=LGVC1oj;cnSwMcF#eIFn|kHM8$bz&`=9(DV5+~)Ecl-qd`u; z#$@$oE3)JC*{gOWDk(Qt9y{5v#I$hZc?hvJK_DT){;6>sWpmX5hqACrOpg{6_ifjT zKbbvim-NMErjXjh%Ex52U%mP?=|1uG)I?pI3)MN)mm9@f5oO=836h!CDdwi1Rh0gG%^ zSFBqEy=Q%i9>!N;Z@Tw@u|uO?S~3nW4CU-?!khr&(E(%) zciIahXSNk5*w%qDNait7C4OlK$Rtz;{&j9E<*U#_s>$p%#q%GIY`il7ETk?ryR7zI z4I~&=+zT~&c$rPSZroCqd252!h{6Z4l}Y&Z*I!pGc>AOoNBc-<96A|05hTo86_y3OSR(zkFXB7)Z+sV%;frCf3<-kRVtO0h7B2X zE!QX&gwb2qDf@*$0j?&EXU7(77%TDAPI%qUl)_`~%K27A05NrE9-jOiC(=Pi?(3`e z8Wa-C>To)#l-8IXhG_uat%FX_P)$jgIlvKrYo&aB$u_W;IPhxI_nJIAS5%av6b0R$ zs+q{e<~TdlY74m=@VxJ`L%}TGVKn5>b zvEtqurjIWdkFqC_3AJz7OVFvMm2F}(URCaFNf8H!s@?$?&ZXT-UQ z-es{C1^ZRp{HR?Chz{!MFJ|Pc@%(vY41q^Dm)HOgGM%MC=i#$K$dwgqND`tp3gg?Q zj|r$=2nOJdIeimw*77=x4?=3PopYCudb5`xNg&8M<${AcB?#Zw$$6_l6UyOg#1S4h z!ERg-)R9SuL`W#?PbQc@Cth3}$jE1cY(H%hh{qL;)TJ{nkD;-i+f@;n$BF&^@K{88gNi%)!`;L6)+HC<-G+QMMLa zW!Gj)LXx*JCVOZRq9zjUqJ(5E*%GB96r!|AN)hV+ygtnQ&U_z#kH?u~sXm|2`@Zk% zzOL8xdcCgGP-z5Z9~b8^9{{pVR)8R2(`?LKxj@ol?Pu;s0F`gG@PpS_;ZvUuv`=4JXnHOmIrQ3`! zak*90FDAk1eEHKYbAEtuPg^Vbz8AA@M8E-0UeSzd%UE)>SEc0%1)Z-r zWpo<`N0*|LgaCq-MZ53=FX*a+S!`Q9JXH4-LjpqfwCrVV>+%xKgGb=s_eApt-d$ z(^iI<^^Q4zm}dL_IvikV#%^pBQ6Tpu{eo$f09d=VG+h7bLFi}AVzdo(pq0&D0iV54 zdfN_(*>iwz>J$Fr6VY8JLiV`R2X$S@##S$V{lH&HMmHEyS6f=ty#I4t`PcHMNzK@E8r$2 zMA7Z5O&=R-IdRl2+|peMjcp zL8#i7+pk~0w^b8tv*LYQ5>`PFN@N@$Qe`>CYj5*GK+Oc=TQakhVr&}qR5Pbq_P^MM zt+M=O81B^4JLJd?GiX0RXMy-}Q$dl!ku!XXq~5DxY0NEFvX_>IN;pZD#JFe~5b~|DY3(x^*yJlU z?ExX=a`i>=h>7GlSe{!}%YZjgFo)Lg^u#lV{WO81EQ{B3crRJ*+mqYSc4Hz8cej6*KuMaGf0sClH$46ucS|FNU@me&kZ6aqed&w-jJc(HL@ z@lz-un^nosZFm3~p-Jj5*_-ieH1J^flZ}YCx0|>sNYN+;aJ(HDA3<~1libCxQ$DP4 zB>^imOiD_U66)pkJy-9y)zIimC=^-&Z*i-zVq9Mna>Y4c)`k{l1~{an>%k-V?x#*R zk#6awQ-3^qtlFb$sZ8-Xw~9>GB==MPdY|0W9y4`R9Pr(thvy%DS87t)c7L=%?9|zD z@0HPaCO-b=?Tmr(H!Py`eQ)?rN;V?ZV|SiBBOZcK>3B(W7~_7qo`S-b7J@@H1{7Hi*;cYTb!WS}a6Chz?^^pv$KR z3%1b5IiRg3pNPg;4(=U(%qf-w#;8fr-?C&cT(Z+>DuNq z+9oBNU?%?cG$g}?-um_}dWA&!1YByf%#Ppm?!H}~A|n+Z{1idPA?KFru7m*K9oQqE znUk}4Y^NdVRa4u59?U4CWNt>EIxW;g-GNF|9ACW)xxy_dJw+&57C0+*-dGvmS*|=v z$e~Ya`dQkVu*Kx90A9|Z#IqvgR6o7^4VK=9d5-1~FX_mddk2miO)-oM{xL|A!`Cg5 zEq5bz**I0)+fcBhb5J$Vcf_=jHea{gs@b_wPCrIYi#k*D^gxYup3lt|U35qV_ssrg zWPozb>uX~8Y|9*pbuy)iiS|)hsTB}}scG@3@Q@iHSugf+e1uITb+DN`Rxq|Wp6%)| z*nUpsbR@-0VT~crk}(G*>!EMn=Ls#Dc$Xn?Ci_Nd z-26UZu&=I@RX~l|1Y(=6MMpBrt)Zr|rkh+`TvWVB)bv`Mbk9_1oYGwtS~=V{3$l`| z1qU%{>+x3m!BiGJ!Pjt@=*3#|<7VwSypMP??^ zUhhYjZhI=gj~KT(fX|CCENg)}{7)fdkaWr1Dj)R;qp@!l1>3Rfxw7)!oBz5P+rjWJ z3L3sBs{NplyOUERRp_;G%Z66lJlyh^w68Ji7#FJa~|pDO+30qnG->Q zX-{)^7(`}4{|($)PTD6!DG9Q|b$-QB73fmjwen6ukQJ7wIJF34|6WORGA2hX9XQ0U zZ=U`l6SfPJsK~>3V4}9HgOMQ(5uxM`Nh27<2+3Uj5&EjtUZu~B#d$;fo;`EMUfjCz z4=GHU^}&u(nEDod!&QvygU95gGkyy~N3ak(Sv_e8^tmQ>O%y5d!mC1x(DPg<>4~uU z=&m}^IAyA%*~*D4gsT3q^%@Rn98yaGIpl85O5S$H+S*!?TZ;P5_P5`Dqwz5Mu=_eZ zV8}#vi%$dRTpP^mCKcM@DjA(jO&$&~kfg-@gENs)j(vTmPhO~oy=O>tam zQhyL~z-YOBF}v-xY*~e7xnE13p|8HnBKjxB6zkI{_7q)4DM{;DxUVvSSB5)vaffCk z7!?yd&VzYiWBqVU5nx|9ME?Ui^F4)9Ao4U~^h#rcY`x*bAFVtn;DoWqM37s07md_@ z_87kY(-~E9#kQI(WbMQa8#KRXq!zDjRxbSJx?9S+r!%fP@2K8T@V@;}JFn`~-}Eme z6~P|Hxzw#1$8o`2q6>7`X>IsF%-jp|l9 zmpTr6#<480!DS#e>^gbO{4si=bgiA}AK_mZpm7 z4v1~km8-B5wGwkV7DfH^Z0IjylSlk1#-w-cr}weAP018`d8+JI7yEB_(%2Iy^Vp;y zl|q$bh1_~Njlrqt>P7h>mZD@l%O3=$`(Sep)MqSK_$=2;G!0nSwANNEj5&oN#V z0iZCI&R4{Tfu;a`K|{*C{l0x?4UtTWkmgJASP*2Y%~sqa>>)CJnN%Wg4@e@CK!n4` zR0fTj9xzDd5<3KmkcO2|#{mIalW*foA}2v~?cjT5Zxp356_-7=wRqF z0-R-?Tk(76)TkNJ2Uot>;`?3ORYx_y{HyVgUl%s%sWN?{$26mu66fTCMyUtSxQ>pg z|KxbsDXRRm)lrwd6PKI*ny}-hfA=68ogSW>4ko|*6n_i|d)~v@!N=Of&-VSUh3eW- zQ!AcuGu!V=!>pm1UHY&g?ZZPWwvlE>L$bOFB7icIWrQ%xdamZu;o&>X9_?#@(UCekS~3 zQircbhiW1HExy80H)@rqzub)M*x|syQhAz}l---Rrz&e38V)B!THo92f7|m`}YSjur`c4o3qGca?$S=k1|ar z)}6SsIrp*CDFf@Uub`0H&!2x*HGdfB7PM;@vn;)APFd@RP1i|{R`uE%oR{`ndf@Sz zlS67A9H++?@=EZZd)ERxzH=y;^s?~z-ox%H>uTP}D93Jp|12M$!D~*;&rvscU#$92 zYMY&&XO7w2xRcebmVM0^eBRrAX36zS-5jkWowr4*I9U7uhn;_4L)a?qAH+4(XGUPO zDg!arIcw=C$>$5Atp(m|V&v33EAU_L76ZrKSP*47aGXhb@x^gQj?MS9YCY-e zW(;xp8!%`;+{!VthnrK}l8-A@bK^#Zhj}M#`_7`%?nvFd<8KvD?V_l%Kewn}l=AZ7 zucN=nI+v@rZCmU=JFrKV=GaH4Gtx)?l~09#n)Loyv5FPUH?0Z$3#C)k`eo~RDSwA)FbKc?)#Nd%m!$vvX7OJSUoUX` z_7_DxZIZMFgX(SP0l6_FXEuXf4KyY#R29I+t$I(2TzP%i#lZJjT}r>c>r1EZ=tikt zh=VwNZ=Z}mf62J?8!VKJc&DlMuQKb;yB$Sv-t$7i-F(+LhiG0iCbjij?U3!Y{d?#wdi2MVbCpj$ZLfdY zc;w30m)>CK?J`rfc$O}=&_w_Og^55*g_rht5{J0Ol2EGoo zDsnsLUh-&2zGJb|gqJU$EnL$_yT|y1PEW?i?)&;MpUxQdbt9>M*r##w=(OD;_T|R^ z=YB@;Z=3IbNVzj4twQ-U&rYMm8e{%;;5*B-S(bmC|Bt?b)z^2hX78EMuK`c>Hyh%f zy?!1&(!D-Ru*UQItHQTVYISzlqguNcUGv7qMO6%0GAz*~r<1k$$Bgoqub&5wZt-<( zE}i=A>*A_@(EA^6?bQjWvwYpoKT_BFkWJR%F+Vi^D?X~Fk0^@s`Q=}&zF~X&U*6Ej zSGhE39z0ZWy`=`}2396U2^>bEnix-s0wTiuP{^~b;`MD4u2o*qG#_X@mk;_@Aofs%7@`zI;*FT7>A6Z8pz@5RZ1eyQnE z`=Ci+g7@gav{El9EbIaCkPb+1QbsZK5&|u)VwvYnS-E1m0jYqr!)RQEk{oPLJ#_G( z2u4NZiknpPN2=Rw&es23D76iPSAKf0ID24=s{*`*Y$~J#-pZhNvnCvTj|olF8+y_b z9A0t$2u(&wKSI}QFEVf!=Qwnx2XdumhgMeb#zT-_I7{?##Gn;0VW{C=NKcrU&!md2 z85D3n7T^^f;obY4zVz@j`~BQo!Sw4VvKLC8SJWPLbgN8v;gAynE-!|?Xsev`_4T{E z1yS~gA*3NensT109`gjo)x}Mo&WjiU9*8tl9gxbuLf)4J`ng$O@!t&ueCsl$TNiF@(x+*SQw|!fUi8E=GLsKN+BU_+O_FLO73p2=(w2Wbf3=RL0Yels zl0Vao$D0aiqd%%nA`KLJdFBC;sEt=|)?x4ot@g+8)d}5RlbK5sICI#hl?!QviPkW< zKa6Hkn@WL-NsSb!LJfxGGWRii!2;H(2jp#W<977?Y+a1Dh&+GcD>$`7lCEK8oTIRc zap3o~CvOdS4M$4Ih?LEt)FZj)i-3Z};@N26L@E&7`PZ5nz57!tcPc8>$w$MM0dx%rc0uTO#;~_Zb)f_|SP!)e{*?s(Ve5pd+*tFY}En5b}&t6wK zc5|v{(FC?020jI2QjwlI@{02Cgx^&nV2%K(DapwKvuU+2afuL)aFQ6q*AX5D^WK)^ z#@)Ez8G8^i?b$p(ne%Dp?u9(%$Ic@L#{*VJLqay6acYt74w*P5wz-P<@=(!*)>D#)cQQDl;I}3kGBdELUwV6ay0Zb;eZ}jyNdKgzFt%& zJfVGcQqMpq?6NgomBReD^Z(vpYQ~$d96s`{?qY*B9g(%4^Oe?ZG!A8V>7wGSc~rc3 z;Tz&sbLZQ6B3s)1ri+Pmap72J^g3L9jPe84;>8!QUoS0D#6}0^3`aNc>0`o^?LFra z7lFsaVTWky^~6q643C?60NyQW*;RE1Yi=4A^7Wa>|AiP8Y}{DwviyW*anaK`t>3=6 zyP$K>V6XppQP25=enjRnS^5_g*ek0F&1Cd8v^9xhu!jFskj#aQSBD2FhSv~Ppa`(j61k@Le+}h1{7sLLKair>E%n@7daL)erXHtatnZ!J z_^n^>iGO?-vJ-KgJxvO$&L3%4*hX2M6Q2};xVXPw5%8^w>OOq9fsN4Ni@0pV0{Sg1 z>HkE|C0+{KOcW9H`1j0l-Nj-Zr(~3fsd6!$|9nKygChF~|B<^JsVjwJcE6uDjKeqL z(;Fi=xi$f@5!C>ol#=^(L03smoZ4X6+|?ULNytICKznucaiL9`C#ttr^Kz(AE~ zjIyq5nBDiwqgDNPO+T~5l_tAxxBRZtuj8ERj!tm+sYS-`1P8I57F$Um;)8PrdTAa~ zsFmpjiDpZ^(=8E8i;*R9v9d>jafSqcK8&iPfgO%_EePr#4E6|_t$faM9?>T!B2Ky7){ zo)@I%22-+1?F?DsZZyNVt!V|7A@PxjL-lk6{Y-9rfN5%@ zcxGH8Lk-$+RsZXo?*w#RRdIIdlVKwJCrB_H?d(~VSe-YPwM|z>s3D^(&nuci+qSXM zM_9-Jt;;sLhzT55V<||Q=X#)p*082{N0T|0eqD^dyILTV*+4PtT@(}j!kF0VxbR)N z^l}Eo@pheZYzqt0a#Sm;xvMYbcvSGOwbBlMT^=r zf7->Tl1F6$!uN0)u@O@*yh5zhxd!h z$|B|Xy?J_Bd!m|WdE zVM|v6#ZeEF44^0pK$-J}hDk@XV5bb5SX$q75A~(XTI|u>7g8NAuA~vnYAK?7R%FT?YtMPJ+#>Hj!eb5=Vf=WPHbBZ z+}?^iXQ*t>aDq;o`IFEH*)!~z!o#B&|`f9%B-ywSyn?BEwb z*@5v84bbFS$+QZqR6B4`%vLQ)O+z zD7<6|W5E!XkmO%>%5M9W9p=3E@k4ogc=iddg7AQVK<_cZ@Vlk`4Nbd;3| zNbc{nnj?u`@)0;0{+go7$qBbqB7~K2_5FjKuJK+~_a!Sc`uDVTG0u;3th`0*nKPo$ z?{K|SmI^EQ`RJa%fEYOxqlWF7?0Rsz#SN2lXDo-6-D4|rsBXqy4)GSU3vg$s2uaBH z+AJIBb(TOJMhek<>p}*{ZmVxdO*nN*IfcqxW7)uo*0jE)D-hNpjqO`auAO`E{vH}6 z%=E}`95}HL$2e`D&Q;&t-ArIABp6?J>x5NU=G_apA7nXmpmhxLVdBcOZsWJ~HWkS& zRDI%L1Itv?fkL276aC`-Q8ATlq%Vq)8lBEcXA*qwbodPq;#DctrD6Xkx6%yi%aKpJ zuwv}ct5?nSx`s3+C;Wpf-?SXU*>O^~uuiFjRSCJ~iQIG|ph~M6`TprQMn_vKiV{$S zLS`}r+r*XDJd!;teyTEV2ep*3W#O9CGqouIT0NVN*LxKZuFEUV}T`!s9&s9IMVOS`-EhYCAc zLwG}6IleX@v3?+^7a6+cJ$&0?LIz9RbO{Zd#F|*ECPheFRz<0*oGqQdqFM45kvA8W zg?Y8wuB~75h!zTut*oANVL5Yipr&*JGD+jjP^r4eX>n+|-RY}$1F)~()`oq3P`#JRN6wQJXQ$W5QG+p0@)ZVd zyka6q+W&ifwNV+}j}Ds{`9NELgD!Z3=c<`j*?2++Ud`Dt@p-!0+L|}djD!erw`l&+ zZEY&Xy`{%BQiN2~PnvE_T=(Im%|~mU3E8(9No1q42vlowGv8=@F=ox&kOW(X6?8|i4yz- z$pE3X{|xukY2AAyodw6oe^vH#9^OB|GMli97tXRhlhEqbJfg>Jz^C=MN(1wue?egXU2}JAe5{2)(l? znjlSj&m#kI(AfBGRnBy8F#&Robo+N2MlWO#BooHVRjK!=w|~R;s&!VowBGCZm%Hg) z`%cR1-SNBE<1zgBZu9TIH$GwWm6{9%+#Y+rvx!(| zpbfcscN$bhENAjd-qW0Gp9`!p4fR{vM^4kA%U>|U8%FyK>j@UYwEMjB~i#Hs7g_VU&GAt7B^)f?q*m=oe5Ugn1!zJ3_h(_Rb0e;rmLr5gnV~BFiVHAU1iu4 z1m6MG;5L(0&CN<=%bux_UXM$0I(DA>UfW|Y9#CHWx})9PSH0<2(Bj_z^t|v2b46-u z_E8b~+mD?L2E?Nt3Z*;vu$?NAztrX*dG4Eo&I?pG-EX?$O&L5I+o=gCimzGhIzl}4 z)YccwPL!-A&U#a6k~LdWbyF*B;s50UE)R5DaRU@VrjTz=t&KddOuP|GhEH;8{LINOzG?XH(F`{H_Z9s}bQoI~iTb-k=F$rEXQGY=RClSaRg{j_1zUr@YicU^MP z>`r7mJihsD=^4V;ITxlu?-EZW2X^a_G=-Jm{T1wG7&D#v>ZB4 zI2al7_mDJa>^huiU5X9Ha}9H7#-dWYUr&+0vi7x&5>RX0`zuazAM31lWe+nCpG=2f zlm#R(MnU;p85}5X(7hqk5@t929RovkXYtH@yI99u~N^6Qn zPpid#2XBlRp>?vpsvla3-Dl>=O%j2*PjfHZUaq$T4Q1Gw$X7K@gxdJ{Of1>L5ePyN z%nI=QkKh*fz+zs&h=@vFKz0jan}R)gdIf*YD#1r6+B6k=XJS1VO!e(0^oN zqt*&6O6`Z0n$t*4@W34_+97WdC-PV(z!~<%=Vai5>vP)8hCjD`gbVpN{m80GMzfin z4&CLLP=^2@g+wCm2)e;C+?|lHhqnK+Oqc2WPHb-`G+aEF4Xs9!xTMN!9Yww->Ssl7 zh-NWAhkE!fy?yx@WGPaLR=$2l)xibtz}k6-@H]E<6&_7w-8_x#|Q>W#g`%6NN@ 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 Date: Sat, 17 Apr 2021 00:30:45 +0800 Subject: [PATCH 55/90] modify link and fps of ppyolo, test=document_fix (#2672) * modify link and fps of ppyolo, test=document_fix * modify ap, test=document_fix --- configs/ppyolo/README.md | 26 ++++++++++----------- configs/ppyolo/README_cn.md | 36 +++++++++++++++--------------- static/configs/ppyolo/README.md | 4 ++-- static/configs/ppyolo/README_cn.md | 4 ++-- 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index 87788f174..a4adf1c19 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -38,19 +38,19 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | Model | GPU number | images/GPU | backbone | input shape | Box APval | Box APtest | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | download | config | |:------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :-------------------: | :------------: | :---------------------: | :------: | :------: | -| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | 68.9 | 106.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.3 | 49.5 | 87.0 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | 68.9 | 106.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.3 | 49.5 | 87.0 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | **Notes:** diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index 1b59c9198..84a7bc005 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -38,19 +38,19 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | 模型 | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box APval | Box APtest | V100 FP32(FPS) | V100 TensorRT FP16(FPS) | 模型下载 | 配置文件 | |:------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :-------------------: | :------------: | :---------------------: | :------: | :------: | -| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r18vd_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | 68.9 | 106.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.3 | 49.5 | 87.0 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 608 | 44.8 | 45.2 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 512 | 43.9 | 44.4 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 416 | 42.1 | 42.5 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO | 8 | 24 | ResNet50vd | 320 | 38.9 | 39.3 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 608 | 45.3 | 45.9 | 72.9 | 155.6 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 512 | 44.4 | 45.0 | 89.9 | 188.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 416 | 42.7 | 43.2 | 109.1 | 215.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO_2x | 8 | 24 | ResNet50vd | 320 | 39.5 | 40.1 | 132.2 | 242.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_2x_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.2 | 29.5 | 357.1 | 657.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r18vd_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r18vd_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | 68.9 | 106.5 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r50vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.3 | 49.5 | 87.0 | [model](https://paddledet.bj.bcebos.com/models/ppyolov2_r101vd_dcn_365e_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolov2_r101vd_dcn_365e_coco.yml) | **注意:** @@ -65,8 +65,8 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | 模型 | GPU个数 | 每GPU图片个数 | 模型体积 | 输入尺寸 | Box APval | Box AP50val | Kirin 990 1xCore (FPS) | 模型下载 | 配置文件 | |:----------------------------:|:-------:|:-------------:|:----------:| :-------:| :------------------: | :--------------------: | :--------------------: | :------: | :------: | -| PP-YOLO_MobileNetV3_large | 4 | 32 | 28MB | 320 | 23.2 | 42.6 | 14.1 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_mbv3_large_coco.yml) | -| PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | +| PP-YOLO_MobileNetV3_large | 4 | 32 | 28MB | 320 | 23.2 | 42.6 | 14.1 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_large_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_mbv3_large_coco.yml) | +| PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | - PP-YOLO_MobileNetV3 模型使用COCO数据集中train2017作为训练集,使用val2017作为测试集,Box APval为`mAP(IoU=0.5:0.95)`评估结果, Box AP50val为`mAP(IoU=0.5)`评估结果。 - PP-YOLO_MobileNetV3 模型训练过程中使用4GPU,每GPU batch size为32进行训练,如训练GPU数和batch size不使用上述配置,须参考[FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md)调整学习率和迭代次数。 @@ -78,9 +78,9 @@ PP-YOLO在Pascal VOC数据集上训练模型如下: | 模型 | GPU个数 | 每GPU图片个数 | 骨干网络 | 输入尺寸 | Box AP50val | 模型下载 | 配置文件 | |:------------------:|:-------:|:-------------:|:----------:| :----------:| :--------------------: | :------: | :-----: | -| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | -| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | +| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml) | ## 使用说明 diff --git a/static/configs/ppyolo/README.md b/static/configs/ppyolo/README.md index 0f363971c..5d7bd4856 100644 --- a/static/configs/ppyolo/README.md +++ b/static/configs/ppyolo/README.md @@ -53,8 +53,8 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: | PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.3 | 29.5 | 357.1 | 657.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | | PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | | PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r50vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r101vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | 68.9 | 106.5 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r50vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.3 | 49.5 | 87.0 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r101vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml) | **Notes:** diff --git a/static/configs/ppyolo/README_cn.md b/static/configs/ppyolo/README_cn.md index 392436ef4..12df823f3 100644 --- a/static/configs/ppyolo/README_cn.md +++ b/static/configs/ppyolo/README_cn.md @@ -53,8 +53,8 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | PP-YOLO | 4 | 32 | ResNet18vd | 512 | 29.3 | 29.5 | 357.1 | 657.9 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | | PP-YOLO | 4 | 32 | ResNet18vd | 416 | 28.6 | 28.9 | 409.8 | 719.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | | PP-YOLO | 4 | 32 | ResNet18vd | 320 | 26.2 | 26.4 | 480.7 | 763.4 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_r18vd.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_r18vd.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | - | - | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r50vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml) | -| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.1 | - | - | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r101vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet50vd | 640 | 49.1 | 49.5 | 68.9 | 106.5 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r50vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r50vd_dcn.yml) | +| PP-YOLOv2 | 8 | 12 | ResNet101vd | 640 | 49.7 | 50.3 | 49.5 | 87.0 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolov2_r101vd_dcn.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolov2_r101vd_dcn.yml) | **注意:** -- Gitee From d3367e1369c7ca6296a18c8eeda89ada5162a483 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Sat, 17 Apr 2021 00:43:05 +0800 Subject: [PATCH 56/90] simplify log of loading weights (#2674) --- README_en.md | 2 +- ppdet/utils/checkpoint.py | 31 ++++++++++++------------------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/README_en.md b/README_en.md index 72fd84c37..301bfa323 100644 --- a/README_en.md +++ b/README_en.md @@ -188,7 +188,7 @@ The relationship between COCO mAP and FPS on Tesla V100 of representative models - `PP-YOLO` achieves mAP of 45.9% on COCO and 72.9FPS on Tesla V100. Both precision and speed surpass [YOLOv4](https://arxiv.org/abs/2004.10934) -- `PP-YOLO v2` is optimized version of `PP-YOLO` which has mAP of 49.5% and 60FPS on Tesla V100 +- `PP-YOLO v2` is optimized version of `PP-YOLO` which has mAP of 49.5% and 68.9FPS on Tesla V100 - All these models can be get in [Model Zoo](#ModelZoo) diff --git a/ppdet/utils/checkpoint.py b/ppdet/utils/checkpoint.py index 998a0747c..d4f08097f 100644 --- a/ppdet/utils/checkpoint.py +++ b/ppdet/utils/checkpoint.py @@ -157,28 +157,21 @@ def load_pretrain_weight(model, pretrain_weight): weights_path = path + '.pdparams' param_state_dict = paddle.load(weights_path) - lack_backbone_weights_cnt = 0 - lack_modules = set() - for name, weight in model_dict.items(): - if name in param_state_dict.keys(): - if weight.shape != list(param_state_dict[name].shape): + ignore_weights = set() + + for name, weight in param_state_dict.items(): + if name in model_dict.keys(): + if list(weight.shape) != list(model_dict[name].shape): logger.info( '{} not used, shape {} unmatched with {} in model.'.format( - name, list(param_state_dict[name].shape), weight.shape)) - param_state_dict.pop(name, None) + name, weight.shape, list(model_dict[name].shape))) + ignore_weights.add(name) else: - lack_modules.add(name.split('.')[0]) - if name.find('backbone') >= 0: - logger.info('Lack backbone weights: {}'.format(name)) - lack_backbone_weights_cnt += 1 - - if lack_backbone_weights_cnt > 0: - logger.info('Lack {} weights in backbone.'.format( - lack_backbone_weights_cnt)) - - if len(lack_modules) > 0: - logger.info('Lack weights of modules: {}'.format(', '.join( - list(lack_modules)))) + logger.info('Redundant weight {} and ignore it.'.format(name)) + ignore_weights.add(name) + + for weight in ignore_weights: + param_state_dict.pop(weight, None) model.set_dict(param_state_dict) logger.info('Finish loading model weights: {}'.format(weights_path)) -- Gitee From ffde6074492b16d7b2055284e3c692e2cca5cebd Mon Sep 17 00:00:00 2001 From: Feng Ni Date: Sat, 17 Apr 2021 22:48:38 +0800 Subject: [PATCH 57/90] [release/2.0] Add bias test doc for yolo ppyolo pafnet (#2676) * fix pafnet, test=document_fix * fix pafnet doc, test=document_fix * fix doc, test=document_fix --- configs/ppyolo/README.md | 22 +++++++++++++++++++++- configs/ppyolo/README_cn.md | 22 +++++++++++++++++++++- configs/ttfnet/README.md | 7 ++++++- configs/yolov3/README.md | 11 ++++++++++- 4 files changed, 58 insertions(+), 4 deletions(-) diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index a4adf1c19..21207c8ca 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -132,7 +132,27 @@ CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/ppyolo/ppyolo_test.yml -o Evaluation results will be saved in `bbox.json`, compress it into a `zip` package and upload to [COCO dataset evaluation](https://competitions.codalab.org/competitions/20794#participate) to evaluate. -**NOTE:** `configs/ppyolo/ppyolo_test.yml` is only used for evaluation on COCO test-dev2017 dataset, could not be used for training or COCO val2017 dataset evaluating. +**NOTE 1:** `configs/ppyolo/ppyolo_test.yml` is only used for evaluation on COCO test-dev2017 dataset, could not be used for training or COCO val2017 dataset evaluating. + +**NOTE 2:** Due to the overall upgrade of the dynamic graph framework, the following weight models published by paddledetection need to be evaluated by adding the -- bias field, such as + +```bash +# use weights released in PaddleDetection model zoo +CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --bias +``` +These models are: + +1.ppyolo_r50vd_dcn_1x_coco + +2.ppyolo_r50vd_dcn_voc + +3.ppyolo_r18vd_coco + +4.ppyolo_mbv3_large_coco + +5.ppyolo_mbv3_small_coco + +6.ppyolo_tiny_650e_coco ### 3. Inference diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index 84a7bc005..d7762b99c 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -116,7 +116,27 @@ CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/ppyolo/ppyolo_test.yml -o 评估结果保存于`bbox.json`中,将其压缩为zip包后通过[COCO数据集评估页](https://competitions.codalab.org/competitions/20794#participate)提交评估。 -**注意:** `configs/ppyolo/ppyolo_test.yml`仅用于评估COCO test-dev数据集,不用于训练和评估COCO val2017数据集。 +**注意1:** `configs/ppyolo/ppyolo_test.yml`仅用于评估COCO test-dev数据集,不用于训练和评估COCO val2017数据集。 + +**注意2:** 由于动态图框架整体升级,以下几个PaddleDetection发布的权重模型评估时需要添加--bias字段, 例如 + +```bash +# 使用PaddleDetection发布的权重 +CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --bias +``` +主要有: + +1.ppyolo_r50vd_dcn_1x_coco + +2.ppyolo_r50vd_dcn_voc + +3.ppyolo_r18vd_coco + +4.ppyolo_mbv3_large_coco + +5.ppyolo_mbv3_small_coco + +6.ppyolo_tiny_650e_coco ### 3. 推理 diff --git a/configs/ttfnet/README.md b/configs/ttfnet/README.md index 256b9e64f..a20660ecb 100644 --- a/configs/ttfnet/README.md +++ b/configs/ttfnet/README.md @@ -40,7 +40,7 @@ PAFNet系列模型从如下方面优化TTFNet模型: | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50vd | PAFNet | 18 | 10x | ---- | 42.2 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_10x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ttfnet/pafnet_10x_coco.yml) | +| ResNet50vd | PAFNet | 18 | 10x | ---- | 39.8 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_10x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ttfnet/pafnet_10x_coco.yml) | @@ -50,7 +50,12 @@ PAFNet系列模型从如下方面优化TTFNet模型: | :-------------- | :------------- | :-----: | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | | MobileNetv3 | PAFNet-Lite | 12 | 20x | 23.9 | 26.00 | 14 | [下载链接](https://paddledet.bj.bcebos.com/models/pafnet_lite_mobilenet_v3_20x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ttfnet/pafnet_lite_mobilenet_v3_20x_coco.yml) | +**注意:** 由于动态图框架整体升级,PAFNet的PaddleDetection发布的权重模型评估时需要添加--bias字段, 例如 +```bash +# 使用PaddleDetection发布的权重 +CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/ttfnet/pafnet_10x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/pafnet_10x_coco.pdparams --bias +``` ## Citations ``` diff --git a/configs/yolov3/README.md b/configs/yolov3/README.md index fff7935e3..bdf5de599 100644 --- a/configs/yolov3/README.md +++ b/configs/yolov3/README.md @@ -45,8 +45,17 @@ | MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | | MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | -**注意:** YOLOv3均使用8GPU训练,训练270个epoch +**注意:** YOLOv3均使用8GPU训练,训练270个epoch。由于动态图框架整体升级,以下几个PaddleDetection发布的权重模型评估时需要添加--bias字段, 例如 +```bash +# 使用PaddleDetection发布的权重 +CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/yolov3/yolov3_darknet53_270e_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams --bias +``` +主要有: + +1.yolov3_darknet53_270e_coco + +2.yolov3_r50vd_dcn_270e_coco ## Citations ``` -- Gitee From d85b8341d1fdf1a0843474197b210e3b1c3ef7dc Mon Sep 17 00:00:00 2001 From: Feng Ni Date: Sat, 17 Apr 2021 22:49:09 +0800 Subject: [PATCH 58/90] fix release/2.0 modelzoo link(#2678) --- configs/fcos/README.md | 7 ++--- configs/ppyolo/README.md | 4 +-- configs/ppyolo/README_cn.md | 18 +++++++++-- configs/ssd/README.md | 4 +-- configs/yolov3/README.md | 60 ++++++++++++++++++------------------- 5 files changed, 53 insertions(+), 40 deletions(-) diff --git a/configs/fcos/README.md b/configs/fcos/README.md index 3ccd445ca..c852d09dc 100644 --- a/configs/fcos/README.md +++ b/configs/fcos/README.md @@ -12,10 +12,9 @@ FCOS (Fully Convolutional One-Stage Object Detection) is a fast anchor-free obje | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50-FPN | FCOS | 2 | 1x | ---- | 39.6 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/fcos/fcos_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | FCOS+DCN | 2 | 1x | ---- | 44.3 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/fcos/fcos_dcn_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | FCOS+multiscale_train | 2 | 2x | ---- | 41.8 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_r50_fpn_multiscale_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/dygraph/configs/fcos/fcos_r50_fpn_multiscale_2x_coco.yml) | - +| ResNet50-FPN | FCOS | 2 | 1x | ---- | 39.6 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | FCOS+DCN | 2 | 1x | ---- | 44.3 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_dcn_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | FCOS+multiscale_train | 2 | 2x | ---- | 41.8 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_r50_fpn_multiscale_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_r50_fpn_multiscale_2x_coco.yml) | **Notes:** - FCOS is trained on COCO train2017 dataset and evaluated on val2017 results of `mAP(IoU=0.5:0.95)`. diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index 21207c8ca..b1490180e 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -70,7 +70,7 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: **Notes:** -- PP-YOLO_MobileNetV3 is trained on COCO train2017 datast and evaluated on val2017 dataset,Box APval is evaluation results of `mAP(IoU=0.5:0.95)`, Box APval is evaluation results of `mAP(IoU=0.5)`. +- PP-YOLO_MobileNetV3 is trained on COCO train2017 datast and evaluated on val2017 dataset,Box APval is evaluation results of `mAP(IoU=0.5:0.95)`, Box AP50val is evaluation results of `mAP(IoU=0.5)`. - PP-YOLO_MobileNetV3 used 4 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/static/docs/FAQ.md). - PP-YOLO_MobileNetV3 inference speed is tested on Kirin 990 with 1 thread. @@ -83,7 +83,7 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: **Notes:** -- PP-YOLO-tiny is trained on COCO train2017 datast and evaluated on val2017 dataset,Box APval is evaluation results of `mAP(IoU=0.5:0.95)`, Box APval is evaluation results of `mAP(IoU=0.5)`. +- PP-YOLO-tiny is trained on COCO train2017 datast and evaluated on val2017 dataset,Box APval is evaluation results of `mAP(IoU=0.5:0.95)`. - PP-YOLO-tiny used 8 GPUs for training and mini-batch size as 32 on each GPU, if GPU number and mini-batch size is changed, learning rate and iteration times should be adjusted according [FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/static/docs/FAQ.md). - PP-YOLO-tiny inference speed is tested on Kirin 990 with 4 threads by arm8 - we alse provide PP-YOLO-tiny post quant inference model, which can compress model to **1.3MB** with nearly no inference on inference speed and performance diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index d7762b99c..f5a6b18e4 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -55,7 +55,7 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: **注意:** - PP-YOLO模型使用COCO数据集中train2017作为训练集,使用val2017和test-dev2017作为测试集,Box APtest为`mAP(IoU=0.5:0.95)`评估结果。 -- PP-YOLO模型训练过程中使用8 GPUs,每GPU batch size为24进行训练,如训练GPU数和batch size不使用上述配置,须参考[FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md)调整学习率和迭代次数。 +- PP-YOLO模型训练过程中使用8 GPUs,每GPU batch size为24进行训练,如训练GPU数和batch size不使用上述配置,须参考[FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/static/docs/FAQ.md)调整学习率和迭代次数。 - PP-YOLO模型推理速度测试采用单卡V100,batch size=1进行测试,使用CUDA 10.2, CUDNN 7.5.1,TensorRT推理速度测试使用TensorRT 5.1.2.2。 - PP-YOLO模型FP32的推理速度测试数据为使用`tools/export_model.py`脚本导出模型后,使用`deploy/python/infer.py`脚本中的`--run_benchnark`参数使用Paddle预测库进行推理速度benchmark测试结果, 且测试的均为不包含数据预处理和模型输出后处理(NMS)的数据(与[YOLOv4(AlexyAB)](https://github.com/AlexeyAB/darknet)测试方法一致)。 - TensorRT FP16的速度测试相比于FP32去除了`yolo_box`(bbox解码)部分耗时,即不包含数据预处理,bbox解码和NMS(与[YOLOv4(AlexyAB)](https://github.com/AlexeyAB/darknet)测试方法一致)。 @@ -69,9 +69,23 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: | PP-YOLO_MobileNetV3_small | 4 | 32 | 16MB | 320 | 17.2 | 33.8 | 21.5 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_mbv3_small_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_mbv3_small_coco.yml) | - PP-YOLO_MobileNetV3 模型使用COCO数据集中train2017作为训练集,使用val2017作为测试集,Box APval为`mAP(IoU=0.5:0.95)`评估结果, Box AP50val为`mAP(IoU=0.5)`评估结果。 -- PP-YOLO_MobileNetV3 模型训练过程中使用4GPU,每GPU batch size为32进行训练,如训练GPU数和batch size不使用上述配置,须参考[FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/master/docs/FAQ.md)调整学习率和迭代次数。 +- PP-YOLO_MobileNetV3 模型训练过程中使用4GPU,每GPU batch size为32进行训练,如训练GPU数和batch size不使用上述配置,须参考[FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/static/docs/FAQ.md)调整学习率和迭代次数。 - PP-YOLO_MobileNetV3 模型推理速度测试环境配置为麒麟990芯片单线程。 +### PP-YOLO tiny + +| 模型 | GPU个数 | 每GPU图片个数 | 模型体积 | 量化后模型体积 | 输入尺寸 | Box APval | Kirin 990 4xCore(FPS) | 模型下载 | 配置文件 | 量化后模型下载 | +|:---------:|:-------:|:---------:|:---------:| :-------------------: | :---------: | :------------------: | :-------------------: | :------: | :----: | :--------------: | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 320 | 20.6 | 92.3 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [推理模型](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | +| PP-YOLO tiny | 8 | 32 | 4.2MB | **1.3M** | 416 | 22.7 | 65.4 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_650e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ppyolo/ppyolo_tiny_650e_coco.yml) | [推理模型](https://paddledet.bj.bcebos.com/models/ppyolo_tiny_quant.tar) | + +**注意:** + +- PP-YOLO-tiny 在COCO train2017数据集上进行训练,在val2017数据集上进行评估,Box APval 是`mAP(IoU=0.5:0.95)`的评估结果。 +- PP-YOLO-tiny 使用8个GPU进行训练,每个GPU上的batch size为32,如果GPU数量和最小批量大小发生变化,则应根据[FAQ](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0/static/docs/FAQ.md)调整学习速率和迭代次数。 +- PP-YOLO-tiny 是利用arm8在Kirin 990上4个线程来测试推理速度的。 +- 我们还提供了PP-YOLO-tiny 量化后的推理模型, 它可以将模型压缩到**1.3MB**,并且几乎不需要对推理速度和性能进行任何推理。 + ### Pascal VOC数据集上的PP-YOLO PP-YOLO在Pascal VOC数据集上训练模型如下: diff --git a/configs/ssd/README.md b/configs/ssd/README.md index 1ebc45866..b2bcd67d1 100644 --- a/configs/ssd/README.md +++ b/configs/ssd/README.md @@ -6,8 +6,8 @@ | 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | | :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| VGG | SSD | 8 | 240e | ---- | 77.8 | [下载链接](https://paddledet.bj.bcebos.com/models/ssd_vgg16_300_240e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ssd/ssd_vgg16_300_240e_voc.yml) | -| MobileNet v1 | SSD | 32 | 120e | ---- | 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) | +| VGG | SSD | 8 | 240e | ---- | 77.8 | [下载链接](https://paddledet.bj.bcebos.com/models/ssd_vgg16_300_240e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ssd/ssd_vgg16_300_240e_voc.yml) | +| MobileNet v1 | SSD | 32 | 120e | ---- | 73.8 | [下载链接](https://paddledet.bj.bcebos.com/models/ssd_mobilenet_v1_300_120e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml) | **注意:** SSD-VGG使用4GPU在总batch size为32下训练240个epoch。SSD-MobileNetv1使用2GPU在总batch size为64下训练120周期。 diff --git a/configs/yolov3/README.md b/configs/yolov3/README.md index bdf5de599..e4408c566 100644 --- a/configs/yolov3/README.md +++ b/configs/yolov3/README.md @@ -9,41 +9,41 @@ | DarkNet53(paper) | 608 | 8 | 270e | ---- | 33.0 | - | - | | DarkNet53(paper) | 416 | 8 | 270e | ---- | 31.0 | - | - | | DarkNet53(paper) | 320 | 8 | 270e | ---- | 28.2 | - | - | -| DarkNet53 | 608 | 8 | 270e | ---- | 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) | -| DarkNet53 | 416 | 8 | 270e | ---- | 37.5 | [下载链接](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) | -| DarkNet53 | 320 | 8 | 270e | ---- | 34.6 | [下载链接](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) | -| ResNet50_vd | 608 | 8 | 270e | ---- | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | -| ResNet50_vd | 416 | 8 | 270e | ---- | 36.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | -| ResNet50_vd | 320 | 8 | 270e | ---- | 33.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | -| ResNet34 | 608 | 8 | 270e | ---- | 36.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | -| ResNet34 | 416 | 8 | 270e | ---- | 34.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | -| ResNet34 | 320 | 8 | 270e | ---- | 31.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_r34_270e_coco.yml) | -| MobileNet-V1 | 608 | 8 | 270e | ---- | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | -| MobileNet-V1 | 416 | 8 | 270e | ---- | 29.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | -| MobileNet-V1 | 320 | 8 | 270e | ---- | 27.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | -| MobileNet-V3 | 608 | 8 | 270e | ---- | 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) | -| MobileNet-V3 | 416 | 8 | 270e | ---- | 29.6 | [下载链接](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) | -| MobileNet-V3 | 320 | 8 | 270e | ---- | 27.1 | [下载链接](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) | -| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | -| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | -| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| DarkNet53 | 608 | 8 | 270e | ---- | 39.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) | +| DarkNet53 | 416 | 8 | 270e | ---- | 37.5 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) | +| DarkNet53 | 320 | 8 | 270e | ---- | 34.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_darknet53_270e_coco.yml) | +| ResNet50_vd | 608 | 8 | 270e | ---- | 39.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | +| ResNet50_vd | 416 | 8 | 270e | ---- | 36.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | +| ResNet50_vd | 320 | 8 | 270e | ---- | 33.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r50vd_dcn_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_r50vd_dcn_270e_coco.yml) | +| ResNet34 | 608 | 8 | 270e | ---- | 36.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_r34_270e_coco.yml) | +| ResNet34 | 416 | 8 | 270e | ---- | 34.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_r34_270e_coco.yml) | +| ResNet34 | 320 | 8 | 270e | ---- | 31.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_r34_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_r34_270e_coco.yml) | +| MobileNet-V1 | 608 | 8 | 270e | ---- | 29.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V1 | 416 | 8 | 270e | ---- | 29.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V1 | 320 | 8 | 270e | ---- | 27.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_coco.yml) | +| MobileNet-V3 | 608 | 8 | 270e | ---- | 31.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | +| MobileNet-V3 | 416 | 8 | 270e | ---- | 29.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | +| MobileNet-V3 | 320 | 8 | 270e | ---- | 27.1 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_270e_coco.yml) | +| MobileNet-V1-SSLD | 608 | 8 | 270e | ---- | 31.0 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | ---- | 30.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | ---- | 28.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_coco.yml) | ### YOLOv3 on Pasacl VOC | 骨架网络 | 输入尺寸 | 每张GPU图片个数 | 学习率策略 |推理时间(fps)| Box AP | 下载 | 配置文件 | | :----------- | :--: | :-----: | :-----: |:------------: |:----: | :-------: | :----: | -| MobileNet-V1 | 608 | 8 | 270e | - | 75.2 | [下载链接](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) | -| MobileNet-V1 | 416 | 8 | 270e | - | 76.2 | [下载链接](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) | -| MobileNet-V1 | 320 | 8 | 270e | - | 74.3 | [下载链接](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) | -| MobileNet-V3 | 608 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | -| MobileNet-V3 | 416 | 8 | 270e | - | 78.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | -| MobileNet-V3 | 320 | 8 | 270e | - | 76.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | -| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | -| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V1 | 608 | 8 | 270e | - | 75.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | +| MobileNet-V1 | 416 | 8 | 270e | - | 76.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | +| MobileNet-V1 | 320 | 8 | 270e | - | 74.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml) | +| MobileNet-V3 | 608 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | +| MobileNet-V3 | 416 | 8 | 270e | - | 78.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | +| MobileNet-V3 | 320 | 8 | 270e | - | 76.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml) | +| MobileNet-V1-SSLD | 608 | 8 | 270e | - | 78.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 416 | 8 | 270e | - | 79.6 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V1-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 608 | 8 | 270e | - | 80.4 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 416 | 8 | 270e | - | 79.2 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | +| MobileNet-V3-SSLD | 320 | 8 | 270e | - | 77.3 | [下载链接](https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v3_large_ssld_270e_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml) | **注意:** YOLOv3均使用8GPU训练,训练270个epoch。由于动态图框架整体升级,以下几个PaddleDetection发布的权重模型评估时需要添加--bias字段, 例如 -- Gitee From 24413712ada6d60dd7cfc4e003a7d449d37ee8b0 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Mon, 19 Apr 2021 11:10:24 +0800 Subject: [PATCH 59/90] remove pad gt in ttfnet (#2687) --- configs/ttfnet/_base_/ttfnet_reader.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/ttfnet/_base_/ttfnet_reader.yml b/configs/ttfnet/_base_/ttfnet_reader.yml index 5a69c59dd..f9ed6cc57 100644 --- a/configs/ttfnet/_base_/ttfnet_reader.yml +++ b/configs/ttfnet/_base_/ttfnet_reader.yml @@ -8,7 +8,7 @@ TrainReader: - Permute: {} batch_transforms: - Gt2TTFTarget: {down_ratio: 4} - - PadBatch: {pad_to_stride: 32, pad_gt: true} + - PadBatch: {pad_to_stride: 32} batch_size: 12 shuffle: true drop_last: true -- Gitee From debcd8b2e2c8ebcda4df90ef13f159a31264b47e Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Mon, 19 Apr 2021 11:12:43 +0800 Subject: [PATCH 60/90] fix wider_face init (#2688) --- ppdet/data/source/__init__.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ppdet/data/source/__init__.py b/ppdet/data/source/__init__.py index d1d2561d5..b63cba0e6 100644 --- a/ppdet/data/source/__init__.py +++ b/ppdet/data/source/__init__.py @@ -13,12 +13,11 @@ # limitations under the License. from . import coco -# TODO add voc and widerface dataset from . import voc -#from . import widerface +from . import widerface from . import category from .coco import * from .voc import * -#from .widerface import * +from .widerface import * from .category import * -- Gitee From a542e3d969965e3f7db00dc701e993e61d164754 Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Mon, 19 Apr 2021 11:20:34 +0800 Subject: [PATCH 61/90] fix ppyolo docs, test=document_fix (#2690) --- configs/ppyolo/README.md | 2 +- configs/ppyolo/README_cn.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index b1490180e..c178de9d1 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -175,7 +175,7 @@ For inference deployment or benchmard, model exported with `tools/export_model.p python tools/export_model.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams # inference with Paddle Inference library -CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyolo_r50vd_dcn_1x_coco --image_file=../demo/000000014439_640x640.jpg --use_gpu=True +CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyolo_r50vd_dcn_1x_coco --image_file=demo/000000014439_640x640.jpg --use_gpu=True ``` diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index f5a6b18e4..bbd1c0651 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -173,7 +173,7 @@ PP-YOLO模型部署及推理benchmark需要通过`tools/export_model.py`导出 python tools/export_model.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams # 预测库推理 -CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyolo_r50vd_dcn_1x_coco --image_file=../demo/000000014439_640x640.jpg --use_gpu=True +CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyolo_r50vd_dcn_1x_coco --image_file=demo/000000014439_640x640.jpg --use_gpu=True ``` -- Gitee From 9eb9cd13f1dfada60000aa5ac5e9068b1d98f20f Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Mon, 19 Apr 2021 11:27:31 +0800 Subject: [PATCH 62/90] modify gridmask op (#2693) --- ppdet/data/transform/gridmask_utils.py | 3 ++- static/ppdet/data/transform/gridmask_utils.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ppdet/data/transform/gridmask_utils.py b/ppdet/data/transform/gridmask_utils.py index 2b3e72408..f0775dc31 100644 --- a/ppdet/data/transform/gridmask_utils.py +++ b/ppdet/data/transform/gridmask_utils.py @@ -45,7 +45,8 @@ class Gridmask(object): self.prob = self.st_prob * min(1, 1.0 * curr_iter / self.upper_iter) if np.random.rand() > self.prob: return x - h, w, _ = x.shape + # image should be C, H, W format + _, h, w = x.shape hh = int(1.5 * h) ww = int(1.5 * w) d = np.random.randint(2, h) diff --git a/static/ppdet/data/transform/gridmask_utils.py b/static/ppdet/data/transform/gridmask_utils.py index 115cb1e9d..b370bf007 100644 --- a/static/ppdet/data/transform/gridmask_utils.py +++ b/static/ppdet/data/transform/gridmask_utils.py @@ -45,7 +45,8 @@ class GridMask(object): self.prob = self.st_prob * min(1, 1.0 * curr_iter / self.upper_iter) if np.random.rand() > self.prob: return x - h, w, _ = x.shape + # image should be C, H, W format + _, h, w = x.shape hh = int(1.5 * h) ww = int(1.5 * w) d = np.random.randint(2, h) -- Gitee From bbf142306f5ac58592bda60977db86e66174dca3 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Mon, 19 Apr 2021 13:21:53 +0800 Subject: [PATCH 63/90] fix gridmask (#2695) --- ppdet/data/transform/gridmask_utils.py | 5 ++--- static/ppdet/data/transform/gridmask_utils.py | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ppdet/data/transform/gridmask_utils.py b/ppdet/data/transform/gridmask_utils.py index f0775dc31..b0a27f015 100644 --- a/ppdet/data/transform/gridmask_utils.py +++ b/ppdet/data/transform/gridmask_utils.py @@ -45,8 +45,7 @@ class Gridmask(object): self.prob = self.st_prob * min(1, 1.0 * curr_iter / self.upper_iter) if np.random.rand() > self.prob: return x - # image should be C, H, W format - _, h, w = x.shape + h, w, _ = x.shape hh = int(1.5 * h) ww = int(1.5 * w) d = np.random.randint(2, h) @@ -74,7 +73,7 @@ class Gridmask(object): if self.mode == 1: mask = 1 - mask - mask = np.expand_dims(mask, axis=0) + mask = np.expand_dims(mask, axis=-1) if self.offset: offset = (2 * (np.random.rand(h, w) - 0.5)).astype(np.float32) x = (x * mask + offset * (1 - mask)).astype(x.dtype) diff --git a/static/ppdet/data/transform/gridmask_utils.py b/static/ppdet/data/transform/gridmask_utils.py index b370bf007..af1f8d56f 100644 --- a/static/ppdet/data/transform/gridmask_utils.py +++ b/static/ppdet/data/transform/gridmask_utils.py @@ -46,7 +46,7 @@ class GridMask(object): if np.random.rand() > self.prob: return x # image should be C, H, W format - _, h, w = x.shape + h, w, _ = x.shape hh = int(1.5 * h) ww = int(1.5 * w) d = np.random.randint(2, h) @@ -74,7 +74,7 @@ class GridMask(object): if self.mode == 1: mask = 1 - mask - mask = np.expand_dims(mask, axis=0) + mask = np.expand_dims(mask, axis=-1) if self.offset: offset = (2 * (np.random.rand(h, w) - 0.5)).astype(np.float32) x = (x * mask + offset * (1 - mask)).astype(x.dtype) -- Gitee From af8b44178e973b51aaf23e20378030eae42a0764 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Mon, 19 Apr 2021 17:42:13 +0800 Subject: [PATCH 64/90] fix rcnn config (#2698) --- configs/faster_rcnn/_base_/faster_reader.yml | 4 ---- configs/mask_rcnn/_base_/mask_reader.yml | 8 -------- 2 files changed, 12 deletions(-) diff --git a/configs/faster_rcnn/_base_/faster_reader.yml b/configs/faster_rcnn/_base_/faster_reader.yml index eaeae9b0a..ebb4e7949 100644 --- a/configs/faster_rcnn/_base_/faster_reader.yml +++ b/configs/faster_rcnn/_base_/faster_reader.yml @@ -34,11 +34,7 @@ TestReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: -<<<<<<< HEAD - - PadBatch: {pad_to_stride: -1., pad_gt: false} -======= - PadBatch: {pad_to_stride: -1} ->>>>>>> 0fc9950... fix stride data type batch_size: 1 shuffle: false drop_last: false diff --git a/configs/mask_rcnn/_base_/mask_reader.yml b/configs/mask_rcnn/_base_/mask_reader.yml index c6d4478c8..b43d312b8 100644 --- a/configs/mask_rcnn/_base_/mask_reader.yml +++ b/configs/mask_rcnn/_base_/mask_reader.yml @@ -20,11 +20,7 @@ EvalReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: -<<<<<<< HEAD - - PadBatch: {pad_to_stride: -1., pad_gt: false} -======= - PadBatch: {pad_to_stride: -1} ->>>>>>> 0fc9950... fix stride data type batch_size: 1 shuffle: false drop_last: false @@ -38,11 +34,7 @@ TestReader: - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]} - Permute: {} batch_transforms: -<<<<<<< HEAD - - PadBatch: {pad_to_stride: -1., pad_gt: false} -======= - PadBatch: {pad_to_stride: -1} ->>>>>>> 0fc9950... fix stride data type batch_size: 1 shuffle: false drop_last: false -- Gitee From f4f9139a581e48bcba828695cf7908ddd80556bb Mon Sep 17 00:00:00 2001 From: cnn Date: Mon, 19 Apr 2021 20:08:09 +0800 Subject: [PATCH 65/90] update style of benchmark doc, test=fix_document (#2697) --- deploy/BENCHMARK_INFER.md | 94 ++++++++++++++++++++------------------- deploy/EXPORT_MODEL.md | 10 ++--- deploy/README.md | 14 +++--- 3 files changed, 61 insertions(+), 57 deletions(-) diff --git a/deploy/BENCHMARK_INFER.md b/deploy/BENCHMARK_INFER.md index 46f00bd6d..988cf30f6 100644 --- a/deploy/BENCHMARK_INFER.md +++ b/deploy/BENCHMARK_INFER.md @@ -1,56 +1,60 @@ # 推理Benchmark -## 环境准备 -- 测试环境: +## 一、环境准备 +- 1、测试环境: - CUDA 10.1 - CUDNN 7.6 - TensorRT-6.0.1 - PaddlePaddle v2.0.1 - - GPU分别为: Tesla V100和Windows 1080Ti和TX2 -- 测试方式: + - GPU分别为: Tesla V100和GTX 1080Ti和Jetson AGX Xavier +- 2、测试方式: - 为了方便比较不同模型的推理速度,输入采用同样大小的图片,为 3x640x640,采用 `demo/000000014439_640x640.jpg` 图片。 - Batch Size=1 - 去掉前100轮warmup时间,测试100轮的平均时间,单位ms/image,包括网络计算时间、数据拷贝至CPU的时间。 - 采用Fluid C++预测引擎: 包含Fluid C++预测、Fluid-TensorRT预测,下面同时测试了Float32 (FP32) 和Float16 (FP16)的推理速度。 -**注意:**TensorRT中固定尺寸和动态尺寸区别请参考文档[TENSOR教程](TENSOR_RT.md)。由于固定尺寸下对两阶段模型支持不完善,所以faster rcnn模型采用动态尺寸测试。固定尺寸和动态尺寸支持融合的OP不完全一样,因此同一个模型在固定尺寸和动态尺寸下测试的性能可能会有一点差异。 - -## 推理速度 - -### V100 - -| 模型 | 是否固定尺寸 | 入网尺寸 | paddle\_inference | trt\_fp32 | trt\_fp16 | -| ------------------------------------------ | ------ | -------- | ---------- | ---------- | ---------- | -| ppyolo\_r50vd\_dcn\_1x\_coco | 是 | 608x608 | 20.77 | 18.40443 | 13.532618 | -| yolov3\_mobilenet\_v1\_270e\_coco | 是 | 608x608 | 9.74 | 8.607459 | 6.275342 | -| ssd\_mobilenet\_v1\_300\_120e\_voc | 是 | 300x300 | 5.17 | 4.428614 | 4.292153 | -| ttfnet\_darknet53\_1x\_coco | 是 | 512x512 | 10.14 | 8.708397 | 5.551765 | -| fcos\_dcn\_r50\_fpn\_1x\_coco | 是 | 640x640 | 35.47 | 35.023315 | 34.24144 | -| faster\_rcnn\_r50\_fpn\_1x\_coco | 否 | 640x640 | 27.99 | 26.151001 | 21.922865 | -| yolov3\_darknet53\_270e\_coco | 是 | 608x608 | 17.84 | 15.431566 | 9.861447 | -| faster\_rcnn\_r50\_fpn\_1x\_coco(800x1312) | 否 | 800x1312 | 32.49 | 25.536572 | 21.696611 | - - -### Windows 1080Ti -| 模型 | 是否固定尺寸 | 入网尺寸 | paddle\_inference | trt\_fp32 | trt\_fp16 | -| ------------------------------------------ | ------ | -------- | ---------- | ---------- | --------- | -| ppyolo\_r50vd\_dcn\_1x\_coco | 是 | 608x608 | 38.06 | 31.401291 | 31.939096 | -| yolov3\_mobilenet\_v1\_270e\_coco | 是 | 608x608 | 14.51 | 11.22542 | 11.125602 | -| ssd\_mobilenet\_v1\_300\_120e\_voc | 是 | 300x300 | 16.47 | 13.874813 | 13.761724 | -| ttfnet\_darknet53\_1x\_coco | 是 | 512x512 | 21.83 | 17.144808 | 17.092379 | -| fcos\_dcn\_r50\_fpn\_1x\_coco | 是 | 640x640 | 71.88 | 69.930206 | 69.523048 | -| faster\_rcnn\_r50\_fpn\_1x\_coco | 否 | 640x640 | 50.74 | 57.172909 | 62.081978 | -| yolov3\_darknet53\_270e\_coco | 是 | 608x608 | 30.26 | 23.915573 | 24.019217 | -| faster\_rcnn\_r50\_fpn\_1x\_coco(800x1312) | 否 | 800x1312 | 50.31 | 57.613659 | 62.050724 | - -### nv jetson -| 模型 | 是否固定尺寸 | 入网尺寸 | paddle\_inference | trt\_fp32 | trt\_fp16 | -| ------------------------------------------ | ------ | -------- | ---------- | ---------- | ---------- | -| ppyolo\_r50vd\_dcn\_1x\_coco | 是 | 608x608 | 111.80 | 99.40332 | 48.047401 | -| yolov3\_mobilenet\_v1\_270e\_coco | 是 | 608x608 | 48.76 | 43.832623 | 18.410919 | -| ssd\_mobilenet\_v1\_300\_120e\_voc | 是 | 300x300 | 10.52 | 8.840097 | 8.765652 | -| ttfnet\_darknet53\_1x\_coco | 是 | 512x512 | 73.77 | 64.025124 | 31.464737 | -| fcos\_dcn\_r50\_fpn\_1x\_coco | 是 | 640x640 | 217.11 | 214.381866 | 205.783844 | -| faster\_rcnn\_r50\_fpn\_1x\_coco | 否 | 640x640 | 169.45 | 158.919266 | 119.253937 | -| yolov3\_darknet53\_270e\_coco | 是 | 608x608 | 121.61 | 110.29866 | 42.379051 | -| faster\_rcnn\_r50\_fpn\_1x\_coco(800x1312) | 否 | 800x1312 | 228.07 | 156.393372 | 117.026932 | +**注意:** TensorRT中固定尺寸和动态尺寸区别请参考文档[TENSOR教程](TENSOR_RT.md)。由于固定尺寸下对两阶段模型支持不完善,所以faster rcnn模型采用动态尺寸测试。固定尺寸和动态尺寸支持融合的OP不完全一样,因此同一个模型在固定尺寸和动态尺寸下测试的性能可能会有一点差异。 + +## 二、推理速度 + +### 1、Linux系统 +#### (1)Tesla V100 + +| 模型 | backbone | 是否固定尺寸 | 入网尺寸 | paddle_inference | trt_fp32 | trt_fp16 | +|-------------------------------|--------------|--------|----------|------------------|----------|----------| +| Faster RCNN FPN | ResNet50 | 否 | 640x640 | 27.99 | 26.15 | 21.92 | +| Faster RCNN FPN | ResNet50 | 否 | 800x1312 | 32.49 | 25.54 | 21.70 | +| YOLOv3 | Mobilenet\_v1 | 是 | 608x608 | 9.74 | 8.61 | 6.28 | +| YOLOv3 | Darknet53 | 是 | 608x608 | 17.84 | 15.43 | 9.86 | +| PPYOLO | ResNet50 | 是 | 608x608 | 20.77 | 18.40 | 13.53 | +| SSD | Mobilenet\_v1 | 是 | 300x300 | 5.17 | 4.43 | 4.29 | +| TTFNet | Darknet53 | 是 | 512x512 | 10.14 | 8.71 | 5.55 | +| FCOS | ResNet50 | 是 | 640x640 | 35.47 | 35.02 | 34.24 | + + +#### (2)Jetson AGX Xavier + +| 模型 | backbone | 是否固定尺寸 | 入网尺寸 | paddle_inference | trt_fp32 | trt_fp16 | +|-------------------------------|--------------|--------|----------|------------------|----------|----------| +| Faster RCNN FPN | ResNet50 | 否 | 640x640 | 169.45 | 158.92 | 119.25 | +| Faster RCNN FPN | ResNet50 | 否 | 800x1312 | 228.07 | 156.39 | 117.03 | +| YOLOv3 | Mobilenet\_v1 | 是 | 608x608 | 48.76 | 43.83 | 18.41 | +| YOLOv3 | Darknet53 | 是 | 608x608 | 121.61 | 110.30 | 42.38 | +| PPYOLO | ResNet50 | 是 | 608x608 | 111.80 | 99.40 | 48.05 | +| SSD | Mobilenet\_v1 | 是 | 300x300 | 10.52 | 8.84 | 8.77 | +| TTFNet | Darknet53 | 是 | 512x512 | 73.77 | 64.03 | 31.46 | +| FCOS | ResNet50 | 是 | 640x640 | 217.11 | 214.38 | 205.78 | + +### 2、Windows系统 +#### (1)GTX 1080Ti + +| 模型 | backbone | 是否固定尺寸 | 入网尺寸 | paddle_inference | trt_fp32 | trt_fp16 | +|-------------------------------|--------------|--------|----------|------------------|----------|----------| +| Faster RCNN FPN | ResNet50 | 否 | 640x640 | 50.74 | 57.17 | 62.08 | +| Faster RCNN FPN | ResNet50 | 否 | 800x1312 | 50.31 | 57.61 | 62.05 | +| YOLOv3 | Mobilenet\_v1 | 是 | 608x608 | 14.51 | 11.23 | 11.13 | +| YOLOv3 | Darknet53 | 是 | 608x608 | 30.26 | 23.92 | 24.02 | +| PPYOLO | ResNet50 | 是 | 608x608 | 38.06 | 31.40 | 31.94 | +| SSD | Mobilenet\_v1 | 是 | 300x300 | 16.47 | 13.87 | 13.76 | +| TTFNet | Darknet53 | 是 | 512x512 | 21.83 | 17.14 | 17.09 | +| FCOS | ResNet50 | 是 | 640x640 | 71.88 | 69.93 | 69.52 | diff --git a/deploy/EXPORT_MODEL.md b/deploy/EXPORT_MODEL.md index eb46e48ed..15685e80c 100644 --- a/deploy/EXPORT_MODEL.md +++ b/deploy/EXPORT_MODEL.md @@ -1,8 +1,8 @@ # PaddleDetection模型导出教程 -## 模型导出 +## 一、模型导出 本章节介绍如何使用`tools/export_model.py`脚本导出模型。 -### 导出模输入输出说明 +### 1、导出模输入输出说明 - `PaddleDetection`中输入变量以及输入形状如下: | 输入名称 | 输入形状 | 表示含义 | | :---------: | ----------- | ---------- | @@ -22,14 +22,14 @@ **注意**模型动转静导出不支持模型结构中包含numpy相关操作的情况。 -### 启动参数说明 +### 2、启动参数说明 | FLAG | 用途 | 默认值 | 备注 | |:--------------:|:--------------:|:------------:|:-----------------------------------------:| | -c | 指定配置文件 | None | | | --output_dir | 模型保存路径 | `./output_inference` | 模型默认保存在`output/配置文件名/`路径下 | -### 使用示例 +### 3、使用示例 使用训练得到的模型进行试用,脚本如下 @@ -42,7 +42,7 @@ python tools/export_model.py -c configs/yolov3/yolov3_darknet53_270e_coco.yml -- 预测模型会导出到`inference_model/yolov3_darknet53_270e_coco`目录下,分别为`infer_cfg.yml`, `model.pdiparams`, `model.pdiparams.info`, `model.pdmodel`。 -### 设置导出模型的输入大小 +### 4、设置导出模型的输入大小 使用Fluid-TensorRT进行预测时,由于<=TensorRT 5.1的版本仅支持定长输入,保存模型的`data`层的图片大小需要和实际输入图片大小一致。而Fluid C++预测引擎没有此限制。设置TestReader中的`image_shape`可以修改保存模型中的输入图片大小。示例如下: diff --git a/deploy/README.md b/deploy/README.md index a57e810d4..b026ded94 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -2,7 +2,7 @@ 训练得到一个满足要求的模型后,如果想要将该模型部署到已选择的平台上,需要通过`tools/export_model.py`将模型导出预测部署的模型和配置文件。 并在同一文件夹下导出预测时使用的配置文件,配置文件名为`infer_cfg.yml`。 -## `PaddleDetection`目前支持的部署方式按照部署设备可以分为: +## 1、`PaddleDetection`目前支持的部署方式按照部署设备可以分为: - 在本机`python`语言部署,支持在有`python paddle`(支持`CPU`、`GPU`)环境下部署,有两种方式: - 使用`tools/infer.py`,此种方式依赖`PaddleDetection`代码库。 - 将模型导出,使用`deploy/python/infer.py`,此种方式不依赖`PaddleDetection`代码库,可以单个`python`文件部署。 @@ -13,7 +13,7 @@ - `NV Jetson`嵌入式设备上部署 - `TensorRT`加速请参考文档[TensorRT预测部署教程](TENSOR_RT.md) -## 模型导出 +## 2、模型导出 使用`tools/export_model.py`脚本导出模型已经部署时使用的配置文件,配置文件名字为`infer_cfg.yml`。模型导出脚本如下: ```bash # 导出YOLOv3模型 @@ -29,12 +29,12 @@ python tools/export_model.py -c configs/yolov3/yolov3_darknet53_270e_coco.yml -o 模型导出具体请参考文档[PaddleDetection模型导出教程](EXPORT_MODEL.md)。 -## 如何选择部署时依赖库的版本 +## 3、如何选择部署时依赖库的版本 -### CUDA、cuDNN、TensorRT版本选择 +### (1)CUDA、cuDNN、TensorRT版本选择 由于CUDA、cuDNN、TENSORRT不一定都是向前兼容的,需要使用与编译Paddle预测库使用的环境完全一致的环境进行部署。 -### 部署时预测库版本、预测引擎版本选择 +### (2)部署时预测库版本、预测引擎版本选择 - Linux、Windows平台下C++部署,需要使用Paddle预测库进行部署。 (1)Paddle官网提供在不同平台、不同环境下编译好的预测库,您可以直接使用,请在这里[Paddle预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html) 选择。 @@ -55,7 +55,7 @@ python tools/export_model.py -c configs/yolov3/yolov3_darknet53_270e_coco.yml -o 若列表中没有您需要的预测库,您可以在您的平台上自行编译,编译过程请参考[Paddle源码编译](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/compile/linux-compile.html)。 -## 部署 +## 4、部署 - C++部署,先使用跨平台编译工具`CMake`根据`CMakeLists.txt`生成`Makefile`,支持`Windows、Linux、NV Jetson`平台,然后进行编译产出可执行文件。可以直接使用`cpp/scripts/build.sh`脚本编译: ```buildoutcfg cd cpp @@ -69,7 +69,7 @@ sh scripts/build.sh - 手机移动端部署,请参考[Paddle-Lite-Demo](https://github.com/PaddlePaddle/Paddle-Lite-Demo)部署。 -## 常见问题QA +## 5、常见问题QA - 1、`Paddle 1.8.4`训练的模型,可以用`Paddle2.0`部署吗? Paddle 2.0是兼容Paddle 1.8.4的,因此是可以的。但是部分模型(如SOLOv2)使用到了Paddle 2.0中新增OP,这类模型不可以。 -- Gitee From 372016552bb10f0459d0db80896ec71c333a01bd Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Mon, 19 Apr 2021 21:47:07 +0800 Subject: [PATCH 66/90] [cherry pick] update install doc (#2691) * update install doc --- docs/tutorials/INSTALL.md | 51 +++++++++++++----------------------- docs/tutorials/INSTALL_cn.md | 49 ++++++++++++++-------------------- requirements.txt | 3 +++ setup.py | 17 +++++++++--- 4 files changed, 53 insertions(+), 67 deletions(-) diff --git a/docs/tutorials/INSTALL.md b/docs/tutorials/INSTALL.md index 874bdca09..c41d96e0c 100644 --- a/docs/tutorials/INSTALL.md +++ b/docs/tutorials/INSTALL.md @@ -19,36 +19,7 @@ For general information about PaddleDetection, please see [README.md](https://gi ## Instruction -It is recommened to install PaddleDetection and begin your object detection journey via docker environment. Please follow the instruction below and if you want to use your local environment, you could skip step 1. - - -### 1. (Recommended) Prepare docker environment - -For example, the environment is CUDA10.1 and CUDNN 7.6 - -```bash -# Firstly, pull the PaddlePaddle image -sudo docker pull paddlepaddle/paddle:latest-dev-cuda10.1-cudnn7-gcc82 - -# Switch to the working directory -cd /home/work - -# Create a container called ppdet and -# mount the current directory which may contains the dataset -# to /paddle directory in the container -sudo nvidia-docker run --name ppdet -v $PWD:/paddle --privileged --shm-size=4G --network=host -it paddlepaddle/paddle:latest-dev-cuda10.1-cudnn7-gcc82 /bin/bash -``` - -You can see [DockerHub](https://hub.docker.com/r/paddlepaddle/paddle/tags/) to get the image that matches your machine. - -``` -# ctrl+P+Q to exit docker, to re-enter docker using the following command: -sudo docker exec -it ppdet /bin/bash -``` - -For more docker usage, please refer to the PaddlePaddle [document](https://www.paddlepaddle.org.cn/documentation/docs/en/install/docker/fromdocker_en.html). - -### 2. Install PaddlePaddle +### 1. Install PaddlePaddle ``` # CUDA9.0 @@ -79,8 +50,24 @@ python -c "import paddle; print(paddle.__version__)" 1. If you want to use PaddleDetection on multi-GPU, please install NCCL at first. -### 3. Install PaddleDetection +### 2. Install PaddleDetection + +PaddleDetection can be installed in the following two ways: + +#### 2.1 Install via pip + +**Note:** Installing via pip only supports Python3 + +``` +# install paddledet via pip +pip install paddledet==2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple + +# Download and use the configuration files and code examples in the source code +git clone https://github.com/PaddlePaddle/PaddleDetection.git +cd PaddleDetection +``` +#### 2.2 Compile and install from Source code ``` # Clone PaddleDetection repository @@ -116,8 +103,6 @@ Ran 12 tests in 2.480s OK (skipped=2) ``` - - ## Inference demo **Congratulation!** Now you have installed PaddleDetection successfully and try our inference demo: diff --git a/docs/tutorials/INSTALL_cn.md b/docs/tutorials/INSTALL_cn.md index facf2568e..c5d105ade 100644 --- a/docs/tutorials/INSTALL_cn.md +++ b/docs/tutorials/INSTALL_cn.md @@ -19,35 +19,7 @@ ## 安装说明 -建议使用docker环境安装PaddleDetection并开启你的目标检测之旅。请按照如下步骤说明进行安装,如果您希望使用本机环境,可以跳过步骤1. - -### 1. (推荐)准备docker环境 - -已CUDA10.1, CUDNN7.6为例 - -```bash -# 首先拉去PaddlePaddle镜像 -sudo docker pull paddlepaddle/paddle:latest-dev-cuda10.1-cudnn7-gcc82 - -# 切换到工作目录 -cd /home/work - -# 创建ppdet容器 -# 将存放数据的当前目录映射到容器中的/ppdet目录中 -sudo nvidia-docker run --name ppdet -v $PWD:/paddle --privileged --shm-size=4G --network=host -it paddlepaddle/paddle:latest-dev-cuda10.1-cudnn7-gcc82 /bin/bash -``` - -可以在[DockerHub](https://hub.docker.com/r/paddlepaddle/paddle/tags/) 中找到匹配您机器环境的镜像 - -``` -# ctrl+P+Q 退出容器, 使用如下命令重新进入docker环境: -sudo docker exec -it ppdet /bin/bash -``` - -其他更多docker用法,请参考PaddlePaddle[文档](https://www.paddlepaddle.org.cn/documentation/docs/zh/install/docker/fromdocker.html) - - -### 安装PaddlePaddle +### 1. 安装PaddlePaddle ``` # CUDA9.0 @@ -75,7 +47,24 @@ python -c "import paddle; print(paddle.__version__)" **注意** 1. 如果您希望在多卡环境下使用PaddleDetection,请首先安装NCCL -### 3. 安装PaddleDetection +### 2. 安装PaddleDetection + +可通过如下两种方式安装PaddleDetection + +#### 2.1 通过pip安装 + +**注意:** pip安装方式只支持Python3 + +``` +# pip安装paddledet +pip install paddledet==2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple + +# 下载使用源码中的配置文件和代码示例 +git clone https://github.com/PaddlePaddle/PaddleDetection.git +cd PaddleDetection +``` + +#### 2.2 源码编译安装 ``` # 克隆PaddleDetection仓库 diff --git a/requirements.txt b/requirements.txt index 8ce34b5f0..59187a3e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,3 +8,6 @@ scipy terminaltables pycocotools setuptools>=42.0.0 + +# extension OPs for rotation bbox +rbox_iou_ops diff --git a/setup.py b/setup.py index 7be74fce9..cb0502220 100644 --- a/setup.py +++ b/setup.py @@ -17,6 +17,7 @@ import os.path as osp import glob import shutil from setuptools import find_packages, setup +from paddle.utils import cpp_extension def readme(): @@ -59,17 +60,25 @@ packages = [ 'ppdet.metrics', 'ppdet.modeling', 'ppdet.model_zoo', - 'ppdet.py_op', + 'ppdet.slim', 'ppdet.utils', ] if __name__ == "__main__": + # install extension APIs for rotation bbox + from paddle.utils import cpp_extension + cpp_extension.setup( + name='rbox_iou_ops', + ext_modules=cpp_extension.CUDAExtension(sources=[ + 'ppdet/ext_op/rbox_iou_op.cc', 'ppdet/ext_op/rbox_iou_op.cu' + ])) + setup( - name='ppdet', + name='paddledet', packages=find_packages(exclude=("configs", "tools", "deploy")), package_data={'ppdet.model_zoo': package_model_zoo()}, author='PaddlePaddle', - version='2.0-rc', + version='2.0', install_requires=parse_requirements('./requirements.txt'), description='Object detection and instance segmentation toolkit based on PaddlePaddle', long_description=readme(), @@ -88,4 +97,4 @@ if __name__ == "__main__": 'Programming Language :: Python :: 3.7', 'Topic :: Utilities' ], license='Apache License 2.0', - ext_modules=[], ) + ext_modules=[]) -- Gitee From 0236db5063bd8be9bafc0a5669a46332b170d51f Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Wed, 21 Apr 2021 11:22:18 +0800 Subject: [PATCH 67/90] [cherry pick] remove rbox-iou-ops dependence (#2708) * remove rbox-iou-ops dependence --- docs/tutorials/INSTALL.md | 2 +- docs/tutorials/INSTALL_cn.md | 2 +- ppdet/modeling/proposal_generator/target_layer.py | 4 +++- requirements.txt | 3 --- setup.py | 10 +--------- 5 files changed, 6 insertions(+), 15 deletions(-) diff --git a/docs/tutorials/INSTALL.md b/docs/tutorials/INSTALL.md index c41d96e0c..cb3aca93d 100644 --- a/docs/tutorials/INSTALL.md +++ b/docs/tutorials/INSTALL.md @@ -60,7 +60,7 @@ PaddleDetection can be installed in the following two ways: ``` # install paddledet via pip -pip install paddledet==2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install paddledet==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple # Download and use the configuration files and code examples in the source code git clone https://github.com/PaddlePaddle/PaddleDetection.git diff --git a/docs/tutorials/INSTALL_cn.md b/docs/tutorials/INSTALL_cn.md index c5d105ade..1f84350e6 100644 --- a/docs/tutorials/INSTALL_cn.md +++ b/docs/tutorials/INSTALL_cn.md @@ -57,7 +57,7 @@ python -c "import paddle; print(paddle.__version__)" ``` # pip安装paddledet -pip install paddledet==2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install paddledet==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple # 下载使用源码中的配置文件和代码示例 git clone https://github.com/PaddlePaddle/PaddleDetection.git diff --git a/ppdet/modeling/proposal_generator/target_layer.py b/ppdet/modeling/proposal_generator/target_layer.py index a64a2e8d1..cdf405e3e 100644 --- a/ppdet/modeling/proposal_generator/target_layer.py +++ b/ppdet/modeling/proposal_generator/target_layer.py @@ -322,7 +322,9 @@ class RBoxAssigner(object): try: from rbox_iou_ops import rbox_iou except Exception as e: - print('import custom_ops error', e) + print("import custom_ops error, try install rbox_iou_ops " \ + "following ppdet/ext_op/README.md", e) + sys.stdout.flush() sys.exit(-1) iou = rbox_iou(gt_bboxes_xc_yc, anchors_xc_yc) diff --git a/requirements.txt b/requirements.txt index 59187a3e0..8ce34b5f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,6 +8,3 @@ scipy terminaltables pycocotools setuptools>=42.0.0 - -# extension OPs for rotation bbox -rbox_iou_ops diff --git a/setup.py b/setup.py index cb0502220..23cdb590e 100644 --- a/setup.py +++ b/setup.py @@ -65,20 +65,12 @@ packages = [ ] if __name__ == "__main__": - # install extension APIs for rotation bbox - from paddle.utils import cpp_extension - cpp_extension.setup( - name='rbox_iou_ops', - ext_modules=cpp_extension.CUDAExtension(sources=[ - 'ppdet/ext_op/rbox_iou_op.cc', 'ppdet/ext_op/rbox_iou_op.cu' - ])) - setup( name='paddledet', packages=find_packages(exclude=("configs", "tools", "deploy")), package_data={'ppdet.model_zoo': package_model_zoo()}, author='PaddlePaddle', - version='2.0', + version='2.0.0', install_requires=parse_requirements('./requirements.txt'), description='Object detection and instance segmentation toolkit based on PaddlePaddle', long_description=readme(), -- Gitee From 8968a22fb06a8a7a313ee9b4bdde7d8a58e33f0d Mon Sep 17 00:00:00 2001 From: cnn Date: Wed, 21 Apr 2021 16:12:10 +0800 Subject: [PATCH 68/90] [doc] add ext_op build doc (#2709) * add ext_op build doc, test=fix_document * add note for JetPack version with machine --- configs/dota/README.md | 10 ++++++++++ deploy/cpp/docs/Jetson_build.md | 2 ++ 2 files changed, 12 insertions(+) diff --git a/configs/dota/README.md b/configs/dota/README.md index 250d0bc9a..3fe6bd803 100644 --- a/configs/dota/README.md +++ b/configs/dota/README.md @@ -66,6 +66,16 @@ paddle.utils.run_check() python3.7 setup.py install ``` +Windows环境请按照如下步骤安装: + +(1)准备Visual Studio (版本需要>=Visual Studio 2015 update3),这里以VS2017为例; + +(2)点击开始-->Visual Studio 2017-->适用于 VS 2017 的x64本机工具命令提示; + +(3)设置环境变量:`set DISTUTILS_USE_SDK=1` + +(4)进入`PaddleDetection/ppdet/ext_op`目录,通过`python3.7 setup.py install`命令进行安装。 + 安装完成后,测试自定义op是否可以正常编译以及计算结果: ``` cd PaddleDetecetion/ppdet/ext_op diff --git a/deploy/cpp/docs/Jetson_build.md b/deploy/cpp/docs/Jetson_build.md index f5d147f8f..d7ece3058 100644 --- a/deploy/cpp/docs/Jetson_build.md +++ b/deploy/cpp/docs/Jetson_build.md @@ -18,6 +18,8 @@ cat /etc/nv_tegra_release * (3) 下载`JetPack`,请参考[NVIDIA Jetson Linux Developer Guide](https://docs.nvidia.com/jetson/l4t/index.html) 中的`Preparing a Jetson Developer Kit for Use`章节内容进行刷写系统镜像。 +**注意**: 请在[jetpack-archive](https://developer.nvidia.com/embedded/jetpack-archive) 根据硬件选择适配的`JetPack`版本进行刷机。 + ## 下载或编译`Paddle`预测库 本文档使用`Paddle`在`JetPack4.3`上预先编译好的预测库,请根据硬件在[安装与编译 Linux 预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html) 中选择对应版本的`Paddle`预测库。 -- Gitee From d8f75a231a0f6b7c62644ba1c90d06ce396e211e Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Thu, 22 Apr 2021 11:27:40 +0800 Subject: [PATCH 69/90] fix voc difficult not found & map_res empty (#2720) --- ppdet/data/source/voc.py | 7 ++++++- ppdet/engine/callbacks.py | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ppdet/data/source/voc.py b/ppdet/data/source/voc.py index 562366ae8..56b746c14 100644 --- a/ppdet/data/source/voc.py +++ b/ppdet/data/source/voc.py @@ -117,7 +117,12 @@ class VOCDataSet(DetDataset): difficult = [] for i, obj in enumerate(objs): cname = obj.find('name').text - _difficult = int(obj.find('difficult').text) + + # user dataset may not contain difficult field + _difficult = obj.find('difficult') + _difficult = int( + _difficult.text) if _difficult is not None else 0 + x1 = float(obj.find('bndbox').find('xmin').text) y1 = float(obj.find('bndbox').find('ymin').text) x2 = float(obj.find('bndbox').find('xmax').text) diff --git a/ppdet/engine/callbacks.py b/ppdet/engine/callbacks.py index 410de7744..9d418119f 100644 --- a/ppdet/engine/callbacks.py +++ b/ppdet/engine/callbacks.py @@ -179,6 +179,11 @@ class Checkpointer(Callback): for metric in self.model._metrics: map_res = metric.get_results() key = 'bbox' if 'bbox' in map_res else 'mask' + if key not in map_res: + logger.warn("Evaluation results empty, this may be due to " \ + "training iterations being too few or not " \ + "loading the correct weights.") + return if map_res[key][0] > self.best_ap: self.best_ap = map_res[key][0] save_name = 'best_model' -- Gitee From 0bd26c567a726c5b75834b438e1b748781358004 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Thu, 22 Apr 2021 11:44:31 +0800 Subject: [PATCH 70/90] Cherry pick update dev doc (#2711) * update doc on develop, test=document_fix * update dependency of ppdet and paddle, test=document_fix * update docs, test=document_fix --- README_cn.md | 3 ++- README_en.md | 3 ++- configs/fcos/README.md | 9 +++++---- docs/tutorials/INSTALL.md | 11 +++++++++++ docs/tutorials/INSTALL_cn.md | 9 +++++++++ tools/infer.py | 4 ++-- 6 files changed, 31 insertions(+), 8 deletions(-) diff --git a/README_cn.md b/README_cn.md index 46a37babe..019035425 100644 --- a/README_cn.md +++ b/README_cn.md @@ -219,7 +219,8 @@ PaddleDetection模块化地实现了多种主流目标检测算法,提供了 - [PP-YOLO模型](configs/ppyolo/README_cn.md) - [676类目标检测](static/docs/featured_model/LARGE_SCALE_DET_MODEL.md) - [两阶段实用模型PSS-Det](configs/rcnn_enhance/README.md) - - [TTFNet](configs/ttfnet/README.md) + - [增强版Anchor Free模型TTFNet](configs/ttfnet/README.md) + - [半监督知识蒸馏预训练检测模型](docs/feature_models/SSLD_PRETRAINED_MODEL.md) - 通用实例分割 - [SOLOv2](configs/solov2/README.md) - 旋转框检测 diff --git a/README_en.md b/README_en.md index 301bfa323..418ea6ec9 100644 --- a/README_en.md +++ b/README_en.md @@ -232,7 +232,8 @@ The relationship between COCO mAP and FPS on Tesla V100 of representative models - [PP-YOLO](configs/ppyolo/README.md) - [676 classes of object detection](static/docs/featured_model/LARGE_SCALE_DET_MODEL.md) - [Two-stage practical PSS-Det](configs/rcnn_enhance/README.md) - - [TTFNet](configs/ttfnet/README.md) + - [Enhanced Anchor Free model--TTFNet](configs/ttfnet/README.md) + - [SSLD pretrained models](docs/feature_models/SSLD_PRETRAINED_MODEL_en.md) - Universal instance segmentation - [SOLOv2](configs/solov2/README.md) - Rotation object detection diff --git a/configs/fcos/README.md b/configs/fcos/README.md index c852d09dc..27362f276 100644 --- a/configs/fcos/README.md +++ b/configs/fcos/README.md @@ -10,11 +10,12 @@ FCOS (Fully Convolutional One-Stage Object Detection) is a fast anchor-free obje ## Model Zoo -| 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | 下载 | 配置文件 | +| Backbone | Model | images/GPU | lr schedule |FPS | Box AP | download | config | | :-------------- | :------------- | :-----: | :-----: | :------------: | :-----: | :-----------------------------------------------------: | :-----: | -| ResNet50-FPN | FCOS | 2 | 1x | ---- | 39.6 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | FCOS+DCN | 2 | 1x | ---- | 44.3 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_dcn_r50_fpn_1x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_dcn_r50_fpn_1x_coco.yml) | -| ResNet50-FPN | FCOS+multiscale_train | 2 | 2x | ---- | 41.8 | [下载链接](https://paddledet.bj.bcebos.com/models/fcos_r50_fpn_multiscale_2x_coco.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_r50_fpn_multiscale_2x_coco.yml) | +| ResNet50-FPN | FCOS | 2 | 1x | ---- | 39.6 | [download](https://paddledet.bj.bcebos.com/models/fcos_r50_fpn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | FCOS+DCN | 2 | 1x | ---- | 44.3 | [download](https://paddledet.bj.bcebos.com/models/fcos_dcn_r50_fpn_1x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_dcn_r50_fpn_1x_coco.yml) | +| ResNet50-FPN | FCOS+multiscale_train | 2 | 2x | ---- | 41.8 | [download](https://paddledet.bj.bcebos.com/models/fcos_r50_fpn_multiscale_2x_coco.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0/configs/fcos/fcos_r50_fpn_multiscale_2x_coco.yml) | + **Notes:** - FCOS is trained on COCO train2017 dataset and evaluated on val2017 results of `mAP(IoU=0.5:0.95)`. diff --git a/docs/tutorials/INSTALL.md b/docs/tutorials/INSTALL.md index cb3aca93d..15aee6a99 100644 --- a/docs/tutorials/INSTALL.md +++ b/docs/tutorials/INSTALL.md @@ -17,6 +17,17 @@ For general information about PaddleDetection, please see [README.md](https://gi - cuDNN >= 7.6 +Dependency of PaddleDetection and PaddlePaddle: + +| PaddleDetection version | PaddlePaddle version | tips | +| :----------------: | :---------------: | :-------: | +| release/2.0 | >= 2.0.1 | Dygraph mode is set as default | +| release/2.0-rc | >= 2.0.1 | -- | +| release/0.5 | >= 1.8.4 | Cascade R-CNN and SOLOv2 depends on 2.0.0.rc | +| release/0.4 | >= 1.8.4 | PP-YOLO depends on 1.8.4 | +| release/0.3 | >=1.7 | -- | + + ## Instruction ### 1. Install PaddlePaddle diff --git a/docs/tutorials/INSTALL_cn.md b/docs/tutorials/INSTALL_cn.md index 1f84350e6..1c557b76d 100644 --- a/docs/tutorials/INSTALL_cn.md +++ b/docs/tutorials/INSTALL_cn.md @@ -16,6 +16,15 @@ - CUDA >= 9.0 - cuDNN >= 7.6 +PaddleDetection 依赖 PaddlePaddle 版本关系: + +| PaddleDetection版本 | PaddlePaddle版本 | 备注 | +| :------------------: | :---------------: | :-------: | +| release/2.0 | >= 2.0.1 | 默认使用动态图模式 | +| release/2.0-rc | >= 2.0.1 | -- | +| release/0.5 | >= 1.8.4 | 大部分模型>=1.8.4即可运行,Cascade R-CNN系列模型与SOLOv2依赖2.0.0.rc版本 | +| release/0.4 | >= 1.8.4 | PP-YOLO依赖1.8.4 | +| release/0.3 | >=1.7 | -- | ## 安装说明 diff --git a/tools/infer.py b/tools/infer.py index 4b38225ff..d4f213ead 100755 --- a/tools/infer.py +++ b/tools/infer.py @@ -68,7 +68,7 @@ def parse_args(): "--use_vdl", type=bool, default=False, - help="whether to record the data to VisualDL.") + help="Whether to record the data to VisualDL.") parser.add_argument( '--vdl_log_dir', type=str, @@ -78,7 +78,7 @@ def parse_args(): "--save_txt", type=bool, default=False, - help="whether to record the data to VisualDL.") + help="Whether to save inference result in txt.") args = parser.parse_args() return args -- Gitee From 85a82d9b15a5df73c5a638e62c6835072844c75f Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Fri, 23 Apr 2021 19:41:48 +0800 Subject: [PATCH 71/90] fix voc eval on release/2.0 (#2732) --- configs/ppyolo/ppyolo_r50vd_dcn_voc.yml | 4 ++++ configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml | 4 ++++ configs/ssd/ssd_vgg16_300_240e_voc.yml | 4 ++++ configs/yolov3/yolov3_darknet53_270e_voc.yml | 4 ++++ configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml | 4 ++++ configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml | 4 ++++ configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml | 4 ++++ .../yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml | 4 ++++ ppdet/data/transform/batch_operators.py | 9 +++++++-- 9 files changed, 39 insertions(+), 2 deletions(-) diff --git a/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml b/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml index b383deab0..3a0a4aa92 100644 --- a/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml +++ b/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml @@ -21,6 +21,10 @@ TrainReader: mixup_epoch: 350 batch_size: 12 +EvalReader: + batch_transforms: + - PadBatch: {pad_gt: True} + epoch: 583 LearningRate: diff --git a/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml b/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml index 45de7733a..3453f0276 100644 --- a/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml +++ b/configs/ssd/ssd_mobilenet_v1_300_120e_voc.yml @@ -6,3 +6,7 @@ _BASE_: [ '_base_/ssd_mobilenet_reader.yml', ] weights: output/ssd_mobilenet_v1_300_120e_voc/model_final + +EvalReader: + batch_transforms: + - PadBatch: {pad_gt: True} diff --git a/configs/ssd/ssd_vgg16_300_240e_voc.yml b/configs/ssd/ssd_vgg16_300_240e_voc.yml index 58cf4b985..e2e2d307c 100644 --- a/configs/ssd/ssd_vgg16_300_240e_voc.yml +++ b/configs/ssd/ssd_vgg16_300_240e_voc.yml @@ -6,3 +6,7 @@ _BASE_: [ '_base_/ssd_reader.yml', ] weights: output/ssd_vgg16_300_240e_voc/model_final + +EvalReader: + batch_transforms: + - PadBatch: {pad_gt: True} diff --git a/configs/yolov3/yolov3_darknet53_270e_voc.yml b/configs/yolov3/yolov3_darknet53_270e_voc.yml index bb7a315ef..e24c01e31 100644 --- a/configs/yolov3/yolov3_darknet53_270e_voc.yml +++ b/configs/yolov3/yolov3_darknet53_270e_voc.yml @@ -8,3 +8,7 @@ _BASE_: [ snapshot_epoch: 5 weights: output/yolov3_darknet53_270e_voc/model_final + +EvalReader: + batch_transforms: + - PadBatch: {pad_gt: True} diff --git a/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml index a6b2303f9..9952e7ea4 100644 --- a/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml +++ b/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml @@ -40,6 +40,10 @@ TrainReader: drop_last: true mixup_epoch: 250 +EvalReader: + batch_transforms: + - PadBatch: {pad_gt: True} + LearningRate: base_lr: 0.001 schedulers: diff --git a/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml index 37cce342a..c5355941f 100644 --- a/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml +++ b/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml @@ -41,6 +41,10 @@ TrainReader: drop_last: true mixup_epoch: 250 +EvalReader: + batch_transforms: + - PadBatch: {pad_gt: True} + LearningRate: base_lr: 0.001 schedulers: diff --git a/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml index 5725accb7..8c2facec7 100644 --- a/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml +++ b/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml @@ -40,6 +40,10 @@ TrainReader: drop_last: true mixup_epoch: 250 +EvalReader: + batch_transforms: + - PadBatch: {pad_gt: True} + LearningRate: base_lr: 0.001 schedulers: diff --git a/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml index 3099703b8..13d81f45e 100644 --- a/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml +++ b/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml @@ -41,6 +41,10 @@ TrainReader: drop_last: true mixup_epoch: 250 +EvalReader: + batch_transforms: + - PadBatch: {pad_gt: True} + LearningRate: base_lr: 0.001 schedulers: diff --git a/ppdet/data/transform/batch_operators.py b/ppdet/data/transform/batch_operators.py index 85639c31d..3ae84774c 100644 --- a/ppdet/data/transform/batch_operators.py +++ b/ppdet/data/transform/batch_operators.py @@ -115,6 +115,7 @@ class PadBatch(BaseOperator): gt_box_data = -np.ones([gt_num_max, 4], dtype=np.float32) gt_class_data = -np.ones([gt_num_max], dtype=np.int32) is_crowd_data = np.ones([gt_num_max], dtype=np.int32) + difficult_data = np.ones([gt_num_max], dtype=np.int32) if pad_mask: poly_num_max = max(poly_num) @@ -127,7 +128,12 @@ class PadBatch(BaseOperator): gt_num = data['gt_bbox'].shape[0] gt_box_data[0:gt_num, :] = data['gt_bbox'] gt_class_data[0:gt_num] = np.squeeze(data['gt_class']) - is_crowd_data[0:gt_num] = np.squeeze(data['is_crowd']) + if 'is_crowd' in data: + is_crowd_data[0:gt_num] = np.squeeze(data['is_crowd']) + data['is_crowd'] = is_crowd_data + if 'difficult' in data: + difficult_data[0:gt_num] = np.squeeze(data['difficult']) + data['difficult'] = difficult_data if pad_mask: for j, poly in enumerate(data['gt_poly']): for k, p_p in enumerate(poly): @@ -136,7 +142,6 @@ class PadBatch(BaseOperator): data['gt_poly'] = gt_masks_data data['gt_bbox'] = gt_box_data data['gt_class'] = gt_class_data - data['is_crowd'] = is_crowd_data return samples -- Gitee From c36eb9f6876aa78b910bbce6d724c3a173390f16 Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Sun, 25 Apr 2021 11:27:11 +0800 Subject: [PATCH 72/90] eval with ema weight while training (#2748) --- ppdet/engine/callbacks.py | 19 ++----------------- ppdet/engine/trainer.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/ppdet/engine/callbacks.py b/ppdet/engine/callbacks.py index 9d418119f..0798b91f3 100644 --- a/ppdet/engine/callbacks.py +++ b/ppdet/engine/callbacks.py @@ -26,7 +26,6 @@ import paddle import paddle.distributed as dist from ppdet.utils.checkpoint import save_model -from ppdet.optimizer import ModelEMA from ppdet.utils.logger import setup_logger logger = setup_logger('ppdet.engine') @@ -143,20 +142,12 @@ class Checkpointer(Callback): super(Checkpointer, self).__init__(model) cfg = self.model.cfg self.best_ap = 0. - self.use_ema = ('use_ema' in cfg and cfg['use_ema']) self.save_dir = os.path.join(self.model.cfg.save_dir, self.model.cfg.filename) if hasattr(self.model.model, 'student_model'): self.weight = self.model.model.student_model else: self.weight = self.model.model - if self.use_ema: - self.ema = ModelEMA( - cfg['ema_decay'], self.weight, use_thres_step=True) - - def on_step_end(self, status): - if self.use_ema: - self.ema.update(self.weight) def on_epoch_end(self, status): # Checkpointer only performed during training @@ -170,10 +161,7 @@ class Checkpointer(Callback): if epoch_id % self.model.cfg.snapshot_epoch == 0 or epoch_id == end_epoch - 1: save_name = str( epoch_id) if epoch_id != end_epoch - 1 else "model_final" - if self.use_ema: - weight = self.ema.apply() - else: - weight = self.weight + weight = self.weight elif mode == 'eval': if 'save_best_model' in status and status['save_best_model']: for metric in self.model._metrics: @@ -187,10 +175,7 @@ class Checkpointer(Callback): if map_res[key][0] > self.best_ap: self.best_ap = map_res[key][0] save_name = 'best_model' - if self.use_ema: - weight = self.ema.apply() - else: - weight = self.weight + weight = self.weight logger.info("Best test {} ap is {:0.3f}.".format( key, self.best_ap)) if weight: diff --git a/ppdet/engine/trainer.py b/ppdet/engine/trainer.py index a25554be3..2b17cdea9 100644 --- a/ppdet/engine/trainer.py +++ b/ppdet/engine/trainer.py @@ -28,6 +28,7 @@ import paddle.distributed as dist from paddle.distributed import fleet from paddle import amp from paddle.static import InputSpec +from ppdet.optimizer import ModelEMA from ppdet.core.workspace import create from ppdet.utils.checkpoint import load_weight, load_pretrain_weight @@ -61,6 +62,11 @@ class Trainer(object): self.model = self.cfg.model self.is_loaded_weights = True + self.use_ema = ('use_ema' in cfg and cfg['use_ema']) + if self.use_ema: + self.ema = ModelEMA( + cfg['ema_decay'], self.model, use_thres_step=True) + # build data loader self.dataset = cfg['{}Dataset'.format(self.mode.capitalize())] if self.mode == 'train': @@ -281,8 +287,15 @@ class Trainer(object): self.status['batch_time'].update(time.time() - iter_tic) self._compose_callback.on_step_end(self.status) + if self.use_ema: + self.ema.update(self.model) iter_tic = time.time() + # apply ema weight on model + if self.use_ema: + weight = self.model.state_dict() + self.model.set_dict(self.ema.apply()) + self._compose_callback.on_epoch_end(self.status) if validate and (self._nranks < 2 or self._local_rank == 0) \ @@ -303,6 +316,10 @@ class Trainer(object): self.status['save_best_model'] = True self._eval_with_loader(self._eval_loader) + # restore origin weight on model + if self.use_ema: + self.model.set_dict(weight) + def _eval_with_loader(self, loader): sample_num = 0 tic = time.time() -- Gitee From 8b145fa8fda927c25a4492a5ef5b0aeb98adab39 Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Sun, 25 Apr 2021 14:50:14 +0800 Subject: [PATCH 73/90] [cherry-pick]refine yolov3 configs (#2758) * refine yolov3 configs * fix dataset problem --- configs/datasets/roadsign_voc.yml | 2 +- .../yolov3/yolov3_mobilenet_v1_270e_voc.yml | 35 ------------------ .../yolov3/yolov3_mobilenet_v1_roadsign.yml | 33 ----------------- .../yolov3_mobilenet_v1_ssld_270e_voc.yml | 37 +------------------ .../yolov3_mobilenet_v3_large_270e_voc.yml | 35 ------------------ ...olov3_mobilenet_v3_large_ssld_270e_voc.yml | 37 +------------------ 6 files changed, 3 insertions(+), 176 deletions(-) diff --git a/configs/datasets/roadsign_voc.yml b/configs/datasets/roadsign_voc.yml index 10ce3090e..ddbfc7889 100644 --- a/configs/datasets/roadsign_voc.yml +++ b/configs/datasets/roadsign_voc.yml @@ -1,5 +1,5 @@ metric: VOC -map_type: 11point +map_type: integral num_classes: 4 TrainDataset: diff --git a/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml index 9952e7ea4..7b25cd0e3 100644 --- a/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml +++ b/configs/yolov3/yolov3_mobilenet_v1_270e_voc.yml @@ -9,41 +9,6 @@ _BASE_: [ snapshot_epoch: 5 weights: output/yolov3_mobilenet_v1_270e_voc/model_final -TrainReader: - inputs_def: - num_max_boxes: 50 - sample_transforms: - - Decode: {} - - Mixup: {alpha: 1.5, beta: 1.5} - - RandomDistort: {} - - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} - - RandomCrop: {} - - RandomFlip: {} - batch_transforms: - - BatchRandomResize: - target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608] - random_size: True - random_interp: True - keep_ratio: False - - NormalizeBox: {} - - PadBox: {num_max_boxes: 50} - - BboxXYXY2XYWH: {} - - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} - - Permute: {} - - Gt2YoloTarget: - anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] - anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]] - downsample_ratios: [32, 16, 8] - num_classes: 20 - batch_size: 8 - shuffle: true - drop_last: true - mixup_epoch: 250 - -EvalReader: - batch_transforms: - - PadBatch: {pad_gt: True} - LearningRate: base_lr: 0.001 schedulers: diff --git a/configs/yolov3/yolov3_mobilenet_v1_roadsign.yml b/configs/yolov3/yolov3_mobilenet_v1_roadsign.yml index c79397ddd..d89937524 100644 --- a/configs/yolov3/yolov3_mobilenet_v1_roadsign.yml +++ b/configs/yolov3/yolov3_mobilenet_v1_roadsign.yml @@ -5,45 +5,12 @@ _BASE_: [ '_base_/yolov3_reader.yml', ] pretrain_weights: https://paddledet.bj.bcebos.com/models/yolov3_mobilenet_v1_270e_coco.pdparams -norm_type: sync_bn weights: output/yolov3_mobilenet_v1_roadsign/model_final -metric: VOC -map_type: integral YOLOv3Loss: ignore_thresh: 0.7 label_smooth: true -TrainReader: - inputs_def: - num_max_boxes: 50 - sample_transforms: - - Decode: {} - - Mixup: {alpha: 1.5, beta: 1.5} - - RandomDistort: {} - - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} - - RandomCrop: {} - - RandomFlip: {} - batch_transforms: - - BatchRandomResize: - target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608] - random_size: True - random_interp: True - keep_ratio: False - - NormalizeBox: {} - - PadBox: {num_max_boxes: 50} - - BboxXYXY2XYWH: {} - - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} - - Permute: {} - - Gt2YoloTarget: - anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] - anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]] - downsample_ratios: [32, 16, 8] - num_classes: 4 - batch_size: 8 - shuffle: true - drop_last: true - snapshot_epoch: 2 epoch: 40 diff --git a/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml index c5355941f..7a3e62fa1 100644 --- a/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml +++ b/configs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml @@ -1,5 +1,5 @@ _BASE_: [ - '../datasets/coco_detection.yml', + '../datasets/voc.yml', '../runtime.yml', '_base_/optimizer_270e.yml', '_base_/yolov3_mobilenet_v1.yml', @@ -10,41 +10,6 @@ snapshot_epoch: 5 pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV1_ssld_pretrained.pdparams weights: output/yolov3_mobilenet_v1_ssld_270e_voc/model_final -TrainReader: - inputs_def: - num_max_boxes: 50 - sample_transforms: - - Decode: {} - - Mixup: {alpha: 1.5, beta: 1.5} - - RandomDistort: {} - - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} - - RandomCrop: {} - - RandomFlip: {} - batch_transforms: - - BatchRandomResize: - target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608] - random_size: True - random_interp: True - keep_ratio: False - - NormalizeBox: {} - - PadBox: {num_max_boxes: 50} - - BboxXYXY2XYWH: {} - - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} - - Permute: {} - - Gt2YoloTarget: - anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] - anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]] - downsample_ratios: [32, 16, 8] - num_classes: 20 - batch_size: 8 - shuffle: true - drop_last: true - mixup_epoch: 250 - -EvalReader: - batch_transforms: - - PadBatch: {pad_gt: True} - LearningRate: base_lr: 0.001 schedulers: diff --git a/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml index 8c2facec7..abf492e23 100644 --- a/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml +++ b/configs/yolov3/yolov3_mobilenet_v3_large_270e_voc.yml @@ -9,41 +9,6 @@ _BASE_: [ snapshot_epoch: 5 weights: output/yolov3_mobilenet_v3_large_270e_voc/model_final -TrainReader: - inputs_def: - num_max_boxes: 50 - sample_transforms: - - Decode: {} - - Mixup: {alpha: 1.5, beta: 1.5} - - RandomDistort: {} - - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} - - RandomCrop: {} - - RandomFlip: {} - batch_transforms: - - BatchRandomResize: - target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608] - random_size: True - random_interp: True - keep_ratio: False - - NormalizeBox: {} - - PadBox: {num_max_boxes: 50} - - BboxXYXY2XYWH: {} - - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} - - Permute: {} - - Gt2YoloTarget: - anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] - anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]] - downsample_ratios: [32, 16, 8] - num_classes: 20 - batch_size: 8 - shuffle: true - drop_last: true - mixup_epoch: 250 - -EvalReader: - batch_transforms: - - PadBatch: {pad_gt: True} - LearningRate: base_lr: 0.001 schedulers: diff --git a/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml b/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml index 13d81f45e..6d183e3e2 100644 --- a/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml +++ b/configs/yolov3/yolov3_mobilenet_v3_large_ssld_270e_voc.yml @@ -1,5 +1,5 @@ _BASE_: [ - '../datasets/coco_detection.yml', + '../datasets/voc.yml', '../runtime.yml', '_base_/optimizer_270e.yml', '_base_/yolov3_mobilenet_v3_large.yml', @@ -10,41 +10,6 @@ snapshot_epoch: 5 pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/MobileNetV3_large_x1_0_ssld_pretrained.pdparams weights: output/yolov3_mobilenet_v3_large_ssld_270e_voc/model_final -TrainReader: - inputs_def: - num_max_boxes: 50 - sample_transforms: - - Decode: {} - - Mixup: {alpha: 1.5, beta: 1.5} - - RandomDistort: {} - - RandomExpand: {fill_value: [123.675, 116.28, 103.53]} - - RandomCrop: {} - - RandomFlip: {} - batch_transforms: - - BatchRandomResize: - target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608] - random_size: True - random_interp: True - keep_ratio: False - - NormalizeBox: {} - - PadBox: {num_max_boxes: 50} - - BboxXYXY2XYWH: {} - - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} - - Permute: {} - - Gt2YoloTarget: - anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]] - anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]] - downsample_ratios: [32, 16, 8] - num_classes: 20 - batch_size: 8 - shuffle: true - drop_last: true - mixup_epoch: 250 - -EvalReader: - batch_transforms: - - PadBatch: {pad_gt: True} - LearningRate: base_lr: 0.001 schedulers: -- Gitee From fd08355b96fa3ef975e2f625e31e3dd290f79567 Mon Sep 17 00:00:00 2001 From: BUG1989 <248857878@qq.com> Date: Sun, 25 Apr 2021 17:57:45 +0800 Subject: [PATCH 74/90] Update EXPORT_MODEL.md (#2759) * Update EXPORT_MODEL.md Co-authored-by: qingqing01 --- deploy/EXPORT_MODEL.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/deploy/EXPORT_MODEL.md b/deploy/EXPORT_MODEL.md index 15685e80c..50f50cba2 100644 --- a/deploy/EXPORT_MODEL.md +++ b/deploy/EXPORT_MODEL.md @@ -1,25 +1,27 @@ -# PaddleDetection模型导出教程 +# 模型导出教程 ## 一、模型导出 本章节介绍如何使用`tools/export_model.py`脚本导出模型。 + ### 1、导出模输入输出说明 -- `PaddleDetection`中输入变量以及输入形状如下: -| 输入名称 | 输入形状 | 表示含义 | -| :---------: | ----------- | ---------- | -| image | [None, 3, H, W] | 输入网络的图像,None表示batch维度,如果输入图像大小为变长,则H,W为None | -| im_shape | [None, 2] | 图像经过resize后的大小,表示为H,W, None表示batch维度 | -| scale_factor | [None, 2] | 输入图像大小比真实图像大小,表示为scale_y, scale_x | +- 输入变量以及输入形状如下: + + | 输入名称 | 输入形状 | 表示含义 | + | :---------: | ----------- | ---------- | + | image | [None, 3, H, W] | 输入网络的图像,None表示batch维度,如果输入图像大小为变长,则H,W为None | + | im_shape | [None, 2] | 图像经过resize后的大小,表示为H,W, None表示batch维度 | + | scale_factor | [None, 2] | 输入图像大小比真实图像大小,表示为scale_y, scale_x | -**注意**具体预处理方式可参考配置文件中TestReader部分。 + **注意** : 具体预处理方式可参考配置文件中TestReader部分。 -- PaddleDetection`中动转静导出模型输出统一为: +- 动转静导出模型输出统一为: - bbox, NMS的输出,形状为[N, 6], 其中N为预测框的个数,6为[class_id, score, x1, y1, x2, y2]。 - bbox\_num, 每张图片对应预测框的个数,例如batch_size为2,输出为[N1, N2], 表示第一张图包含N1个预测框,第二张图包含N2个预测框,并且预测框的总个数和NMS输出的第一维N相同 - mask,如果网络中包含mask,则会输出mask分支 -**注意**模型动转静导出不支持模型结构中包含numpy相关操作的情况。 + **注意**模型动转静导出不支持模型结构中包含numpy相关操作的情况。 ### 2、启动参数说明 -- Gitee From f9abb9e30baed5eca520657cd01fa7ce8b97fef5 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Sun, 25 Apr 2021 22:01:28 +0800 Subject: [PATCH 75/90] [cherry pick] update 2.0.1 (#2755) * update 2.0.1 --- docs/tutorials/INSTALL.md | 21 ++++---- docs/tutorials/INSTALL_cn.md | 19 +++---- ppdet/model_zoo/model_zoo.py | 4 +- ppdet/modeling/tests/test_architectures.py | 59 ++++++++++++++++++++++ ppdet/utils/download.py | 3 +- setup.py | 4 +- 6 files changed, 86 insertions(+), 24 deletions(-) create mode 100644 ppdet/modeling/tests/test_architectures.py diff --git a/docs/tutorials/INSTALL.md b/docs/tutorials/INSTALL.md index 15aee6a99..db09adaad 100644 --- a/docs/tutorials/INSTALL.md +++ b/docs/tutorials/INSTALL.md @@ -70,8 +70,8 @@ PaddleDetection can be installed in the following two ways: **Note:** Installing via pip only supports Python3 ``` -# install paddledet via pip -pip install paddledet==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple +# Install paddledet via pip +pip install paddledet==2.0.1 -i https://mirror.baidu.com/pypi/simple # Download and use the configuration files and code examples in the source code git clone https://github.com/PaddlePaddle/PaddleDetection.git @@ -85,17 +85,18 @@ cd PaddleDetection cd git clone https://github.com/PaddlePaddle/PaddleDetection.git +# Compile and install paddledet +cd PaddleDetection +python setup.py install + # Install other dependencies pip install -r requirements.txt -# Install PaddleDetection -cd PaddleDetection -python setup.py install ``` **Note** -1. Because the origin version of cocoapi does not support windows, another version is used which only supports Python3: +1. If you are working on Windows OS, `pycocotools` installing may failed because of the origin version of cocoapi does not support windows, another version can be used used which only supports Python3: ```pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI``` @@ -108,10 +109,10 @@ python ppdet/modeling/tests/test_architectures.py If the tests are passed, the following information will be prompted: ``` -.......... +..... ---------------------------------------------------------------------- -Ran 12 tests in 2.480s -OK (skipped=2) +Ran 5 tests in 4.280s +OK ``` ## Inference demo @@ -121,7 +122,7 @@ OK (skipped=2) ``` # Predict an image by GPU export CUDA_VISIBLE_DEVICES=0 -python tools/infer.py -c configs/ppyolo/ppyolo.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg +python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg ``` An image of the same name with the predicted result will be generated under the `output` folder. diff --git a/docs/tutorials/INSTALL_cn.md b/docs/tutorials/INSTALL_cn.md index 1c557b76d..e51a1091d 100644 --- a/docs/tutorials/INSTALL_cn.md +++ b/docs/tutorials/INSTALL_cn.md @@ -66,7 +66,7 @@ python -c "import paddle; print(paddle.__version__)" ``` # pip安装paddledet -pip install paddledet==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install paddledet==2.0.1 -i https://mirror.baidu.com/pypi/simple # 下载使用源码中的配置文件和代码示例 git clone https://github.com/PaddlePaddle/PaddleDetection.git @@ -80,17 +80,18 @@ cd PaddleDetection cd git clone https://github.com/PaddlePaddle/PaddleDetection.git +# 编译安装paddledet +cd PaddleDetection +python setup.py install + # 安装其他依赖 pip install -r requirements.txt -# 安装PaddleDetection -cd PaddleDetection -python setup.py install ``` **注意** -1. 由于原版cocoapi不支持windows,采用第三方实现版本,该版本仅支持Python3 +1. 若您使用的是Windows系统,由于原版cocoapi不支持Windows,`pycocotools`依赖可能安装失败,可采用第三方实现版本,该版本仅支持Python3 ```pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI``` @@ -104,10 +105,10 @@ python ppdet/modeling/tests/test_architectures.py 测试通过后会提示如下信息: ``` -.......... +..... ---------------------------------------------------------------------- -Ran 12 tests in 2.480s -OK (skipped=2) +Ran 5 tests in 4.280s +OK ``` ## 快速体验 @@ -117,7 +118,7 @@ OK (skipped=2) ``` # 在GPU上预测一张图片 export CUDA_VISIBLE_DEVICES=0 -python tools/infer.py -c configs/ppyolo/ppyolo.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg +python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg ``` 会在`output`文件夹下生成一个画有预测结果的同名图像。 diff --git a/ppdet/model_zoo/model_zoo.py b/ppdet/model_zoo/model_zoo.py index 0f7f24467..17af46f79 100644 --- a/ppdet/model_zoo/model_zoo.py +++ b/ppdet/model_zoo/model_zoo.py @@ -68,11 +68,11 @@ def list_model(filters=[]): # models and configs save on bcebos under dygraph directory def get_config_file(model_name): - return get_config_path("ppdet://dygraph/configs/{}.yml".format(model_name)) + return get_config_path("ppdet://configs/{}.yml".format(model_name)) def get_weights_url(model_name): - return "ppdet://dygraph/{}.pdparams".format(model_name) + return "ppdet://models/{}.pdparams".format(osp.split(model_name)[-1]) def get_model(model_name, pretrained=True): diff --git a/ppdet/modeling/tests/test_architectures.py b/ppdet/modeling/tests/test_architectures.py new file mode 100644 index 000000000..95cb21203 --- /dev/null +++ b/ppdet/modeling/tests/test_architectures.py @@ -0,0 +1,59 @@ +# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import unittest +import ppdet + + +class TestFasterRCNN(unittest.TestCase): + def setUp(self): + self.set_config() + + def set_config(self): + self.cfg_file = 'configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.yml' + + def test_trainer(self): + # Trainer __init__ will build model and DataLoader + # 'train' and 'eval' mode include dataset loading + # use 'test' mode to simplify tests + cfg = ppdet.core.workspace.load_config(self.cfg_file) + trainer = ppdet.engine.Trainer(cfg, mode='test') + + +class TestMaskRCNN(TestFasterRCNN): + def set_config(self): + self.cfg_file = 'configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.yml' + + +class TestCascadeRCNN(TestFasterRCNN): + def set_config(self): + self.cfg_file = 'configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.yml' + + +class TestYolov3(TestFasterRCNN): + def set_config(self): + self.cfg_file = 'configs/yolov3/yolov3_darknet53_270e_coco.yml' + + +class TestSSD(TestFasterRCNN): + def set_config(self): + self.cfg_file = 'configs/ssd/ssd_vgg16_300_240e_voc.yml' + + +if __name__ == '__main__': + unittest.main() diff --git a/ppdet/utils/download.py b/ppdet/utils/download.py index 9e983efa6..99635c75f 100644 --- a/ppdet/utils/download.py +++ b/ppdet/utils/download.py @@ -260,7 +260,8 @@ def get_path(url, root_dir, md5sum=None, check_exist=True): fullpath = osp.join(osp.split(fullpath)[0], v) if osp.exists(fullpath) and check_exist: - if _check_exist_file_md5(fullpath, md5sum, url): + if not osp.isfile(fullpath) or \ + _check_exist_file_md5(fullpath, md5sum, url): logger.debug("Found {}".format(fullpath)) return fullpath, True else: diff --git a/setup.py b/setup.py index 23cdb590e..c2d03ade3 100644 --- a/setup.py +++ b/setup.py @@ -42,7 +42,7 @@ def package_model_zoo(): # exclude dataset base config if osp.split(osp.split(cfg)[0])[1] not in ['datasets']: valid_cfgs.append(cfg) - model_names = [osp.splitext(osp.split(cfg)[1])[0] for cfg in valid_cfgs] + model_names = [osp.relpath(cfg, cfg_dir).replace(".yml", "") for cfg in valid_cfgs] model_zoo_file = osp.join(cur_dir, 'ppdet', 'model_zoo', 'MODEL_ZOO') with open(model_zoo_file, 'w') as wf: @@ -70,7 +70,7 @@ if __name__ == "__main__": packages=find_packages(exclude=("configs", "tools", "deploy")), package_data={'ppdet.model_zoo': package_model_zoo()}, author='PaddlePaddle', - version='2.0.0', + version='2.0.1', install_requires=parse_requirements('./requirements.txt'), description='Object detection and instance segmentation toolkit based on PaddlePaddle', long_description=readme(), -- Gitee From 4b4fa5c92f72188e731f54d3ac998e6222d747fa Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Mon, 26 Apr 2021 18:02:35 +0800 Subject: [PATCH 76/90] fix feat_channel and polish voc config (#2766) --- configs/ppyolo/_base_/ppyolo_r18vd.yml | 1 - configs/ppyolo/ppyolo_r50vd_dcn_voc.yml | 8 -------- 2 files changed, 9 deletions(-) diff --git a/configs/ppyolo/_base_/ppyolo_r18vd.yml b/configs/ppyolo/_base_/ppyolo_r18vd.yml index 4b9e924be..56a348385 100644 --- a/configs/ppyolo/_base_/ppyolo_r18vd.yml +++ b/configs/ppyolo/_base_/ppyolo_r18vd.yml @@ -19,7 +19,6 @@ ResNet: norm_decay: 0. PPYOLOFPN: - feat_channels: [512, 512] drop_block: true block_size: 3 keep_prob: 0.9 diff --git a/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml b/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml index 3a0a4aa92..eac22ce85 100644 --- a/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml +++ b/configs/ppyolo/ppyolo_r50vd_dcn_voc.yml @@ -10,14 +10,6 @@ snapshot_epoch: 83 weights: output/ppyolo_r50vd_dcn_voc/model_final TrainReader: - batch_transforms: - - BatchRandomResize: {target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608], random_size: True, random_interp: True, keep_ratio: False} - - NormalizeBox: {} - - PadBox: {num_max_boxes: 50} - - BboxXYXY2XYWH: {} - - NormalizeImage: {mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225], is_scale: True} - - Permute: {} - - Gt2YoloTarget: {anchor_masks: [[6, 7, 8], [3, 4, 5], [0, 1, 2]], anchors: [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45], [59, 119], [116, 90], [156, 198], [373, 326]], downsample_ratios: [32, 16, 8], num_classes: 20} mixup_epoch: 350 batch_size: 12 -- Gitee From 26cf81e20b04afe6733e8f1d6333ddcd47317aad Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Mon, 26 Apr 2021 23:02:09 +0800 Subject: [PATCH 77/90] add anchor_cluster and mmodify docs (#2769) --- configs/ppyolo/README.md | 6 + configs/ppyolo/README_cn.md | 5 + tools/anchor_cluster.py | 363 ++++++++++++++++++++++++++++++++++++ 3 files changed, 374 insertions(+) create mode 100644 tools/anchor_cluster.py diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index c178de9d1..dffac1f96 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -108,6 +108,12 @@ Training PP-YOLO on 8 GPUs with following command(all commands should be run und python -m paddle.distributed.launch --log_dir=./ppyolo_dygraph/ --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml &>ppyolo_dygraph.log 2>&1 & ``` +optional: Run `tools/anchor_cluster.py` to get anchors suitable for your dataset, and modify the anchor setting in model configuration file and reader configuration file, such as `configs/ppyolo/_base_/ppyolo_tiny.yml` and `configs/ppyolo/_base_/ppyolo_tiny_reader.yml`. + +``` bash +python tools/anchor_cluster.py -c configs/ppyolo/ppyolo_tiny_650e_coco.yml -n 9 -s 320 -m v2 -i 1000 +``` + ### 2. Evaluation Evaluating PP-YOLO on COCO val2017 dataset in single GPU with following commands: diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index bbd1c0651..a224a7c10 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -106,6 +106,11 @@ PP-YOLO在Pascal VOC数据集上训练模型如下: python -m paddle.distributed.launch --log_dir=./ppyolo_dygraph/ --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml &>ppyolo_dygraph.log 2>&1 & ``` +可选:在训练之前使用`tools/anchor_cluster.py`得到适用于你的数据集的anchor,并注意修改模型配置文件和Reader配置文件中的anchor设置,如`configs/ppyolo/_base_/ppyolo_tiny.yml`和`configs/ppyolo/_base_/ppyolo_tiny_reader.yml`中anchor设置 +```bash +python tools/anchor_cluster.py -c configs/ppyolo/ppyolo_tiny_650e_coco.yml -n 9 -s 320 -m v2 -i 1000 +``` + ### 2. 评估 使用单GPU通过如下命令一键式评估模型在COCO val2017数据集效果 diff --git a/tools/anchor_cluster.py b/tools/anchor_cluster.py new file mode 100644 index 000000000..0b339bb36 --- /dev/null +++ b/tools/anchor_cluster.py @@ -0,0 +1,363 @@ +# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import sys +# add python path of PadleDetection to sys.path +parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 2))) +if parent_path not in sys.path: + sys.path.append(parent_path) + +from ppdet.utils.logger import setup_logger +logger = setup_logger('ppdet.anchor_cluster') + +from scipy.cluster.vq import kmeans +import random +import numpy as np +from tqdm import tqdm + +from ppdet.utils.cli import ArgsParser +from ppdet.utils.check import check_gpu, check_version, check_config +from ppdet.core.workspace import load_config, merge_config, create + + +class BaseAnchorCluster(object): + def __init__(self, n, cache_path, cache, verbose=True): + """ + Base Anchor Cluster + + Args: + n (int): number of clusters + cache_path (str): cache directory path + cache (bool): whether using cache + verbose (bool): whether print results + """ + super(BaseAnchorCluster, self).__init__() + self.n = n + self.cache_path = cache_path + self.cache = cache + self.verbose = verbose + + def print_result(self, centers): + raise NotImplementedError('%s.print_result is not available' % + self.__class__.__name__) + + def get_whs(self): + whs_cache_path = os.path.join(self.cache_path, 'whs.npy') + shapes_cache_path = os.path.join(self.cache_path, 'shapes.npy') + if self.cache and os.path.exists(whs_cache_path) and os.path.exists( + shapes_cache_path): + self.whs = np.load(whs_cache_path) + self.shapes = np.load(shapes_cache_path) + return self.whs, self.shapes + whs = np.zeros((0, 2)) + shapes = np.zeros((0, 2)) + self.dataset.parse_dataset() + roidbs = self.dataset.roidbs + for rec in tqdm(roidbs): + h, w = rec['h'], rec['w'] + bbox = rec['gt_bbox'] + wh = bbox[:, 2:4] - bbox[:, 0:2] + 1 + wh = wh / np.array([[w, h]]) + shape = np.ones_like(wh) * np.array([[w, h]]) + whs = np.vstack((whs, wh)) + shapes = np.vstack((shapes, shape)) + + if self.cache: + os.makedirs(self.cache_path, exist_ok=True) + np.save(whs_cache_path, whs) + np.save(shapes_cache_path, shapes) + + self.whs = whs + self.shapes = shapes + return self.whs, self.shapes + + def calc_anchors(self): + raise NotImplementedError('%s.calc_anchors is not available' % + self.__class__.__name__) + + def __call__(self): + self.get_whs() + centers = self.calc_anchors() + if self.verbose: + self.print_result(centers) + return centers + + +class YOLOv2AnchorCluster(BaseAnchorCluster): + def __init__(self, + n, + dataset, + size, + cache_path, + cache, + iters=1000, + verbose=True): + super(YOLOv2AnchorCluster, self).__init__( + n, cache_path, cache, verbose=verbose) + """ + YOLOv2 Anchor Cluster + + Reference: + https://github.com/AlexeyAB/darknet/blob/master/scripts/gen_anchors.py + + Args: + n (int): number of clusters + dataset (DataSet): DataSet instance, VOC or COCO + size (list): [w, h] + cache_path (str): cache directory path + cache (bool): whether using cache + iters (int): kmeans algorithm iters + verbose (bool): whether print results + """ + self.dataset = dataset + self.size = size + self.iters = iters + + def print_result(self, centers): + logger.info('%d anchor cluster result: [w, h]' % self.n) + for w, h in centers: + logger.info('[%d, %d]' % (round(w), round(h))) + + def metric(self, whs, centers): + wh1 = whs[:, None] + wh2 = centers[None] + inter = np.minimum(wh1, wh2).prod(2) + return inter / (wh1.prod(2) + wh2.prod(2) - inter) + + def kmeans_expectation(self, whs, centers, assignments): + dist = self.metric(whs, centers) + new_assignments = dist.argmax(1) + converged = (new_assignments == assignments).all() + return converged, new_assignments + + def kmeans_maximizations(self, whs, centers, assignments): + new_centers = np.zeros_like(centers) + for i in range(centers.shape[0]): + mask = (assignments == i) + if mask.sum(): + new_centers[i, :] = whs[mask].mean(0) + return new_centers + + def calc_anchors(self): + self.whs = self.whs * np.array([self.size]) + # random select k centers + whs, n, iters = self.whs, self.n, self.iters + logger.info('Running kmeans for %d anchors on %d points...' % + (n, len(whs))) + idx = np.random.choice(whs.shape[0], size=n, replace=False) + centers = whs[idx] + assignments = np.zeros(whs.shape[0:1]) * -1 + # kmeans + if n == 1: + return self.kmeans_maximizations(whs, centers, assignments) + + pbar = tqdm(range(iters), desc='Cluster anchors with k-means algorithm') + for _ in pbar: + # E step + converged, assignments = self.kmeans_expectation(whs, centers, + assignments) + if converged: + logger.info('kmeans algorithm has converged') + break + # M step + centers = self.kmeans_maximizations(whs, centers, assignments) + ious = self.metric(whs, centers) + pbar.desc = 'avg_iou: %.4f' % (ious.max(1).mean()) + + centers = sorted(centers, key=lambda x: x[0] * x[1]) + return centers + + +class YOLOv5AnchorCluster(BaseAnchorCluster): + def __init__(self, + n, + dataset, + size, + cache_path, + cache, + iters=300, + gen_iters=1000, + thresh=0.25, + verbose=True): + super(YOLOv5AnchorCluster, self).__init__( + n, cache_path, cache, verbose=verbose) + """ + YOLOv5 Anchor Cluster + + Reference: + https://github.com/ultralytics/yolov5/blob/master/utils/general.py + + Args: + n (int): number of clusters + dataset (DataSet): DataSet instance, VOC or COCO + size (list): [w, h] + cache_path (str): cache directory path + cache (bool): whether using cache + iters (int): iters of kmeans algorithm + gen_iters (int): iters of genetic algorithm + threshold (float): anchor scale threshold + verbose (bool): whether print results + """ + self.dataset = dataset + self.size = size + self.iters = iters + self.gen_iters = gen_iters + self.thresh = thresh + + def print_result(self, centers): + whs = self.whs + centers = centers[np.argsort(centers.prod(1))] + x, best = self.metric(whs, centers) + bpr, aat = ( + best > self.thresh).mean(), (x > self.thresh).mean() * self.n + logger.info( + 'thresh=%.2f: %.4f best possible recall, %.2f anchors past thr' % + (self.thresh, bpr, aat)) + logger.info( + 'n=%g, img_size=%s, metric_all=%.3f/%.3f-mean/best, past_thresh=%.3f-mean: ' + % (self.n, self.size, x.mean(), best.mean(), + x[x > self.thresh].mean())) + logger.info('%d anchor cluster result: [w, h]' % self.n) + for w, h in centers: + logger.info('[%d, %d]' % (round(w), round(h))) + + def metric(self, whs, centers): + r = whs[:, None] / centers[None] + x = np.minimum(r, 1. / r).min(2) + return x, x.max(1) + + def fitness(self, whs, centers): + _, best = self.metric(whs, centers) + return (best * (best > self.thresh)).mean() + + def calc_anchors(self): + self.whs = self.whs * self.shapes / self.shapes.max( + 1, keepdims=True) * np.array([self.size]) + wh0 = self.whs + i = (wh0 < 3.0).any(1).sum() + if i: + logger.warn('Extremely small objects found. %d of %d' + 'labels are < 3 pixels in width or height' % + (i, len(wh0))) + + wh = wh0[(wh0 >= 2.0).any(1)] + logger.info('Running kmeans for %g anchors on %g points...' % + (self.n, len(wh))) + s = wh.std(0) + centers, dist = kmeans(wh / s, self.n, iter=self.iters) + centers *= s + + f, sh, mp, s = self.fitness(wh, centers), centers.shape, 0.9, 0.1 + pbar = tqdm( + range(self.gen_iters), + desc='Evolving anchors with Genetic Algorithm') + for _ in pbar: + v = np.ones(sh) + while (v == 1).all(): + v = ((np.random.random(sh) < mp) * np.random.random() * + np.random.randn(*sh) * s + 1).clip(0.3, 3.0) + new_centers = (centers.copy() * v).clip(min=2.0) + new_f = self.fitness(wh, new_centers) + if new_f > f: + f, centers = new_f, new_centers.copy() + pbar.desc = 'Evolving anchors with Genetic Algorithm: fitness = %.4f' % f + + return centers + + +def main(): + parser = ArgsParser() + parser.add_argument( + '--n', '-n', default=9, type=int, help='num of clusters') + parser.add_argument( + '--iters', + '-i', + default=1000, + type=int, + help='num of iterations for kmeans') + parser.add_argument( + '--gen_iters', + '-gi', + default=1000, + type=int, + help='num of iterations for genetic algorithm') + parser.add_argument( + '--thresh', + '-t', + default=0.25, + type=float, + help='anchor scale threshold') + parser.add_argument( + '--verbose', '-v', default=True, type=bool, help='whether print result') + parser.add_argument( + '--size', + '-s', + default=None, + type=str, + help='image size: w,h, using comma as delimiter') + parser.add_argument( + '--method', + '-m', + default='v2', + type=str, + help='cluster method, [v2, v5] are supported now') + parser.add_argument( + '--cache_path', default='cache', type=str, help='cache path') + parser.add_argument( + '--cache', action='store_true', help='whether use cache') + FLAGS = parser.parse_args() + + cfg = load_config(FLAGS.config) + merge_config(FLAGS.opt) + check_config(cfg) + # check if set use_gpu=True in paddlepaddle cpu version + check_gpu(cfg.use_gpu) + # check if paddlepaddle version is satisfied + check_version() + + # get dataset + dataset = cfg['TrainDataset'] + if FLAGS.size: + if ',' in FLAGS.size: + size = list(map(int, FLAGS.size.split(','))) + assert len(size) == 2, "the format of size is incorrect" + else: + size = int(FLAGS.size) + size = [size, size] + elif 'inputs_def' in cfg['TrainReader'] and 'image_shape' in cfg[ + 'TrainReader']['inputs_def']: + size = cfg['TrainReader']['inputs_def']['image_shape'][1:] + else: + raise ValueError('size is not specified') + + if FLAGS.method == 'v2': + cluster = YOLOv2AnchorCluster(FLAGS.n, dataset, size, FLAGS.cache_path, + FLAGS.cache, FLAGS.iters, FLAGS.verbose) + elif FLAGS.method == 'v5': + cluster = YOLOv5AnchorCluster(FLAGS.n, dataset, size, FLAGS.cache_path, + FLAGS.cache, FLAGS.iters, FLAGS.gen_iters, + FLAGS.thresh, FLAGS.verbose) + else: + raise ValueError('cluster method: %s is not supported' % FLAGS.method) + + anchors = cluster() + + +if __name__ == "__main__": + main() -- Gitee From 7c358b96fc92273d3f9af3437528d17506dbe88b Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Tue, 27 Apr 2021 17:01:29 +0800 Subject: [PATCH 78/90] fix downlaod weights dir of static model (#2776) --- static/ppdet/utils/download.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/ppdet/utils/download.py b/static/ppdet/utils/download.py index 6e4cb4019..2c53406e8 100644 --- a/static/ppdet/utils/download.py +++ b/static/ppdet/utils/download.py @@ -37,7 +37,7 @@ __all__ = [ 'create_voc_list' ] -WEIGHTS_HOME = osp.expanduser("~/.cache/paddle/weights") +WEIGHTS_HOME = osp.expanduser("~/.cache/paddle/weights/static") DATASET_HOME = osp.expanduser("~/.cache/paddle/dataset") # dict of {dataset_name: (download_info, sub_dirs)} -- Gitee From 2a74ca33fa14e7f2e5cd5032ecec70568a0a1375 Mon Sep 17 00:00:00 2001 From: wangguanzhong Date: Wed, 28 Apr 2021 11:52:50 +0800 Subject: [PATCH 79/90] update readme, test=document_fix (#2795) --- README_cn.md | 8 +++++--- README_en.md | 10 +++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/README_cn.md b/README_cn.md index 019035425..f787a5c7f 100644 --- a/README_cn.md +++ b/README_cn.md @@ -3,6 +3,8 @@ # PaddleDetection ### PaddleDetection 2.0全面升级!目前默认使用动态图版本,静态图版本位于[static](./static)中 +### 超高性价比PPYOLO v2和1.3M超轻量PPYOLO tiny全新出炉![欢迎使用](configs/ppyolo/README_cn.md) +### Anchor Free SOTA模型PAFNet发布![欢迎使用](configs/ttfnet/README.md) # 简介 @@ -18,7 +20,7 @@ PaddleDetection模块化地实现了多种主流目标检测算法,提供了 ### 产品动态 -- 2021.04.14: 发布release/2.0版本,PaddleDetection全面支持动态图,覆盖静态图模型算法,全面升级模型效果,同时发布PP-YOLO v2模型,新增旋转框检测S2ANet模型,详情参考[PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0) +- 2021.04.14: 发布release/2.0版本,PaddleDetection全面支持动态图,覆盖静态图模型算法,全面升级模型效果,同时发布[PP-YOLO v2, PPYOLO tiny](configs/ppyolo/README_cn.md)模型,增强版anchor free模型[PAFNet](configs/ttfnet/README.md),新增旋转框检测[S2ANet](configs/dota/README.md)模型,详情参考[PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0) - 2021.02.07: 发布release/2.0-rc版本,PaddleDetection动态图试用版本,详情参考[PaddleDetection动态图](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0-rc)。 ### 特性 @@ -215,11 +217,11 @@ PaddleDetection模块化地实现了多种主流目标检测算法,提供了 - 通用目标检测: - [模型库](docs/MODEL_ZOO_cn.md) - - [移动端模型](static/configs/mobile/README.md) - [PP-YOLO模型](configs/ppyolo/README_cn.md) + - [增强版Anchor Free模型TTFNet](configs/ttfnet/README.md) + - [移动端模型](static/configs/mobile/README.md) - [676类目标检测](static/docs/featured_model/LARGE_SCALE_DET_MODEL.md) - [两阶段实用模型PSS-Det](configs/rcnn_enhance/README.md) - - [增强版Anchor Free模型TTFNet](configs/ttfnet/README.md) - [半监督知识蒸馏预训练检测模型](docs/feature_models/SSLD_PRETRAINED_MODEL.md) - 通用实例分割 - [SOLOv2](configs/solov2/README.md) diff --git a/README_en.md b/README_en.md index 418ea6ec9..5d51c63f7 100644 --- a/README_en.md +++ b/README_en.md @@ -2,6 +2,10 @@ English | [简体中文](README_cn.md) ### PaddleDetection 2.0 is ready! Dygraph mode is set by default and static graph code base is [here](static) +### Highly effective PPYOLO v2 and ultra lightweight PPYOLO tiny are released! [link](configs/ppyolo/README.md) + +### SOTA Anchor Free model -- PAFNet is released! [link](configs/ttfnet/README.md) + # Introduction PaddleDetection is an end-to-end object detection development kit based on PaddlePaddle, which aims to help developers in the whole development of constructing, training, optimizing and deploying detection models in a faster and better way. @@ -16,7 +20,7 @@ After a long time of industry practice polishing, PaddleDetection has had smooth ### Product news -- 2021.04.14: Release `release/2.0` version. Dygraph mode in PaddleDetection is fully supported. Cover all the algorithm of static graph and update the performance of mainstream detection models. Release `PP-YOLO v2` and `S2ANet` which is aimed at rotation object detection.Please refer to [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0) for details. +- 2021.04.14: Release `release/2.0` version. Dygraph mode in PaddleDetection is fully supported. Cover all the algorithm of static graph and update the performance of mainstream detection models. Release [`PP-YOLO v2` and `PP-YOLO tiny`](configs/ppyolo/README.md), enhanced anchor free model [PAFNet](configs/ttfnet/README.md) and [`S2ANet`](configs/dota/README.md) which is aimed at rotation object detection.Please refer to [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0) for details. - 2020.02.07: Release `release/2.0-rc` version, Please refer to [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0-rc) for details. @@ -228,11 +232,11 @@ The relationship between COCO mAP and FPS on Tesla V100 of representative models - Universal object detection - [Model library and baselines](docs/MODEL_ZOO_cn.md) - - [Mobile models](static/configs/mobile/README.md) - [PP-YOLO](configs/ppyolo/README.md) + - [Enhanced Anchor Free model--TTFNet](configs/ttfnet/README.md) + - [Mobile models](static/configs/mobile/README.md) - [676 classes of object detection](static/docs/featured_model/LARGE_SCALE_DET_MODEL.md) - [Two-stage practical PSS-Det](configs/rcnn_enhance/README.md) - - [Enhanced Anchor Free model--TTFNet](configs/ttfnet/README.md) - [SSLD pretrained models](docs/feature_models/SSLD_PRETRAINED_MODEL_en.md) - Universal instance segmentation - [SOLOv2](configs/solov2/README.md) -- Gitee From 8049710582668146fd4b297968e3f8b0d99cf375 Mon Sep 17 00:00:00 2001 From: shangliang Xu Date: Wed, 28 Apr 2021 18:15:35 +0800 Subject: [PATCH 80/90] update ssd loss, make it faster (#2761) (#2792) * update ssd loss, make it faster test=develop * update comments, test=develop * ssd loss, fix bug when no object, text=develop --- ppdet/modeling/losses/ssd_loss.py | 264 ++++++++++++------------------ 1 file changed, 102 insertions(+), 162 deletions(-) diff --git a/ppdet/modeling/losses/ssd_loss.py b/ppdet/modeling/losses/ssd_loss.py index 961a8c4e8..0b68f317f 100644 --- a/ppdet/modeling/losses/ssd_loss.py +++ b/ppdet/modeling/losses/ssd_loss.py @@ -19,9 +19,9 @@ from __future__ import print_function import paddle import paddle.nn as nn import paddle.nn.functional as F -import numpy as np from ppdet.core.workspace import register -from ..ops import bipartite_match, box_coder, iou_similarity +from ..ops import iou_similarity +from ..bbox_utils import bbox2delta __all__ = ['SSDLoss'] @@ -32,191 +32,131 @@ class SSDLoss(nn.Layer): SSDLoss Args: - match_type (str): The type of matching method, should be - 'bipartite' or 'per_prediction'. None ('bipartite') by default. - overlap_threshold (float32, optional): If `match_type` is 'per_prediction', - this threshold is to determine the extra matching bboxes based - on the maximum distance, 0.5 by default. + overlap_threshold (float32, optional): IoU threshold for negative bboxes + and positive bboxes, 0.5 by default. neg_pos_ratio (float): The ratio of negative samples / positive samples. - neg_overlap (float): The overlap threshold of negative samples. loc_loss_weight (float): The weight of loc_loss. conf_loss_weight (float): The weight of conf_loss. + prior_box_var (list): Variances corresponding to prior box coord, [0.1, + 0.1, 0.2, 0.2] by default. """ def __init__(self, - match_type='per_prediction', overlap_threshold=0.5, neg_pos_ratio=3.0, - neg_overlap=0.5, loc_loss_weight=1.0, - conf_loss_weight=1.0): + conf_loss_weight=1.0, + prior_box_var=[0.1, 0.1, 0.2, 0.2]): super(SSDLoss, self).__init__() - self.match_type = match_type self.overlap_threshold = overlap_threshold self.neg_pos_ratio = neg_pos_ratio - self.neg_overlap = neg_overlap self.loc_loss_weight = loc_loss_weight self.conf_loss_weight = conf_loss_weight - - def _label_target_assign(self, - gt_label, - matched_indices, - neg_mask=None, - mismatch_value=0): - gt_label = gt_label.numpy() - matched_indices = matched_indices.numpy() - if neg_mask is not None: - neg_mask = neg_mask.numpy() - - batch_size, num_priors = matched_indices.shape - trg_lbl = np.ones((batch_size, num_priors, 1)).astype('int32') - trg_lbl *= mismatch_value - trg_lbl_wt = np.zeros((batch_size, num_priors, 1)).astype('float32') - + self.prior_box_var = [1. / a for a in prior_box_var] + + def _bipartite_match_for_batch(self, gt_bbox, gt_label, prior_boxes, + bg_index): + """ + Args: + gt_bbox (Tensor): [B, N, 4] + gt_label (Tensor): [B, N, 1] + prior_boxes (Tensor): [A, 4] + bg_index (int): Background class index + """ + batch_size, num_priors = gt_bbox.shape[0], prior_boxes.shape[0] + ious = iou_similarity(gt_bbox.reshape((-1, 4)), prior_boxes).reshape( + (batch_size, -1, num_priors)) + + # Calculate the number of object per sample. + num_object = (ious.sum(axis=-1) > 0).astype('int64').sum(axis=-1) + + # For each prior box, get the max IoU of all GTs. + prior_max_iou, prior_argmax_iou = ious.max(axis=1), ious.argmax(axis=1) + # For each GT, get the max IoU of all prior boxes. + gt_max_iou, gt_argmax_iou = ious.max(axis=2), ious.argmax(axis=2) + + # Gather target bbox and label according to 'prior_argmax_iou' index. + batch_ind = paddle.arange( + 0, batch_size, dtype='int64').unsqueeze(-1).tile([1, num_priors]) + prior_argmax_iou = paddle.stack([batch_ind, prior_argmax_iou], axis=-1) + targets_bbox = paddle.gather_nd(gt_bbox, prior_argmax_iou) + targets_label = paddle.gather_nd(gt_label, prior_argmax_iou) + # Assign negative + bg_index_tensor = paddle.full([batch_size, num_priors, 1], bg_index, + 'int64') + targets_label = paddle.where( + prior_max_iou.unsqueeze(-1) < self.overlap_threshold, + bg_index_tensor, targets_label) + + # Ensure each GT can match the max IoU prior box. for i in range(batch_size): - col_ids = np.where(matched_indices[i] > -1) - col_val = matched_indices[i][col_ids] - trg_lbl[i][col_ids] = gt_label[i][col_val] - trg_lbl_wt[i][col_ids] = 1.0 - - if neg_mask is not None: - trg_lbl_wt += neg_mask[:, :, np.newaxis] - - return paddle.to_tensor(trg_lbl), paddle.to_tensor(trg_lbl_wt) - - def _bbox_target_assign(self, encoded_box, matched_indices): - encoded_box = encoded_box.numpy() - matched_indices = matched_indices.numpy() - - batch_size, num_priors = matched_indices.shape - trg_bbox = np.zeros((batch_size, num_priors, 4)).astype('float32') - trg_bbox_wt = np.zeros((batch_size, num_priors, 1)).astype('float32') - - for i in range(batch_size): - col_ids = np.where(matched_indices[i] > -1) - col_val = matched_indices[i][col_ids] - for v, c in zip(col_val.tolist(), col_ids[0]): - trg_bbox[i][c] = encoded_box[i][v][c] - trg_bbox_wt[i][col_ids] = 1.0 - - return paddle.to_tensor(trg_bbox), paddle.to_tensor(trg_bbox_wt) - - def _mine_hard_example(self, - conf_loss, - matched_indices, - matched_dist, - neg_pos_ratio=3.0, - neg_overlap=0.5): - pos = (matched_indices > -1).astype(conf_loss.dtype) + if num_object[i] > 0: + targets_bbox[i] = paddle.scatter( + targets_bbox[i], gt_argmax_iou[i, :int(num_object[i])], + gt_bbox[i, :int(num_object[i])]) + targets_label[i] = paddle.scatter( + targets_label[i], gt_argmax_iou[i, :int(num_object[i])], + gt_label[i, :int(num_object[i])]) + + # Encode box + prior_boxes = prior_boxes.unsqueeze(0).tile([batch_size, 1, 1]) + targets_bbox = bbox2delta( + prior_boxes.reshape([-1, 4]), + targets_bbox.reshape([-1, 4]), self.prior_box_var) + targets_bbox = targets_bbox.reshape([batch_size, -1, 4]) + + return targets_bbox, targets_label + + def _mine_hard_example(self, conf_loss, targets_label, bg_index): + pos = (targets_label != bg_index).astype(conf_loss.dtype) num_pos = pos.sum(axis=1, keepdim=True) - neg = (matched_dist < neg_overlap).astype(conf_loss.dtype) + neg = (targets_label == bg_index).astype(conf_loss.dtype) - conf_loss = conf_loss * (1.0 - pos) * neg + conf_loss = conf_loss.clone() * neg loss_idx = conf_loss.argsort(axis=1, descending=True) idx_rank = loss_idx.argsort(axis=1) num_negs = [] - for i in range(matched_indices.shape[0]): - cur_idx = loss_idx[i] + for i in range(conf_loss.shape[0]): cur_num_pos = num_pos[i] - num_neg = paddle.clip(cur_num_pos * neg_pos_ratio, max=pos.shape[1]) + num_neg = paddle.clip( + cur_num_pos * self.neg_pos_ratio, max=pos.shape[1]) num_negs.append(num_neg) - num_neg = paddle.stack(num_negs, axis=0).expand_as(idx_rank) + num_neg = paddle.stack(num_negs).expand_as(idx_rank) neg_mask = (idx_rank < num_neg).astype(conf_loss.dtype) - return neg_mask - def forward(self, boxes, scores, gt_box, gt_class, anchors): + return (neg_mask + pos).astype('bool') + + def forward(self, boxes, scores, gt_bbox, gt_label, prior_boxes): boxes = paddle.concat(boxes, axis=1) scores = paddle.concat(scores, axis=1) - prior_boxes = paddle.concat(anchors, axis=0) - gt_label = gt_class.unsqueeze(-1) - batch_size, num_priors = scores.shape[:2] - num_classes = scores.shape[-1] - 1 - - def _reshape_to_2d(x): - return paddle.flatten(x, start_axis=2) - - # 1. Find matched bounding box by prior box. - # 1.1 Compute IOU similarity between ground-truth boxes and prior boxes. - # 1.2 Compute matched bounding box by bipartite matching algorithm. - matched_indices = [] - matched_dist = [] - for i in range(gt_box.shape[0]): - iou = iou_similarity(gt_box[i], prior_boxes) - matched_indice, matched_d = bipartite_match(iou, self.match_type, - self.overlap_threshold) - matched_indices.append(matched_indice) - matched_dist.append(matched_d) - matched_indices = paddle.concat(matched_indices, axis=0) - matched_indices.stop_gradient = True - matched_dist = paddle.concat(matched_dist, axis=0) - matched_dist.stop_gradient = True - - # 2. Compute confidence for mining hard examples - # 2.1. Get the target label based on matched indices - target_label, _ = self._label_target_assign( - gt_label, matched_indices, mismatch_value=num_classes) - confidence = _reshape_to_2d(scores) - # 2.2. Compute confidence loss. - # Reshape confidence to 2D tensor. - target_label = _reshape_to_2d(target_label).astype('int64') - conf_loss = F.softmax_with_cross_entropy(confidence, target_label) - conf_loss = paddle.reshape(conf_loss, [batch_size, num_priors]) - - # 3. Mining hard examples - neg_mask = self._mine_hard_example( - conf_loss, - matched_indices, - matched_dist, - neg_pos_ratio=self.neg_pos_ratio, - neg_overlap=self.neg_overlap) - - # 4. Assign classification and regression targets - # 4.1. Encoded bbox according to the prior boxes. - prior_box_var = paddle.to_tensor( - np.array( - [0.1, 0.1, 0.2, 0.2], dtype='float32')).reshape( - [1, 4]).expand_as(prior_boxes) - encoded_bbox = [] - for i in range(gt_box.shape[0]): - encoded_bbox.append( - box_coder( - prior_box=prior_boxes, - prior_box_var=prior_box_var, - target_box=gt_box[i], - code_type='encode_center_size')) - encoded_bbox = paddle.stack(encoded_bbox, axis=0) - # 4.2. Assign regression targets - target_bbox, target_loc_weight = self._bbox_target_assign( - encoded_bbox, matched_indices) - # 4.3. Assign classification targets - target_label, target_conf_weight = self._label_target_assign( - gt_label, - matched_indices, - neg_mask=neg_mask, - mismatch_value=num_classes) - - # 5. Compute loss. - # 5.1 Compute confidence loss. - target_label = _reshape_to_2d(target_label).astype('int64') - conf_loss = F.softmax_with_cross_entropy(confidence, target_label) - - target_conf_weight = _reshape_to_2d(target_conf_weight) - conf_loss = conf_loss * target_conf_weight * self.conf_loss_weight - - # 5.2 Compute regression loss. - location = _reshape_to_2d(boxes) - target_bbox = _reshape_to_2d(target_bbox) - - loc_loss = F.smooth_l1_loss(location, target_bbox, reduction='none') - loc_loss = paddle.sum(loc_loss, axis=-1, keepdim=True) - target_loc_weight = _reshape_to_2d(target_loc_weight) - loc_loss = loc_loss * target_loc_weight * self.loc_loss_weight - - # 5.3 Compute overall weighted loss. - loss = conf_loss + loc_loss - loss = paddle.reshape(loss, [batch_size, num_priors]) - loss = paddle.sum(loss, axis=1, keepdim=True) - normalizer = paddle.sum(target_loc_weight) - loss = paddle.sum(loss / normalizer) + gt_label = gt_label.unsqueeze(-1).astype('int64') + prior_boxes = paddle.concat(prior_boxes, axis=0) + bg_index = scores.shape[-1] - 1 + + # Match bbox and get targets. + targets_bbox, targets_label = \ + self._bipartite_match_for_batch(gt_bbox, gt_label, prior_boxes, bg_index) + targets_bbox.stop_gradient = True + targets_label.stop_gradient = True + + # Compute regression loss. + # Select positive samples. + bbox_mask = (targets_label != bg_index).astype(boxes.dtype) + loc_loss = bbox_mask * F.smooth_l1_loss( + boxes, targets_bbox, reduction='none') + loc_loss = loc_loss.sum() * self.loc_loss_weight + + # Compute confidence loss. + conf_loss = F.softmax_with_cross_entropy(scores, targets_label) + # Mining hard examples. + label_mask = self._mine_hard_example( + conf_loss.squeeze(-1), targets_label.squeeze(-1), bg_index) + conf_loss = conf_loss * label_mask.unsqueeze(-1).astype(conf_loss.dtype) + conf_loss = conf_loss.sum() * self.conf_loss_weight + + # Compute overall weighted loss. + normalizer = (targets_label != bg_index).astype('float32').sum().clip( + min=1) + loss = (conf_loss + loc_loss) / (normalizer + 1e-9) return loss -- Gitee From 34098ae445b982a529ae7912c1c26eee77096ca8 Mon Sep 17 00:00:00 2001 From: cnn Date: Wed, 28 Apr 2021 20:17:28 +0800 Subject: [PATCH 81/90] fix doc link, test=document (#2798) --- static/configs/ppyolo/README.md | 4 ++-- static/configs/ppyolo/README_cn.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/static/configs/ppyolo/README.md b/static/configs/ppyolo/README.md index 5d7bd4856..73425c7f1 100644 --- a/static/configs/ppyolo/README.md +++ b/static/configs/ppyolo/README.md @@ -87,9 +87,9 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: |:----------------------------:|:----------:|:----------:| :---------: | :-----------------------: | :--------: | :----------:| :------------------: | :-------------------: | :------: | :----------------------: | :-----: | | PP-YOLO_MobileNetV3_small | 4 | 32 | 75% | PP-YOLO_MobileNetV3_large | 4.2MB | 320 | 16.2 | 39.8 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.pdparams) | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.tar) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | -- Slim PP-YOLO is trained by slim traing method from [Distill pruned model](../../slim/extentions/distill_pruned_model/README.md),distill training pruned PP-YOLO_MobileNetV3_small model with PP-YOLO_MobileNetV3_large model as the teacher model +- Slim PP-YOLO is trained by slim traing method from [Distill pruned model](../../slim/extensions/distill_pruned_model/README.md),distill training pruned PP-YOLO_MobileNetV3_small model with PP-YOLO_MobileNetV3_large model as the teacher model - Pruning detectiom head of PP-YOLO model with ratio as 75%, while the arguments are `--pruned_params="yolo_block.0.2.conv.weights,yolo_block.0.tip.conv.weights,yolo_block.1.2.conv.weights,yolo_block.1.tip.conv.weights" --pruned_ratios="0.75,0.75,0.75,0.75"` -- For Slim PP-YOLO training, evaluation, inference and model exporting, please see [Distill pruned model](../../slim/extentions/distill_pruned_model/README.md) +- For Slim PP-YOLO training, evaluation, inference and model exporting, please see [Distill pruned model](../../slim/extensions/distill_pruned_model/README.md) ### PP-YOLO tiny diff --git a/static/configs/ppyolo/README_cn.md b/static/configs/ppyolo/README_cn.md index 12df823f3..5c3e5f129 100644 --- a/static/configs/ppyolo/README_cn.md +++ b/static/configs/ppyolo/README_cn.md @@ -85,9 +85,9 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: |:----------------------------:|:----------:|:-------------:| :---------: | :-----------------------: | :--------: | :----------:| :------------------: | :--------------------: | :------: | :----------: | :------: | | PP-YOLO_MobileNetV3_small | 4 | 32 | 75% | PP-YOLO_MobileNetV3_large | 4.2MB | 320 | 16.2 | 39.8 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.pdparams) | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_mobilenet_v3_small_prune75_distillby_mobilenet_v3_large.tar) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_mobilenet_v3_small.yml) | -- PP-YOLO 轻量级裁剪模型采用[蒸馏通道剪裁模型](../../slim/extentions/distill_pruned_model/README.md) 的方式训练得到,基于 PP-YOLO_MobileNetV3_small 模型对Head部分做卷积通道剪裁后使用 PP-YOLO_MobileNetV3_large 模型进行蒸馏训练 +- PP-YOLO 轻量级裁剪模型采用[蒸馏通道剪裁模型](../../slim/extensions/distill_pruned_model/README.md) 的方式训练得到,基于 PP-YOLO_MobileNetV3_small 模型对Head部分做卷积通道剪裁后使用 PP-YOLO_MobileNetV3_large 模型进行蒸馏训练 - 卷积通道检测对Head部分剪裁掉75%的通道数,及剪裁参数为`--pruned_params="yolo_block.0.2.conv.weights,yolo_block.0.tip.conv.weights,yolo_block.1.2.conv.weights,yolo_block.1.tip.conv.weights" --pruned_ratios="0.75,0.75,0.75,0.75"` -- PP-YOLO 轻量级裁剪模型的训练、评估、预测及模型导出方法见[蒸馏通道剪裁模型](../../slim/extentions/distill_pruned_model/README.md) +- PP-YOLO 轻量级裁剪模型的训练、评估、预测及模型导出方法见[蒸馏通道剪裁模型](../../slim/extensions/distill_pruned_model/README.md) ### PP-YOLO tiny模型 -- Gitee From 6af489978e1d26f845a65cb6ee14b534cabb07d5 Mon Sep 17 00:00:00 2001 From: Guanghua Yu <742925032@qq.com> Date: Thu, 29 Apr 2021 21:40:26 +0800 Subject: [PATCH 82/90] [cherry-pick] fix sync bn in cpu (#2826) * fix sync_bn in cpu * fix sync_bn in cpu --- tools/eval.py | 3 +++ tools/infer.py | 3 +++ tools/train.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/tools/eval.py b/tools/eval.py index 65080e90e..5df7a0774 100755 --- a/tools/eval.py +++ b/tools/eval.py @@ -117,6 +117,9 @@ def main(): place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') + if 'norm_type' in cfg and cfg['norm_type'] == 'sync_bn' and not cfg.use_gpu: + cfg['norm_type'] = 'bn' + if FLAGS.slim_config: cfg = build_slim_model(cfg, FLAGS.slim_config, mode='eval') diff --git a/tools/infer.py b/tools/infer.py index d4f213ead..7ea0d2353 100755 --- a/tools/infer.py +++ b/tools/infer.py @@ -141,6 +141,9 @@ def main(): place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') + if 'norm_type' in cfg and cfg['norm_type'] == 'sync_bn' and not cfg.use_gpu: + cfg['norm_type'] = 'bn' + if FLAGS.slim_config: cfg = build_slim_model(cfg, FLAGS.slim_config, mode='test') diff --git a/tools/train.py b/tools/train.py index b0c49966e..d9ef6d6f2 100755 --- a/tools/train.py +++ b/tools/train.py @@ -123,6 +123,9 @@ def main(): place = paddle.set_device('gpu' if cfg.use_gpu else 'cpu') + if 'norm_type' in cfg and cfg['norm_type'] == 'sync_bn' and not cfg.use_gpu: + cfg['norm_type'] = 'bn' + if FLAGS.slim_config: cfg = build_slim_model(cfg, FLAGS.slim_config) -- Gitee From 2f6a0ad9a1cf4625e280da11f83997f85374c3c4 Mon Sep 17 00:00:00 2001 From: shangliang Xu Date: Fri, 30 Apr 2021 15:33:44 +0800 Subject: [PATCH 83/90] fix bug of blazeface.yml for ssd loss (#2836) --- configs/face_detection/_base_/blazeface.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/face_detection/_base_/blazeface.yml b/configs/face_detection/_base_/blazeface.yml index 5d929613d..469aa9c4c 100644 --- a/configs/face_detection/_base_/blazeface.yml +++ b/configs/face_detection/_base_/blazeface.yml @@ -17,7 +17,6 @@ FaceHead: SSDLoss: overlap_threshold: 0.35 - neg_overlap: 0.35 AnchorGeneratorSSD: steps: [8., 16.] -- Gitee From 015c090dc4e8161f00269094d004e2953d38be4e Mon Sep 17 00:00:00 2001 From: qingqing01 Date: Sat, 1 May 2021 17:08:59 +0800 Subject: [PATCH 84/90] Change README.md to EN (#2848) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4015683cf..13c4f964b 120000 --- a/README.md +++ b/README.md @@ -1 +1 @@ -README_cn.md \ No newline at end of file +README_en.md \ No newline at end of file -- Gitee From 49ff309e74f80da2f18ed3c83f7348473f5a9dc8 Mon Sep 17 00:00:00 2001 From: Cristic <269811655@qq.com> Date: Thu, 6 May 2021 04:03:33 +0100 Subject: [PATCH 85/90] remove the repeat words (#2852) --- docs/tutorials/PrepareDataSet.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/tutorials/PrepareDataSet.md b/docs/tutorials/PrepareDataSet.md index 0926913ac..7f4d9dcbc 100644 --- a/docs/tutorials/PrepareDataSet.md +++ b/docs/tutorials/PrepareDataSet.md @@ -2,10 +2,10 @@ ## 目录 - [目标检测数据说明](#目标检测数据说明) - [准备训练数据](#准备训练数据) - - [VOC数据数据](#VOC数据数据) + - [VOC数据](#VOC数据) - [VOC数据集下载](#VOC数据集下载) - [VOC数据标注文件介绍](#VOC数据标注文件介绍) - - [COCO数据数据](#COCO数据数据) + - [COCO数据](#COCO数据) - [COCO数据集下载](#COCO数据下载) - [COCO数据标注文件介绍](#COCO数据标注文件介绍) - [用户数据](#用户数据) @@ -44,7 +44,7 @@ cd PaddleDetection/ ppdet_root=$(pwd) ``` -#### VOC数据数据 +#### VOC数据 VOC数据是[Pascal VOC](http://host.robots.ox.ac.uk/pascal/VOC/) 比赛使用的数据。Pascal VOC比赛不仅包含图像分类分类任务,还包含图像目标检测、图像分割等任务,其标注文件中包含多个任务的标注内容。 VOC数据集指的是Pascal VOC比赛使用的数据。用户自定义的VOC数据,xml文件中的非必须字段,请根据实际情况选择是否标注或是否使用默认值。 -- Gitee From 6b94eb302105669c06806bdecce8d1bc3fc65aca Mon Sep 17 00:00:00 2001 From: wangxinxin08 <69842442+wangxinxin08@users.noreply.github.com> Date: Thu, 6 May 2021 16:05:52 +0800 Subject: [PATCH 86/90] fix problem while applying ema without training (#2840) --- ppdet/optimizer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ppdet/optimizer.py b/ppdet/optimizer.py index c476e2edb..5334eba72 100644 --- a/ppdet/optimizer.py +++ b/ppdet/optimizer.py @@ -249,6 +249,8 @@ class ModelEMA(object): self.step += 1 def apply(self): + if self.step == 0: + return self.state_dict state_dict = dict() for k, v in self.state_dict.items(): v = v / (1 - self._decay**self.step) -- Gitee From 38bcedb4126cf5e8d4fd2bca367324cd7a5a8220 Mon Sep 17 00:00:00 2001 From: qingqing01 Date: Fri, 7 May 2021 16:31:18 +0800 Subject: [PATCH 87/90] Update README.md --- deploy/python/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/python/README.md b/deploy/python/README.md index 3abee98cf..e0a5a32b0 100644 --- a/deploy/python/README.md +++ b/deploy/python/README.md @@ -3,7 +3,7 @@ Python预测可以使用`tools/infer.py`,此种方式依赖PaddleDetection源码;也可以使用本篇教程预测方式,先将模型导出,使用一个独立的文件进行预测。 -本篇教程使用AnalysisPredictor对[导出模型](https://github.com/PaddlePaddle/PaddleDetection/tree/dygraph/deploy/EXPORT_MODEL.md)进行高性能预测。 +本篇教程使用AnalysisPredictor对[导出模型](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/deploy/EXPORT_MODEL.md)进行高性能预测。 在PaddlePaddle中预测引擎和训练引擎底层有着不同的优化方法, 预测引擎使用了AnalysisPredictor,专门针对推理进行了优化,是基于[C++预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/advanced_guide/inference_deployment/inference/native_infer.html)的Python接口,该引擎可以对模型进行多项图优化,减少不必要的内存拷贝。如果用户在部署已训练模型的过程中对性能有较高的要求,我们提供了独立于PaddleDetection的预测脚本,方便用户直接集成部署。 @@ -15,7 +15,7 @@ Python预测可以使用`tools/infer.py`,此种方式依赖PaddleDetection源 ## 1. 导出预测模型 -PaddleDetection在训练过程包括网络的前向和优化器相关参数,而在部署过程中,我们只需要前向参数,具体参考:[导出模型](https://github.com/PaddlePaddle/PaddleDetection/tree/dygraph/deploy/EXPORT_MODEL.md) +PaddleDetection在训练过程包括网络的前向和优化器相关参数,而在部署过程中,我们只需要前向参数,具体参考:[导出模型](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/deploy/EXPORT_MODEL.md) 导出后目录下,包括`infer_cfg.yml`, `model.pdiparams`, `model.pdiparams.info`, `model.pdmodel`四个文件。 -- Gitee From 8d70ce15f0645cff2801aecfb39854fc92bc0d3d Mon Sep 17 00:00:00 2001 From: shyn Date: Sat, 8 May 2021 16:13:37 +0800 Subject: [PATCH 88/90] fix typos (#2898) --- configs/ppyolo/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index dffac1f96..314322901 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -11,9 +11,9 @@ English | [简体中文](README_cn.md) ## Introduction -[PP-YOLO](https://arxiv.org/abs/2007.12099) is a optimized model based on YOLOv3 in PaddleDetection,whose performance(mAP on COCO) and inference spped are better than [YOLOv4](https://arxiv.org/abs/2004.10934),PaddlePaddle 2.0.0rc1(available on pip now) or [Daily Version](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/Tables.html#whl-release) is required to run this PP-YOLO。 +[PP-YOLO](https://arxiv.org/abs/2007.12099) is a optimized model based on YOLOv3 in PaddleDetection,whose performance(mAP on COCO) and inference speed are better than [YOLOv4](https://arxiv.org/abs/2004.10934),PaddlePaddle 2.0.0rc1(available on pip now) or [Daily Version](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/Tables.html#whl-release) is required to run this PP-YOLO。 -PP-YOLO reached mmAP(IoU=0.5:0.95) as 45.9% on COCO test-dev2017 dataset, and inference speed of FP32 on single V100 is 72.9 FPS, inference speed of FP16 with TensorRT on single V100 is 155.6 FPS. +PP-YOLO reached mAP(IoU=0.5:0.95) as 45.9% on COCO test-dev2017 dataset, and inference speed of FP32 on single V100 is 72.9 FPS, inference speed of FP16 with TensorRT on single V100 is 155.6 FPS.
    -- Gitee From 16d3877ad3f804d77b02997141e5dfabf442c1fe Mon Sep 17 00:00:00 2001 From: yzl19940819 <48433081+yzl19940819@users.noreply.github.com> Date: Sat, 8 May 2021 18:17:06 +0800 Subject: [PATCH 89/90] Update README_cn.md (#2902) remove doubled words --- configs/ppyolo/README_cn.md | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index a224a7c10..4e7c7bc73 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -59,7 +59,6 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: - PP-YOLO模型推理速度测试采用单卡V100,batch size=1进行测试,使用CUDA 10.2, CUDNN 7.5.1,TensorRT推理速度测试使用TensorRT 5.1.2.2。 - PP-YOLO模型FP32的推理速度测试数据为使用`tools/export_model.py`脚本导出模型后,使用`deploy/python/infer.py`脚本中的`--run_benchnark`参数使用Paddle预测库进行推理速度benchmark测试结果, 且测试的均为不包含数据预处理和模型输出后处理(NMS)的数据(与[YOLOv4(AlexyAB)](https://github.com/AlexeyAB/darknet)测试方法一致)。 - TensorRT FP16的速度测试相比于FP32去除了`yolo_box`(bbox解码)部分耗时,即不包含数据预处理,bbox解码和NMS(与[YOLOv4(AlexyAB)](https://github.com/AlexeyAB/darknet)测试方法一致)。 -- PP-YOLO模型推理速度测试采用单卡V100,batch size=1进行测试,使用CUDA 10.2, CUDNN 7.5.1,TensorRT推理速度测试使用TensorRT 5.1.2.2。 ### PP-YOLO 轻量级模型 -- Gitee From 2996bdce4cf27cc611c8ea105842b3104d985532 Mon Sep 17 00:00:00 2001 From: yzl19940819 <48433081+yzl19940819@users.noreply.github.com> Date: Tue, 11 May 2021 11:57:36 +0800 Subject: [PATCH 90/90] Update README_cn.md Add Introduction of recent activities --- README_cn.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/README_cn.md b/README_cn.md index f787a5c7f..691ce50a8 100644 --- a/README_cn.md +++ b/README_cn.md @@ -5,6 +5,42 @@ ### PaddleDetection 2.0全面升级!目前默认使用动态图版本,静态图版本位于[static](./static)中 ### 超高性价比PPYOLO v2和1.3M超轻量PPYOLO tiny全新出炉![欢迎使用](configs/ppyolo/README_cn.md) ### Anchor Free SOTA模型PAFNet发布![欢迎使用](configs/ttfnet/README.md) +# 近期活动 + +百度飞桨产业级目标检测技术详解系列直播课,看超越YOLOv5的PP-YOLOv2到底多强大 + +欢迎大家加入PPYOLOv2&Tiny技术交流群 + + +
    + +
    + + +### 课程安排 + [直播链接](http://live.bilibili.com/21689802) +* 5月13日19:00-20:00 + - 主题: 产业级目标检测算法全解读 +* 5月14日19:00-20:00 + - 主题: 1.3M超轻量目标检测算法解读及应用 +* 5月21日20:00-21:00 + - 主题: 复杂背景下小目标检测模型开发实战 + +### 学习链接 + + [0【PaddleDetection2.0专项】新版本快速体验](https://aistudio.baidu.com/aistudio/projectdetail/1885319) + + [1【PaddleDetection2.0专项】如何自定义数据集](https://aistudio.baidu.com/aistudio/projectdetail/1917140) + + [2【PaddleDetection2.0专项】快速上手PP-YOLOv2](https://aistudio.baidu.com/aistudio/projectdetail/1922155) + + [3【PaddleDetection2.0专项】快速上手PP-YOLO tiny](https://aistudio.baidu.com/aistudio/projectdetail/1918450) + + [4【PaddleDetection2.0专项】快速上手S2ANet](https://aistudio.baidu.com/aistudio/projectdetail/1923957) + + [5【PaddleDetection2.0专项】快速实现行人检测](https://aistudio.baidu.com/aistudio/projectdetail/1918451) + + [6【PaddleDetection2.0专项】快速实现人脸检测](https://aistudio.baidu.com/aistudio/projectdetail/1918453) # 简介 -- Gitee
  • q*9BtZj;c`W$ga~9B&(2xLWC&f>HZOY)5*Ezr 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 ANB{r; literal 0 HcmV?d00001 diff --git a/demo/P0861__1.0__1154___824.png b/demo/P0861__1.0__1154___824.png new file mode 100644 index 0000000000000000000000000000000000000000..47ab7ae3b4698c18a70513e262274f2bfeb98622 GIT binary patch literal 1256871 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