[W:onnxruntime:, coreml_execution_provider.cc:81 GetCapability] CoreMLExecutionProvider::GetCapability number of partitions supported by CoreML: 8 number of nodes in the graph: 232 number of nodes supported by CoreML: 216
是 onnxruntime 這套件所給的訊息,我有問 RD,他說 CnOcr 這套件確實有使用 onnx 的模型,我也查了一下相關的設定,有發現 CnOcr 是可以用 onnx 或 torch 來進行辨識的 engine,預設是 onnx,所以我想說是否會是這個的問題,我試著切換後情況依舊。
所以,我在 onnxruntime 的 github 中的 issue 中翻了翻,其中類似的警告,回答的人大部份都有說應該是 onnxruntime 的版本的關係,建議安裝最新的版本,但當下 Mac 中的 pip 安裝的 onnxruntime 已是最新版了 v1.17.3 了
後來,我就開始在會使用 onnxruntime 套件的套件的 issue 中翻找類似的,我在 deepinsight 中有看到有人詢問『does insightface support CoreML on Mac M1?』時,我才想到我也沒確認一下公司這台 Macbook Pro 2019 的規格,查了一下發現這台還是用 Intel cpu
而我有利用 issue 中有人提供了一個檢查的程式碼,以檢查在當前的環境所安裝的 onnxruntime 可以提供哪些方式,而程式中最用的 onnx 模型有支援哪些方式
以公司的 Macbook Pro 2019 來看,在 onnxruntime v1.17.3 中是有提供 [CoreMLExecutionProvide, CPUExecutionProvider」,而用來運用辨識的模型這兩個也有支援
但該 issue 中,詢問者好像當時是安裝 onnxruntime v1.16.0,而在另外其他有類似狀況的有建議更新 onnxruntime 的版本,好像當時是已經出 v1.17.x 了,而有些人有反應確實更新新版後就正常了
但,我這邊遇到的確是已經有使用新版的 onnxruntime 的情況下是異常的…難不成在 Macbook Pro 2019 這台是要把 onnxruntime 降版嗎?
想到就做,反正試錯嗎,又沒成本問題,所以我就把 Mac 上安裝的 onnxruntime 降版到 V1.16.2 ,然後就直接重跑 RD 的程式試試,結果這次過程中就沒出現 W:onnxruntime 的警告了,而且程式也正常的反饋四個值
然後,我再重新執行前面用來檢查 onnxruntime 提供 [CoreMLExecutionProvider, CPUExecutionProvider」,這時在 v1.16.2 的版本上,就沒出現 CoreMLExecutionProvider 了,只有 CPUExecutionProvider,而之前在 v1.17.3 時會出現的警告也確實是來自 "coreml_execution_provider..."
而奇怪的,我在網路上找到的都是針對 Apple M1, M2 安裝 onnxruntime 的一些要注意的,也都沒說到 Mac 是 INTEL cpu 的…
如果之後有找到 Macbook Pro 2019 INTEL cpu 能以 CoreMLExecutionProvider 的,我會再來更新…
沒有留言:
張貼留言