メインコンテンツまでスキップ

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(...) の別名です