PaddlePaddle / PaddleClas

A treasure chest for visual classification and recognition powered by PaddlePaddle
Apache License 2.0
5.42k stars 1.16k forks source link

window下python3.8.8根据readme指引执行,出现报错 #1131

Open ZZHHogan opened 3 years ago

ZZHHogan commented 3 years ago

window下python3.8.8根据readme指引执行,出现报错,已经重新编译了vector_search的库

  1. PaddleClas版本以及PaddlePaddle版本:
  2. 涉及的其他产品使用的版本号:paddlepaddle-gpu 2.1.2
  3. 训练环境信息: a. 具体操作系统,Windows/ b. Python版本号,如Python3.8.8 c. CUDA/cuDNN版本, 如CUDA10.1
  4. 完整的代码:没有改动
  5. 执行以下命令报错: python python/predict_system.py -c configs/inference_product.yaml -o Global.use_gpu=False

python python/predict_system.py -c configs/inference_product.yaml

是不支持python3.8运行吗?paddle安装正确,使用paddle.utils.run_check()没有报错 报错内容如下: 2021-08-12 08:08:55 INFO: scale : 0.00392157 2021-08-12 08:08:55 INFO: std : [0.229, 0.224, 0.225] 2021-08-12 08:08:55 INFO: ToCHWImage : None Traceback (most recent call last): File "python/predict_system.py", line 134, in main(config) File "python/predict_system.py", line 125, in main output = system_predictor.predict(img) File "python/predict_system.py", line 89, in predict results = self.det_predictor.predict(img) File "D:\project2021\PaddleClas\deploy\python\predict_det.py", line 120, in predict self.paddle_predictor.run() OSError: In user code:

File "tools/export_model.py", line 105, in <module>
  main()
File "tools/export_model.py", line 101, in main
  run(FLAGS, cfg)
File "tools/export_model.py", line 69, in run
  trainer.export(FLAGS.output_dir)
File "/paddle/code/gry/icode/baidu/personal-code/DetDygAiflow/PaddleDetection_local/ppdet/engine/trainer.py", line 460, in export
  input_spec, static_model.forward.main_program,
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 534, in main_program
  concrete_program = self.concrete_program
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 454, in concrete_program
  return self.concrete_program_specify_input_spec(input_spec=None)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 488, in concrete_program_specify_input_spec
  *desired_input_spec)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 402, 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 711, 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 702, in _build_once
  class_instance=cache_key.class_instance)
File "<decorator-gen-65>", 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 40, in __impl__
  return func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 652, in from_func_spec
  outputs = static_func(*inputs)
File "/paddle/temp/tmp63eoqh83.py", line 27, in forward
  false_fn_1, (), (), (out,))
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 210, in convert_ifelse
  return _run_py_ifelse(pred, true_fn, false_fn, true_args, false_args)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 235, in _run_py_ifelse
  return true_fn(*true_args) if pred else false_fn(*false_args)
File "/paddle/code/gry/icode/baidu/personal-code/DetDygAiflow/PaddleDetection_local/ppdet/modeling/architectures/meta_arch.py", line 29, in forward
  out = self.get_pred()
File "/paddle/code/gry/icode/baidu/personal-code/DetDygAiflow/PaddleDetection_local/ppdet/modeling/architectures/yolo.py", line 75, in get_pred
  bbox_pred, bbox_num = self._forward()
File "/paddle/code/gry/icode/baidu/personal-code/DetDygAiflow/PaddleDetection_local/ppdet/modeling/architectures/yolo.py", line 59, in _forward
  body_feats = self.backbone(self.inputs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 898, in __call__
  outputs = self.forward(*inputs, **kwargs)
File "/paddle/temp/tmpdhlfqusi.py", line 41, in forward
  for_loop_condition_0, for_loop_body_0, [idx, x, __for_loop_var_index_0]
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 44, in convert_while_loop
  loop_vars = _run_py_while(cond, body, loop_vars)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 58, in _run_py_while
  loop_vars = body(*loop_vars)
File "/paddle/code/gry/icode/baidu/personal-code/DetDygAiflow/PaddleDetection_local/ppdet/modeling/backbones/resnet.py", line 577, in forward
  x = stage(x)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 898, in __call__
  outputs = self.forward(*inputs, **kwargs)
File "/paddle/temp/tmpo98hbbkb.py", line 19, in forward
  for_loop_body_1, [__for_loop_var_index_1, block_out])
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 44, in convert_while_loop
  loop_vars = _run_py_while(cond, body, loop_vars)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 58, in _run_py_while
  loop_vars = body(*loop_vars)
File "/paddle/code/gry/icode/baidu/personal-code/DetDygAiflow/PaddleDetection_local/ppdet/modeling/backbones/resnet.py", line 427, in forward
  block_out = block(block_out)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 898, in __call__
  outputs = self.forward(*inputs, **kwargs)
File "/paddle/code/gry/icode/baidu/personal-code/DetDygAiflow/PaddleDetection_local/ppdet/modeling/backbones/resnet.py", line 365, in forward
  out = self.branch2b(out)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 898, in __call__
  outputs = self.forward(*inputs, **kwargs)
File "/paddle/temp/tmpmldmt48g.py", line 31, in forward
  'sync_bn'], true_fn_8, false_fn_8, (out,), (out,), (out,))
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 210, in convert_ifelse
  return _run_py_ifelse(pred, true_fn, false_fn, true_args, false_args)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_operators.py", line 235, in _run_py_ifelse
  return true_fn(*true_args) if pred else false_fn(*false_args)
File "/paddle/code/gry/icode/baidu/personal-code/DetDygAiflow/PaddleDetection_local/ppdet/modeling/backbones/resnet.py", line 133, in forward
  out = self.norm(out)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 898, in __call__
  outputs = self.forward(*inputs, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/nn.py", line 1389, in forward
  type="batch_norm", inputs=inputs, outputs=outputs, attrs=attrs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layer_object_helper.py", line 52, in append_op
  stop_gradient=stop_gradient)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/framework.py", line 3232, in append_op
  attrs=kwargs.get("attrs", None))
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/framework.py", line 2312, in __init__
  for frame in traceback.extract_stack():

ExternalError:  Cudnn error, CUDNN_STATUS_BAD_PARAM  (at C:/home/workspace/Paddle_release3/paddle/fluid/operators/batch_norm_op.cu:372)
  [operator < batch_norm > error]

image image image

cuicheng01 commented 3 years ago

好的,我们跟进下

littletomatodonkey commented 3 years ago

你好,要不先使用cpu预测看下是否会报错呢?

ZZHHogan commented 3 years ago

你好,要不先使用cpu预测看下是否会报错呢? cpu能够调用,输出的结果如下: e[37m--- Fused 0 subgraphs into layer_norm op.e[0m e[37m--- Fused 0 subgraphs into layer_norm op.e[0m Inference: 893.608808517456 ms per batch image [{'bbox': [287, 128, 497, 326], 'rec_docs': 'Daoxaingcun Golden Piggie Cake', 'rec_scores': 0.8278529644012451}, {'bbox': [99, 242, 313, 426], 'rec_docs': 'Daoxaingcun Golden Piggie Cake', 'rec_scores': 0.7245651483535767}]

不是哦,我是其他地方的,要不有空我换个python3.7环境试试得了,不过这个问题最好还是看看是什么原因哈~