本教程提供了一个将训练好的动态图模型转化为静态图模型并进行部署的例子
一、获取预训练模型
注意:下述例子为 Linux
或者 Mac
上执行的例子,windows
请自行在浏览器下载 参数 并存放到所创建的目录
mkdir bisenet && cd bisenet
wget https://paddleseg.bj.bcebos.com/dygraph/cityscapes/bisenet_cityscapes_1024x1024_160k/model.pdparams
cd ..
二、将模型导出为静态图模型
请确保完成了 PaddleSeg 的安装工作,并且位于 PaddleSeg 目录下,执行以下脚本:
export CUDA_VISIBLE_DEVICES=0 # 设置1张可用的卡
# set CUDA_VISIBLE_DEVICES=0 # windows下请执行此命令
python export.py \
--config configs/bisenet/bisenet_cityscapes_1024x1024_160k.yml \
--model_path bisenet/model.pdparams
导出脚本参数解释
参数名 | 用途 | 是否必选项 | 默认值 |
---|---|---|---|
config | 配置文件 | 是 | - |
save_dir | 模型和 visualdl 日志文件的保存根路径 | 否 | output |
model_path | 预训练模型参数的路径 | 否 | 配置文件中指定值 |
with_softmax | 在网络末端添加 softmax 算子。由于 PaddleSeg 组网默认返回 logits,如果想要部署模型获取概率值,可以置为 True | 否 | False |
without_argmax | 是否不在网络末端添加 argmax 算子。由于 PaddleSeg 组网默认返回 logits,为部署模型可以直接获取预测结果,我们默认在网络末端添加 argmax 算子 | 否 | False |
三、结果文件
output
├── deploy.yaml # 部署相关的配置文件
├── model.pdiparams # 静态图模型参数
├── model.pdiparams.info # 参数额外信息,一般无需关注
└── model.pdmodel # 静态图模型文件