Машинное обучение в Raspberry Pi с помощью TensorFlow

Машинное обучение (Machine Learning) и искусственный интеллект (Artificial Intelligence) – сегодня это одни из самых быстро развивающихся отраслей на рынке современных инфо-коммуникационных услуг. Уже сейчас большинство приложений вычислительной техники используют машинное обучение (Machine Learning) для анализа и предсказания результатов действий. Даже камеры в современных смартфонах используют технологии машинного обучения и искусственного интеллекта для обнаружения лиц на снимках.

Внешний вид проекта машинного обучения в Raspberry Pi с помощью TensorFlow

Одним из пионеров в области машинного обучения была компания Google. Именно она разработала свои фреймворки ML (Machine Learning) и AI (Artificial Intelligence), которые мы сейчас можем использовать в своих приложениях. В настоящее время одним из самых известных приложений машинного обучения от компании Google является библиотека нейронных сетей с открытым исходным кодом под названием TensorFlow. Она может использоваться для классификации изображений, обнаружения объектов и многих других применений.

Многие эксперты полагают, что в ближайшие годы искусственный интеллект заменит человека в таких задачах как управление автомобилем, заказ продуктов в онлайн режиме, управление домашними устройствами и многое другое. Так почему бы не использовать такие потрясающие возможности современных технологий в таком портативном вычислительном устройстве как Raspberry Pi?

В данной статье мы рассмотрим установку программного обеспечения (ПО) TensorFlow на плату Raspberry Pi и рассмотрим несколько примеров его использования для задач простой классификации изображений на заранее обученной нейронной сети. Ранее на нашем сайте мы решали похожую задачу распознавания лиц людей с помощью платы Raspberry Pi и библиотеки OpenCV.

Необходимые компоненты

  1. Плата Raspberry Pi (купить на AliExpress).
  2. SD карта (объемом не менее 16 Гб).
  3. Соединение с сетью Интернет.

Установка TensorFlow на Raspberry Pi

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

Если вы знакомы с основами машинного обучения и глубокого обучения (deep learning) то для вас, скорее всего, будет интересным узнать что скрывается внутри нейронных сетей. Но даже если вы новичок в этой области, то все равно эта статья будет полезной для вас – вы на конкретных примерах посмотрите использование этих технологий.

Для установки TensorFlow на Raspberry Pi выполните следующую последовательность шагов.

Шаг 1. Установите последние обновления на вашу плату Raspberry Pi с помощью команд:

Шаг 2. Установите библиотеку Atlas чтобы иметь возможность работы с Numpy и другими необходимыми нам инструментами.

Шаг 3. Установите TensorFlow с помощью pip3.

Установка TensorFlow займет некоторое время. Если вы столкнетесь с ошибками во время ее установки, просто запустите еще раз на выполнение выше приведенную команду для ее установки.

Процесс установки TensorFlow на Raspberry Pi

Шаг 4. После успешной установки TensorFlow проверим корректность ее установки с помощью небольшой программы под названием Hello world. Для этого откройте текстовый редактор nano с помощью команды:

Скопируйте следующие строчки в терминал nano и сохраните его с помощью ctrl+x и нажатия клавиши enter.

Шаг 5. После этого в терминале запустите этот скрипт на выполнение с помощью команды:

Если все рассмотренные ранее пакеты корректно установлены, то вы в результате выполнения этой команды увидите сообщение "Hello Tensorflow!" в окне терминала как показано на следующем рисунке.

Пример успешной работы библиотеки TensorFlow

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

Установка классификатора изображений на Raspberry Pi

Классификатор изображений (Image Classifier) в нашем проекте будет использоваться для распознавания изображений. Для его установки на Raspberry Pi выполните следующую последовательность шагов.

Шаг 1. Создайте каталог и войдите в него с помощью следующих команд:

Шаг 2. Скачаем модели, которые доступны в GIT репозитории для TensorFlow.

Выполнение этого шага может занять достаточно продолжительное время из-за большого объема этих моделей.

Шаг 3. Вначале мы протестируем работу классификатора изображений на примере, который находится в каталоге models/tutorials/image/imagenet. Войдем в данный каталог:

Шаг 4. Загрузим изображение в заранее подготовленную нейронную сеть с помощью команды:

Замените в этой команде image_file_name на имя своего изображения, которое вы хотите загрузить в классификатор.

На следующих рисунках приведены примеры обнаружения и распознавания изображений с помощью библиотеки TensorFlow.

Распознавание библиотекой TensorFlow изображения мобильного телефона

Распознавание библиотекой TensorFlow изображения кошки египетской породы

На наш взгляд неплохо. Нейронная сеть классифицировала изображение как Египетская кошка (Egyptian cat) с высокой степенью достоверности.

А на следующей картинке нейронная сеть определила Альпы с высокой степенью вероятности. На картинке также виден небольшой кусок равнины (на переднем плане) и на представленном скрине работы библиотеки видно, что нейронная сеть "увидела" этот участок равнины.

Распознавание библиотекой TensorFlow изображения Альп

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

(Проголосуй первым!)
Загрузка...
134 просмотров


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

Ваш адрес email не будет опубликован. Обязательные поля помечены *