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

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

More than 3 years have 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 が見れると思う。

hoto17296
ソフトウェアエンジニアです
churadata
沖縄で データ分析 / 機械学習 / Deep Learning をやっている会社です
https://churadata.okinawa/
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