Начните с распознавания изображений с помощью TensorFlow и Raspberry Pi

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

В этой статье вы узнаете, как установить TensorFlow на Raspberry Pi и выполнить простую классификацию изображений в предварительно обученной нейронной сети.

Начиная

Чтобы начать распознавание изображений, вам понадобится Raspberry Pi (подойдет любая модель) и SD-карта с операционной системой Raspbian Stretch (9.0+) (если вы новичок в Raspberry Pi, воспользуйтесь нашим руководством по установке).

Загрузите Pi и откройте окно терминала. Убедитесь, что ваш Pi обновлен, и проверьте версию Python.

sudo apt-get update
python --version
python3 --version

Вы можете использовать как Python 2.7 или Python 3.4+ для этого урока. Этот пример для Python 3. Для Python 2.7 замените python3 с питон, а также PIP3 с зернышко на протяжении всего этого урока.

Pip — менеджер пакетов для Python, обычно устанавливаемый в качестве стандартного в дистрибутивах Linux.

Если вы обнаружите, что у вас его нет, следуйте инструкциям по установке для Linux

в этой статье, чтобы установить его.

Установка TensorFlow

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

Перед установкой TensorFlow установите Атлас библиотека.

sudo apt install libatlas-base-dev

После этого установите TensorFlow через pip3.

pip3 install --user tensorflow

Это установит TensorFlow для вошедшего в систему пользователя. Если вы предпочитаете использовать виртуальную среду

, измените свой код здесь, чтобы отразить это.

Тестирование TensorFlow

После установки вы можете проверить, работает ли он с эквивалентом TensorFlow Привет, мир!

Из командной строки создайте новый скрипт Python, используя нано или же напор (Если вы не уверены, какой из них использовать, у них обоих есть свои преимущества), назовите его легко запоминающимся.

sudo nano tftest.py

Введите этот код, предоставленный Google для тестирования TensorFlow:

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

Если вы используете nano, выйдите, нажав Ctrl + X и сохраните файл, набрав Y когда предложено

Запустите код из терминала:

python3 tftest.py

Вы должны увидеть «Hello, TensorFlow» напечатанным.

Если вы используете Python 3.5, вы получите несколько предупреждений во время выполнения. Официальные руководства TensorFlow признают, что это происходит, и рекомендуют игнорировать это.

TensorFlow и Python3.5 - ошибка

Оно работает! Теперь, чтобы сделать что-то интересное с TensorFlow.

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

В терминале создайте каталог для проекта в вашем домашнем каталоге и перейдите в него.

mkdir tf1
cd tf1

TensorFlow имеет git-репозиторий с примерами моделей для тестирования. Клонируйте репозиторий в новый каталог:

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

Вы хотите использовать пример классификации изображений, который можно найти на модели / учебники / изображение / imagenet. Перейдите к этой папке сейчас:

cd models/tutorials/image/imagenet

Стандартный скрипт классификации изображений работает с предоставленным изображением панды:

Tiny TensorFlow Panda

Чтобы запустить стандартный классификатор изображений с предоставленным изображением панды, введите:

python3 classify_image.py

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

TensorFlow Panda Классифицирующий вывод

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

Использование пользовательского изображения

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

В этом случае вы увидите, сможет ли нейронная сеть TensorFlow идентифицировать Джорджа.

Георгий Динозавр

Знакомьтесь, Джордж. Джордж это динозавр. Чтобы передать это изображение (доступно в обрезанном виде здесь) в нейронную сеть, добавьте аргументы при запуске скрипта.

python3 classify_image.py --image_file=/home/pi/george.jpg

image_file = следование имени скрипта позволяет добавлять любое изображение по пути. Давайте посмотрим, как эта нейронная сеть сделала.

Результаты классификации динозавров TensorFlow

Неплохо! Хотя Джордж не является трицератопсом, нейронная сеть классифицирует изображение как динозавра с высокой степенью достоверности по сравнению с другими вариантами.

TensorFlow и Raspberry Pi, готовые к работе

Эта базовая реализация TensorFlow уже имеет потенциал. Это распознавание объектов происходит на Pi, и для его работы не требуется подключение к Интернету. Это означает, что с добавлением модуля камеры Raspberry Pi и батарейного блока, подходящего для Raspberry Pi, весь проект может стать переносимым.

Большинство учебных пособий только царапают поверхность предмета, но это никогда не было правдой, чем в этом случае. Машинное обучение — невероятно плотный предмет.

Один из способов развить свои знания — пройти специальный курс

, А пока попробуйте машинное обучение и Raspberry Pi с этими проектами TensorFlow, которые вы можете попробовать сами.

Ссылка на основную публикацию
Adblock
detector