Автор оригинала: 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 работает следующим образом:
Во всяком случае, после пары дней попыток некоторых установок, после прочтения большого количества сообщений и ответов на переполнение стека, я закончил тем, что решил все и написал этот пост в блоге, который, я надеюсь, станет очень полезным для тех, кто борется с этими установками на своих 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 в виртуальную среду, и мы должны иметь возможность протестировать его, чтобы проверить установку:
Установка 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
Это должно было сделать волшебство, теперь с Керасом.
Давайте проверим наши установки:
Заключение и установка других пакетов
До сих пор мы устанавливали некоторые базовые пакеты внутри нашей виртуальной среды для 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
Я надеюсь, что этот пост окажется полезным.