Новый iPhone имеет встроенную поддержку загрузки и использования моделей машинного обучения с использованием собственного формата Apple CoreML. Многое из того, что происходит в машинном обучении, связано с распознаванием и обработкой изображений и видео, что может быть очень полезно при разработке приложений дополненной реальности.

Обзор

Вам не нужно знать машинное обучение, чтобы создавать модели CoreML и делиться ими. Многие модели с открытым исходным кодом можно найти в Интернете, хотя они имеют разные форматы в зависимости от того, какая среда глубокого обучения использовалась для их создания.

У Apple есть инструменты для создания новых моделей машинного обучения, а затем их конвертации в CoreML (TuriCreate и coremltools соответственно). У Google также есть инструмент tf-coreml для преобразования предварительно обученных моделей Tensorflow в CoreML.

Настройка среды

Apple рекомендовала использовать virtualenv для установки coremltools. По сути, virtualenv — это инструмент для создания изолированных сред Python. Теперь, исходя из опыта; Можно сказать, что наличие различных неизолированных сред Python… создаст для вас проблемы.

На моей машине есть папка MLTools, в которой я создал свою виртуальную среду:

cd /Users/nicholasarner/Разработка/MLTools

mkdir mlvirtualenv

cd mlvirtualenv

Вот как это выглядит в моей файловой системе:

Как только это будет сделано, вы должны активировать среду — tbh, я не совсем понимаю, что именно это означает. Но команда для этого:

источник pythonenv/bin/активировать

Как только среда станет «активной», вы можете продолжить и установить инструменты CoreML следующим образом:

(pythonenv) pip install -U coremltools

Чтобы проверить правильность установки, давайте запустим Python, просто набрав `python`, а затем импортировав coremltools:

Конвертировать из Кераса

Keras — это одна из сред, в которую вы можете конвертировать предварительно обученные модели с помощью инструментов Apple, и существует достаточное количество доступных предварительно обученных моделей; поэтому давайте удостоверимся, что он у нас установлен:

пип установить керас

…и протестируйте, чтобы убедиться, что он установлен правильно (что, похоже, так и было):

Конвертировать из Факела

Вы также можете конвертировать модели из Torch в CoreML. Установите Torch и Torch2CoreML:

pip install torch
pip install -U torch2coreml

…и протестируйте свою установку:

Конвертировать из кафе

Caffe — еще один популярный фреймворк, который можно использовать с набором инструментов Apple. Ознакомьтесь с этим руководством, чтобы узнать процесс его установки на MacOS.

Конвертировать из Tensorflow

Также возможно конвертировать модели Tensorflow в CoreML с помощью tf-coreml. Установка с моей виртуальной средой Python сработала отлично — внутри моей папки `mlvirtualenv` я клонировал tf-coreml… мои папки теперь выглядят так:

Оказавшись в папке tf-coreml, я запустил pip install -e. `

Похоже, установка прошла успешно; хотя версии Keras и Tensorflow могут быть впереди на основе вывода журнала:

Творите с TuriCreate

У Apple также есть инструмент под названием TuriCreate (результат приобретения Apple компании Turi за 200 миллионов долларов), который он описывает так: Turi Create упрощает разработку пользовательских моделей машинного обучения. Вам не нужно быть экспертом по машинному обучению, чтобы добавлять в свое приложение рекомендации, обнаружение объектов, классификацию изображений, сходство изображений или классификацию действий.

Выглядит полезно! Для установки мы просто запускаем pip install -U turicreate.