当训练好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 \
--inference_scales=1.0
源码清楚显示:input_name是'ImageTensor',shape是[1, None, None, 3],数据类型是tf.uint8,你也可以在此处更改数据类型,output_name是 'SemanticPredic

本文介绍了如何使用DeeplabV3+模型进行图像语义分割,包括生成.pb文件、预测单张图片的步骤,并强调了TF版本选择与内存管理的重要性。
最低0.47元/天 解锁文章
2194

被折叠的 条评论
为什么被折叠?



