跳至主要內容

CoreML 模組 (coreml)

軟體版本在 1.3.8 或以上方可使用
CoreML 模組用於在裝置上進行機器學習推理。除了 Vision 視覺推理器外,還支援:

  • 通用模型 request / session
  • MLMultiArray 建立、轉換與運算
  • 影像與張量互轉
  • 可按類型分發的文字分詞器
  • 檢測 / OBB / mask / keypoint / tracker 等通用後處理輔助

SentencePiece 採用面向端側推理的輕量兼容實現,支援 .vocab.model 兩種輸入來源。require("onnxruntime") 之後,還會額外注入 MLMultiArray 與 ORT tensor 的原生拷貝轉換介面。

平台支援說明

CoreML 模組整體以 iOS 11+ 為基礎,但不同介面的最低系統版本並不完全相同:

  • new_model_request / sessionMLMultiArray 相關介面、影像張量化、tokenizer、絕大多數幾何 / 後處理輔助:iOS 11+
  • compile_modelnew_vision_requestpredict_batch() / run_batch()compute_units 建立與查詢:iOS 12+
  • 在通用 model request 里把 image_object 作為 image feature 輸入:iOS 13+
  • class_labels()iOS 14+
  • compute_units = "cpu_and_neural_engine"iOS 16+

額外說明

  • coreml.session(...)coreml.new_model_request(...) 的別名
  • coreml.tensor(...)coreml.new_multi_array(...) 的別名
  • coreml.tensor_from_table(...)coreml.multi_array_from_table(...) 的別名
  • coreml.image_to_multi_array(...) 仍然可用,但現在只是 coreml.tensor_from_image(...) 的兼容別名
  • coreml.multi_array_from_quad(...)coreml.tensor_from_quad(...) 的別名
  • coreml.multi_array_from_quads(...)coreml.tensor_from_quads(...) 的別名
  • coreml.project_masks(...)coreml.proto_masks(...) 的別名