FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

Vagrant上のLinuxでTensorBoardを起動する

http://nextpublishing.jp/wp-content/uploads/2016/07/N00483.jpg

これまでTensorFlowを使ったことはあっても、TensorBoardを使ったことはなかった。なぜならば、僕の環境は基本的にVagrant上で動作しており、CUIがベースとなっている。

TensorBoardを使うためにはXをフォワードする必要があり、面倒だなと思って使っていなかった。

しかし「TensorFlow始めました」を買ってみて、まず最初にTensorBoardが出てきたので、どんなもんなのだろうと思って試してみた。

tatsu-zine.com

Vagrant上でブラウザを立ち上げたり、GUIを立ち上げたりするためには、CygwinやMSYS2のインタフェースだけでなく、それを転送するためのXクライアントが必要になる。 今回は、MobaXtermを使用した。

mobaxterm.mobatek.net

TensorFlow 0.9 + Ubuntu 15.10 の環境を立ち上げる

実はそれより前に構築していた、TensorFlow 0.8 + Ubuntu 14.10の環境では、TensorBoardがちゃんと動作してくれなかった。

まあ原因究明はさておき、ちょうどよいのでTensorFlow 0.9とUbuntu 15.10の環境を構築しておいた。

github.com

TensorFlow実行およびTensorBoard表示

TensorFlowにて、以下のプログラムを実行した。

github.com

# coding: UTF-8

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import tensorflow as tf

const1 = tf.constant(2)
const2 = tf.constant(3)
add_op = tf.add(const1, const2)
mul_op = tf.mul(add_op, const2)

with tf.Session() as sess:
    result, result2 = sess.run ([mul_op, add_op])
    print (result)
    print (result2)

    tf.train.SummaryWriter('./', sess.graph)

実行ログのようなものができている。次に、TensorBoardのサーバを立ち上げる。

$ ls
-rw-rw-r-- 1 vagrant vagrant 340 Aug  2 16:09 events.out.tfevents.1470154161.vagrant-ubuntu-wily-64
-rw-rw-r-- 1 vagrant vagrant 428 Aug  2 16:07 first.py

$ tensorboard --logdir=./
WARNING:tensorflow:IOError [Errno 2] No such file or directory: '/usr/local/lib/python2.7/dist-packages/tensorflow/ten
sorboard/TAG' on path /usr/local/lib/python2.7/dist-packages/tensorflow/tensorboard/TAG
WARNING:tensorflow:Unable to read TensorBoard tag
Starting TensorBoard  on port 6006
(You can navigate to http://0.0.0.0:6006)

127.0.0.1 - - [02/Aug/2016 16:10:57] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [02/Aug/2016 16:10:57] "GET /external/lodash/lodash.min.js HTTP/1.1" 200 -

いろいろエラーが出ているが、MobaXtermから当該仮想マシンへログインし、Firefoxをインストールした上でlocalhost:6006へアクセスしてみる。

f:id:msyksphinz:20160803012333p:plain

グラフが表示されている。成功だ。