News

AI Debugging Tool TensorWatch Open Sourced by Microsoft Research

TensorWatch, a new AI debugging and visualization tool from Microsoft Research, is now available as an open source offering on GitHub, where it's "under heavy development with a goal of providing a platform for debugging machine learning in one easy to use, extensible, and hackable package."

"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," said an announcement post published June 25 by a team from Microsoft Research, the home of our own resident data scientist, Dr. James McCaffrey, who authors VSM Data Science Lab tutorials.

TensorWatch in Animated Action
[Click on image for larger, animated GIF.] TensorWatch in Animated Action (source: Microsoft).

The Microsoft Research team said the open source project stemmed from an examination of ever-increasing model complexity, larger datasets and longer training times for models. While logging can provide insights into understanding training metrics, that relatively expensive approach tends to be generally avoided, leaving data scientists to often guesstimate the cause of observed patterns while relying on limited signals. So the team asked these questions:

  • What if we could dramatically reduce the cost of getting more information about the state of the system?
  • What if we had advanced tooling that could help researchers make more informed decisions effectively?

The tool's GitHub site provides more details on the logging issue:

TensorWatch is designed to be flexible and extensible so you can also build your own custom visualizations, UIs, and dashboards. Besides traditional "what-you-see-is-what-you-log" approach, it also has a unique capability 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 (we call this Lazy Logging Mode).

Besides the Lazy Logging Mode, other characteristics of TensorWatch as detailed in Microsoft's announcement include:

  • It extensively leverages Jupyter Notebook instead of prepackaged UIs, which are often difficult to customize.
  • As a Python library, developers and data scientists can build custom UIs or use TensorWatch otherwise in the huge Python data science ecosystem.
  • One of the central premises of the TensorWatch architecture is that data and other objects are uniformly treated as streams, including files, console, sockets, cloud storage and even visualizations themselves.
  • TensorWatch supports several standard visualization types such as bar charts, histograms, and pie charts, as well as 3D variations.
  • It leverages several other open source libraries to enable many pre- and post-training features, which include model graph visualization, data exploration through dimensionality reduction, model statistics and several prediction explainers for convolution networks.

"We hope TensorWatch helps spark further advances and ideas for efficiently debugging and visualizing machine learning and invite the ML community to participate in this journey via GitHub," the team concluded.

On GitHub, the new project already boasts 1,575 stars at the time of this writing, receiving code from five contributors -- with the lead being Shital Shah -- and sporting four releases, under an MIT license.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube