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/session、MLMultiArray関連インターフェース、画像のテンソル化、tokenizer、および大部分の幾何 / 後処理ヘルパー:iOS 11+compile_model、new_vision_request、predict_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 モデルをデバイス上でコンパイルする
- CoreML Vision 推論器を作成する
- ! CoreML Vision 推論器で画像を推論する
- 汎用 CoreML 推論器を作成する
- CoreML 汎用推論器オブジェクトのメソッド
- ML 多次元配列モジュール
- テキストトークナイザーモジュール
- ONNX Runtime モジュール (onnxruntime)
補足
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(...)の別名です