注:所有涉及到模型部署,均需要参考本文档,进行部署模型导出
在服务端部署模型时需要将训练过程中保存的模型导出为inference格式模型,导出的inference格式模型包括model.pdmodel、model.pdiparams、model.pdiparams.info、model.yml和pipeline.yml五个文件,分别表示模型的网络结构、模型权重、模型权重名称、模型的配置文件(包括数据预处理参数等)和可用于PaddleX Manufacture SDK的流程配置文件。
检查你的模型文件夹,如果里面是
model.pdparams、model.pdopt和model.yml3个文件时,那么就需要按照下面流程进行模型导出
在安装完PaddleX后,在命令行终端使用如下命令将训练好的模型导出为部署所需格式:
paddlex --export_inference --model_dir=./output/deeplabv3p_r50vd/best_model/ --save_dir=./inference_model
在路径./inference_model下会生成一个名为inference_model的文件夹,包含model.pdmodel、model.pdiparams、model.pdiparams.info、model.yml和pipeline.yml五个文件。
| 参数 | 说明 |
|---|---|
| --export_inference | 是否将模型导出为用于部署的inference格式,指定即为True |
| --model_dir | 待导出的模型路径,例如是output/deeplabv3p_r50vd/best_model/ |
| --save_dir | 导出的模型存储路径,例如是./inference_model |
| --fixed_input_shape | 固定导出模型的输入大小,默认值为None |
使用TensorRT预测时,需固定模型的输入大小,通过--fixed_input_shape来指定输入大小[w,h]或者是[n,c,w,h]。例如指定为[224,224]时,输入大小为[-1,3,224,224];若想同时固定住输入的批量大小,可设置为[1,3,224,224]:
paddlex --export_inference --model_dir=./output/deeplabv3p_r50vd/best_model/ --save_dir=./inference_model --fixed_input_shape=[224,224]
注意:
--fixed_input_shape时,RCNN类的w和h需为32的倍数大小。