Установка Tflearn на Raspberry Pi 3

Установка Tflearn на Raspberry Pi 3

 
Когда-либо думал о запуске tflearn на вашем Raspberry Pi 3 с Jupiter Notebook для обучения вашей модели и доступа к вашему Jupiter Notebook из любой точки. Если вы хотите использовать вычислительную мощность Pi для обучения вашей модели в свободное время, эта статья покажет вам, как её установить и запустить.
TFlearn — это обертка вокруг библиотеки глубокого обучения Google TensorFlow, которая предоставляет упрощенный API. Это делает построение сверточных нейронных сетей таким же простым, как написание нескольких строк кода для определения слоев нашей сети.

Что вам нужно:

1. Raspberry Pi 3 Модель B с 16 ГБ или больше

2. Python 2.7 или 3.6

3. Библиотека Tensorflow (https://www.tensorflow.org)

4. Библиотека Tflearn (http://tflearn.org)

И убедитесь, что ваш Pi подключен к активной сети. Итак, давайте начнем.


Шаг 1: Проверьте версию Pi OS

 

Это делается для того, чтобы убедиться, что у вас последняя версия Raspbian.
$ Cat /etc/os-release

Запустите sudo apt-get update, чтобы обновить соответствующие пакеты.

Шаги также будут работать на Raspberry Stretch


Шаг 2. Установка необходимых зависимостей (dependencies)



Git - пул репозиторий из tflearn. PIP, который мы будем использовать для пула других зависимостей

$ sudo apt-get install git python-pip python-dev python-virtualenv #Python 2.7
$ sudo apt-get install git python3-pip python3-dev python-virtualenv #Python 3.x


Шаг 3: Установите Jupyter Notebook



Для jupyter введите:

$ sudo pip install jupyter # Python 2.7
$ sudo pip3 установить jupyter # Python 3.x
Это установит много других необходимых пакетов. В случае сбоя любого из них его необходимо установить вручную, чтобы убедиться, что jupyter работает правильно (Expandas pip install pandas, numpy pip install numpy). После успешной установки будет сообщение типа:

$ Jupyter notebook
Это запустит ноутбук на localhost. Проверить https://locahost:8888/ на вашем любимом браузере. Давайте сейчас оставим Jupyter, мы вернемся сюда позже.


Шаг 4: Настройка Tensorflow


Теперь нам нужно настроить тензорный поток на наш Pi.Tensorflow не подходит для Pi, но samjabrahams (https://github.com/samjabrahams/tensorflow-on-raspberry-pi) сделал отличный учебник о том, как построить пакет tensorflow. Мы будем использовать один из заранее подготовленных источников, доступных из соответствующего репозитория.

Убедитесь, что вы находитесь в каталоге с разрешением на запись. Мы будем использовать tensorflow 1.2.

cd /home/pi/Documents
wget https://github.com/DeftWork/rpi-tensorflow/raw/master/tensorflow-1.2.1-cp27-none-linux_armv7l.whl
Мы будем держать среду tensorflow в отдельности, чтобы она не мешала установке другого python, давайте держать ее в чистоте.

$ virtualenv --system-site-packages # Python 2.7
$ virtualenv --system-site-packages -p python3 # Python 3.x

Нам нужно активировать виртуальный env.Assuming, вы создали имя папки с тензорным потоком

$ source tensorflow/bin/activate
Теперь вы должны увидеть изменение командной строки на (tensorflow) $

(Tensorflow) $ pip install --upgrade tensorflow-1.2.1-cp27-none-linux_armv7l.whl # for Python 2.7
(Tensorflow) $ pip3 install --upgrade tensorflow-1.2.1-cp27-none-linux_armv7l.whl # for Python 3.n
Если у вас на Raspbian 9, вы можете пойти на tensorflow1.3 [wget https://github.com/DeftWork/rpi-tensorflow/raw/master/tensorflow-1.3.0-cp27-none-linux_armv7l.whl]

Этот процесс займет некоторое время. Если что-то не получается, вам нужно установить соответствующие зависимости. На тип завершения

$ python
Проверить установку tensorflow

$ import import tensorflow
Он должен завершиться без каких-либо ошибок. Чтобы выйти из python, нажмите CTRL + D. И мы закончили.

Шаг 5: Установите TFLearn



Этот шаг довольно прост, и мы продолжим установку TFLearn на нашем tensorflow vrtualenv.

$ pip install git + https: //github.com/tflearn/tflearn.git # Python 2.7

$ pip3 install git + https: //github.com/tflearn/tflearn.git # Python 3.x


Это должно завершиться без каких-либо ошибок. Затем нам нужно установить hdf5 и scipy else. Tflearn покажет предупреждения, но будет работать. Используйте pip3, если можете

$ pip install h5py
$ pip install scipy
$ pip install --upprade pandas # Если раньше не было сделано, то jupyter notebook будет вызывать ошибку при импорте tflearn
$ pip install --upgrade numpy # Если это не сделано ранее, jupyter notebook будет вызывать ошибку при импорте tflearn


В python prompt test с использованием «import tflearn». Должно пройти без ошибок. Мы закончили, и вы можете выполнить скрипты python, созданные с помощью tflearn на терминале.

Для выхода из режима virtualenv

$ deactivate

Шаг 6: Настройка Jupyter Notebook

 

Настройка Jupyter Notebook
Теперь пришло время включить виртуальный env на нашем jupyter notebook.Else вы не сможете работать с тензорным потоком на ноутбуке

Активируйте свой virtualenv, если вы сделали выход.

$ source ~/tensorflow/bin/activate

$ pip install ipykernel or $ pip3 install ipykernel

$ python -m ipykernel install --user --name="name of your virtual env created earlier" #tensorflow in our case

$ jupyter notebook



Теперь вы сможете увидеть ядро tensorflow для своего виртуального env.You нужно переключиться на это ядро всякий раз, когда вы хотите выполнить код tflearn.

Шаг 7: Удаленный доступ к ноутбуку Jupyter

 
Удаленный доступ к ноутбуку Jupyter
По умолчанию ноутбук jupyter работает на локальном хосте и не будет доступен снаружи. Мы будем обращаться к нему из любой точки в локальной сети или через web. Убедитесь, что вы включили переадресацию портов и имеете публичный IP.Refer здесь для получения дополнительной информации. Я получил свою установку с помощью Hamachi. Вы можете проверить это видео.



Давайте сейчас настроим jupyter. На терминал введите:

$ jupyter notebook --generate-config

Файл jupyter_notebook_config.py будет создан в вашем домашнем каталоге и доступен с помощью

$ cd ~/.jupyter

Задайте пароль, используя:

$ jupyter notebook password

Пароль будет хэширован и записан в /home/pi/.jupyter/jupyter_notebook_config.json (Предполагая, что вы вошли в систему с пользователем pi.

скопируйте свой пароль с помощью jupyter_notebook_config.json

Установите самозаверяющий сертификат с помощью следующей команды:

$ jupyter notebook --certfile=mycert.pem --keyfile mykey.key

Теперь введите:

$ nano jupyter_notebook_config.py

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

# Установить параметры для certfile, ip, password и отключить
# автоматический запуск браузера

c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'

c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'


# Установить ip в '*' для привязки на всех интерфейсах (ips) для общего сервера

c.NotebookApp.ip = '*'

c.NotebookApp.password = u'sha1:bcd259ccf...'

c.NotebookApp.open_browser = False


## Каталог, используемый для ноутбуков и ядер.

# Мы не хотим раскрывать наши корневые файлы и всегда хотим запускать jupyter в папке Documents каждый раз

c.NotebookApp.notebook_dir = u'/home/pi/Documents'

Теперь вы можете использовать команду «jupyter notebook». Это должно быть доступно в

https://*ip address:port*/ipython

Шаг 8: Включите Jupyter Notebook для автоматического запуска

 

Включите Jupyter Notebook для автоматического запуска
Мы хотим, чтобы наш ноутбук был доступен 24x7, поэтому мы будем запускать его автоматически во время загрузки.

$ sudo /etc/rc.local
Добавьте ниже до выхода 0:

su pi -c "/usr/local/bin/jupyter notebook --no-browser &"
И мы закончили. Мы можем запускать наши скрипты в nohup в терминале, так как для нашей модели tflearn для обработки в raspberry потребуется много времени. Jupyter останавливает вывод в тот момент, когда вы закрываете браузер, чтобы исправить это, вы можете следовать по этому https://github.com/QUVA-Lab/artemis/blob/master/artemis/fileman/persistent_print.py

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

Шаг 9: Ссылки


Большое спасибо samjabrahams за подробные шаги по созданию файлов ARM с tensorflow

https://github.com/samjabrahams/tensorflow-on-raspberry-pi
http://jupyter-notebook.readthedocs.io/en/latest/public_server.html
https://github.com/DeftWork/rpi-tensorflow
521