Как настроить Intel Movidius Neural Compute Stick

1656512569 kak nastroit intel movidius neural compute stick

от Ришала Хурбанса

2iMzoyH-q-o82nmhLFenhs1KwLR2sQncZusT

В 2017 году Intel обратилась ко мне с просьбой присоединиться к их программе Innovator. После нескольких интервью меня назначили инноватором Intel в области искусственного интеллекта. Идея инициативы состоит в том, чтобы поддержать технологов во всем мире, вовлеченных в сообщество, предоставляя современное оборудование, возможности для докладчиков и платформу для продвижения их работы и взаимодействия с большим количеством людей.

Intel послала мне Neural Compute Stick Movidius. Это USB-накопитель размером немного больше, чем флэш-накопитель, специально разработанный для обучения и в первую очередь запуска нейронных сетевых графиков, что особенно полезно во время работы в сетях для глубокого обучения, где обучение происходило из таких медиа, как изображение и видео . Вероятно, я расскажу о глубоком обучении в следующей публикации. По результатам тестов, нейронный компьютер Movidius обещает запускать модели в пять раз быстрее обычного ноутбука.

Получив устройство, я понял, что он работает только на Ubuntu 16.04 и Raspberry Pi 3. Поскольку я пользовался macOS, это было немного проблематично, поэтому я решил запустить виртуальную машину Ubuntu, чтобы начать повозиться с устройством. В этом руководстве описано, как я успешно настроил среду, приемлемую для Movidius stick, и кратко описаны ее возможности.

Настройка виртуальной машины

Первым шагом является запуск и запуск виртуальной машины (ВМ). Несмотря на то, что существует ряд различных вариантов программного обеспечения ВМ, Virtual Box свободно доступен, который прост в настройке и использовании. Такие альтернативы, как Parallels и VMWare могут обеспечить лучшую производительность, если виртуальная машина будет использоваться как основная рабочая станция.

  1. Загрузите Virtual Box.
  2. Установите Virtual Box с помощью загруженного установщика.
  3. Загрузите пакет расширений Virtual Box.
  4. Установите Virtual Box Extension Pack с помощью загруженного установщика.
  5. Загрузите 64-разрядный образ ISO Ubuntu 16.04.
  6. Создайте новую виртуальную машину.
  7. Загрузите образ Ubuntu 16.04 в качестве оптического диска на только что созданную виртуальную машину.
  8. Запустите виртуальную машину.
  9. Выполните шаги для установки Ubuntu на виртуальную машину.

Спецификации моей виртуальной машины:

Вот те конфигурации, которые я использовал. Не стесняйтесь регулировать распределение памяти (ОЗУ) и жесткого диска, как вы считаете нужным. Имейте в виду, что чрезмерное выделение ресурсов приведет к низкой производительности операционной системы хоста.

  • Название: Ubuntu 16.04
  • Тип: Linux
  • Размер памяти: 3072 Мб
  • Виртуальный жесткий диск: 40 Гб

Необходимые условия для Ubunutu 16.04

Прежде чем запустить и запустить SDK и примеры, требуются определенные зависимости, чтобы убедиться, что среда разработки готова и необходимые инструменты доступны. Это влечет за собой обновление Ubuntu и убеждение, что у вас есть Python, PIP (PIP Installs Packages) и Git для клонирования хранилищ кода.

  1. Обновление Ubuntu: должно появиться всплывающее окно для обновления Ubuntu, или вы можете воспользоваться этой командой в консоли: sudo apt-get upgrade
  2. Чтобы использовать консоль, просто щелкните меню Ubuntu и найдите программу «Консоль».
  3. Убедитесь, что Python 3 установлен с помощью консоли: python3 --version
  4. Если Python 3 не установлен, установите его с помощью консоли: sudo apt install python3
  5. Убедитесь, что pip 3 установлен с помощью консоли: pip3 --version
  6. Если pip 3 не установлен, установите его с помощью консоли: sudo apt install python3-pip
  7. Убедитесь, что Git установлен с помощью консоли: git --version
  8. Если Git не установлен, установите его с помощью консоли: sudo apt install git-all

Убедитесь, что Movidius Stick распознается

Далее мы переходим к настройке палочки Movidius. Это означает, что виртуальная машина распознает USB-устройства. Поскольку виртуальная машина получает доступ к устройству через операционную систему хоста, требуется определенная конфигурация для таких устройств, как Movidius, где драйверы обычно не распространяются.

  1. Подключите флешку Movidius к USB-порту.
  2. Использовать lsusb команду в консоли, чтобы определить, распознают ли ее виртуальная машина и Ubuntu. Вы должны увидеть флешку Movidius в списке USB-устройств.
  3. Если его не признают. Выключите виртуальную машину и следуйте инструкциям ниже.
  4. Перейдите к настройкам виртуальной машины в Virtual Box. Выберите «Порты» > «USB».
  5. Добавьте новый фильтр для USB 2, предоставляя только идентификатор поставщика как 03e7
  6. Добавьте новый фильтр для USB 3, предоставляя только идентификатор поставщика как 040e
  7. Запустите VM Ubuntu.
  8. Использовать lsusb команду для отображения списка USB-устройств, и флешку Movidius теперь следует распознать. В моем случае он работал, будучи подключен к порту USB 3, но был распознан как идентификатор поставщика USB 2 03e7.

Установите NCSDK

NCSDK необходим для взаимодействия с палкой Movidius. Цель SDK – предоставить интерфейс к аппаратному обеспечению нейронных вычислений. Это означает, что программы машинного обучения могут быть написаны, чтобы воспользоваться преимуществами оптимизации специального оборудования с помощью этого SDK.

  1. Клонируйте репозиторий NCSDK (Neural Compute Software Development Kit) в консоли: git clone https://github.com/movidius/ncsdk.git
  2. Если у вас возникли проблемы с хранилищем, загрузите NCSDK здесь. Я использовал версию 1:

1.12.00.01:
https://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk-01_12_00_01-full/ncsdk-1.12.00.01.tar.gz

2.05.00.02:
https://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk-02_05_00_02-full/ncsdk-2.05.00.02.tar.gz

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

  1. Выделите каталог NCSDK на консоли.
  2. Создайте пакет SDK в консоли: make install
  3. Постройте примеры: make examples

Примеры создания и запуска

Наконец мы можем запустить несколько примеров и увидеть Movidius в действии. Neural Compute App Zoo – это хранилище примеров, демонстрирующих, как NC SDK и Movidius stick можно использовать для обучения и обработки графиков нейронной сети более эффективно, чем обычные процессоры.

Пример, который мы рассмотрим – это классификация изображений. Вместо создания нашей собственной модели, которая займет бесчисленное количество часов сбора, обработки данных и обучения, мы просто будем использовать GoogLeNet – хорошо обученную модель для классификации изображений от Google. Графовый механизм, используемый для обработки модели, будет Caffe. Caffe — это широко используемый фреймворк машинного зрения, отлично справляющийся с задачами, связанными с изображением.

  1. Клонируйте хранилище примеров в консоли: git clone https://github.com/movidius/ncappzoo.git
  2. Перейдите к клонированному каталогу: cd ncappzoo
  3. Постройте примеры: make
  4. Установите sk-image, если он отсутствует: pip3 install scikit-image
  5. Сделайте график caffe GoogleImageNet: cd caffe && make
  6. Перейдите к классификатору изображений: cd apps/image-classifier
  7. Запустите пример: python3 image-classifier.py
  8. Удачи! Вы должны просмотреть результаты основного классификатора изображений.
hj7Llu4g4V5eQA3NMcyMQy0qdtz9Pxwo8d4C

Иди вперед и побеждай

Хотя памятка Movidius Neural Compute на данный момент поддерживает только Raspbian и Ubuntu, ее можно запустить на вашей платформе. В скором времени мы увидим искусственный интеллект на периферийных устройствах, таких как дроны, камеры домашней автоматизации и другие устройства Интернета с помощью специальных аппаратных решений, таких как Movidius. Исследуйте примеры и создайте собственный AI, поделитесь своей прекрасной работой и помогите формировать будущее.

Оставайтесь на связи ✌️Я активен в Twitter: @RishalHurbans

Я доступен по электронной почте через rishal[at]prolificidea[dot]com

Я также пишу больше, поэтому следите за мной на Medium.

Если вам понравилась эта статья, дайте ей хлопок или пять, или пятьдесят. Это поможет другим увидеть это.

Добавить комментарий

Ваш адрес email не будет опубликован.