В последние несколько лет Интернет вещей стал горячей темой в мире технологий. Это привело к развитию пограничных вычислений и появлению новых технологий. В середине 2017 года Google анонсировала Tensorflow lite, которая представляет собой расширенную и облегченную версию своего предшественника Tensorflow mobile (Google планирует в будущем заменить Tensorflow Mobile на Tensorflow lite).

Что такое пограничные вычисления ???

Граничные вычисления - это метод оптимизации систем облачных вычислений, переводя контроль над вычислительными приложениями, данными и услугами с некоторых центральных узлов (« ядра ) на другой логический край ( край ) Интернета», который контактирует с физическим миром. Это уменьшает полосу пропускания связи, необходимую между контролируемыми системами и центральным центром обработки данных, за счет выполнения аналитики и генерации знаний, когда данные поступают из физического мира через различные датчики, и предпринимаются действия по изменению физического состояния с помощью различных форм вывода и исполнительных механизмов (источник). : Википедия)

Почему Edge computing ???

  • В настоящее время большинство мобильных и встроенных устройств имеют высокопроизводительное аппаратное ускорение, которое будет полезно для выполнения мощных вычислений на устройстве.
  • Это эпоха Интернета вещей, и она снизит потребление облачных интеллектуальных ресурсов за счет внедрения интеллектуальных функций на устройстве.
  • Конфиденциальность данных пользователя будет защищена, если данные пользователя не отправляются с устройства.
  • Что еще более важно, возможность обслуживать конечных пользователей в «автономном» режиме без подключения к Интернету.
  • Граничные вычисления (туманные вычисления) станут следующей большой вещью, поскольку они помогут выполнять обработку данных на границе сети и рядом с источником данных. Это снизит пропускную способность сети и позволит хранить данные и вычисления подальше от централизованного места.

Edge встречает машинное обучение

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

Пример: устройство Интернета вещей (дрон наблюдения), полностью оснащенное приложением машинного обучения, которое позволяет прогнозировать потенциальные преступления в режиме реального времени, отслеживая поведение человека.

Понимание TFlite

TFlite поддерживает набор основных операций как с плавающей точкой (float32), так и с квантованием (uint8), что было настроено для мобильных платформ. Поскольку набор операций, поддерживаемых в TFlite, меньше по сравнению с Tensorflow, не каждая модель может быть преобразована в TFlite. В будущем Tensorflow планирует расширить список операций, поддерживаемых TFlite. На данный момент лучший способ - это тщательно продумать, как операции преобразуются и оптимизируются при построении модели тензорного потока, которая будет использоваться с TFlite.

  • TFlite определяет новый формат файла модели, основанный на Flatbuffers, где tenorflow использует Protocol Buffer (эффективная библиотека кросс-платформенной сериализации)
  • Если устройство поддерживает, TFlite предоставляет интерфейс для использования аппаратного ускорения с помощью библиотеки Android Neural Networks (Android O-MR1, уровень API 27).
  • Tensorflow теперь оптимизирован для Hexagon 682 DSP.
  • У TFlite есть новый оптимизированный для мобильных устройств интерпретатор, который сделает приложения компактными и быстрыми. Интерпретатор использует упорядочение статических графиков и настраиваемый распределитель памяти. (В SGO вы должны полностью нарисовать график, а затем ввести данные для запуска. В то время как в динамических графиках структура графика определяется на лету. Статический график позволяет выполнять множество удобных операций, таких как для хранения фиксированной структуры данных графа, доставки моделей независимо от кода и выполнения преобразований графов. Статический граф лучше использовать, если вы можете распределить вычисления по нескольким машинам.)

Далее: Обучение пользовательской модели и преобразование в TFlite

Источники

Википедия: https://en.wikipedia.org

Tensorflow: https://www.tensorflow.org/mobile/tflite

IEEE Xplore: https://ieeexplore.ieee.org