PaddleClas icon indicating copy to clipboard operation
PaddleClas copied to clipboard

python tools/export_model.py 导出的模型怎么没有 .yml 是不是这个原因导致我用paddle-inference不成功

Open gg22mm opened this issue 2 years ago • 1 comments

python tools/export_model.py 导出的模型怎么没有 .yml 是不是这个原因导致我用paddle-inference不成功 代码如下: 代码.txt

报错:


ValueError Traceback (most recent call last) in 135 136 # # 推理解析 --> 137 result = run(pred, [im_shape, data, scale_factor]) # [im_shape, data, scale_factor] 他们的shap = (1, 2) (1, 3, 608, 608) (1, 2) 138 139 result

in run(predictor, img) 84 85 # (5) 执行推理 ---> 86 predictor.run() 87 88 results = []

ValueError: In user code:

File "tools/export_model.py", line 36, in <module>
  engine.export()
File "/home/aistudio/PaddleClas/ppcls/engine/engine.py", line 487, in export
  paddle.jit.save(model, save_path)
File "<decorator-gen-101>", line 2, in save
  
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/wrapped_decorator.py", line 25, in __impl__
  return wrapped_func(*args, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/base.py", line 51, in __impl__
  return func(*args, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/jit.py", line 744, in save
  inner_input_spec)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 517, in concrete_program_specify_input_spec
  *desired_input_spec)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 427, in get_concrete_program
  concrete_program, partial_program_layer = self._program_cache[cache_key]
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 723, in __getitem__
  self._caches[item] = self._build_once(item)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 714, in _build_once
  **cache_key.kwargs)
File "<decorator-gen-99>", line 2, in from_func_spec
  
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/wrapped_decorator.py", line 25, in __impl__
  return wrapped_func(*args, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/base.py", line 51, in __impl__
  return func(*args, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 662, in from_func_spec
  outputs = static_func(*inputs)
File "/home/aistudio/PaddleClas/ppcls/engine/engine.py", line 526, in forward
  x = self.base_model(x)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
  return self._dygraph_call_func(*inputs, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
  outputs = self.forward(*inputs, **kwargs)
File "/home/aistudio/PaddleClas/ppcls/arch/backbone/legendary_models/mobilenet_v1.py", line 166, in forward
  x = self.conv(x)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
  return self._dygraph_call_func(*inputs, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
  outputs = self.forward(*inputs, **kwargs)
File "/home/aistudio/PaddleClas/ppcls/arch/backbone/legendary_models/mobilenet_v1.py", line 69, in forward
  x = self.conv(x)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
  return self._dygraph_call_func(*inputs, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
  outputs = self.forward(*inputs, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/nn/layer/conv.py", line 677, in forward
  use_cudnn=self._use_cudnn)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/nn/functional/conv.py", line 148, in _conv_nd
  type=op_type, inputs=inputs, outputs=outputs, attrs=attrs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layer_helper.py", line 43, in append_op
  return self.main_program.current_block().append_op(*args, **kwargs)
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/framework.py", line 3184, in append_op
  attrs=kwargs.get("attrs", None))
File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/framework.py", line 2224, in __init__
  for frame in traceback.extract_stack():

InvalidArgumentError: The input of Op(Conv) should be a 4-D or 5-D Tensor. But received: input's dimension is 2, input's shape is [1, 2].
  [Hint: Expected in_dims.size() == 4 || in_dims.size() == 5 == true, but received in_dims.size() == 4 || in_dims.size() == 5:0 != true:1.] (at C:/home/workspace/Paddle_release/paddle/fluid/operators/conv_op.cc:65)
  [operator < conv2d > error]

gg22mm avatar Jul 31 '22 02:07 gg22mm

看了一下应该是您的代码写的有问题,建议推理相关代码参考一下官方样例:https://www.paddlepaddle.org.cn/inference/master/guides/quick_start/python_demo.html#tuilidaima

HydrogenSulfate avatar Jul 31 '22 14:07 HydrogenSulfate

ok , 没有问题了

gg22mm avatar Aug 20 '22 03:08 gg22mm