【TensorFlow】Raspberry Piへのインストール方法3選

TensorFlowを応用して、何か面白いことをやってみたい!と思っていませんか?

私は、カメラで撮影したものを認識するタスクが面白そうだと思っています。

試しに「TensorFlow カメラ」で検索すると、MacBook AirMacBook ProRaspberry Piなどのデバイスを利用した記事が見つかります。

そこで今回は、一番大変そうなRaspberry PiにTensorFlowをインストールする方法をまとめてみました。

Raspberry Piをお持ちの方は、ぜひ一度TensorFlowをインストールしてみてください!

Raspberry Piをお持ちでない方は、Raspberry Piの購入とTensorFlowのインストールを検討しては、いかがでしょうか!

目次

Raspberry Piとは

Raspberry Piは、ラズベリーパイ財団が発売しているコンピュータです。

tens-raspi01

参考:https://www.raspberrypi.org/

日本国内で購入する場合は、株式会社ケイエスワイから購入する人が多そうです。

tens-raspi02

※上記画面の右下で「Raspberry Pi 3 Model B+」が発表されたことが紹介されていますね!

参考:https://raspberry-pi.ksyic.com/main/index

Raspberry Piと、一般的にイメージできるパソコンとの違いを整理してみましょう。

Raspberry Piパソコン
カバー(ケース)なし
むき出しの基板の上に、必要な部品がついています
あり
ケースの中に部品が入っています
大きさ・価格とても小さく安価
Raspberry Pi 3は、5,000円程度です
大きく高価
売れ筋は、50,000円程度です
主なストレージmicroSDカード
必要ならUSB HDDなども接続できます
SSDまたはHDD
OSLinuxWindowsまたはMacOS
もちろんLinuxもあります

話題のIoTデバイスとしてRaspberry Piを使用する人が多いと思いますが、これから説明するとおり、TensorFlowも動作するので、学習結果を利用してちょっと面白いこともできます。

TensorFlowとは

TensorFlowは、機械学習や深層学習のプログラムを実装する際に使用できるライブラリです。

TensorFlowとは何か?については、以下の記事で説明していますので、よく分からない方は確認してみてくださいね。

Raspberry Piへのインストール方法3選

それでは、TensorFlowをRaspberry Piへインストールしていきましょう!

次の手順に従って操作してください!と言いたいところですが、実は主なインストール方法が3つあります。

いずれも一長一短がありますので、目的に合わせてインストール方法を選んでください。

Sam Abrahams氏のビルドを利用する

日本語のブログ記事では、最も紹介記事が多い方法ですが、バージョンが古いので今はお勧めできません。

Sam Abrahams氏がビルドしたTensorFlow 1.1.0が、GitHubにアップロードされています。

tens-raspi03

参考:https://github.com/samjabrahams/tensorflow-on-raspberry-pi

README.md「Installing from Pip」の手順を参考に進めると良いでしょう。

日本語で操作を書いてくれている記事もいくつもあります。

tens-raspi04

参考:https://qiita.com/mgr206/items/9fc0de88ff9547372cac

このビルドでは、注意しなければいけない点が2つあります。

1つ目は、公式のTensorFlowのソースコードを、少し修正してからビルドしたという点です。

したがって、何か問題が発生したとしても、公式のTensorFlowチームのサポートを期待してはいけません。

2つ目は、バージョンが1.1.0と古いことです。

2018年3月現在では、次に説明するNightlyビルドを利用する方法であれば、1.7.0rc1をインストールできますので、そちらの方がお勧めです。

Pete Warden氏のブログで紹介されているNightlyビルドを利用する

次に紹介するのは、Nightlyビルドを使用する方法です。

TensorFlowをビルドするのは準備も大変ですし、準備ができてもビルドの時間も思ったよりかかるので大変です。

それを解決するために、毎日Nightlyビルドが自動的に公開される仕組みが作られました。

tens-raspi05

参考:https://petewarden.com/2017/08/20/cross-compiling-tensorflow-for-the-raspberry-pi/

このNightlyビルドを使用して、Raspberry PiにTensorFlowをインストールする詳しい手順については、リンク先のブログ記事(英文)を読む必要があります。

ブログ記事にも書かれていますが、サポートするPythonのバージョンであったり、Raspberry Piのバージョンによって、whlファイルの名前が異なります。

ここでは、Raspberry Pi 3でPython 2.7をサポートする場合の手順を例にざっくり説明しておきますね。

(1)whlファイルのURLを確認します。

Raspberry Pi 3(たぶん2も)でPython 2.7をサポートするには、以下のページにアクセスして、赤枠に書かれているファイル名のURLを確認します。

以下の画面では「tensorflow-x.x.xxxx-cp27-none-any.whl」ですね。

「x.x.xxxx」の部分はTensorFlowのバージョンで、「1.4.0」とか「1.7.0rc1」が入ります。

tens-raspi06

参考:http://ci.tensorflow.org/view/Nightly/job/nightly-pi/lastSuccessfulBuild/artifact/output-artifacts/

(2)「tensorflow-x.x.xxxx-cp27-none-any.whl」を右クリックし、「リンクのアドレスをコピー」(Chromeの場合)をクリックします。

tens-raspi07

whlファイルのURLがクリップボードにコピーされました。

メモ帳などに貼り付けると、whlファイルのURLが確認できます。

[code]
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/lastSuccessfulBuild/artifact/output-artifacts/tensorflow-x.x.xxxx-cp27-none-any.whl
[/code]

(3)Pete Warden氏のブログ記事に従って、確認したwhlファイルをインストールする

Python 2.7をサポートする場合、Python 3.4をサポートする場合、Python 3.5をサポートする場合で、すべて手順が異なります。

Raspberry PiのバージョンとPythonのバージョン

Raspberry PiのバージョンとPythonのバージョンで、whlファイルのURLを確認するページが異なりますので、整理しておきます。

Raspberry Pi 3(たぶん2も)+Python 2.7:
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/lastSuccessfulBuild/artifact/output-artifacts/

Raspberry Pi 3(たぶん2も)+Python 3.4、3.5:
http://ci.tensorflow.org/view/Nightly/job/nightly-pi-python3/lastSuccessfulBuild/artifact/output-artifacts/

Raspberry Pi ZeroまたはRaspberry Pi 1+Python 2.7:
http://ci.tensorflow.org/view/Nightly/job/nightly-pi-zero/lastSuccessfulBuild/artifact/output-artifacts/

Raspberry Pi ZeroまたはRaspberry Pi 1+Python 3.4、3.5:
http://ci.tensorflow.org/view/Nightly/job/nightly-pi-zero-python3/lastSuccessfulBuild/artifact/output-artifacts/

TensorFlowの古いバージョンをインストールする

TensorFlowの古いバージョンもダウンロードできます。

ここでは、Raspberry Pi 3(たぶん2も)+Python 2.7について、どのバージョンがいつビルドされているかを調べてみました。

TensorFlow 1.7.0rc1(2018/3/29):
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/230/

TensorFlow 1.6.0(2018/3/22):
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/223/

TensorFlow 1.5.0(2018/2/3):
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/176/

TensorFlow 1.4.0(2017/12/31):
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/142/

TensorFlow 1.3.0(2017/10/10):
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/63/

ここに記載したURLにアクセスすると、そのときのNightlyビルドのURLを調べられます。

この他の組み合わせの場合は、以下のURLから同じ日付のビルドを探せば、同じバージョンをインストールできますので、TensorFlowのバージョンにコダワリがある場合は、このURLを参考にしてくださいね。

Raspberry Pi 3(たぶん2も)+Python 2.7:
http://ci.tensorflow.org/view/Nightly/job/nightly-pi/buildTimeTrend

Raspberry Pi 3(たぶん2も)+Python 3.4、3.5:
http://ci.tensorflow.org/view/Nightly/job/nightly-pi-python3/buildTimeTrend

Raspberry Pi ZeroまたはRaspberry Pi 1+Python 2.7:
http://ci.tensorflow.org/view/Nightly/job/nightly-pi-zero/buildTimeTrend

Raspberry Pi ZeroまたはRaspberry Pi 1+Python 3.4、3.5:
http://ci.tensorflow.org/view/Nightly/job/nightly-pi-zero-python3/buildTimeTrend

ソースコードからビルドする

最後に紹介するのは、公式のTensorFlowのソースコードからビルドする方法です。

参考:https://www.tensorflow.org/install/source_rpi

TensorFlowの公式サイトでRaspberry Piへのインストール方法が解説されています。

日本語で記事を書いてくださっている方もいらっしゃいますので、こちらも参考になるでしょう。

まとめ

今回は、Raspberry PiにTensorFlowをインストールする方法を3つ紹介しました。

今回はインストール記事を書きましたが、Raspberry PiにTensorFlowをインストールすることが目的ではなく、Raspberry PiにインストールしたTensorFlowで何をするのか!が本題です。

この記事を参考に、TensorFlowのインストールはサッと終わらせて、本題に時間を掛けて取り組んでください。

何かいいプロダクトができたら、ぜひ教えてください。

私も試してみたいと思います!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次