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.


More Information

TensorWatch On Github

Related Articles

Kedro Open Source library For Machine Learning

How Do Open Source Deep Learning Frameworks Stack Up?

Infer.NET Machine Learning Framework Now Open Source

Databricks Runtime for Machine Learning

Machine Learning For .NET


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Videos From Inaugural Computer History Conference

The First International Research Conference on the History of Computing, dubbed Computing's Woodstock, gathered together a global elite of computer pioneers. It took place in June 1976 and now the Com [ ... ]

pg_ivm - Materialised Views On Steroids

pg_ivm is an extension module for PostgreSQL 14 that provides an Incremental View Maintenance (IVM) feature.That means that materialized views are updated immediately after a base table is modified.

More News





or email your comment to: