Paddle icon indicating copy to clipboard operation
Paddle copied to clipboard

InvalidArgumentError: The axes should be less than or equal to input tensor's rank.But received 2 of axes[0], input tensor shape [2]

Open pengwei1024 opened this issue 3 years ago • 1 comments

请提出你的问题 Please ask your question

用 paddle 官方的 infer_yolov3.py 做推理,yolov3的模型就没问题,yolox 就会报错下面的日志,请问下是哪块需要专门配置吗?搜了各种答案都找不到

堆栈如下

Traceback (most recent call last): File "infer_yolov3.py", line 132, in result = run(pred, [im_shape, data, scale_factor]) File "infer_yolov3.py", line 73, in run predictor.run() ValueError: In user code:

File "tools/export_model.py", line 108, in <module>
  main()
File "tools/export_model.py", line 104, in main
  run(FLAGS, cfg)
File "tools/export_model.py", line 73, in run
  trainer.export(FLAGS.output_dir)
File "/paddle/ppdet/engine/trainer.py", line 1060, in export
  save_dir)
File "/paddle/ppdet/engine/trainer.py", line 1019, in _get_infer_cfg_and_input_spec
  input_spec, static_model.forward.main_program,
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 580, in main_program
  concrete_program = self.concrete_program
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 488, in concrete_program
  return self.concrete_program_specify_input_spec(input_spec=None)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 528, in concrete_program_specify_input_spec
  *desired_input_spec, with_hook=with_hook)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 436, in get_concrete_program
  concrete_program, partial_program_layer = self._program_cache[cache_key]
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 801, in __getitem__
  self._caches[item_id] = self._build_once(item)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 790, in _build_once
  **cache_key.kwargs)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/decorator.py", line 232, in fun
  return caller(func, *(extras + args), **kw)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/wrapped_decorator.py", line 25, in __impl__
  return wrapped_func(*args, **kwargs)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/base.py", line 51, in __impl__
  return func(*args, **kwargs)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 733, in from_func_spec
  outputs = static_func(*inputs)
File "/tmp/tmpd54zgkce.py", line 101, in forward
  false_fn_5, (), (inputs, self), (out,))
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 211, in convert_ifelse
  out = _run_py_ifelse(pred, true_fn, false_fn, true_args, false_args)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 257, in _run_py_ifelse
  return true_fn(*true_args) if pred else false_fn(*false_args)
File "/tmp/tmpd54zgkce.py", line 84, in false_fn_5
  for_loop_body_0, [__for_loop_var_index_0, inputs_list])
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 45, in convert_while_loop
  loop_vars = _run_py_while(cond, body, loop_vars)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 59, in _run_py_while
  loop_vars = body(*loop_vars)
File "/tmp/tmpd54zgkce.py", line 79, in for_loop_body_0
  dy2static.convert_call(self.get_pred)())
File "/paddle/ppdet/modeling/architectures/yolox.py", line 108, in get_pred
  return self._forward()
File "/paddle/ppdet/modeling/architectures/yolox.py", line 91, in _forward
  body_feats = self.backbone(self.inputs)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 930, in __call__
  return self._dygraph_call_func(*inputs, **kwargs)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 915, in _dygraph_call_func
  outputs = self.forward(*inputs, **kwargs)
File "/paddle/ppdet/modeling/backbones/csp_darknet.py", line 391, in forward
  x = self.stem(x)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 930, in __call__
  return self._dygraph_call_func(*inputs, **kwargs)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 915, in _dygraph_call_func
  outputs = self.forward(*inputs, **kwargs)
File "/paddle/ppdet/modeling/backbones/csp_darknet.py", line 117, in forward
  top_left = inputs[:, :, 0::2, 0::2]
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/framework.py", line 2186, in __getitem__
  return _getitem_impl_(self, item)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/variable_index.py", line 489, in _getitem_impl_
  attrs=attrs)
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/framework.py", line 3621, in append_op
  attrs=kwargs.get("attrs", None))
File "/usr/local/python3.7.0/lib/python3.7/site-packages/paddle/fluid/framework.py", line 2635, in __init__
  for frame in traceback.extract_stack():

InvalidArgumentError: The axes should be less than or equal to input tensor's rank.But received 2 of axes[0], input tensor shape [2]
  [Hint: Expected axes[i] < in_dims.size(), but received axes[i]:2 >= in_dims.size():2.] (at /home/Paddle/paddle/fluid/operators/strided_slice_op.cc:76)
  [operator < strided_slice > error]

pengwei1024 avatar Sep 21 '22 13:09 pengwei1024