Skip to content

Commit 4bfdab1

Browse files
authored
docs: update CoreML blog
1 parent d87945c commit 4bfdab1

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

docs/blog/posts/inference_engine/compare_coreml_cpu_provider_perf.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ links:
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

104105
1. **精度保持**:CoreMLProvider 在所有测试模型上都能保持与 CPUProvider 完全相同的精度,没有任何精度损失
106+
105107
2. **速度表现**:**出乎意料的是**,CoreMLProvider 的推理速度明显慢于 CPUProvider
106108
- 检测模型:CoreML 慢 3.46-6.75 倍
107109
- 识别模型:CoreML 慢 3.16-14.04 倍
108110
- PP-OCRv5 系列模型受影响最严重
111+
109112
3. **性能分析**: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"
128132
from 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

Comments
 (0)