がべーじこれくしょん

技術系とかいろいろ

Raspberry Pi3にTensorFlowを入れてMNISTする

現在ARM用のTensorFlowは公式配布されていないので、有志によるRasPi用TensorFlowプロジェクトのものをつかってインストールします。

github.com

環境

項目
端末 Raspberry Pi 3
OS Raspbian Jessie With PIXEL (Kernel 4.4)

OS標準でPython2とPython3が入ってますが今後の事も考えてとりあえず3でいきます。

インストール

$ wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v0.12.1/tensorflow-0.12.1-cp34-cp34m-linux_armv7l.whl
$ sudo pip3 install tensorflow-0.12.1-cp34-cp34m-linux_armv7l.whl

TensorFlowは、インストール後のmodule関連エラーが絶えないライブラリとして個人的に有名です。

RasPi版TensorFlowも、mockというライブラリの関係でimportに失敗するとのことなので、予め一旦アンインストールしたのちインストールします。

$ sudo pip3 uninstall mock
$ sudo pip3 install mock

これにて準備完了です。

MNISTモデルの学習と実行

MNISTのコードに関しては、TensorFlowの公式チュートリアルに則って作成しました。

MNIST For ML Beginners - Tensorflow Tutorials

実行した結果、このようになりました。

$ python3 mnist.py
Extracting MNIST_data/train-images-idx3-ubyte.gz
Extracting MNIST_data/train-labels-idx1-ubyte.gz
Extracting MNIST_data/t10k-images-idx3-ubyte.gz
Extracting MNIST_data/t10k-labels-idx1-ubyte.gz
100 times   accuracy: 40.7499998808 %
200 times   accuracy: 89.4800007343 %
300 times   accuracy: 90.3100013733 %
400 times   accuracy: 90.7400012016 %
500 times   accuracy: 90.3699994087 %
600 times   accuracy: 91.2500023842 %
700 times   accuracy: 91.5000021458 %
800 times   accuracy: 91.6199982166 %
900 times   accuracy: 91.7599976063 %
1000 times  accuracy: 91.6599988937 %

RasPiでもTFが動く…感動。

MNISTモデル程度の簡単なタスクなら思ったより時間はかかりませんでした。ただ、CIFAR-10等のカラー画像等になってくるとちょっと怪しいかもしれません。

いずれにせよ、カメラを使ったいろいろなことや、RNNを用いた自動対話Botなんてのもこれで作れちゃいますね。

創作の幅が広がってよきかなよきかな。