Raspberry Pi で virtualenv, TensorFlow 1.13, Keras 2.2.4 をインストール
【目次】
- 前準備
- Git, cmake, wget, p7zip-full のインストール
- Raspberry Pi で virtualenv のインストール(Raspbian 上)
- Python の仮想環境の作成(virtualenv を使用)
- 新規作成された Python 環境を使いたいとき
- Raspberry Pi で TensorFlow 1.13, Keras 2.2.4 をインストール
- 確認のためKeras を使ってみる
【サイト内の Raspbian 関連ページ】
小型コンピュータ Raspberry Pi について: 別ページ »にまとめ
前準備
Raspbian のインストール
Windows から Raspberry Pi にログイン
- Windows で MobaXTerm を起動
「MobaXTerm がないよ」というときは,次のサイトで配布されている.MobaXTerm Home Edition (installer edition) をダウンロードしてインストール.
https://mobaxterm.mobatek.net/
「MobaXTerm のインストール」については、別のページで詳細を示している
- MobaXTerm で「Start local terminal」をクリック
- MobaXTerm で「ssh -X」を実行し,Raspberry Pi にリモートログイン
ssh -X pi@raspberrypi.local
- パスワード
* 初期パスワードは「raspberry」に設定されている
* パスワードを入れるとき、画面には何も表示されない.これは正常動作.
確認表示が出たら「Yes」でよい
Raspbian のシステム更新
最初に、Raspbian のシステム更新などを行っておく
Raspberry Pi にリモートログインした後、次のコマンドを実行。 最後の「sudo shutdown -r now」で、システムが再起動する(そして、Windowsとの接続が切れる)
sudo apt -y update
sudo apt -yV upgrade
sudo apt -yV dist-upgrade
sudo rpi-update
sudo apt -yV autoremove
sudo apt autoclean
sudo shutdown -r no
Raspbian の初期設定
Raspbian の初期設定については、 「Raspbian の初期設定」のページで説明している.
Git, cmake, wget, p7zip-full のインストール
Windowsパソコンで、上の「Windows から Raspberry Pi にログイン」の操作を行った後、 次のコマンドを実行
sudo apt -y update
sudo apt -y install git cmake wget p7zip
Raspberry Pi で virtualenv, virtualenv-wrapperのインストール
- Windows パソコンで、上の「Windows から Raspberry Pi にログイン」の操作を行う
- システムの Python について, pip の更新
cd /tmp sudo rm -f get-pip.py curl -O https://bootstrap.pypa.io/get-pip.py sudo /usr/bin/python3 get-pip.py sudo /usr/bin/python get-pip.py
- virtualenv, virtualenv-wrapperのインストール
システムの Python とは前もって Python をインストールしておくことを作ることができるようにする
sudo rm -rf $HOME/.virtualenvs sudo rm -rf ~/.cache/pip sudo pip install virtualenv virtualenv-wrapper sudo pip3 install virtualenv virtualenv-wrapper export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenv-wrapper.sh touch ~/.bashrc echo -e "\n# virtualenv and virtualenv-wrapper" >> ~/.bashrc echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc echo "source /usr/local/bin/virtualenv-wrapper.sh" >> ~/.bashrc source ~/.bashrc
Python の仮想環境の作成(virtualenv を使用)
- 今から作成するPython の仮想環境の名前と、Pythonのバージョンを決めておく
- Python の仮想環境の名前: py35
- Pythonのバージョン: 3
- Windows パソコンで、上の「Windows から Raspberry Pi にログイン」の操作を行う
- virtualenv を使って、隔離された Python 3 環境を作る
- 次の手順で作る
mkvirtualenv --python=/usr/bin/python3 py35 lsvirtualenv
- Python 環境が作成できたことを確認
source /usr/local/bin/virtualenv-wrapper.sh workon py35 pip list
- 次の手順で作る
これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3,名前は py35)の共存できた。
新規作成された Python 環境を使いたいとき
端末で,次のコマンドを実行し,Python 環境(名前は py35)を有効にする
workon py35
Raspberry Pi で TensorFlow 1.13, Keras 2.2.4 をインストール
- Windows パソコンで、上の「Windows から Raspberry Pi にログイン」の操作を行う
- 端末で,次のコマンドを実行し,virtualenv 配下の Python環境である py35を有効にする
workon py35
- virtualenv 配下の Python 3 環境で pip の更新
cd /tmp sudo rm -f get-pip.py curl -O https://bootstrap.pypa.io/get-pip.py python get-pip.py pip list
- TensorFlow 1.13, Keras 2.2.4 のインストール
「pip install -U --ignore-installed tensorflow keras」のところは、少し時間がかかる
sudo apt -y update sudo apt -y install libopenblas-dev sudo apt -y install libatlas-base-dev pip install --no-deps -U cython pip install --no-deps -U pytest pip install --no-deps -U git+https://github.com/numpy/numpy python -c 'import numpy; numpy.test()' pip install -U --ignore-installed tensorflow keras pip list
- TensorFlow のバージョン確認
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python -c "import tensorflow as tf; print( tf.__version__ )"
- Keras のバージョン確認
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python -c "import keras; print( keras.__version__ )"
確認のため Keras を使ってみる
- Windows パソコンで、上の「Windows から Raspberry Pi にログイン」の操作を行う
- 端末で,次のコマンドを実行し,virtualenv 配下の Python環境である py35を有効にする
workon py35
- 前準備として libhdf5-dev, ImageMagick をインストール
sudo apt -y update sudo apt -y install libhdf5-dev sudo apt -y install imagemagick
- 前準備として h5py, pillow のインストール
pip install -U h5py pip install -U pillow
- 次の画像を使うことにする
* 次のコマンドで、ダウンロードし、ImageMagick を使って画像表示してみる
cd /tmp wget https://www.kkaneko.jp/tools/raspbian/124.png display 124.png
- ディープラーニングで、画像認識してみる
Python のプログラムを実行したいので、まず、端末で「python」を実行
python
- 次のプログラムをコピー&ペースト
VGG を使うプログラム。Kerasのサイトで公開されているものを少し書き換えて使用。
import h5py from tensorflow.keras.preprocessing import image from keras.applications.vgg16 import VGG16 from keras.applications.vgg16 import preprocess_input import numpy as np m = VGG16(weights='imagenet', include_top=False) img_path = '/tmp/124.png' img = image.load_img(img_path, target_size=(299, 299)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) features = m.predict(x) print(features)
InceptionV3 を使うプログラム。Kerasのサイトで公開されているものを少し書き換えて使用。
import h5py from tensorflow.keras.preprocessing import image from keras.applications.inception_v3 import preprocess_input, decode_predictions, InceptionV3 import numpy as np m = InceptionV3(weights='imagenet') img_path = '/tmp/124.png' img = image.load_img(img_path, target_size=(299, 299)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) preds = m.predict(x) print('Predicted:') for p in decode_predictions(preds, top=5)[0]: print("Score {}, Label {}".format(p[2], p[1]))
- exit() で終わる