Connect with us

Разработка

Начинаем работу с LiteRT (Tensorflow Lite)

Вот как можно переложить такую ментальную задачу на компьютер.

Опубликовано

/

     
     

Недавно Google переименовал TensorflowLite в LiteRT. И да, это был действительно гениальный ход. Потому что теперь впервые в жизни я действительно хочу попробовать TFLite… да, я имею в виду LiteRT.

В реальном мире вы в идеале должны думать как обычный ML-разработчик и начинать с поиска набора данных, который затем используется для обучения модели. А затем, в качестве следующего шага, вы бы придумали проблему, которую можно решить с помощью обученной модели.

Но в этом эксперименте мы не будем усложнять ситуацию и построим «Hello World» во вселенной машинного обучения с упражнением «Собаки против кошек».

Настройка

По случайному совпадению я нашел обученную модель из Flutter-проекта, которая может определить, кто изображен на данной фотографии — собака или кошка.

Отлично! Итак, следуя инструкциям в официальной документации по началу работы, нам нужно добавить tensorflowlite в качестве зависимости в наш проект.

Мы используем «ночную» сборку, а не стабильный релиз, потому что на сегодняшний день последний стабильный релиз TensorFlowLiteC не работает на симуляторе iOS. Но, судя по последнему комментарию к этому вопросу, похоже, что TensorFlowLiteC теперь также поставляется как xcframework, но только в ночных релизах.

А пока мы ждем окончания установки библиотеки, мы можем беззастенчиво поискать образцы изображений различных собак и кошек из курса «Введение в TensorFlow Lite» на Udacity в качестве тестового набора.

И все готово!

Создание приложения

Для пользовательского интерфейса нам нужно простое представление изображения, текстовая метка и кнопка. Кнопка, очевидно, будет показывать ответ, а затем случайным образом загружать следующее изображение.

Начинаем работу с LiteRT (Tensorflow Lite)

Теперь о самом интересном. Сначала нам нужен PetClassifier, который принимает изображение и возвращает текст.

А затем в слое пользовательского интерфейса мы можем использовать наш PetClassifier для обновления метки при нажатии на кнопку «Evaluate».

Наконец, загрузка модели довольно проста. Нам просто нужно инстанцировать Interpreter, указав путь к нашей tflite-модели.

Вызов модели

Получение ответа от модели состоит из 4 шагов:

  1. Подготовить входные данные
  2. Отправить их
  3. Прочитать вывод
  4. Разобрать вывод

Вот и все.

Вот как можно переложить такую ментальную задачу на компьютер.

Начинаем работу с LiteRT (Tensorflow Lite)

ImageUtils из этого эксперимента можно найти здесь. Но, вероятно, существуют и лучшие библиотеки для этих операций. Например, CoreMLHelpers или сам Core ML.

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: