DUICUO

マイクロソフトのオープンソースAIデバッグツール - TensorWatch

Microsoftは、GitHubオープンソースプラットフォーム上で、AIデバッグおよび可視化ツール「TensorWatch」をリリースしました。TensorWatchは、カスタム可視化、UI、ダッシュボードの作成に使用できます。また、リアルタイムMLトレーニングプロセスに対して任意のクエリを実行し、クエリの結果としてストリームを返し、任意の可視化ツールでそのストリームを表示することもできます。

TensorWatch は、あらかじめパッケージ化されたユーザーインターフェースではなく Jupyter Notebook を使用する Python ライブラリです。これにより、Jupyter Notebook のカスタマイズが容易になります。リアルタイムのトレーニングプロセスをインタラクティブにデバッグするには、Jupyter Notebook のコンポーザブル UI または Jupyter Labs のリアルタイム共有ダッシュボードを使用できます。Python を使用して独自のカスタム UI を構築したり、既存の Python UI を選択したりすることもできます。TensorWatch は、棒グラフ、縦棒グラフ、円グラフなど、2D と 3D の両方の標準的な視覚化タイプもサポートしています。

TensorWatchでは、データはストリームとして扱われ、ファイル、コンソール、ソケット、クラウドストレージ、可視化などの他のオブジェクトもストリームとして扱われます。TensorWatchのストリームは他のストリームをリッスンできるため、カスタムデータフローグラフを作成できます。開発者によると、これは複数のストリームを同じ可視化としてレンダリングしたり、単一のストリームを複数の可視化として同時にレンダリングしたり、ストリームを複数のファイルに永続化したり、あるいは全く永続化しなかったりできることを意味します。

TensorWatch で使用されているもう一つの重要なアイデアは、遅延ログパターンです。これは、明示的なログ記録を設定する必要がなく、TensorWatch に変数を監視させることを意味します。これによりオーバーヘッドが削減されるため、トレーニング中の大規模モデルや製品のバッチ全体など、必要に応じて任意の数の変数を追跡できます。

TensorWatch によって観測された変数のコンテキスト内でインタラクティブなクエリを実行し、戻り値のストリームを受け取ることができます。これらのストリームは、可視化、保存、または処理することができます。開発者は、各バッチの完了時にモデル内の各層の平均重み勾配を計算し、その結果を棒グラフとしてプロットできるテンソルストリームとして送信するラムダ式の記述例を提供しています。

TensorWatch は、既存のオープンソース ライブラリに基づいて、トレーニング前およびトレーニング後のフェーズの機能も提供し、畳み込みネットワークのモデル グラフの視覚化、次元削減によるデータ探索、モデル統計、およびいくつかの予測インタープリターを可能にします。

TensorWatch は Python 3.x をサポートしており、PyTorch 0.4-1.x を使用してテストされています。

インストール:

linuxidc@linuxidc:~/www.linuxidc.com$ pip3 で tensorwatch をインストールします