Zum Hauptinhalt springen

CoreML-Modul (coreml)

Ab Softwareversion 1.3.8 verfügbar
Das CoreML-Modul dient zur Ausführung von Machine-Learning-Inferenz auf dem Gerät. Neben dem Vision-Inferenzmodul werden außerdem unterstützt:

  • allgemeine Modell-Requests / Sessions
  • Erstellung, Konvertierung und Berechnung mit MLMultiArray
  • Konvertierung zwischen Bildern und Tensoren
  • typabhängig verteilte Text-Tokenizer
  • allgemeine Hilfen für Nachverarbeitung wie Detection / OBB / Mask / Keypoint / Tracker

SentencePiece verwendet eine leichte, für Inferenz auf dem Gerät ausgelegte Kompatibilitätsimplementierung und unterstützt .vocab sowie .model als Eingabequellen. Nach require("onnxruntime") werden zusätzlich native Kopierkonvertierungen zwischen MLMultiArray und ORT-Tensoren bereitgestellt.

Hinweise zur Plattformunterstützung

Das CoreML-Modul basiert insgesamt auf iOS 11+, die Mindestversion ist jedoch je nach Schnittstelle unterschiedlich:

  • new_model_request / session, MLMultiArray-Schnittstellen, Bild-Tensorisierung, Tokenizer und die meisten Geometrie-/Nachverarbeitungshilfen: iOS 11+
  • compile_model, new_vision_request, predict_batch() / run_batch() sowie Erstellung und Abfrage von compute_units: iOS 12+
  • image_object als Image-Feature-Eingabe in einem allgemeinen Model-Request: iOS 13+
  • class_labels(): iOS 14+
  • compute_units = "cpu_and_neural_engine": iOS 16+

Zusätzliche Hinweise

  • coreml.session(...) ist ein Alias für coreml.new_model_request(...)
  • coreml.tensor(...) ist ein Alias für coreml.new_multi_array(...)
  • coreml.tensor_from_table(...) ist ein Alias für coreml.multi_array_from_table(...)
  • coreml.image_to_multi_array(...) ist weiterhin verfügbar, jetzt jedoch nur noch ein Kompatibilitätsalias für coreml.tensor_from_image(...)
  • coreml.multi_array_from_quad(...) ist ein Alias für coreml.tensor_from_quad(...)
  • coreml.multi_array_from_quads(...) ist ein Alias für coreml.tensor_from_quads(...)
  • coreml.project_masks(...) ist ein Alias für coreml.proto_masks(...)