TensorFlow Dev Summit 2020 Keynote (2020/03/11 開催)を視聴すると、無償 TensorBoard を使うことで ML (機械学習)実験を簡単にホストすること、追跡や共有ができると説明がありました。
TensorBoard:TensorFlowの可視化ツールキットとは
TensorBoard は、機械学習の実験に必要な視覚化とツールを提供します。
- 損失や精度などのメトリックの追跡と視覚化
- モデルグラフの視覚化(オペレーションとレイヤー)
- 重み、バイアス、またはその他のテンソルが時間の経過とともに変化するときのヒストグラムを表示する
- 埋め込みをより低い次元の空間に投影する
- 画像、テキスト、音声データの表示
- TensorFlowプログラムのプロファイリング
- その他
Windows 非力マシンでサンプルを試しました。
どれくらい非力なマシンなのかは、こちらの記事でご確認ください。
[ICT] TensorFlow 2 を Windows 10 環境へ(ただし非力ビジネスマシン)
Lenovo ThinkPad E595, Windows Home x64, RAM 16 GB
動作方法は TensorBoard / Get Started を参照しました。
この記事を作成するために、Windows コマンドプロンプトは管理者モードで実行しました。TensorBoard logs [6.05 MB] を work ディレクトリへダウンロードします。
- pip install -U tensorboard コマンドで最新版の TensorBoard をアップロード用に導入します。
- pip -U 引数なので既に環境がある場合は、最新パッケージへ自動更新します。”Requirement already satisfied, skipping upgrade” 箇所が該当箇所です。
※ Could not load dynamic library ‘cudart64_101.dll が表示したときの対処方法は、単純に CUDA DLL (動的ライブラリ)が不足しているので CUDA Toolkit 10.2 [2.6 GB] を宛がいましょう。ただし、GPU (nVIDIA) が搭載されいる前提です。本環境は【非力マシン】なので CUDA Toolkit 導入は無視しても問題なし。
必要な方へ (最新版)CUDA Toolkit 入手先:https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
—
3. 先ほどダウンロードしたデータを TensorBoard へアップロードします。
tensorboard dev upload –logdir logs –name “My FXFROG latest experiment” –description “Simple comparison of several hyperparameters”
コマンドプロンプトの表示文字プロパティを変更しました。真夜中に書いているので【グリーンディスプレイ】へ。もう、老眼なんです。
前述しましたが、CUDA DLL エラーは無視しても構いません。
根拠はエラーメッセージにあります。:
Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Data for the “graphs” plugin is now uploaded to TensorBoard.dev! Note that uploaded data is public. If you do not want to upload data for this plugin, use the “–plugins” command line argument.
Upload started and will continue reading any new data as it’s added
to the logdir. To stop uploading, press Ctrl-C.
訳:マシンにGPUが設定されていない場合は、上記のcudart dlerrorを無視してください。「グラフ」プラグインのデータが TensorBoard.dev にアップロードされました。 アップロードされたデータは公開されていることに注意してください。 このプラグインのデータをアップロードしない場合は、「-plugins」コマンドライン引数を使用します。
アップロードが開始され、追加された新しいデータを引き続き読み取ります
logdir に。 アップロードを停止するには、Ctrl-Cを押します。
—
4. View your TensorBoard live at: https://tensorboard.dev/experiment/4jz1DR3BRHWAYo1OKta4sg/ と表示されるのでアクセスします。(現在は、tensorboard dev delete –experiment_id 4jz1DR3BRHWAYo1OKta4sg コマンド投入により削除済み)
My FXFROG latest experiment ですが、ログは TensorBoard.dev Preview 公開ログを用いました。
Jupyter Notebook で ipynbファイルを参照しましょう。
今回 TensorBoard で使用した内容の参照先。
https://colab.research.google.com/github/tensorflow/tensorboard/blob/master/docs/tbdev_getting_started.ipynb
ローカル ランタイムに接続したい方は、Colaboratory では、Jupyter を使用で対応します。(非力マシンユーザは Cloud 環境へ委ねたほうがイイと個人的に考えます)
詳しくは Jupyter Notebook をご覧になられれば、今回のサンプル動作がどれだけシンプルなのかお分かりいただけると思いますが、面倒臭がってご覧になられない方もいると思いますので、要点のみ記載します。
初期化とライブラリのインポート
↓
単一モデル学習と TensorBoard Logs の作成
↓
TensorBoard.dev へアップロード
↓
実験を終えたら削除しましょう。貴重な共有リソースです。
再び、管理者権限でコマンドプロントへ戻り
tensorboard dev delete –experiment_id 4jz1DR3BRHWAYo1OKta4sg コマンド投入により削除します。皆さんの環境では、4jz1DR3BRHWAYo1OKta4sg が異なります。
最後に “Deleted experiment 4jz1DR3BRHWAYo1OKta4sg.” と表示されたら修了です。
本当に削除済みですか?もう残っていませんよね?
確認しましょう。管理者権限でコマンドプロントから tensorboard dev list を投入します。
完全に空の場合は “No experiments. Use tensorboard dev upload
to get started.” が表示します。
残っている場合は、いつ作成されたのか等の情報が表示されます。
↑ 残っていました。21時間前に作成したものが。この実験 Id も削除しましょう。
これで終わりです。
ご覧いただき有難うございました。
以上