from paddleocr import PaddleOCR, draw_ocr
import cv2
import time
ocr = PaddleOCR(use_angle_cls=True) # need to run only once to download and load model into memory
img_path = './1111.jpg'
img = cv2.imread(img_path)
while True:
result = ocr.ocr(img, cls=True)
for line in result:
print(line)
执行demo代码,执行一两次没问题,但是如果这里一直循环执行,很快就报错
Traceback (most recent call last):
File "E:/work/ocr_test/test/main2.py", line 13, in
result = ocr.ocr(img, cls=True)
File "D:\conda\envs\ocr\lib\site-packages\paddleocr\paddleocr.py", line 383, in ocr
dt_boxes, rec_res = self.__call__(img, cls)
File "D:\conda\envs\ocr\lib\site-packages\paddleocr\tools\infer\predict_system.py", line 89, in __call__
rec_res, elapse = self.text_recognizer(img_crop_list)
File "D:\conda\envs\ocr\lib\site-packages\paddleocr\tools\infer\predict_rec.py", line 360, in __call__
self.predictor.run()
OSError: In user code:
File "tools/export_model_dist.py", line 102, in
main()
File "tools/export_model_dist.py", line 87, in main
save_model(student, infer_shape, save_path, logger)
File "tools/export_model_dist.py", line 41, in save_model
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 39, in __impl__
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/jit.py", line 681, in save
inner_input_spec)
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 "", 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 39, 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/tmp_cx6_gup.py", line 38, in forward
false_fn_2, (out_dict, x), (x,), (x,))
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/PaddleOCR/ppocr/modeling/architectures/base_model.py", line 81, in forward
x = self.neck(x)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 902, in __call__
outputs = self.forward(*inputs, **kwargs)
File "/paddle/temp/tmp69oc_vec.py", line 14, in forward
(x,), (x,))
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/PaddleOCR/ppocr/modeling/necks/rnn.py", line 92, in forward
x = self.encoder(x)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 902, in __call__
outputs = self.forward(*inputs, **kwargs)
File "/paddle/code/gry/icode/baidu/personal-code/PaddleOCR/ppocr/modeling/necks/rnn.py", line 45, in forward
x, _ = self.lstm(x)
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 902, in __call__
outputs = self.forward(*inputs, **kwargs)
File "/usr/local/lib/python3.7/site-packages/paddle/nn/layer/rnn.py", line 1047, in forward
return self._cudnn_impl(inputs, initial_states, sequence_length)
File "/usr/local/lib/python3.7/site-packages/paddle/nn/layer/rnn.py", line 1024, in _cudnn_impl
type="rnn", 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 3027, in append_op
attrs=kwargs.get("attrs", None))
File "/usr/local/lib/python3.7/site-packages/paddle/fluid/framework.py", line 2107, in __init__
for frame in traceback.extract_stack():
ExternalError: CUDNN error(4), CUDNN_STATUS_INTERNAL_ERROR.
[Hint: 'CUDNN_STATUS_INTERNAL_ERROR'. An internal cuDNN operation failed. ] (at ..\paddle/fluid/operators/rnn_op.cu.cc:621)
[operator < rnn > error]
确定paddle环境包括cuda cudnn都配置好了么
我也是报这个错误,能识别一会,过一会才开始报错,请问你这边解决了吗