Saltar al contenido principal

Módulo CoreML (coreml)

Disponible desde la versión 1.3.8
El módulo CoreML permite realizar inferencia de aprendizaje automático en el dispositivo. Además del ejecutor visual Vision, también admite:

  • request / session de modelos generales
  • Creación, conversión y operaciones con MLMultiArray
  • Conversión entre imágenes y tensores
  • Tokenizador de texto con distribución por tipo
  • Ayudas generales de posprocesamiento como detección, OBB, mask, keypoint y tracker

SentencePiece usa una implementación ligera compatible orientada a la inferencia en el dispositivo, con entradas .vocab y .model. Después de require("onnxruntime"), también se inyectan interfaces nativas para copiar entre MLMultiArray y tensores ORT.

Compatibilidad de plataformas

El módulo CoreML se basa en iOS 11+, pero la versión mínima no es igual para todas las interfaces:

  • new_model_request / session, interfaces de MLMultiArray, tensorización de imágenes, tokenizer y la mayoría de ayudas geométricas y de posprocesamiento: iOS 11+
  • compile_model, new_vision_request, predict_batch() / run_batch(), creación y consulta de compute_units: iOS 12+
  • Usar image_object como entrada de característica de imagen en un model request general: iOS 13+
  • class_labels(): iOS 14+
  • compute_units = "cpu_and_neural_engine": iOS 16+

Notas adicionales

  • coreml.session(...) es un alias de coreml.new_model_request(...)
  • coreml.tensor(...) es un alias de coreml.new_multi_array(...)
  • coreml.tensor_from_table(...) es un alias de coreml.multi_array_from_table(...)
  • coreml.image_to_multi_array(...) sigue disponible, pero ahora solo es un alias compatible de coreml.tensor_from_image(...)
  • coreml.multi_array_from_quad(...) es un alias de coreml.tensor_from_quad(...)
  • coreml.multi_array_from_quads(...) es un alias de coreml.tensor_from_quads(...)
  • coreml.project_masks(...) es un alias de coreml.proto_masks(...)