|Microsoft Open Sources AI Debugging Tool|
|Written by Kay Ewbank|
|Friday, 12 July 2019|
Microsoft has released TensorWatch, an AI debugging and visualization tool, under open source on GitHub. TensorWatch can be used to create custom visualizations, UIs and dashboards.
It can also be used to execute arbitrary queries against your live ML training process, return a stream as a result of the query and view this stream using your choice of a visualizer.
TensorWatch is a Python library that uses Jupyter Notebook instead of prepackaged user interfaces, on the basis Jupyter Notebook is easier to customize. You get the choice of using either the composable UI in Jupyter Notebooks or the live shareable dashboards in Jupyter Lab when carrying out interactive debugging of real-time training processes. You can also build your own custom UIs using Python, or choose existing Python UIs. TensorWatch also supports several standard visualization types, including bar charts, histograms, and pie charts, in 2D and 3D versions.
Data in TensorWatch is treated as a stream, as are other objects including files, console, sockets, cloud storage, and visualizations. TensorWatch streams can listen to other streams, making it possible to put together custom data flow graphs.The developers say this means you can render many streams into the same visualization, or one stream can be rendered in many visualizations simultaneously, or a stream can be persisted in many files, or not persisted at all.
The other main idea used in TensorWatch is a lazy logging mode. What this means is that you don't have to set up explicit logging; instead, you can have TensorWatch observe the variables. This carries a much lower overhead, so you can track as many variables as you like, including large models or entire batches during the training.
You can then perform interactive queries that run in the context of the variables observed by TensorWatch, and get streams returned as a result. These streams can then be visualized, saved, or processed. The developers give the example of writing a lambda expression that computes mean weight gradients in each layer in the model at the completion of each batch and sending the result as a stream of tensors that can be plotted as a bar chart.
TensorWatch also provides features for pre- and post-training phases based on existing open-source libraries to provide model graph visualization, data exploration through dimensionality reduction, model statistics, and several prediction explainers for convolution networks.
or email your comment to: firstname.lastname@example.org