PaddleX
PaddleX copied to clipboard
已训练完成模型导出为推理模型的C++代码接口?
PaddleX Python代码将已训练完成模型导出为推理模型的函数接口是:
def _export_inference_model(self, save_dir, image_shape=None):
save_dir = osp.join(save_dir, 'inference_model')
self.test_inputs = self._get_test_inputs(image_shape)
infer_net = self._build_inference_net()
if self.status == 'Quantized':
self.quantizer.save_quantized_model(infer_net,
osp.join(save_dir, 'model'),
self.test_inputs)
quant_info = self.get_quant_info()
with open(
osp.join(save_dir, 'quant.yml'), encoding='utf-8',
mode='w') as f:
yaml.dump(quant_info, f)
else:
static_net = paddle.jit.to_static(
infer_net, input_spec=self.test_inputs)
paddle.jit.save(static_net, osp.join(save_dir, 'model'))
if self.status == 'Pruned':
pruning_info = self.get_pruning_info()
with open(
osp.join(save_dir, 'prune.yml'), encoding='utf-8',
mode='w') as f:
yaml.dump(pruning_info, f)
model_info = self.get_model_info()
model_info['status'] = 'Infer'
with open(
osp.join(save_dir, 'model.yml'), encoding='utf-8',
mode='w') as f:
yaml.dump(model_info, f)
pipeline_info = self._get_pipeline_info(save_dir)
with open(
osp.join(save_dir, 'pipeline.yml'), encoding='utf-8',
mode='w') as f:
yaml.dump(pipeline_info, f)
# 模型保存成功的标志
open(osp.join(save_dir, '.success'), 'w').close()
logging.info("The model for the inference deployment is saved in {}.".
format(save_dir))
请问有没有相应的C++代码接口呢?谢谢!