预测器¶
预测器负责处理 MyOCR 中特定模型(检测、识别、分类)的推理逻辑。它们通过整合预处理和后处理步骤,弥合了原始模型输出与可用结果之间的差距。
预测器通常与一个 Model 对象和一个 CompositeProcessor 相关联。
- 模型 (Model): 提供核心的 
forward_internal方法(例如,ONNX 会话运行、PyTorch 模型前向传播)。 - CompositeProcessor: 处理将输入数据转换为模型期望的格式,并将模型的原始输出转换为结构化的、有意义的格式。
 
基础组件¶
myocr.base.Predictor: 一个简单的包装器,调用CompositeProcessor的输入转换、Model的前向传播以及CompositeProcessor的输出转换。myocr.base.CompositeProcessor: 定义了preprocess和postprocess方法的抽象基类。
可用的预测器和处理器¶
预测器是在加载的 Model 实例上调用 Predictor(processor) 方法时隐式创建的。关键组件是 CompositeProcessor 的实现:
文本检测 (TextDetectionProcessor)¶
- 文件: 
myocr/processors/text_detection_processor.py - 关联模型: 通常是 DBNet/DBNet++ ONNX 模型。
 
文本方向分类 (TextDirectionProcessor)¶
- 文件: 
myocr/processors/text_direction_processor.py - 关联模型: 通常是简单的 CNN 分类器 ONNX 模型。
 
文本识别 (TextRecognitionProcessor)¶
- 文件: 
myocr/processors/text_recognition_processor.py - 关联模型: 通常是基于 CRNN 的 ONNX 模型。