Дорожная карта TensorFlow Lite

Обновлено: май 2021 г.

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

Мы разбиваем нашу дорожную карту на четыре ключевых сегмента: удобство использования, производительность, оптимизация и переносимость. Мы настоятельно рекомендуем вам комментировать нашу дорожную карту и оставлять отзывы в дискуссионной группе TensorFlow Lite .

Удобство использования

  • Расширенное покрытие операций
    • Добавьте целевые операции на основе отзывов пользователей.
    • Добавляйте целевые наборы операций для конкретных доменов и областей, включая случайные операции, базовые операции уровня Keras, хэш-таблицы, избранные операции обучения.
  • Больше вспомогательных инструментов
    • Предоставьте аннотации графов TensorFlow и инструменты совместимости для проверки совместимости TFLite и аппаратного ускорителя во время обучения и после преобразования.
    • Разрешите таргетинг и оптимизацию для конкретных ускорителей во время конверсии.
  • Обучение на устройстве
    • Поддержка обучения на устройстве для персонализации и переноса обучения, включая Colab, демонстрирующий сквозное использование.
    • Поддержка типов переменных/ресурсов (как для вывода, так и для обучения)
    • Поддержка преобразования и выполнения графиков с несколькими точками входа в функцию (или сигнатуру).
  • Улучшенная интеграция с Android Studio.
    • Перетащите модели TFLite в Android Studio, чтобы создать интерфейсы моделей.
    • Улучшена поддержка профилирования Android Studio, включая профилирование памяти.
  • Создатель моделей
    • Поддержка новых задач, включая обнаружение объектов, рекомендации и классификацию аудио, охватывающих широкий спектр часто используемых задач.
    • Поддерживайте больше наборов данных, чтобы упростить перенос обучения.
  • Библиотека задач
    • Поддержка большего количества типов моделей (например, аудио, NLP) с соответствующими возможностями предварительной и последующей обработки.
    • Обновите больше справочных примеров с помощью API задач.
    • Поддержка готового ускорения для всех задач.
  • Больше моделей и примеров SOTA
    • Добавьте больше примеров (например, аудио, NLP, структурных данных), чтобы продемонстрировать использование модели, а также новые функции и API, охватывающие различные платформы.
    • Создавайте общие модели магистральной сети для использования на устройствах, чтобы сократить затраты на обучение и развертывание.
  • Бесшовное развертывание на нескольких платформах
    • Запускайте модели TensorFlow Lite в Интернете.
  • Улучшенная кроссплатформенная поддержка.
    • Расширяйте и улучшайте API для Java на Android, Swift на iOS, Python на RPi.
    • Расширение поддержки CMake (например, более широкая поддержка ускорителей).
  • Улучшенная поддержка интерфейса
    • Улучшена совместимость с различными интерфейсами разработки, включая Keras, tf.numpy.

Производительность

  • Улучшенные инструменты
    • Публичная панель мониторинга для отслеживания прироста производительности с каждым выпуском.
    • Инструменты для лучшего понимания совместимости графов с целевыми ускорителями.
  • Улучшена производительность процессора
    • XNNPack включен по умолчанию для более быстрого вывода чисел с плавающей запятой.
    • Сквозная поддержка половинной точности (float16) с оптимизированными ядрами.
  • Обновлена ​​поддержка NN API.
    • Полная поддержка функций, операций и типов NN API новой версии Android.
  • Оптимизация графического процессора
    • Улучшено время запуска благодаря поддержке сериализации делегатов.
    • Взаимодействие с аппаратным буфером для вывода без копирования.
    • Более широкая доступность ускорения на устройстве.
    • Лучшее освещение операций.

Оптимизация

  • Квантование

    • Выборочное квантование после обучения для исключения определенных слоев из квантования.
    • Отладчик квантования для проверки потерь ошибок квантования на каждом уровне.
    • Применение обучения с учетом квантования для большего покрытия моделей, например TensorFlow Model Garden.
    • Улучшения качества и производительности квантования динамического диапазона после обучения.
    • API тензорного сжатия, позволяющий использовать алгоритмы сжатия, такие как SVD.
  • Обрезка / разреженность

    • Объедините настраиваемые API-интерфейсы времени обучения (обрезка + обучение с учетом квантования).
    • Увеличьте применение разброса на моделях TF Model Garden.
    • Поддержка выполнения разреженных моделей в TensorFlow Lite.

Портативность

  • Поддержка микроконтроллеров
    • Добавьте поддержку ряда вариантов использования 32-битной архитектуры MCU для классификации речи и изображений.
    • Audio Frontend: поддержка предварительной обработки и ускорения звука в графе.
    • Пример кода и модели для видео- и аудиоданных.