Recently researchers at Microsoft open sourced debugging and visualization tool TensorWatch,In this post,lets look at key features,how does it work.
- Runs on Jupyter Notebook : TensorWatch works in Jupyter Notebook to show real-time visualizations of your machine learning training and perform several other key analysis tasks for your models and data.
- Flexible & Extensible : TensorWatch is designed to be flexible and extensible so you can also build your own custom visualizations, UIs, and dashboards. Besides traditional 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.
- Support for various diagram types : TensorWatch supports many other diagram types including histograms, pie charts, scatter charts, bar charts and 3D versions of many of these plots. You can log your data, specify the chart type you want and let TensorWatch take care of the rest.
- Create Custom Visualizations : TensorWatch can combine, compose, and create custom visualizations effortlessly. For example, you would be able to visualize an arbitrary number of streams in the same plot. Or you can visualize the same stream in many different plots simultaneously Or you can place an arbitrary set of visualizations side-by-side. You can even create your own custom visualization widget simply by creating a new Python class, implementing a few methods.
- New way of debugging and visualization Lazy Logging Mode : TensorWatch has the ability to query the live running process, retrieve the result of this query as a stream and direct it to your preferred visualization(s) i.e., you don’t need to log any data beforehand.
#2.How Does TensorWatch Work
In TensorWatch, everything is a stream.Files, sockets, consoles and even visualizers are streams themselves. With a common interface the streams can listen to any other streams which in return helps in creating custom data flow graphs.
- When you (your programs) write the log data to a TensorWatch stream, the values get serialized and sent to a TCP/IP socket as well as the file you specified.
- From Jupyter Notebook, we can load the previously logged values from the file and then listen to that TCP/IP socket for any future values.
- The visualizer then listens to the stream and renders the values as they arrive.Visualizer can listen to many streams simultaneously, each of which could be a file, a socket or some other stream.
#3.How to Get It
TensorWatch supports Python 3.x and can be installed with
pip install tensorwatch
Like this post? Don’t forget to share it!
- Join the TensorWatch group on Facebook to stay up to date or ask any questions.
- Simple Logging Tutorial to learn about how to log the values of the variables using TensorWatch and view it in real-time in variety of ways from Jupyter Notebook demonstrating various features offered by TensorWatch.
- TOP 25 Udemy Machine Learning courses
- TOP 25 Udemy Machine Learning courses (Level – Intermediate)
- 17 Algorithms Machine Learning Engineers Need to Know
- TOP 22 Most Popular Deep Learning Courses on Udemy
- ULTIMATE Guide to Data Science Courses (Over 65+ courses covered)
- TOP 35 Most Popular Data Science courses on Udemy