將 scikit-learn 模型轉換為輕量級的 C 程式庫而不依賴 ONNX Runtime,可以使用 TVM 來精簡所需的庫或編譯過程。TVM 將模型轉換為更小的 C/C++ 程式碼,適合嵌入式應用並支援 scikit-learn 模型。
- Apache TVM 是一個開源的機器學習編譯框架,專門設計來編譯和優化模型,並生成針對不同硬體平台的高效程式碼。TVM 支援多種深度學習框架和 ONNX 格式。
- 通過 TVM,您可以將 ONNX 模型轉換為精簡的 C/C++ 程式碼,並針對目標硬體進行優化。TVM 支援靜態編譯,因此可以生成無需額外依賴的輕量程式碼。
為了生成可跨平台執行的 C 原始碼並通過 C 進行推理,我們可以採取以下更可靠的方式:
- 使用 Hummingbird 將模型轉換為 ONNX 格式。
- 使用 TVM 將 ONNX 模型導入並編譯為 C 代碼。
- 編寫 C 程式載入並調用編譯後的模型進行推理。
使用 pip 安裝 TVM。請在終端機中執行以下命令:
pip install apache-tvm