|
|
|
@ -13,21 +13,21 @@ |
|
|
|
|
|
|
|
|
|
使用PaddleRS训练模型,输出目录中主要包含四个文件: |
|
|
|
|
|
|
|
|
|
-`model.pdopt`,包含训练过程中使用到的优化器的状态参数; |
|
|
|
|
-`model.pdparams`,包含模型的权重参数; |
|
|
|
|
-`model.yml`,模型的配置文件(包括预处理参数、模型规格参数等); |
|
|
|
|
-`eval_details.json`,包含验证阶段模型取得的指标。 |
|
|
|
|
- `model.pdopt`,包含训练过程中使用到的优化器的状态参数; |
|
|
|
|
- `model.pdparams`,包含模型的权重参数; |
|
|
|
|
- `model.yml`,模型的配置文件(包括预处理参数、模型规格参数等); |
|
|
|
|
- `eval_details.json`,包含验证阶段模型取得的指标。 |
|
|
|
|
|
|
|
|
|
需要注意的是,由于训练阶段使用模型的动态图版本,因此将上述格式的模型权重参数和配置文件直接用于部署往往效率不高。本项目建议将模型导出为专用的部署格式,在部署阶段使用静态图版本的模型以达到更高的推理效率。 |
|
|
|
|
|
|
|
|
|
### <h3 id="12">部署模型格式</h3> |
|
|
|
|
|
|
|
|
|
在服务端部署模型时,需要将训练过程中保存的模型导出为专用的格式。具体而言,在部署阶段,使用下述五个文件描述训练好的模型: |
|
|
|
|
-`model.pdmodel`,记录模型的网络结构; |
|
|
|
|
-`model.pdiparams`,包含模型权重参数; |
|
|
|
|
-`model.pdiparams.info`,包含模型权重名称; |
|
|
|
|
-`model.yml`,模型的配置文件(包括预处理参数、模型规格参数等); |
|
|
|
|
-`pipeline.yml`,流程配置文件。 |
|
|
|
|
- `model.pdmodel`,记录模型的网络结构; |
|
|
|
|
- `model.pdiparams`,包含模型权重参数; |
|
|
|
|
- `model.pdiparams.info`,包含模型权重名称; |
|
|
|
|
- `model.yml`,模型的配置文件(包括预处理参数、模型规格参数等); |
|
|
|
|
- `pipeline.yml`,流程配置文件。 |
|
|
|
|
|
|
|
|
|
## <h2 id="2">部署模型导出</h2> |
|
|
|
|
|
|
|
|
@ -56,7 +56,7 @@ python deploy/export_model.py --model_dir=./output/deeplabv3p/best_model/ --save |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
对于`--fixed_input_shape`选项,**请注意**: |
|
|
|
|
-在推理阶段若需固定分类模型的输入形状,请保持其与训练阶段的输入形状一致。 |
|
|
|
|
-对于检测模型中的YOLO/PPYOLO系列模型,请保证输入影像的`w`和`h`有相同取值、且均为32的倍数;指定`--fixed_input_shape`时,R-CNN模型的`w`和`h`也均需为32的倍数。 |
|
|
|
|
-指定`[w,h]`时,请使用半角逗号(`,`)分隔`w`和`h`,二者之间不允许存在空格等其它字符。 |
|
|
|
|
-将`w`和`h`设得越大,则模型在推理过程中的耗时和内存/显存占用越高。不过,如果`w`和`h`过小,则可能对模型的精度存在较大负面影响。 |
|
|
|
|
- 在推理阶段若需固定分类模型的输入形状,请保持其与训练阶段的输入形状一致。 |
|
|
|
|
- 对于检测模型中的YOLO/PPYOLO系列模型,请保证输入影像的`w`和`h`有相同取值、且均为32的倍数;指定`--fixed_input_shape`时,R-CNN模型的`w`和`h`也均需为32的倍数。 |
|
|
|
|
- 指定`[w,h]`时,请使用半角逗号(`,`)分隔`w`和`h`,二者之间不允许存在空格等其它字符。 |
|
|
|
|
- 将`w`和`h`设得越大,则模型在推理过程中的耗时和内存/显存占用越高。不过,如果`w`和`h`过小,则可能对模型的精度存在较大负面影响。 |
|
|
|
|