预测器¶
预测器负责处理 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 模型。