Новый 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.