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

雑に TensorBoard を起動する Docker イメージの作り方

More than 1 year has passed since last update.

いつも TensorFlow を使うときは GPU 環境1に NVIDIA Docker で TensorFlow コンテナを起動して学習させているが、Docker を使っていると TensorBoard を使いたい場合に別コンテナで起動する必要があって、そのやり方をメモとして書いておく。

TensorFlow のログの吐き方については書いていないので調べて欲しい。

イメージを作る

TensorFlow の公式 Docker イメージ をそのまま使っても良いんだけど、TensorBoard を使う分には必要ないものが色々入っていて重いので Python3.5 イメージから作る。

Dockerfile
FROM python:3.5

RUN pip install tensorflow

WORKDIR /logs

ENTRYPOINT ["tensorboard", "--logdir", "/logs"]
CMD []
$ docker build . -t tensorboard

イメージを起動する

いくつかオプションを指定して先程ビルドしたイメージを起動する。

  • -v TensorFlow のログが吐かれるディレクトリをマウントする
  • -p ホスト側に公開するポートを設定する

ちなみに TensorBoard を使うだけなら GPU は必要ないのでここは NVIDIA Docker で起動する必要はない。

$ docker run --rm -it -v <ログディレクトリ>:/logs -p 6006:6006 tensorboard

CMD ではなく ENTRYPOINT で TensorBoard を起動しているのでオプション追加もできる

$ docker run --rm -it -v <ログディレクトリ>:/logs -p 6006:6006 tensorboard --reload_interval 2

起動したら http://<ホスト>:6006/ で TensorBoard が見れると思う。

Why do not you register as a user and use Qiita more conveniently?
  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
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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