Обновлено: май 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: поддержка предварительной обработки и ускорения звука в графе.
- Пример кода и модели для видео- и аудиоданных.