Pular para o conteúdo principal

Módulo CoreML (coreml)

Disponível a partir da versão 1.3.8 do software
O módulo CoreML realiza inferência de aprendizado de máquina no dispositivo. Além do request de visão do Vision, ele também oferece:

  • request / session de modelos genéricos
  • criação, conversão e operações com MLMultiArray
  • conversão entre imagens e tensores
  • tokenizadores de texto selecionáveis por tipo
  • auxiliares genéricos de pós-processamento para detecção / OBB / mask / keypoint / tracker

O SentencePiece usa uma implementação leve e compatível voltada à inferência no dispositivo, com suporte às fontes de entrada .vocab e .model. Depois de require("onnxruntime"), também são injetadas interfaces nativas de cópia e conversão entre MLMultiArray e tensores ORT.

Compatibilidade da plataforma

O módulo CoreML tem como base o iOS 11+, mas a versão mínima do sistema não é exatamente igual para todas as interfaces:

  • new_model_request / session, interfaces relacionadas a MLMultiArray, tensorização de imagens, tokenizer e a maioria dos auxiliares geométricos / de pós-processamento: iOS 11+
  • compile_model, new_vision_request, predict_batch() / run_batch(), criação e consulta de compute_units: iOS 12+
  • Usar image_object como entrada de image feature em um model request genérico: iOS 13+
  • class_labels(): iOS 14+
  • compute_units = "cpu_and_neural_engine": iOS 16+

Observações adicionais

  • coreml.session(...) é um alias de coreml.new_model_request(...)
  • coreml.tensor(...) é um alias de coreml.new_multi_array(...)
  • coreml.tensor_from_table(...) é um alias de coreml.multi_array_from_table(...)
  • coreml.image_to_multi_array(...) continua disponível, mas agora é apenas um alias de compatibilidade de coreml.tensor_from_image(...)
  • coreml.multi_array_from_quad(...) é um alias de coreml.tensor_from_quad(...)
  • coreml.multi_array_from_quads(...) é um alias de coreml.tensor_from_quads(...)
  • coreml.project_masks(...) é um alias de coreml.proto_masks(...)