Update code and docs
parent
2c609edd17
commit
d470f34c64
|
@ -7,7 +7,7 @@
|
|||
飞桨图像识别套件PaddleClas是飞桨为工业界和学术界所准备的一个图像识别任务的工具集,助力使用者训练出更好的视觉模型和应用落地。
|
||||
|
||||
**近期更新**
|
||||
- 2021.09.08 增加PaddleClas自研LCNet系列模型, 这些模型在Intel CPU上有较强的竞争力。相关指标和预训练权重可以从 [这里](docs/zh_CN/ImageNet_models.md)下载。
|
||||
- 2021.09.08 增加PaddleClas自研PPLCNet系列模型, 这些模型在Intel CPU上有较强的竞争力。相关指标和预训练权重可以从 [这里](docs/zh_CN/ImageNet_models.md)下载。
|
||||
- 2021.08.11 更新7个[FAQ](docs/zh_CN/faq_series/faq_2021_s2.md)。
|
||||
- 2021.06.29 添加Swin-transformer系列模型,ImageNet1k数据集上Top1 acc最高精度可达87.2%;支持训练预测评估与whl包部署,预训练模型可以从[这里](docs/zh_CN/models/models_intro.md)下载。
|
||||
- 2021.06.22,23,24 PaddleClas官方研发团队带来技术深入解读三日直播课。课程回放:[https://aistudio.baidu.com/aistudio/course/introduce/24519](https://aistudio.baidu.com/aistudio/course/introduce/24519)
|
||||
|
|
|
@ -8,7 +8,7 @@ PaddleClas is an image recognition toolset for industry and academia, helping us
|
|||
|
||||
**Recent updates**
|
||||
|
||||
- 2021.09.08 Add LCNet series model developed by PaddleClas, these models show strong competitiveness on Intel CPUs. The metrics and pretrained model are available [here](docs/en/ImageNet_models_en.md).
|
||||
- 2021.09.08 Add PPLCNet series model developed by PaddleClas, these models show strong competitiveness on Intel CPUs. The metrics and pretrained model are available [here](docs/en/ImageNet_models_en.md).
|
||||
|
||||
- 2021.06.29 Add Swin-transformer series model,Highest top1 acc on ImageNet1k dataset reaches 87.2%, training, evaluation and inference are all supported. Pretrained models can be downloaded [here](docs/en/models/models_intro_en.md).
|
||||
- 2021.06.16 PaddleClas release/2.2. Add metric learning and vector search modules. Add product recognition, animation character recognition, vehicle recognition and logo recognition. Added 30 pretrained models of LeViT, Twins, TNT, DLA, HarDNet, and RedNet, and the accuracy is roughly the same as that of the paper.
|
||||
|
|
|
@ -51,29 +51,29 @@ Accuracy and inference time of the prtrained models based on SSLD distillation a
|
|||
|
||||
| Model | Top-1 Acc | Reference<br>Top-1 Acc | Acc gain | Intel-Xeon-Gold-6148 time(ms)<br>bs=1 | Flops(M) | Params(M) | Download Address |
|
||||
|---------------------|-----------|-----------|---------------|----------------|-----------|----------|-----------|-----------------------------------|
|
||||
| LCNet_x0_5_ssld | 0.661 | 0.631 | 0.030 | 2.05 | 47 | 1.9 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_5_ssld_pretrained.pdparams) |
|
||||
| LCNet_x1_0_ssld | 0.744 | 0.713 | 0.033 | 2.46 | 161 | 3.0 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x1_0_ssld_pretrained.pdparams) |
|
||||
| LCNet_x2_5_ssld | 0.808 | 0.766 | 0.042 | 5.39 | 906 | 9.0 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x2_5_ssld_pretrained.pdparams) |
|
||||
| PPLCNet_x0_5_ssld | 0.661 | 0.631 | 0.030 | 2.05 | 47 | 1.9 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_5_ssld_pretrained.pdparams) |
|
||||
| PPLCNet_x1_0_ssld | 0.744 | 0.713 | 0.033 | 2.46 | 161 | 3.0 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x1_0_ssld_pretrained.pdparams) |
|
||||
| PPLCNet_x2_5_ssld | 0.808 | 0.766 | 0.042 | 5.39 | 906 | 9.0 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x2_5_ssld_pretrained.pdparams) |
|
||||
|
||||
|
||||
* Note: `Reference Top-1 Acc` means accuracy of pretrained models which are trained on ImageNet1k dataset.
|
||||
|
||||
|
||||
<a name="LCNet_series"></a>
|
||||
### LCNet_series
|
||||
<a name="PPLCNet_series"></a>
|
||||
### PPLCNet_series
|
||||
|
||||
Accuracy and inference time metrics of LCNet series models are shown as follows. More detailed information can be refered to [LCNet series tutorial](../en/models/LCNet_en.md).
|
||||
Accuracy and inference time metrics of PPLCNet series models are shown as follows. More detailed information can be refered to [PPLCNet series tutorial](../en/models/PPLCNet_en.md).
|
||||
|
||||
| Model | Top-1 Acc | Top-5 Acc | Intel-Xeon-Gold-6148 time(ms)<br>bs=1 | FLOPs(M) | Params(M) | Download Address |
|
||||
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|
||||
| LCNet_x0_25 |0.5186 | 0.7565 | 1.74 | 18 | 1.5 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_25_pretrained.pdparams) |
|
||||
| LCNet_x0_35 |0.5809 | 0.8083 | 1.92 | 29 | 1.6 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_35_pretrained.pdparams) |
|
||||
| LCNet_x0_5 |0.6314 | 0.8466 | 2.05 | 47 | 1.9 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_5_pretrained.pdparams) |
|
||||
| LCNet_x0_75 |0.6818 | 0.8830 | 2.29 | 99 | 2.4 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_75_pretrained.pdparams) |
|
||||
| LCNet_x1_0 |0.7132 | 0.9003 | 2.46 | 161 | 3.0 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x1_0_pretrained.pdparams) |
|
||||
| LCNet_x1_5 |0.7371 | 0.9153 | 3.19 | 342 | 4.5 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x1_5_pretrained.pdparams) |
|
||||
| LCNet_x2_0 |0.7518 | 0.9227 | 4.27 | 590 | 6.5 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x2_0_pretrained.pdparams) |
|
||||
| LCNet_x2_5 |0.7660 | 0.9300 | 5.39 | 906 | 9.0 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x2_5_pretrained.pdparams) |
|
||||
| PPLCNet_x0_25 |0.5186 | 0.7565 | 1.74 | 18 | 1.5 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_25_pretrained.pdparams) |
|
||||
| PPLCNet_x0_35 |0.5809 | 0.8083 | 1.92 | 29 | 1.6 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_35_pretrained.pdparams) |
|
||||
| PPLCNet_x0_5 |0.6314 | 0.8466 | 2.05 | 47 | 1.9 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_5_pretrained.pdparams) |
|
||||
| PPLCNet_x0_75 |0.6818 | 0.8830 | 2.29 | 99 | 2.4 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_75_pretrained.pdparams) |
|
||||
| PPLCNet_x1_0 |0.7132 | 0.9003 | 2.46 | 161 | 3.0 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x1_0_pretrained.pdparams) |
|
||||
| PPLCNet_x1_5 |0.7371 | 0.9153 | 3.19 | 342 | 4.5 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x1_5_pretrained.pdparams) |
|
||||
| PPLCNet_x2_0 |0.7518 | 0.9227 | 4.27 | 590 | 6.5 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x2_0_pretrained.pdparams) |
|
||||
| PPLCNet_x2_5 |0.7660 | 0.9300 | 5.39 | 906 | 9.0 | [Download link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x2_5_pretrained.pdparams) |
|
||||
|
||||
|
||||
<a name="ResNet_and_Vd_series"></a>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# LCNet series
|
||||
# PPLCNet series
|
||||
|
||||
## Overview
|
||||
|
||||
The LCNet series is a network that has excellent performance on Intel-CPU proposed by the Baidu PaddleCV team. The author summarizes some methods that can improve the accuracy of the model on Intel-CPU but hardly increase the inference time. The author combines these methods into a new network, namely LCNet. Compared with other lightweight networks, LCNet can achieve higher accuracy with the same inference time. LCNet has shown strong competitiveness in image classification, object detection, and semantic segmentation.
|
||||
The PPLCNet series is a network that has excellent performance on Intel-CPU proposed by the Baidu PaddleCV team. The author summarizes some methods that can improve the accuracy of the model on Intel-CPU but hardly increase the inference time. The author combines these methods into a new network, namely PPLCNet. Compared with other lightweight networks, PPLCNet can achieve higher accuracy with the same inference time. PPLCNet has shown strong competitiveness in image classification, object detection, and semantic segmentation.
|
||||
|
||||
|
||||
|
||||
|
@ -10,17 +10,17 @@ The LCNet series is a network that has excellent performance on Intel-CPU propos
|
|||
|
||||
| Models | Top1 | Top5 | FLOPs<br>(M) | Parameters<br>(M) |
|
||||
|:--:|:--:|:--:|:--:|:--:|
|
||||
| LCNet_x0_25 |0.5186 | 0.7565 | 18 | 1.5 |
|
||||
| LCNet_x0_35 |0.5809 | 0.8083 | 29 | 1.6 |
|
||||
| LCNet_x0_5 |0.6314 | 0.8466 | 47 | 1.9 |
|
||||
| LCNet_x0_75 |0.6818 | 0.8830 | 99 | 2.4 |
|
||||
| LCNet_x1_0 |0.7132 | 0.9003 | 161 | 3.0 |
|
||||
| LCNet_x1_5 |0.7371 | 0.9153 | 342 | 4.5 |
|
||||
| LCNet_x2_0 |0.7518 | 0.9227 | 590 | 6.5 |
|
||||
| LCNet_x2_5 |0.7660 | 0.9300 | 906 | 9.0 |
|
||||
| LCNet_x0_5_ssld |0.6610 | 0.8646 | 47 | 1.9 |
|
||||
| LCNet_x1_0_ssld |0.7439 | 0.9209 | 161 | 3.0 |
|
||||
| LCNet_x2_5_ssld |0.8082 | 0.9533 | 906 | 9.0 |
|
||||
| PPLCNet_x0_25 |0.5186 | 0.7565 | 18 | 1.5 |
|
||||
| PPLCNet_x0_35 |0.5809 | 0.8083 | 29 | 1.6 |
|
||||
| PPLCNet_x0_5 |0.6314 | 0.8466 | 47 | 1.9 |
|
||||
| PPLCNet_x0_75 |0.6818 | 0.8830 | 99 | 2.4 |
|
||||
| PPLCNet_x1_0 |0.7132 | 0.9003 | 161 | 3.0 |
|
||||
| PPLCNet_x1_5 |0.7371 | 0.9153 | 342 | 4.5 |
|
||||
| PPLCNet_x2_0 |0.7518 | 0.9227 | 590 | 6.5 |
|
||||
| PPLCNet_x2_5 |0.7660 | 0.9300 | 906 | 9.0 |
|
||||
| PPLCNet_x0_5_ssld |0.6610 | 0.8646 | 47 | 1.9 |
|
||||
| PPLCNet_x1_0_ssld |0.7439 | 0.9209 | 161 | 3.0 |
|
||||
| PPLCNet_x2_5_ssld |0.8082 | 0.9533 | 906 | 9.0 |
|
||||
|
||||
|
||||
|
||||
|
@ -28,14 +28,14 @@ The LCNet series is a network that has excellent performance on Intel-CPU propos
|
|||
|
||||
| Models | Crop Size | Resize Short Size | FP32<br>Batch Size=1<br>(ms) |
|
||||
|------------------|-----------|-------------------|--------------------------|
|
||||
| LCNet_x0_25 | 224 | 256 | 1.74 |
|
||||
| LCNet_x0_35 | 224 | 256 | 1.92 |
|
||||
| LCNet_x0_5 | 224 | 256 | 2.05 |
|
||||
| LCNet_x0_75 | 224 | 256 | 2.29 |
|
||||
| LCNet_x1_0 | 224 | 256 | 2.46 |
|
||||
| LCNet_x1_5 | 224 | 256 | 3.19 |
|
||||
| LCNet_x2_0 | 224 | 256 | 4.27 |
|
||||
| LCNet_x2_5 | 224 | 256 | 5.39 |
|
||||
| LCNet_x0_5_ssld | 224 | 256 | 2.05 |
|
||||
| LCNet_x1_0_ssld | 224 | 256 | 2.46 |
|
||||
| LCNet_x2_5_ssld | 224 | 256 | 5.39 |
|
||||
| PPLCNet_x0_25 | 224 | 256 | 1.74 |
|
||||
| PPLCNet_x0_35 | 224 | 256 | 1.92 |
|
||||
| PPLCNet_x0_5 | 224 | 256 | 2.05 |
|
||||
| PPLCNet_x0_75 | 224 | 256 | 2.29 |
|
||||
| PPLCNet_x1_0 | 224 | 256 | 2.46 |
|
||||
| PPLCNet_x1_5 | 224 | 256 | 3.19 |
|
||||
| PPLCNet_x2_0 | 224 | 256 | 4.27 |
|
||||
| PPLCNet_x2_5 | 224 | 256 | 5.39 |
|
||||
| PPLCNet_x0_5_ssld | 224 | 256 | 2.05 |
|
||||
| PPLCNet_x1_0_ssld | 224 | 256 | 2.46 |
|
||||
| PPLCNet_x2_5_ssld | 224 | 256 | 5.39 |
|
||||
|
|
|
@ -57,30 +57,30 @@
|
|||
|
||||
| 模型 | Top-1 Acc | Reference<br>Top-1 Acc | Acc gain | Intel-Xeon-Gold-6148 time(ms)<br>bs=1 | Flops(M) | Params(M) | 下载地址 |
|
||||
|---------------------|-----------|-----------|---------------|----------------|----------|-----------|-----------------------------------|
|
||||
| LCNet_x0_5_ssld | 0.661 | 0.631 | 0.030 | 2.05 | 47 | 1.9 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_5_ssld_pretrained.pdparams) |
|
||||
| LCNet_x1_0_ssld | 0.744 | 0.713 | 0.033 | 2.46 | 161 | 3.0 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x1_0_ssld_pretrained.pdparams) |
|
||||
| LCNet_x2_5_ssld | 0.808 | 0.766 | 0.042 | 5.39 | 906 | 9.0 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x2_5_ssld_pretrained.pdparams) |
|
||||
| PPLCNet_x0_5_ssld | 0.661 | 0.631 | 0.030 | 2.05 | 47 | 1.9 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_5_ssld_pretrained.pdparams) |
|
||||
| PPLCNet_x1_0_ssld | 0.744 | 0.713 | 0.033 | 2.46 | 161 | 3.0 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x1_0_ssld_pretrained.pdparams) |
|
||||
| PPLCNet_x2_5_ssld | 0.808 | 0.766 | 0.042 | 5.39 | 906 | 9.0 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x2_5_ssld_pretrained.pdparams) |
|
||||
|
||||
|
||||
|
||||
|
||||
* 注: `Reference Top-1 Acc`表示PaddleClas基于ImageNet1k数据集训练得到的预训练模型精度。
|
||||
|
||||
<a name="LCNet系列"></a>
|
||||
### LCNet系列
|
||||
<a name="PPLCNet系列"></a>
|
||||
### PPLCNet系列
|
||||
|
||||
LCNet系列模型的精度、速度指标如下表所示,更多关于该系列的模型介绍可以参考:[LCNet系列模型文档](./models/LCNet.md)。
|
||||
PPLCNet系列模型的精度、速度指标如下表所示,更多关于该系列的模型介绍可以参考:[PPLCNet系列模型文档](./models/PPLCNet.md)。
|
||||
|
||||
| 模型 | Top-1 Acc | Top-5 Acc | Intel-Xeon-Gold-6148 time(ms)<br>bs=1 | FLOPs(M) | Params(M) | 下载地址 |
|
||||
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|
||||
| LCNet_x0_25 |0.5186 | 0.7565 | 1.74 | 18 | 1.5 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_25_pretrained.pdparams) |
|
||||
| LCNet_x0_35 |0.5809 | 0.8083 | 1.92 | 29 | 1.6 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_35_pretrained.pdparams) |
|
||||
| LCNet_x0_5 |0.6314 | 0.8466 | 2.05 | 47 | 1.9 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_5_pretrained.pdparams) |
|
||||
| LCNet_x0_75 |0.6818 | 0.8830 | 2.29 | 99 | 2.4 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_75_pretrained.pdparams) |
|
||||
| LCNet_x1_0 |0.7132 | 0.9003 | 2.46 | 161 | 3.0 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x1_0_pretrained.pdparams) |
|
||||
| LCNet_x1_5 |0.7371 | 0.9153 | 3.19 | 342 | 4.5 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x1_5_pretrained.pdparams) |
|
||||
| LCNet_x2_0 |0.7518 | 0.9227 | 4.27 | 590 | 6.5 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x2_0_pretrained.pdparams) |
|
||||
| LCNet_x2_5 |0.7660 | 0.9300 | 5.39 | 906 | 9.0 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x2_5_pretrained.pdparams) |
|
||||
| PPLCNet_x0_25 |0.5186 | 0.7565 | 1.74 | 18 | 1.5 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_25_pretrained.pdparams) |
|
||||
| PPLCNet_x0_35 |0.5809 | 0.8083 | 1.92 | 29 | 1.6 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_35_pretrained.pdparams) |
|
||||
| PPLCNet_x0_5 |0.6314 | 0.8466 | 2.05 | 47 | 1.9 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_5_pretrained.pdparams) |
|
||||
| PPLCNet_x0_75 |0.6818 | 0.8830 | 2.29 | 99 | 2.4 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_75_pretrained.pdparams) |
|
||||
| PPLCNet_x1_0 |0.7132 | 0.9003 | 2.46 | 161 | 3.0 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x1_0_pretrained.pdparams) |
|
||||
| PPLCNet_x1_5 |0.7371 | 0.9153 | 3.19 | 342 | 4.5 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x1_5_pretrained.pdparams) |
|
||||
| PPLCNet_x2_0 |0.7518 | 0.9227 | 4.27 | 590 | 6.5 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x2_0_pretrained.pdparams) |
|
||||
| PPLCNet_x2_5 |0.7660 | 0.9300 | 5.39 | 906 | 9.0 | [下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x2_5_pretrained.pdparams) |
|
||||
|
||||
|
||||
<a name="ResNet及其Vd系列"></a>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# LCNet系列
|
||||
# PPLCNet系列
|
||||
|
||||
## 概述
|
||||
|
||||
LCNet系列是百度PaddleCV团队提出的一种在Intel-CPU上表现优异的网络,作者总结了一些在Intel-CPU上可以提升模型精度但几乎不增加推理耗时的方法,将这些方法组合成了一个新的网络,即LCNet。与其他轻量级网络相比,LCNet可以在相同延时下取得更高的精度。LCNet已在图像分类、目标检测、语义分割上表现出了强大的竞争力。
|
||||
PPLCNet系列是百度PaddleCV团队提出的一种在Intel-CPU上表现优异的网络,作者总结了一些在Intel-CPU上可以提升模型精度但几乎不增加推理耗时的方法,将这些方法组合成了一个新的网络,即PPLCNet。与其他轻量级网络相比,PPLCNet可以在相同延时下取得更高的精度。PPLCNet已在图像分类、目标检测、语义分割上表现出了强大的竞争力。
|
||||
|
||||
|
||||
|
||||
|
@ -10,17 +10,17 @@ LCNet系列是百度PaddleCV团队提出的一种在Intel-CPU上表现优异的
|
|||
|
||||
| Models | Top1 | Top5 | FLOPs<br>(M) | Parameters<br>(M) |
|
||||
|:--:|:--:|:--:|:--:|:--:|
|
||||
| LCNet_x0_25 |0.5186 | 0.7565 | 18 | 1.5 |
|
||||
| LCNet_x0_35 |0.5809 | 0.8083 | 29 | 1.6 |
|
||||
| LCNet_x0_5 |0.6314 | 0.8466 | 47 | 1.9 |
|
||||
| LCNet_x0_75 |0.6818 | 0.8830 | 99 | 2.4 |
|
||||
| LCNet_x1_0 |0.7132 | 0.9003 | 161 | 3.0 |
|
||||
| LCNet_x1_5 |0.7371 | 0.9153 | 342 | 4.5 |
|
||||
| LCNet_x2_0 |0.7518 | 0.9227 | 590 | 6.5 |
|
||||
| LCNet_x2_5 |0.7660 | 0.9300 | 906 | 9.0 |
|
||||
| LCNet_x0_5_ssld |0.6610 | 0.8646 | 47 | 1.9 |
|
||||
| LCNet_x1_0_ssld |0.7439 | 0.9209 | 161 | 3.0 |
|
||||
| LCNet_x2_5_ssld |0.8082 | 0.9533 | 906 | 9.0 |
|
||||
| PPLCNet_x0_25 |0.5186 | 0.7565 | 18 | 1.5 |
|
||||
| PPLCNet_x0_35 |0.5809 | 0.8083 | 29 | 1.6 |
|
||||
| PPLCNet_x0_5 |0.6314 | 0.8466 | 47 | 1.9 |
|
||||
| PPLCNet_x0_75 |0.6818 | 0.8830 | 99 | 2.4 |
|
||||
| PPLCNet_x1_0 |0.7132 | 0.9003 | 161 | 3.0 |
|
||||
| PPLCNet_x1_5 |0.7371 | 0.9153 | 342 | 4.5 |
|
||||
| PPLCNet_x2_0 |0.7518 | 0.9227 | 590 | 6.5 |
|
||||
| PPLCNet_x2_5 |0.7660 | 0.9300 | 906 | 9.0 |
|
||||
| PPLCNet_x0_5_ssld |0.6610 | 0.8646 | 47 | 1.9 |
|
||||
| PPLCNet_x1_0_ssld |0.7439 | 0.9209 | 161 | 3.0 |
|
||||
| PPLCNet_x2_5_ssld |0.8082 | 0.9533 | 906 | 9.0 |
|
||||
|
||||
|
||||
|
||||
|
@ -28,14 +28,14 @@ LCNet系列是百度PaddleCV团队提出的一种在Intel-CPU上表现优异的
|
|||
|
||||
| Models | Crop Size | Resize Short Size | FP32<br>Batch Size=1<br>(ms) |
|
||||
|------------------|-----------|-------------------|--------------------------|
|
||||
| LCNet_x0_25 | 224 | 256 | 1.74 |
|
||||
| LCNet_x0_35 | 224 | 256 | 1.92 |
|
||||
| LCNet_x0_5 | 224 | 256 | 2.05 |
|
||||
| LCNet_x0_75 | 224 | 256 | 2.29 |
|
||||
| LCNet_x1_0 | 224 | 256 | 2.46 |
|
||||
| LCNet_x1_5 | 224 | 256 | 3.19 |
|
||||
| LCNet_x2_0 | 224 | 256 | 4.27 |
|
||||
| LCNet_x2_5 | 224 | 256 | 5.39 |
|
||||
| LCNet_x0_5_ssld | 224 | 256 | 2.05 |
|
||||
| LCNet_x1_0_ssld | 224 | 256 | 2.46 |
|
||||
| LCNet_x2_5_ssld | 224 | 256 | 5.39 |
|
||||
| PPLCNet_x0_25 | 224 | 256 | 1.74 |
|
||||
| PPLCNet_x0_35 | 224 | 256 | 1.92 |
|
||||
| PPLCNet_x0_5 | 224 | 256 | 2.05 |
|
||||
| PPLCNet_x0_75 | 224 | 256 | 2.29 |
|
||||
| PPLCNet_x1_0 | 224 | 256 | 2.46 |
|
||||
| PPLCNet_x1_5 | 224 | 256 | 3.19 |
|
||||
| PPLCNet_x2_0 | 224 | 256 | 4.27 |
|
||||
| PPLCNet_x2_5 | 224 | 256 | 5.39 |
|
||||
| PPLCNet_x0_5_ssld | 224 | 256 | 2.05 |
|
||||
| PPLCNet_x1_0_ssld | 224 | 256 | 2.46 |
|
||||
| PPLCNet_x2_5_ssld | 224 | 256 | 5.39 |
|
||||
|
|
|
@ -21,7 +21,7 @@ from ppcls.arch.backbone.legendary_models.resnet import ResNet18, ResNet18_vd, R
|
|||
from ppcls.arch.backbone.legendary_models.vgg import VGG11, VGG13, VGG16, VGG19
|
||||
from ppcls.arch.backbone.legendary_models.inception_v3 import InceptionV3
|
||||
from ppcls.arch.backbone.legendary_models.hrnet import HRNet_W18_C, HRNet_W30_C, HRNet_W32_C, HRNet_W40_C, HRNet_W44_C, HRNet_W48_C, HRNet_W60_C, HRNet_W64_C, SE_HRNet_W64_C
|
||||
from ppcls.arch.backbone.legendary_models.lcnet import LCNet_x0_25, LCNet_x0_35, LCNet_x0_5, LCNet_x0_75, LCNet_x1_0, LCNet_x1_5, LCNet_x2_0, LCNet_x2_5
|
||||
from ppcls.arch.backbone.legendary_models.pp_lcnet import PPLCNet_x0_25, PPLCNet_x0_35, PPLCNet_x0_5, PPLCNet_x0_75, PPLCNet_x1_0, PPLCNet_x1_5, PPLCNet_x2_0, PPLCNet_x2_5
|
||||
|
||||
from ppcls.arch.backbone.model_zoo.resnet_vc import ResNet50_vc
|
||||
from ppcls.arch.backbone.model_zoo.resnext import ResNeXt50_32x4d, ResNeXt50_64x4d, ResNeXt101_32x4d, ResNeXt101_64x4d, ResNeXt152_32x4d, ResNeXt152_64x4d
|
||||
|
|
|
@ -24,22 +24,22 @@ from ppcls.arch.backbone.base.theseus_layer import TheseusLayer
|
|||
from ppcls.utils.save_load import load_dygraph_pretrain, load_dygraph_pretrain_from_url
|
||||
|
||||
MODEL_URLS = {
|
||||
"LCNet_x0_25":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_25_pretrained.pdparams",
|
||||
"LCNet_x0_35":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_35_pretrained.pdparams",
|
||||
"LCNet_x0_5":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_5_pretrained.pdparams",
|
||||
"LCNet_x0_75":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x0_75_pretrained.pdparams",
|
||||
"LCNet_x1_0":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x1_0_pretrained.pdparams",
|
||||
"LCNet_x1_5":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x1_5_pretrained.pdparams",
|
||||
"LCNet_x2_0":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x2_0_pretrained.pdparams",
|
||||
"LCNet_x2_5":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/LCNet_x2_5_pretrained.pdparams"
|
||||
"PPLCNet_x0_25":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_25_pretrained.pdparams",
|
||||
"PPLCNet_x0_35":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_35_pretrained.pdparams",
|
||||
"PPLCNet_x0_5":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_5_pretrained.pdparams",
|
||||
"PPLCNet_x0_75":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x0_75_pretrained.pdparams",
|
||||
"PPLCNet_x1_0":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x1_0_pretrained.pdparams",
|
||||
"PPLCNet_x1_5":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x1_5_pretrained.pdparams",
|
||||
"PPLCNet_x2_0":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x2_0_pretrained.pdparams",
|
||||
"PPLCNet_x2_5":
|
||||
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/legendary_models/PPLCNet_x2_5_pretrained.pdparams"
|
||||
}
|
||||
|
||||
__all__ = list(MODEL_URLS.keys())
|
||||
|
@ -166,7 +166,7 @@ class SEModule(TheseusLayer):
|
|||
return x
|
||||
|
||||
|
||||
class LCNet(TheseusLayer):
|
||||
class PPLCNet(TheseusLayer):
|
||||
def __init__(self,
|
||||
scale=1.0,
|
||||
class_num=1000,
|
||||
|
@ -279,121 +279,121 @@ def _load_pretrained(pretrained, model, model_url, use_ssld):
|
|||
)
|
||||
|
||||
|
||||
def LCNet_x0_25(pretrained=False, use_ssld=False, **kwargs):
|
||||
def PPLCNet_x0_25(pretrained=False, use_ssld=False, **kwargs):
|
||||
"""
|
||||
LCNet_x0_25
|
||||
PPLCNet_x0_25
|
||||
Args:
|
||||
pretrained: bool=False or str. If `True` load pretrained parameters, `False` otherwise.
|
||||
If str, means the path of the pretrained model.
|
||||
use_ssld: bool=False. Whether using distillation pretrained model when pretrained=True.
|
||||
Returns:
|
||||
model: nn.Layer. Specific `LCNet_x0_25` model depends on args.
|
||||
model: nn.Layer. Specific `PPLCNet_x0_25` model depends on args.
|
||||
"""
|
||||
model = LCNet(scale=0.25, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["LCNet_x0_25"], use_ssld)
|
||||
model = PPLCNet(scale=0.25, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["PPLCNet_x0_25"], use_ssld)
|
||||
return model
|
||||
|
||||
|
||||
def LCNet_x0_35(pretrained=False, use_ssld=False, **kwargs):
|
||||
def PPLCNet_x0_35(pretrained=False, use_ssld=False, **kwargs):
|
||||
"""
|
||||
LCNet_x0_35
|
||||
PPLCNet_x0_35
|
||||
Args:
|
||||
pretrained: bool=False or str. If `True` load pretrained parameters, `False` otherwise.
|
||||
If str, means the path of the pretrained model.
|
||||
use_ssld: bool=False. Whether using distillation pretrained model when pretrained=True.
|
||||
Returns:
|
||||
model: nn.Layer. Specific `LCNet_x0_35` model depends on args.
|
||||
model: nn.Layer. Specific `PPLCNet_x0_35` model depends on args.
|
||||
"""
|
||||
model = LCNet(scale=0.35, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["LCNet_x0_35"], use_ssld)
|
||||
model = PPLCNet(scale=0.35, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["PPLCNet_x0_35"], use_ssld)
|
||||
return model
|
||||
|
||||
|
||||
def LCNet_x0_5(pretrained=False, use_ssld=False, **kwargs):
|
||||
def PPLCNet_x0_5(pretrained=False, use_ssld=False, **kwargs):
|
||||
"""
|
||||
LCNet_x0_5
|
||||
PPLCNet_x0_5
|
||||
Args:
|
||||
pretrained: bool=False or str. If `True` load pretrained parameters, `False` otherwise.
|
||||
If str, means the path of the pretrained model.
|
||||
use_ssld: bool=False. Whether using distillation pretrained model when pretrained=True.
|
||||
Returns:
|
||||
model: nn.Layer. Specific `LCNet_x0_5` model depends on args.
|
||||
model: nn.Layer. Specific `PPLCNet_x0_5` model depends on args.
|
||||
"""
|
||||
model = LCNet(scale=0.5, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["LCNet_x0_5"], use_ssld)
|
||||
model = PPLCNet(scale=0.5, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["PPLCNet_x0_5"], use_ssld)
|
||||
return model
|
||||
|
||||
|
||||
def LCNet_x0_75(pretrained=False, use_ssld=False, **kwargs):
|
||||
def PPLCNet_x0_75(pretrained=False, use_ssld=False, **kwargs):
|
||||
"""
|
||||
LCNet_x0_75
|
||||
PPLCNet_x0_75
|
||||
Args:
|
||||
pretrained: bool=False or str. If `True` load pretrained parameters, `False` otherwise.
|
||||
If str, means the path of the pretrained model.
|
||||
use_ssld: bool=False. Whether using distillation pretrained model when pretrained=True.
|
||||
Returns:
|
||||
model: nn.Layer. Specific `LCNet_x0_75` model depends on args.
|
||||
model: nn.Layer. Specific `PPLCNet_x0_75` model depends on args.
|
||||
"""
|
||||
model = LCNet(scale=0.75, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["LCNet_x0_75"], use_ssld)
|
||||
model = PPLCNet(scale=0.75, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["PPLCNet_x0_75"], use_ssld)
|
||||
return model
|
||||
|
||||
|
||||
def LCNet_x1_0(pretrained=False, use_ssld=False, **kwargs):
|
||||
def PPLCNet_x1_0(pretrained=False, use_ssld=False, **kwargs):
|
||||
"""
|
||||
LCNet_x1_0
|
||||
PPLCNet_x1_0
|
||||
Args:
|
||||
pretrained: bool=False or str. If `True` load pretrained parameters, `False` otherwise.
|
||||
If str, means the path of the pretrained model.
|
||||
use_ssld: bool=False. Whether using distillation pretrained model when pretrained=True.
|
||||
Returns:
|
||||
model: nn.Layer. Specific `LCNet_x1_0` model depends on args.
|
||||
model: nn.Layer. Specific `PPLCNet_x1_0` model depends on args.
|
||||
"""
|
||||
model = LCNet(scale=1.0, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["LCNet_x1_0"], use_ssld)
|
||||
model = PPLCNet(scale=1.0, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["PPLCNet_x1_0"], use_ssld)
|
||||
return model
|
||||
|
||||
|
||||
def LCNet_x1_5(pretrained=False, use_ssld=False, **kwargs):
|
||||
def PPLCNet_x1_5(pretrained=False, use_ssld=False, **kwargs):
|
||||
"""
|
||||
LCNet_x1_5
|
||||
PPLCNet_x1_5
|
||||
Args:
|
||||
pretrained: bool=False or str. If `True` load pretrained parameters, `False` otherwise.
|
||||
If str, means the path of the pretrained model.
|
||||
use_ssld: bool=False. Whether using distillation pretrained model when pretrained=True.
|
||||
Returns:
|
||||
model: nn.Layer. Specific `LCNet_x1_5` model depends on args.
|
||||
model: nn.Layer. Specific `PPLCNet_x1_5` model depends on args.
|
||||
"""
|
||||
model = LCNet(scale=1.5, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["LCNet_x1_5"], use_ssld)
|
||||
model = PPLCNet(scale=1.5, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["PPLCNet_x1_5"], use_ssld)
|
||||
return model
|
||||
|
||||
|
||||
def LCNet_x2_0(pretrained=False, use_ssld=False, **kwargs):
|
||||
def PPLCNet_x2_0(pretrained=False, use_ssld=False, **kwargs):
|
||||
"""
|
||||
LCNet_x2_0
|
||||
PPLCNet_x2_0
|
||||
Args:
|
||||
pretrained: bool=False or str. If `True` load pretrained parameters, `False` otherwise.
|
||||
If str, means the path of the pretrained model.
|
||||
use_ssld: bool=False. Whether using distillation pretrained model when pretrained=True.
|
||||
Returns:
|
||||
model: nn.Layer. Specific `LCNet_x2_0` model depends on args.
|
||||
model: nn.Layer. Specific `PPLCNet_x2_0` model depends on args.
|
||||
"""
|
||||
model = LCNet(scale=2.0, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["LCNet_x2_0"], use_ssld)
|
||||
model = PPLCNet(scale=2.0, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["PPLCNet_x2_0"], use_ssld)
|
||||
return model
|
||||
|
||||
|
||||
def LCNet_x2_5(pretrained=False, use_ssld=False, **kwargs):
|
||||
def PPLCNet_x2_5(pretrained=False, use_ssld=False, **kwargs):
|
||||
"""
|
||||
LCNet_x2_5
|
||||
PPLCNet_x2_5
|
||||
Args:
|
||||
pretrained: bool=False or str. If `True` load pretrained parameters, `False` otherwise.
|
||||
If str, means the path of the pretrained model.
|
||||
use_ssld: bool=False. Whether using distillation pretrained model when pretrained=True.
|
||||
Returns:
|
||||
model: nn.Layer. Specific `LCNet_x2_5` model depends on args.
|
||||
model: nn.Layer. Specific `PPLCNet_x2_5` model depends on args.
|
||||
"""
|
||||
model = LCNet(scale=2.5, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["LCNet_x2_5"], use_ssld)
|
||||
model = PPLCNet(scale=2.5, **kwargs)
|
||||
_load_pretrained(pretrained, model, MODEL_URLS["PPLCNet_x2_5"], use_ssld)
|
||||
return model
|
Loading…
Reference in New Issue