LoginSignup
9
8

More than 5 years have passed since last update.

[TensorFlow] TensorBoardを動作させたいときはpipでインストールする

Last updated at Posted at 2016-11-03

要約

  • TensorFlowは、Anacondaのcondaコマンドでインストールするよりも、pip2/pip3でインストールしたほうが、TensorBoardがきちんと動作する。

はじめに

前回、Anaconda環境上にcondaコマンドで構築したTensorFlowを動作させ、TensorBoardに学習状況のグラフを表示させてみました。

〔TensorFlow〕IRISを3行の変更でTensorBoardに対応させる

Anaconda環境上にcondaコマンドで環境構築すると、TensorBoardを動作させるとリソースが見つからずエラーが発生していました。

WARNING:tensorflow:IOError [Errno 2] No such file or directory: '/home/ubuntu/anaconda3/lib/python3.5/site-packages/tensorflow/tensorboard/webcomponentsjs/webcomponents-lite.min.js' on path /home/ubuntu/anaconda3/lib/python3.5/site-packages/tensorflow/tensorboard/webcomponentsjs/webcomponents-lite.min.js
WARNING:tensorflow:IOError [Errno 2] No such file or directory: '/home/ubuntu/anaconda3/lib/python3.5/site-packages/tensorflow/tensorboard/dist/bazel-html-imports.html' on path /home/ubuntu/anaconda3/lib/python3.5/site-packages/tensorflow/tensorboard/dist/bazel-html-imports.html
WARNING:tensorflow:IOError [Errno 2] No such file or directory: '/home/ubuntu/anaconda3/lib/python3.5/site-packages/external/dist/bazel-html-imports.html' on path /home/ubuntu/anaconda3/lib/python3.5/site-packages/external/dist/bazel-html-imports.html

あれこれ、環境設定etc.をいじればどうにかなるのかもしれませんが、それでは、インストールが楽にできるというTensorFlowのメリットがなくなってしまいます。
どうにかならないものかと、pip/pip3でTensorFlow環境を構築し、TensorBordの動作を確認してみました。

インストール

  • 環境
    • AWS EC2
    • Ubuntu 16.04
    • AMI: ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20161020 (ami-0567c164)
    • Python: 3.5.2
  • TensorFlow
    • Ubuntu/Linux 64-bit, CPU only, Python 3.5
  • pipでTensorFlowをインストール

    $ sudo apt-get -y update
    $ sudo apt-get -y install python3-pip python-dev
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0-cp35-cp35m-linux_x86_64.whl
    $ sudo -H pip3 install --upgrade $TF_BINARY_URL
    

サンプルプログラム

HelloTensorFlow.py
# -*- coding: utf-8 -*-
"""
Hello TensorFlow
"""
import tensorflow as tf

x = tf.constant(1.0, name='input')
w = tf.Variable(0.8, name='weight')
y = tf.mul(w, x, name='output')
y_ = tf.constant(0.0, name='correct_value')
loss = tf.pow(y - y_, 2, name='loss')
train_step = tf.train.GradientDescentOptimizer(0.025).minimize(loss)

for value in [x, w, y, y_, loss]:
    tf.scalar_summary(value.op.name, value)

summaries = tf.merge_all_summaries()

sess = tf.Session()
summary_writer = tf.train.SummaryWriter('log_simple_stats', sess.graph)

sess.run(tf.initialize_all_variables())
for i in range(100):
    summary_writer.add_summary(sess.run(summaries), i)
    sess.run(train_step)
sess.close()

pip/pip3でインストールしたTensorFlow環境で実行&結果

pip/pip3でTensorFlowをインストールした場合は、AnacondaでTensorFlowをインストールした場合と比べてみると、TensorBoardにアクセスしても、リソース不足のエラーはでません。EVENTS、GRAPHSの表示が正常です。

  • TensorFlowのプログラムを実行

    $ cd work
    $ python3 HelloTensorFlow.py
    
  • TensorBoardを起動

    ubuntu@ip-172-31-24-52:~/work$ tensorboard --logdir=log_simple_stats
    
  • コンソールログ

    ubuntu@ip-172-31-24-52:~/work$ tensorboard --logdir=log_simple_stats
    Starting TensorBoard b'29' on port 6006
    (You can navigate to http://172.31.24.52:6006)
    [03/Nov/2016 14:35:46] "GET / HTTP/1.1" 200 -
    [03/Nov/2016 14:35:46] "GET /webcomponentsjs/webcomponents-lite.min.js HTTP/1.1" 200 -
    [03/Nov/2016 14:35:46] "GET /lib/css/global.css HTTP/1.1" 200 -
    [03/Nov/2016 14:35:46] code 404, message Not Found
    [03/Nov/2016 14:35:46] "GET /dist/bazel-html-imports.html HTTP/1.1" 404 -
    [03/Nov/2016 14:35:46] "GET /dist/tf-tensorboard.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:46] "GET /polymer/polymer.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:46] "GET /iron-icons/iron-icons.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:46] "GET /paper-tabs/paper-tabs.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:46] "GET /paper-dialog/paper-dialog.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:46] "GET /paper-checkbox/paper-checkbox.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:47] "GET /paper-toolbar/paper-toolbar.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:47] "GET /paper-button/paper-button.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:47] "GET /paper-header-panel/paper-header-panel.html HTTP/1.1" 200 -
    [03/Nov/2016 14:35:47] "GET /polymer/polymer-mini.html HTTP/1.1" 200 -
    
    ・・・
    
    
  • GRAPHS
    graphs.png

  • EVENTS
    events_1.png

     events_2.png

結論

TensorFlowは、pip/pip3でインストールして利用するべし。

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8