Рубрики
Без рубрики

Настройте свою Raspberry Pi Model B как Google Colab (19 февраля) для работы с Tensorflow, Keras и OpenCV

Настройте OpenCV, Tensorflow и Keras, как в Google Colab, но в вашем Raspberry Pi, LOL.

Автор оригинала: Rodolfo Ferro.

Прочтите этот пост в лучшем формате, посетите мой блог .

Описание: Настройка OpenCV, Tensorflow и Keras как в Google Colab, но в вашем Raspberry Pi, LOL.

Мотивация (Борьба реальна!)

На днях я с удовольствием тренировал некоторые нейронные сети, построенные с помощью Keras, используя бэкэнд Tensorflow в Google Colab. После того как я закончил обучение, как 4 или 5 различных глубоких нейронных сетей, я загрузил обученные модели в свою модель Raspberry Pi 3 Model B и понял, что она не в состоянии скомпилировать ни одну из этих моделей… Но Google Colab способен их скомпилировать…

Вначале это выглядело довольно странно, но вскоре я заметил, что это может быть вызвано версиями (Python, Tensorflow и Keras) Я употреблял. Мой Raspberry Pi работал под управлением Python 3.4 с Tensorflow 1.1.0 (скомпилированным с нуля) и Keras 2.1.0, в то время как Google Colab работает следующим образом:

Google Colab

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

Давайте начнем

Перед любой установкой, пожалуйста, убедитесь, что вы работаете над Raspbian Stretch . Вы можете скачать его с официального сайта и записать образ ОС на карту памяти с помощью Etcher . (Да, я полностью сломал свой Raspbian Jesse, прежде чем заметил, что это будет хорошо и легко работать с Raspbian Stretch.)

Выполнив базовую настройку на вашем Raspberry Pi (подключив его к Wi-Fi, включив ssh соединение и все остальное), мы готовы приступить к установке основных пакетов.

Прежде всего, нам нужно будет установить pip :

wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py

Создание виртуальной среды

Мы будем работать в локальной среде, поэтому нам нужно будет установить virtualenv и virtualenvwrapper . Чтобы установить их с помощью pip нам просто нужно запустить в нашем терминале:

sudo pip install virtualenv virtualenvwrapper

Нам нужно добавить следующие строки в ~/.profile . Давайте откроем его с помощью nano, выполнив sudo nano ~/.profile и добавим эти строки в конец:

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

Теперь мы закрываем файл и сохраняем его ( CTRL+X , Y , Y ), и нам нужно “исходить из него” в нашем терминале:

source ~/.profile

Теперь, когда у нас есть настройка виртуальной среды, мы создадим новую виртуальную среду с именем tfk (что означает Tensorflow & Keras). Для этого мы просто бежим:

mkvirtualenv tfk -p python3

Это должно создать виртуальную среду с нашей версией Python3 по умолчанию Stretch (3.5.3), и она также должна быть активирована. В любом случае, чтобы активировать/деактивировать виртуальную среду:

# Activate environment after sourcing ~/.profile
workon tfk

# Deactivate environment
deactivate

Установка OpenCV

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

Давайте установим некоторые зависимости перед OpenCV:

sudo apt-get install libcblas-dev libatlas-base-dev libjasper-dev 
sudo apt-get install libhdf5-dev libhdf5-serial-dev
sudo apt-get install libqtgui4 libqt4-test

После установки зависимостей внутри виртуальной среды установите OpenCV:

pip install opencv-contrib-python

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

OpenCV на Raspberry Pi

Установка Tensorflow и Keras

Чтобы установить Tensorflow в наш Raspberry Pi, мы будем использовать pipe и установим его непосредственно из файла whl , который мы получим из https://github.com/lhelontra/tensorflow-on-arm . В частности, мы будем устанавливать 1.13.1 версия.

Чтобы установить Tensorflow непосредственно из этого источника, мы можем просто запустить:

pip install https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.13.1/tensorflow-1.13.1-cp35-none-linux_armv7l.whl

Это должно было сделать волшебство, по крайней мере, с Tensorflow.

Как, чтобы продолжить работу с Keras, мы установим некоторые (дополнительные) зависимости и обновление:

sudo apt-get install libblas-dev liblapack-dev gfortran
sudo apt-get install python3-dev python3-setuptools
sudo apt-get install python3-numpy python3-scipy python3-h5py

sudo apt-get update

Наконец, мы можем установить Keras с помощью pip внутри нашей виртуальной среды:

pip install keras

Это должно было сделать волшебство, теперь с Керасом.

Давайте проверим наши установки:

Tensorflow и Keras на Raspberry Pi

Заключение и установка других пакетов

До сих пор мы устанавливали некоторые базовые пакеты внутри нашей виртуальной среды для Python 3, как версии, используемые в Google Colab (возможно, лучшим названием для виртуальной среды должно было быть gcolab или что-то в этом роде…). Это позволит нам компилировать и запускать модели в нашем Raspberry Pi, которые были обучены в облаке с помощью Google Colab.

Для установки других пакетов, которые также полезны, мы можем продолжать использовать pip внутри нашей виртуальной среды, например:

# To install pandas, matplotlib, scikit-learn, flask, and requests
pip install pandas matplotlib scikit-learn flask requests

Я надеюсь, что этот пост окажется полезным.