ocr识别模型保存inference model时遇到类型不匹配的问题
Created by: yanmeizhao
将训练好的模型在infer.py中加载,并用infer net保存inference model时出错,保存的代码如下: fluid.io.save_inference_model(args.save_model_dir+filename, feeded_var_names=['pixel'], target_vars=[ids], executor=exe, main_program=inference_program, params_filename="params") 其中inference_program是在inference model load时候生成的。 报错如下: Traceback (most recent call last): File "infer.py", line 194, in main() File "infer.py", line 190, in main inference(args) File "infer.py", line 156, in inference if args.save_inference_model: File "/root/miniconda3/lib/python3.6/site-packages/paddle/fluid/io.py", line 1141, in save_inference_model var, 1., name="save_infer_model/scale_{}".format(i)) File "/root/miniconda3/lib/python3.6/site-packages/paddle/fluid/layers/nn.py", line 14031, in scale name=name, dtype=x.dtype, persistable=False) File "/root/miniconda3/lib/python3.6/site-packages/paddle/fluid/layer_helper_base.py", line 355, in create_variable return self.main_program.current_block().create_var(*args, **kwargs) File "/root/miniconda3/lib/python3.6/site-packages/paddle/fluid/framework.py", line 2301, in create_var var = Variable(block=self, *args, **kwargs) File "/root/miniconda3/lib/python3.6/site-packages/paddle/fluid/framework.py", line 684, in init "matched.".format(self.name, old_dtype, dtype)) ValueError: Variable save_infer_model/scale_0 has been created before. The previous data type is VarType.FP32; the new data type is VarType.INT64. They are not matched.