PaddleSharp icon indicating copy to clipboard operation
PaddleSharp copied to clipboard

PaddlePredictor(Detector) run failed

Open darkLightx opened this issue 5 months ago • 3 comments

Describe the bug

新版3.0.1多线程跑时,很容易出现以下问题 System.Exception: PaddlePredictor(Detector) run failed. at Sdcb.PaddleOCR.PaddleOcrDetector.RunRawCore(Mat src, Size& resizedSize) at Sdcb.PaddleOCR.PaddleOcrDetector.Run(Mat src) at Sdcb.PaddleOCR.PaddleOcrAll.Run(Mat src, Int32 recognizeBatchSize)

Steps to reproduce the bug

  1. 多线程调用PaddleOcrAll.Run()容易出现上述问题 private static void FastCheck(FullOcrModel model) { using (PaddleOcrAll all = new(model) { AllowRotateDetection = true, Enable180Classification = true, }) { for (int i = 0; i < 20; i++) { Task.Run(() => { try { using (Mat src = Cv2.ImRead(@"C:\Users\Administrator\Desktop\local_test\0_a_src.jpg")) { PaddleOcrResult result = all.Run(src); Console.WriteLine("Detected all texts: \n" + result.Text); } } catch (Exception ex) { Console.WriteLine(ex); } }); }

     Console.ReadLine();
    

    } }

darkLightx avatar Aug 27 '25 11:08 darkLightx

我也遇到同样的问题, System.InvalidOperationException HResult=0x80131509 Message=OCR识别失败: PaddlePredictor(Detector) run failed. Source=WindowsFormsApp1 StackTrace: 在 WindowsFormsApp1.Ocr.OcrService.<>c__DisplayClass11_0.<RecognizeTextCoreAsync>b__0() 在 C:\Users\liuqiang\source\repos\WindowsFormsApp1\Ocr\OcrService.cs 中: 第 158 行 在 System.Threading.Tasks.Task`1.InnerInvoke() 在 System.Threading.Tasks.Task.Execute()

此异常最初是在此调用堆栈中引发的: Sdcb.PaddleOCR.PaddleOcrDetector.RunRawCore(OpenCvSharp.Mat, out OpenCvSharp.Size) Sdcb.PaddleOCR.PaddleOcrDetector.Run(OpenCvSharp.Mat) Sdcb.PaddleOCR.PaddleOcrAll.Run(OpenCvSharp.Mat, int) WindowsFormsApp1.Ocr.OcrService.RecognizeTextCoreAsync.AnonymousMethod__0() (位于 OcrService.cs 中)

内部异常 1: Exception: PaddlePredictor(Detector) run failed.

我一直使用同一张图片不断尝试识别 然后等待二分钟在使用同样的图片识别 触发该问题的概率 90%

yeuxuan avatar Sep 21 '25 08:09 yeuxuan

我也与遇到这样的问题。我是单线程调用的。 每次 new 新的paddle实例可以

<PackageReference Include="OpenCvSharp4.runtime.win" Version="4.11.0.20250507" />
<PackageReference Include="Sdcb.PaddleInference" Version="3.0.1" />
<PackageReference Include="Sdcb.PaddleInference.runtime.win64.mkl" Version="3.1.0.54" />
<PackageReference Include="Sdcb.PaddleOCR" Version="3.0.1" />
<PackageReference Include="Sdcb.PaddleOCR.Models.Local" Version="3.0.1" />
<PackageReference Include="Sdcb.PaddleOCR.Models.LocalV4" Version="2.7.0.1" />
<PackageReference Include="Sdcb.PaddleOCR.Models.Online" Version="3.0.1" />

RockNHawk avatar Sep 27 '25 12:09 RockNHawk

你们可以使用 V2.7.0.3版本试试,我目前回退到这个版本是可以支持多线程并发的。

tijiki avatar Oct 16 '25 05:10 tijiki