TFLiteSample
Приложение для демонстрации использования Tensorflow Lite с аппаратным ускорением посредством OpenCL. Приложение использует модель YOLOv3 для Tensorflow Lite для выполнения распознавания сущностей на изображении с использованием аппаратного CPU/GPU. Пользователь может выбрать изображение из памяти устройства. Выбранное изображение передается в модель, которая выполняет определение и классификацию известных сущностей. После выполнения распознавания приложения отображает изображением с отмеченными опознанными сущностями. Дополнительно приложения позволяет выполнить и оценить длительность перемножения матриц батчами с использованием Tensorflow Lite с опцией включения аппаратного ускорения.
Для сборки приложения со сборкой библиотеки TFLite в сборочном окружении использующим VB необходимо увеличить объем памяти в сборочной виртуальной машине AuroraOS-X.X.X.XX-MB2 с 4-х гигабайт, указанных по умолчанию, до 8 гигабайт через настройки- система - основная память. В противном случае сборка заканчивается с ошибкой нехватки памяти.
Условия использования и участия
Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».
Информация об участниках указана в файле AUTHORS.
Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.
Структура проекта
Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.
- Файл ru.auroraos.Keystore.pro описывает структуру проекта для системы сборки CMake.
- Файл CMakeLists.txt описывает структуру подпроекта приложения для системы сборки CMake.
- Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
- Каталог cover содержит реализации обложек приложения.
- Каталог icons содержит дополнительные иконки интерфейса пользователя.
- Каталог pages содержит страницы приложения.
- Файл TFLiteCheck.qml предоставляет реализацию окна приложения.
- Каталог rdp описывает подпроект, содержащий исходный код библиотеки FreeRDP. ru.auroraos.Keystore.spec используется инструментом rpmbuild.
- Каталог src содержит исходный код на C++.
- Каталог translations содержит файлы перевода интерфейса пользователя.
- Каталог models содержит модели Tensorflow Lite, файлы с именами классов и файлы лицензий.
- model-fixed.tflite бинарный файл модели Tensorflow Lite, используется для умножения матриц с фиксированными размерами.
- model-variable.tflite бинарный файл модели Tensorflow Lite, используется для умножения матриц с конфигурируемыми размерами.
- Файл coco.names содержит названия классов MS COCO, опознаваемые моделью YOLOv3.
- yolo_v3.tflite LICENSE.mit бинарный файл Tensorflow Lite модели YOLOv3.
- Файл ru.auroraos.TFLiteCheck.desktop определяет отображение и параметры запуска приложения.
This document in English
Совместимость
Приложение полностью совместимо с Аврора ОС 5 и частично совместимо с Аврора ОС 4.
Из-за требований к версии стандартной библиотеки C++ в новых версиях Tensorflow Lite, аппаратное ускорение не поддерживается на Аврора ОС 4 и более ранних версиях. На старых версиях Аврора ОС доступна сборка или Tensorflow Lite с аппаратным ускорением версии ниже 2.8.3, или Tensorflow Lite актуальной версии без аппаратного ускорения. Tensorflow Lite версии ниже 2.8.3 имеет следующее ограничения:
- Загрузка модели YOLOv3 приводит к ошибке, из-за чего она не может использоваться в сборке приложения под Аврора ОС 4.
На Аврора ОС 4 количество размер батча не может превышать 1.