2424 Using the ModelFormat: "NeuralNetwork" yields performance improvements but results in significant accuracy loss.
2525>
2626> 由于某些型号的兼容性问题(与 PPOCRv5 不兼容),CoreML 支持应被视为实验性。使用模型格式:“NeuralNetwork”能带来性能提升,但会显著丢失准确性。
27+ > ---来源 [ link] ( https://github.com/RapidAI/RapidOCR/pull/634#issuecomment-3830424296 )
2728
2829下面的测试结果使用的是小伙伴在 PR 中给的默认配置:
2930
@@ -76,7 +77,7 @@ coreml_ep_cfg:
7677
7778从表格可以看出:
7879
79- - **精度方面**:CoreMLProvider 和 CPUProvider 的精度**完全一致**,说明模型转换和推理过程没有损失精度
80+ - **精度方面**:CoreMLProvider 和 CPUProvider 的精度 **完全一致**,说明模型转换和推理过程没有损失精度
8081- **速度方面**:
8182 - PP-OCRv4 Det : CPUProvider (172.63ms) vs CoreMLProvider (597.07ms) - **CoreML 慢 3.46 倍**
8283 - PP-OCRv5 Det Mobile : CPUProvider (163.04ms) vs CoreMLProvider (1100.35ms) - **CoreML 慢 6.75 倍**
@@ -92,7 +93,7 @@ coreml_ep_cfg:
9293
9394从表格可以看出:
9495
95- - **精度方面**:CoreMLProvider 和 CPUProvider 的精度**完全一致**
96+ - **精度方面**:CoreMLProvider 和 CPUProvider 的精度 **完全一致**
9697- **速度方面**:
9798 - PP-OCRv4 Rec Mobile : CPUProvider (17.40ms) vs CoreMLProvider (55.00ms) - **CoreML 慢 3.16 倍**
9899 - PP-OCRv5 Rec Mobile : CPUProvider (18.50ms) vs CoreMLProvider (259.70ms) - **CoreML 慢 14.04 倍**
@@ -102,11 +103,14 @@ coreml_ep_cfg:
102103通过上述测试可以得出以下结论:
103104
1041051. **精度保持**:CoreMLProvider 在所有测试模型上都能保持与 CPUProvider 完全相同的精度,没有任何精度损失
106+
1051072. **速度表现**:**出乎意料的是**,CoreMLProvider 的推理速度明显慢于 CPUProvider
106108 - 检测模型:CoreML 慢 3.46-6.75 倍
107109 - 识别模型:CoreML 慢 3.16-14.04 倍
108110 - PP-OCRv5 系列模型受影响最严重
111+
1091123. **性能分析**:CoreML 性能较差可能是由于以下原因:
113+
110114 - 模型格式转换和缓存的开销
111115 - CoreML 对 PP-OCR 系列模型架构的优化不足
112116 - 首次推理的预热时间较长
@@ -116,15 +120,15 @@ coreml_ep_cfg:
116120
117121基于测试结果,我们给出以下建议:
118122
119- - **macOS 平台推荐**:目前在 macOS 平台上**推荐使用默认的 CPUProvider**,可以获得更好的推理性能
123+ - **macOS 平台推荐**:目前在 macOS 平台上 **推荐使用默认的 CPUProvider**,可以获得更好的推理性能
120124- **保留 CoreML 支持**:虽然当前性能不佳,但 CoreML 能够保持精度,未来 Apple 可能会优化对这类模型的支持
121125- **测试范围**:本次测试仅在 MacBook Pro M2 上进行,不同设备和 macOS 版本可能有不同表现
122126
123127# # 配置方法
124128
125129如果你想尝试 CoreMLProvider,可以通过以下方式配置:
126130
127- ` ` ` python
131+ ` ` ` python linenums="1"
128132from rapidocr import RapidOCR
129133
130134# 使用 CoreMLProvider
@@ -138,6 +142,6 @@ engine = RapidOCR()
138142
139143更多推理引擎的使用方法请参考:[使用不同推理引擎](install_usage/rapidocr/how_to_use_infer_engine.md)
140144
141- # # 备注
145+ # # 写在最后
142146
143- 欢迎大家在不同的 macOS 设备和环境下进行测试,并反馈结果。如果你有任何问题或建议,欢迎在 [GitHub Issues](https://github.com/RapidAI/RapidOCR/issues) 中讨论 。
147+ 欢迎大家在不同的 macOS 设备和环境下进行测试,并反馈结果。如果你有任何问题或建议,欢迎在下方留言讨论 。
0 commit comments