PaddleOCR icon indicating copy to clipboard operation
PaddleOCR copied to clipboard

PaddleOCR 在jmeter上跑时候想测qps,用八个线程时候报错

Open ainndejj11 opened this issue 2 years ago • 0 comments

在jmeter上跑检测+识别,想测qps。 但是使用八个线程就会报错,使用五个线程时候测试就没问题,请问这个是什么原因啊? PaddleOCR是支持多线程的呀。

报错如下:

Is tensorrt used:1 (2022-10-17 01:26:15) [ERROR ] An uncaught exception occurred:

Compile Traceback (most recent call last): File "tools/export_model.py", line 75, in main() File "tools/export_model.py", line 70, in main paddle.jit.save(model, save_path) File "", line 2, in save

File "/usr/local/lib/python3.7/site-packages/paddle/fluid/wrapped_decorator.py", line 25, in __impl__
  return wrapped_func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/base.py", line 38, in __impl__
  return func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/jit.py", line 680, in save
  concrete_program = static_func.concrete_program
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 461, in concrete_program
  concrete_program, _ = self.get_concrete_program(*input_spec)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 401, in get_concrete_program
  concrete_program, partial_program_layer = self._program_cache[cache_key]
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 684, in __getitem__
  self._caches[item] = self._build_once(item)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 675, in _build_once
  class_instance=cache_key.class_instance)
File "<decorator-gen-58>", line 2, in from_func_spec
  
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/wrapped_decorator.py", line 25, in __impl__
  return wrapped_func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/base.py", line 38, in __impl__
  return func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 625, in from_func_spec
  outputs = static_func(*inputs)
File "/paddle/code/gry/PaddleOCR_pub/ppocr/modeling/architectures/base_model.py", line 74, in forward
  x = self.backbone(x)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 884, in __call__
  outputs = self.forward(*inputs, **kwargs)
File "/paddle/code/gry/PaddleOCR_pub/ppocr/modeling/backbones/rec_resnet_vd.py", line 280, in forward
  y = self.conv1_2(y)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 884, in __call__
  outputs = self.forward(*inputs, **kwargs)
File "/paddle/code/gry/PaddleOCR_pub/ppocr/modeling/backbones/rec_resnet_vd.py", line 67, in forward
  y = self._conv(inputs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 884, in __call__
  outputs = self.forward(*inputs, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/nn/layer/conv.py", line 644, in forward
  use_cudnn=self._use_cudnn)
File "/usr/local/lib/python3.7/site-packages/paddle/nn/functional/conv.py", line 144, in _conv_nd
  type=op_type, inputs=inputs, outputs=outputs, attrs=attrs)
File "/usr/local/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 "/usr/local/lib/python3.7/site-packages/paddle/fluid/framework.py", line 2849, in append_op
  attrs=kwargs.get("attrs", None))
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/framework.py", line 1934, in __init__
  for frame in traceback.extract_stack():

C++ Traceback (most recent call last):

0 paddle::AnalysisPredictor::ZeroCopyRun() 1 paddle::framework::NaiveExecutor::Run() 2 paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, phi::Place const&) 3 paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, phi::Place const&) const 4 paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, phi::Place const&, paddle::framework::RuntimeContext*) const 5 paddle::operators::Conv2DFusionOp::InferShape(paddle::framework::InferShapeContext*) const 6 paddle::operators::Conv2DFusionOp::ComputeOutputShape(paddle::framework::InferShapeContext*) const


Error Message Summary:

InvalidArgumentError: The number of input's channels should be equal to filter's channels * groups for Op(Conv). But received: the input's channels is 128, the input's shape is [6, 128, 8, 160]; the filter's channels is 32, the filter's shape is [32, 32, 3, 3]; the groups is 1, the data_format is NCHW. The error may come from wrong data_format setting. [Hint: Expected input_channels == filter_dims[1] * groups, but received input_channels:128 != filter_dims[1] * groups:32.] (at /paddle/paddle/fluid/operators/fused/conv_fusion_op.cc:208) [operator < conv2d_fusion > error]

ainndejj11 avatar Oct 17 '22 01:10 ainndejj11