跳到主要内容

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(...) 的别名