loading...

Setup Machine Learning Environment on Raspberry Pi

kojikanao profile image Koji (he/him) ・2 min read

I did this setup on Raspberry Pi3 and Pi3+.
Probably, for Pi zero this setup needs an extra step. (Will be added)

Install berryconda, tensorflow, keras, opencv

First change swapfile size

$ sudo vim /etc/dphys-swapfile
default 100MB --> 1024
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
$ free -m 
                total        used        free      shared  buff/cache   available
Mem:            875          65         378          11         431         747
Swap:          1023           0        1023

Install berryconda

# download berryconda
$ wget https://github.com/jjhelmus/berryconda/releases/download/v2.0.0/Berryconda3-2.0.0-Linux-armv7l.sh
$ chmod +x Berryconda3-2.0.0-Linux-armv7l.sh
$ ./Berryconda3-2.0.0-Linux-armv7l.sh

create virtual env & activate

$ conda create --name mlenv python=3.6
$ source activate mlenv

Install Tensorflow

This process takes so much time (my case almost an hour).

$ sudo apt-get install libatlas-base-dev
$ pip install --user tensorflow
$ pip list | grep tensor
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
tensorboard (1.11.0)
tensorflow (1.11.0)

Install Keras

This process also takes so much time (my case almost an hour).

$ sudo apt install libhdf5-serial-dev
$ pip install h5py
$ pip install keras

Install OpenCV3

#γ€€Remove previous version
sudo apt autoremove libopencv3
# Install 
wget https://github.com/mt08xx/files/raw/master/opencv-rpi/libopencv3_3.4.3-20180907.1_armhf.deb
sudo apt install -y ./libopencv3_3.4.3-20180907.1_armhf.deb
sudo ldconfig

Eventually, let's try run image classifier on Pi
This could take so much time.

$ git clone https://github.com/tensorflow/models.git
$ cd models/tutorials/image/imagenet
$ python classify_image.py

My Raspberry Pi note repo

https://github.com/koji/RaspberryPi-Note

Posted on by:

kojikanao profile

Koji (he/him)

@kojikanao

Looking for opportunities! Software Engineer in NYC/Research Resident@NYU-ITP18-19 Mostly I work with reactjs and sometimes python. code to do something weird/useless/helpful Japanese

Discussion

markdown guide