hollywis's diary (はりうすブログ)

はりうすの活動日記です

TensorBoardを使ってみる

TensorFlowの実行結果の学習の可視化ツールであるTensorBoardを利用してみます。

前回のままではlogが記録されませんので、SummaryWriterでlogを記録するように修正する必要があります。 しかし、公式gitには実装済みのチュートリアルデータがあるため、こちらを実行することにします。

git clone https://github.com/tensorflow/tensorflow

cd tensorflow/tensorflow/g3doc/tutorials/mnist

そして以下を実行

Succesfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Extracting data/train-images-idx3-ubyte.gz
Succesfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Extracting data/train-labels-idx1-ubyte.gz
Succesfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Extracting data/t10k-images-idx3-ubyte.gz
Succesfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting data/t10k-labels-idx1-ubyte.gz
can't determine number of CPU cores: assuming 4
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 4
can't determine number of CPU cores: assuming 4
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 4
Step 0: loss = 2.30 (0.025 sec)
Step 100: loss = 2.15 (0.008 sec)
Step 200: loss = 1.90 (0.006 sec)
Step 300: loss = 1.52 (0.044 sec)
Step 400: loss = 1.27 (0.006 sec)
Step 500: loss = 0.87 (0.006 sec)
Step 600: loss = 0.72 (0.006 sec)
Step 700: loss = 0.71 (0.005 sec)
Step 800: loss = 0.57 (0.006 sec)
Step 900: loss = 0.41 (0.006 sec)
Training Data Eval:
  Num examples: 55000  Num correct: 47730  Precision @ 1: 0.8678
Validation Data Eval:
  Num examples: 5000  Num correct: 4373  Precision @ 1: 0.8746
Test Data Eval:
  Num examples: 10000  Num correct: 8765  Precision @ 1: 0.8765
Step 1000: loss = 0.48 (0.022 sec)
Step 1100: loss = 0.45 (0.126 sec)
Step 1200: loss = 0.30 (0.005 sec)
Step 1300: loss = 0.48 (0.005 sec)
Step 1400: loss = 0.46 (0.010 sec)
Step 1500: loss = 0.37 (0.023 sec)
Step 1600: loss = 0.40 (0.006 sec)
Step 1700: loss = 0.41 (0.005 sec)
Step 1800: loss = 0.45 (0.006 sec)
Step 1900: loss = 0.44 (0.006 sec)
Training Data Eval:
  Num examples: 55000  Num correct: 49471  Precision @ 1: 0.8995
Validation Data Eval:
  Num examples: 5000  Num correct: 4517  Precision @ 1: 0.9034
Test Data Eval:
  Num examples: 10000  Num correct: 9031  Precision @ 1: 0.9031

できました。 テストデータセットでの識別率0.9031

するとdataというフォルダができています。 以下のコマンドを実行してtensorboardを起動してしまいましょう。 {PATH}にはそこまでの絶対パスを入力してください。

tensorboard --logdir=/{PATH}/tensorflow/tensorflow/g3doc/tutorials/mnist/data --port 6007
Starting TensorBoard on port 6007
(You can navigate to http://localhost:6007)

サーバが立ち上がりますので、ブラウザでアクセスできます。

f:id:hollywis:20151112194307p:plain

エントロピーが減少していくのが分かります。

f:id:hollywis:20151112194531p:plain

なにやら、ニューラルネットワークの図も見れるようですね。 拡大したり、クリックして詳細をみたりと面白いです。

お試しください。