Рекламное объявление

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

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

Начиная

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

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

sudo apt-get update. Python - версия. python3 - версия

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

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

instagram viewer

Если вы обнаружите, что у вас его нет, следуйте установить для Linux инструкции Как установить Python PIP на Windows, Mac и LinuxМногие разработчики Python полагаются на инструмент под названием PIP для Python для оптимизации разработки. Вот как установить Python PIP. Подробнее в этой статье, чтобы установить его.

Установка TensorFlow

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

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

sudo apt установить libatlas-base-dev

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

pip3 установить --user tenorflow

Это установит TensorFlow для вошедшего в систему пользователя. Если вы предпочитаете использовать виртуальная среда Узнайте, как использовать виртуальную среду PythonНезависимо от того, являетесь ли вы опытным разработчиком Python или только начинаете, изучение настройки виртуальной среды крайне важно для любого проекта Python. Подробнее измените свой код здесь, чтобы отразить это.

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

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

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

sudo nano tftest.py. 

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

импортировать тензор потока как тф. hello = tf.constant ('Привет, TensorFlow!') sess = tf. Session () печать (sess.run (привет))

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

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

python3 tftest.py. 

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

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

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

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

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

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

MKDIR TF1. CD TF1. 

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

мерзкий клон https://github.com/tensorflow/models.git. 

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

CD модели / учебники / изображения / 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, которые вы можете попробовать сами.

Ян Бакли - независимый журналист, музыкант, исполнитель и продюсер, живущий в Берлине, Германия. Когда он не пишет или не играет на сцене, он возится с электроникой или кодом «сделай сам» в надежде стать сумасшедшим ученым.