3 min read

Yesterday, the team at Microsoft introduced TensorWatch, an open source debugging and visualization tool designed for deep learning, data science, and reinforcement learning.

TensorWatch works in Jupyter Notebook and shows real-time visualization of machine learning training.It can also perform several key analysis tasks for models and data. It is flexible and extensible so that users can build their own custom visualizations, UIs, and dashboards. It can execute arbitrary queries against live ML training process and return a stream as a result of the query and view this stream by using a visualizer.

TensorWatch is under development and aims to provide a platform for debugging machine learning in an easy to use, extensible, and hackable package.

The official blog post reads, “We like to think of TensorWatch as the Swiss Army knife of debugging tools with many advanced capabilities researchers and engineers will find helpful in their work. We presented TensorWatch at the 2019 ACM SIGCHI Symposium on Engineering Interactive Computing Systems.”

Key features of TensorWatch

Easy customization and visualizations

TensorWatch uses Jupyter Notebook instead of prepackaged user interfaces that are often difficult to customize. It provides an interactive debugging of real-time training processes that either uses a composable UI in Jupyter Notebooks or live shareable dashboards in Jupyter Lab.

As TensorWatch is a Python library, users can now build their own custom UIs or can use TensorWatch in the vast Python data science ecosystem. It supports several standard visualization types, including histograms, bar charts, pie charts, and 3D variations.

Streams

As per the architecture of TensorWatch, data and other objects such as files, console, sockets, cloud storage, and even visualizations themselves are considered as streams. TensorWatch streams can listen to other streams that leads to the creation of custom data flow graphs. TensorWatch allows users to implement a variety of advanced scenarios.

The blog post reads, “For example, 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.”

Lazy logging mode

With TensorWatch, the team  introduced lazy logging mode which doesn’t require explicit logging of all the information beforehand. TensorWatch helps users to observe and track variables including large models or entire batches during the training.

It allows users to perform interactive queries that can run in the context of these variables and further returns the streams as a result.

The blog reads, “For example, you can write a lambda expression that computes mean weight gradients in each layer in the model at the completion of each batch and send the result as a stream of tensors that can be plotted as a bar chart.”

Users seem to be excited about this news as TensorWatch will help visualize streams of data in real time.

To know more about this news, check out Microsoft’s blog post.

Read Next

Docker and Microsoft collaborate over WSL 2, future of Docker Desktop for Windows is near

Microsoft finally makes Hyper-V Server 2019 available, after a delay of more than six months

Microsoft quietly deleted 10 million faces from MS Celeb, the world’s largest facial recognition database