Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

要約

  • 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でインストールして利用するべし。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away