Устанавливаем ПО TensorFlow для машинного обучения на Raspberry Pi

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

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

Комплектующие

Чтобы установить TensorFlow на нашу «малину», потребуется совсем немного:

  • Raspberry Pi

  • TensorFlow

Далее мы поэтапно разберём весь процесс установки фреймворка TensorFlow для машинного обучения на Raspberry Pi.

TensorFlow

Изначально TensorFlow был создан группой Google Brain для задач машинного обучения и исследований в области глубоких нейронных сетей. Это программное обеспечение отличается широкой универсальностью и может использоваться в самых различных сферах.

По своей сути TensorFlow представляет собой открытую библиотеку для машинного обучения, предназначенную для числовых вычислений посредством графов потоков данных. Узлы такого графа обозначают математические операции, а рёбра — многомерные массивы данных (тензоры), передаваемые между ними. Подобная гибкая архитектура даёт возможность запускать вычисления на одном или нескольких CPU либо GPU — будь то настольный компьютер, сервер или мобильное устройство — без необходимости переписывать код.

Установка TensorFlow

Раньше установка TensorFlow на Raspberry Pi была весьма трудоёмкой задачей. Однако благодаря выпуску новых версий Google TensorFlow с официальной поддержкой Raspberry Pi, теперь для установки достаточно ввести буквально пару команд.

Прежде всего убедитесь, что ваш Raspberry Pi обновлён, выполнив приведённые ниже команды. Они обновят все установленные пакеты до актуальных версий.

sudo apt-get update
sudo apt-get upgrade

Когда пакеты на Raspberry Pi обновлены, можно приступать к установке Google TensorFlow. Для этого введите в терминале следующие команды:

sudo apt install libatlas-base-dev
pip3 install tensorflow

Тестируем TensorFlow

Теперь убедимся, что установка прошла успешно. Для проверки наличия TensorFlow попробуйте импортировать его, набрав:

Python3

а затем:

import tensorflow

При использовании Python версии выше 3.4 может появиться ошибка. Просто проигнорируйте её — всё будет функционировать корректно.

Для проверки установленной версии TensorFlow выполните следующую команду:

Tensorflow.__version__

Пример Hello World

Напишем небольшой тестовый код от Google для проверки работоспособности TensorFlow — он выведет на экран «Привет мир» (Hello World).

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

На экране должна появиться надпись «Hello, TensorFlow».

TensorFlow Hello World

При работе с Python 3.5 возможно появление нескольких предупреждений в процессе выполнения. В официальной документации TensorFlow отмечается, что подобное поведение допустимо, и рекомендуется не обращать на эти сообщения внимания.

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

Теперь перейдём к установке классификатора изображений (Image Classifier). Для начала создадим новую директорию, куда будут сохранены модели TensorFlow.

mkdir tensorflow
cd tensorflow

Далее клонируйте репозиторий с моделями TensorFlow в эту свежесозданную директорию.

git clone https://github.com/tensorflow/models.git

Мы воспользуемся примером классификации изображений, входящим в состав моделей, поэтому перейдём в соответствующий каталог:

cd models/tutorials/image/imagenet

Теперь запустите скрипт. Он передаст стандартное изображение «панды» в нейронную сеть, которая попытается определить содержимое картинки и выставить оценку достоверности.

python3 classify_image.py
Запуск скрипта классификации изображений TensorFlow

Попробуем передать в нейросеть собственное изображение и посмотрим, сумеет ли она распознать объекты на нём.

Мы разместили фотографию собаки в той же папке, где ведётся работа. Запустим скрипт и посмотрим, какой результат он покажет.

Изображение собаки для классификации

Запускаем сценарий:

python3 classify_image.py –image_file=dog.jpg

Получаем следующий результат:

Результат классификации изображения собаки

Как видите, TensorFlow определил, что с наибольшей вероятностью на данном изображении запечатлён мопс.