Introduction
darknetに引き続きTensorFlowもインストールしてみます。
いつも思うのですが、フレームワークを知っているのと、インストールして試しに使ってみるだけでも大分違うと思います。
インストールした後に+αで何かできたらもっとよいですが。
Get Started
公式ページにすべて手順が書いてあります。
Pythonにインストールするよ、ってことで特に難しいことはないと思います。
ただ、Pythonを使うといっても、インストール先は
- Virtualenv
- “native” pip
- Docker
- Anaconda
と複数用意されています。
今回はDockerを使います。
Install
気をつけることもないですが、DockerHubのTensorFlowイメージはタグを含めてたくさんあります。
タグは主に
- (version)-devel-gpu-py3
- ビルドに必要なソースコートや依存バイナリ付きのPython3用GPU対応版
- (version)-devel-gpu
- ビルドに必要なソースコートや依存バイナリ付きのPython2用GPU対応版
- (version)-devel-py3
- ビルドに必要なソースコートや依存バイナリ付きのPython3用CPU対応版
- (version)-devel
- ビルドに必要なソースコートや依存バイナリ付きのPython2用CPU対応版
- (version)-gpu-py3
- Python3用GPU対応版
- (version)-gpu
- Python2用GPU対応版
- (version)-py3
- Python3用CPU対応版
- (version)
- Python2用CPU対応版
の8種類があります。
**(version)** は、latest、nightly、バージョン番号があります。
個人的には、latestを選ぶと、このバージョンいくつだっけ?っことになってわからなくなるのであまり好きではありません。
2018/05/05時点の最新のTensorFlowは1.8です。
なので、1.8を使います。
下記コマンドで、イメージをpullし、コンテナに入ります。
1 | sudo nvidia-docker run --rm -it tensorflow/tensorflow:1.8.0-gpu-py3 /bin/bash |
コンテナに入った後です。
1 | python -m pip freeze | grep tensor |
TensorFlowのGPU版とTensorBoardがインストールされているのがわかります。
TensorBoardは深層学習の状況などを可視化できるWebコンソールです。
これを確認するには、コンテナのポートを開く必要があります。
ですので、下記のようにコンテナを再実行し、TensorBoardを起動します。ホスト側のポート番号は自由ですが、コンテナ側は6006にします。
1 | sudo nvidia-docker run --rm -p 6006:6006 -it tensorflow/tensorflow:1.8.0-gpu-py3 /bin/bash |
Test MNIST
おなじみのMNISTのサンプルがgithubにありますのでありがたく使わせてもらいます。
このサンプルは、mnistの学習結果をTensorBoardで確認できるように出力してくれます。
使い方は下記です。
1 | wget はインストールされていないのでインストール |
実行後、別のコンソールから学習中のコンテナに接続し、下記コマンドを実行します。
1 | sudo docker ps | grep tensor |