Перейти к основному содержимому

Модуль CoreML (coreml)

Доступно в версиях ПО 1.3.8 и выше
Модуль CoreML выполняет машинное обучение и вывод результатов непосредственно на устройстве. Помимо визуального инференса Vision, поддерживаются:

  • универсальные модели request / session
  • создание, преобразование и вычисления с MLMultiArray
  • преобразование между изображениями и тензорами
  • текстовые токенизаторы с выбором по типу
  • универсальные вспомогательные средства постобработки: detection / 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+
  • Передача image_object как входного image feature в универсальном model request: 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(...)