TensorBoardのマネージドサービス、TensorBoard.dev(プレビュー)を触ってみた

2020.02.05

TensorBoardはTensorFlowが提供する可視化ツールです。そんなTensorBoardのマネージドサービスである、TensorBoard.dev(プレビュー)を試してみたので、どんな感じのサービスか紹介したいと思います。

概要

TensorBoard.devはTensorBoardのマネージドサービスです。TensorBoard用の実験ログをTensorBoard.devにアップロードすることで、その機械学習の実験内容を他の人と共有することができます。 現在はプレビューステータスですが、Googleアカウントさえあれば利用可能です。また、以下のような制限/特徴があります。

  • アップロードしたログはURLを知っていれば誰でも閲覧可能
  • SCALARS機能のみ利用可能
  • 1ユーザあたりアップロード可能なログは10MBまで
  • 無料

TensorBoard.devの画面は次のような感じで、TensorBoardとほぼ同じです。

やってみる

Get startedを参考に実際にTensorBoard.devを使ってみたいと思います。今回はサンプルとして提供されている、TensorBoard ログをダウンロードして、使用します。

TensorBoardのバージョンを更新

TensorBoard.devを試す前に、TensorBoardのバージョンを最新のものにしておきます。

pip install -U tensorboard

tensorboard devのヘルプをみてみます。

tensorboard dev --help

uploaddeletelistexportauthという操作が可能なようです。それぞれ試していきます。

ログのアップロード

ダウンロードしたサンプルログを展開し、TensorBoard.devへアップロードします。

※アップロードされたログはURLを知っている人なら誰でもアクセス可能なので、注意が必要です。

tensorboard dev upload --logdir ./log_set_28-10-2019/                                     

初回の場合は次のように確認が表示されます。

yesを入力すると、ブラウザでGoogleアカウントによる認証が行われます。 認証が完了すると、次のようにログのアップロードが行われて、指定したログ用のTensorBoard.devへのリンクが表示されます。

表示されたリンクをアクセスすると、TensorBoard.devのSCALARS画面が開きます。内容はTensorBoardのSCALARS画面と同じ感じです。

画面右上からフィードバックが可能です。

ログのエクスポート

exportによって自分がアップロードした全てのログデータ(JSON形式)をダウンロードすることができます。outdirでログの保存する場所を指定するんですが、このディレクトリはまだ存在しないディレクトリを指定する必要があります。すでに存在している場所を指定すると、エラーとなります。

tensorboard dev export --outdir outdir

アップロードしたログの確認

listによってアップロードしたログを確認できます。

tensorboard dev list

対象のログのTensorBoard.devへのURLとともに、作成日時やデータの数などが確認できます。

アップロードしたログの削除

deleteでアップロードしたログを削除できます。

tensorboard dev delete --experiment_id pv7umyxLSqOH0tqDI4tjxg

ログアウト

authでログアウトが可能です。

tensorboard dev auth revoke

さいごに

TensorBoard.devについて紹介しました。まだプレビューのサービスなので機能は限られていますが、実験の共有に便利そうです。今後に期待です。また、上でも触れていますが、アップロードしたログの画面はURLさえ知っていれば、誰でもアクセスできます。不特定多数のユーザによって見られて困る内容はアップロードしないように注意が必要です。