A certain engineer "COMPLEX"

開発メモ その120 TensorFlowをnvidia docker on Ubuntu 18.04にインストールする

Introduction


darknetに引き続きTensorFlowもインストールしてみます。
いつも思うのですが、フレームワークを知っているのと、インストールして試しに使ってみるだけでも大分違うと思います。
インストールした後に+αで何かできたらもっとよいですが。

Get Started


公式ページにすべて手順が書いてあります。
Pythonにインストールするよ、ってことで特に難しいことはないと思います。

ただ、Pythonを使うといっても、インストール先は

  • Virtualenv
  • "native" pip
  • Docker
  • Anaconda

と複数用意されています。
今回はDockerを使います。

Install

気をつけることもないですが、DockerHubTensorFlowイメージはタグを含めてたくさんあります。

タグは主に

  • (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) は、latestnightly、バージョン番号があります。
個人的には、latestを選ぶと、このバージョンいくつだっけ?っことになってわからなくなるのであまり好きではありません。

2018/05/05時点の最新のTensorFlowは1.8です。
なので、1.8を使います。
下記コマンドで、イメージをpullし、コンテナに入ります。

コンテナに入った後です。

TensorFlowのGPU版とTensorBoardがインストールされているのがわかります。
TensorBoardは深層学習の状況などを可視化できるWebコンソールです。
これを確認するには、コンテナのポートを開く必要があります。
ですので、下記のようにコンテナを再実行し、TensorBoardを起動します。ホスト側のポート番号は自由ですが、コンテナ側は6006にします。

Test MNIST

おなじみのMNISTのサンプルがgithubにありますのでありがたく使わせてもらいます。

tensorflow/tensorflow
tensorflow - Computation using data flow graphs for scalable machine learning

このサンプルは、mnistの学習結果をTensorBoardで確認できるように出力してくれます。

使い方は下記です。

実行後、別のコンソールから学習中のコンテナに接続し、下記コマンドを実行します。

TensorBoardが起動するので、ブラウザからホストOSのポートにアクセスします。

学習初期

学習終了

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。