Все о USB-ускорителе Google Coral

Титульное изображение USB-ускорителя Google Coral

В одном из наших видеороликов на YouTube, посвященных искусственному интеллекту, один из комментаторов написал, что его не очень интересует загадочная коробка с ИИ. Это вдохновило меня на написание статьи, раскрывающей эту тайну. Итак, здесь представлено все, что вам нужно знать о USB-ускоритель Google Coral.

Ускоритель Coral USB предназначен в первую очередь для маломощных приложений пограничного ИИ.

Он подходит для решения таких задач, как анализ изображений и видео, обнаружение объектов и распознавание речи на таких устройствах, как Raspberry Pi или ноутбуки.

Обзор

Вкратце, USB-ускоритель Google Coral представляет собой процессор, использующий Tensor Processing Unit (TPU), который представляет собой интегральную схему, действительно хорошо справляющуюся с умножением и сложением матриц.

Умножение матриц - это то, что нужно для построения нейронных сетей.

И уж точно вы не продвинетесь далеко, если попытаетесь построить нейронные сети на одном только Raspberry Pi.

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

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

USB-ускоритель Google Coral

TPU работают гораздо быстрее и с гораздо меньшими затратами энергии, чем CPU, поскольку в них не выполняются другие программы и им не требуется доступ к общей памяти.

TPU в USB-ускорителе Coral использует TensorFlow Lite, который является модифицированной версией для небольших устройств.

Использование USB-ускорителя Coral

Особенно приятно то, насколько доступной она делает разработку ИИ.

Приступить к работе можно без особых усилий.

Действительно, все, что вам нужно, - это USB-ускоритель Google Coral (очевидно), компьютер с одним свободным USB-портом и Python 3.5 или выше.

Стоит отметить, что он работает с Mac, Windows и Linux (в частности, с операционными системами на базе Debian, такими как Ubuntu или Raspberry Pi OS). Так что у вас обязательно все получится.

При настройке необходимо решить, на какой частоте будет работать процессор - максимальной или пониженной. Очевидно, что максимальная тактовая частота более мощная, но она и потребляет больше энергии. И он может невероятно сильно нагреваться.

Задняя панель Google Coral

Запуск модели распознавания изображений

На Веб-сайт Google CoralОни предлагают замечательный тест, демонстрирующий работу USB-ускорителя Coral. В их примере он способен распознавать различных птиц с поразительной точностью.

Итак, вот как можно запустить модель распознавания изображений на Raspberry Pi. Она будет прекрасно работать и при пониженной тактовой частоте.

Не включайте пока педаль газа.

Сначала необходимо перейти в терминал и ввести следующий код для добавления репозитория Edge TPU:

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

sudo apt-get update

Затем установите среду выполнения:

sudo apt-get install libedgetpu1-std

Теперь можно подключить ускоритель, чтобы все было синхронизировано. После того как все подключено, необходимо установить PyCoral:

sudo apt-get install python3-pycoral

И теперь можно запустить модель в работу. Сначала загружается код:

mkdir coral && cd coral

git clone https://github.com/google-coral/pycoral.git

cd pycoral

Затем выполните следующие действия:

bash examples/install_requirements.sh classify_image.py

И, наконец, запуск модели:

python3 examples/classify_image.py \
--model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--labels test_data/inat_bird_labels.txt \
--input test_data/parrot.jpg

Выходные данные выглядят примерно так:

Выход Parrot

Видно, что на вход был подан файл "parrot.jpg", и модель правильно прочитала его как Scarlet Macaw, с точностью до .75.

Я нашел фотографию северного кардинала и прогнал ее через модель, и вот что получилось.

Выход северного кардинала

Как видите, он дает очень точные показания с доверительной вероятностью 0,91.

Тогда я решил посмотреть, что произойдет, если я скормлю ему картинку с изображением кошки.

Выход кат

Хотя я прекрасно понимаю, почему он принял кошку за большую рогатую сову, меня удивила его самоуверенность.

Я пытался заставить его распознавать изображения людей и определять, какие это птицы, но, к сожалению, он не захотел сотрудничать.

Но, пожалуйста, не стесняйтесь экспериментировать и смотреть, что вы можете из этого извлечь. О результатах сообщайте в комментариях ниже!

Заключение

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

Это мощный процессор, способный привнести искусственный интеллект в краевые устройства.

Итак, если вы занимаетесь IoT, робототехникой или у вас есть идея внедрения искусственного интеллекта в повседневные устройства, то USB-ускоритель Coral - это ваш билет в будущее. Хотя я привел пример модели распознавания изображений, ускоритель может пойти гораздо дальше - распознавание видео, обнаружение объектов, трансферное обучение на устройстве и т.д.

У нас также есть набор AIY Maker Kit, который делает все это возможным - посмотрите это видео:

Если вы интересуетесь искусственным интеллектом, вы можете ознакомиться с нашими Введение в искусственный интеллект.

А если вам интересно самим создавать проекты с использованием искусственного интеллекта, вы можете ознакомиться с некоторыми проектами, использующими искусственный интеллект в серия проектов "Парагон.

Что вы планируете делать с акселератором?

8 комментариев

  1. adam m Сентябрь 6, 2023 в 6:17 дп

    lubie jak w artykule są przykłady z życia wzięte. dobry fachowy artykuł 🙂

  2. David Thomas Сентябрь 6, 2023 в 4:17 пп

    "комментатор написал, что им не так уж интересен таинственный AI-бокс" - видимо, комментатор высказал какие-то конкретные причины.

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

    То, где выполняется ML, ничего для этого не дает.

  3. David Thomas Сентябрь 6, 2023 в 4:19 пп

    коррекция:
    "комментатор написал, что им не так уж интересен таинственный AI-бокс" - видимо, комментатор не высказал конкретных причин.

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

    То, где выполняется ML, ничего для этого не дает.

    • Adam Сентябрь 12, 2023 в 11:25 дп

      Интересное замечание, Дэвид.

  4. Nick Сентябрь 8, 2023 в 12:19 пп

    а что быстрее: GPU или TPU????

    • Adam Сентябрь 8, 2023 в 3:40 пп

      Для искусственного интеллекта, TPU. Безусловно, быстрее.

  5. Nerds 2 You Апрель 23, 2024 в 12:46 дп

    Было бы здорово, если бы он не отключался через час и не требовал перезагрузки или вынимания вилки из розетки, чтобы он снова заработал.

Комментировать