当训练好DeeplabV3+模型后,生成了.ckpt文件,下一步希望利用模型进行真实的场景预测,通用的做法生成.pb文件。这样做的好处是:1. 将变量转换为常量,减小模型,2. 便于其他语言调用(.pb文件可直接被C/C++/Java/NodeJS等读取)。
运行 export_model.py 生成模型
利用官方代码文件export_model.py生成 frozen_inference_graph.pb 文件,利用该文件进行预测。这里需要注意的是:必须知道模型的input和output,这可以通过查看代码获得。
python export_model.py \
--checkpoint_path="./checkpoint_1/model.ckpt-518495" \ # 训练得到的ckpt文件
--export_path="./output_model/frozen_inference_graph.pb" \ # 需要导出的模型名称
--model_variant="xception_65" \
--atrous_rates=6 \
--atrous_rates=12 \
--atrous_rates=18 \
--output_stride=16 \
--decoder_output_stride=4 \
--num_classes=3 \
--crop_size=1440 \ # 需要预测图片的大小,如果预测的图像大小比该值大,将报错
--crop_size=1440 \
--infere