Facebook AI has released HiPlot

New ML tool HiPlot offers interactive high-dimensional data visualization

Maika Möbus
machine learning
© Shutterstock / GarryKillian

HiPlot, a visualization tool for plotting high-dimensional data as is used in machine learning tasks, was released by Facebook AI. The open source tool supports parallel plots, can be run from a Jupyter Notebook and provides interactive visualizations. Let’s take a closer look at the features.

In a blog post, Facebook AI announced its newly open sourced tool HiPlot for data visualization tasks. It is designed to be lightweight and should help machine learning researchers discover patterns and correlations in their high-dimensional data.

As the blog states, HiPlot is being used at Facebook AI “to explore and efficiently analyze hyperparameter tuning of deep neural networks with dozens of hyperparameters.”

SEE ALSO: “The 1.0 release does not mean a conclusion, or even slowing down, of pandas’ development.”

HiPlot can be used either with Jupyter Notebook for Python data or as a webserver when data is stored in a CSV file. It is available on PyPI and can be installed via pip install hiplot, or as npm package.

Interactivity, extendability and more

HiPlot is designed to offer some advantages compared to similiar visualization tools, one of which is interactivity. This is made possible by displaying parallel plots, which allow researchers to customize the visualization as needed.

For example, parallel plots let you reorder or remove axes or extract a certain data selection. See the interactive demo to try this for yourself.

While HiPlot’s web server can parse CSV or JSON files, a custom Python parser can be used as well. In addition, HiPlot is compatible with the logs of other Facebook AI libraries including [email protected], Nevergrad and fairseq.

Furthermore, HiPlot provides visualization for population-based training, a genetic algorithm.

Sample visualization

On GitHub, there is an example for using HiPlot with Jupyter Notebook. The following input creates the HiPlot visualization as seen below:

import hiplot as hip
data = [{'dropout':0.1, 'lr': 0.001, 'loss': 10.0, 'optimizer': 'SGD'},
{'dropout':0.15, 'lr': 0.01, 'loss': 3.5, 'optimizer': 'Adam'},
{'dropout':0.3, 'lr': 0.1, 'loss': 4.5, 'optimizer': 'Adam'}]

SEE ALSO: PyTorch 1.4 adds experimental Java bindings and additional PyTorch Mobile support

The Facebook AI blog and the GitHub repository provide further details on HiPlot.

Maika Möbus
Maika Möbus has been an editor for Software & Support Media since January 2019. She studied Sociology at Goethe University Frankfurt and Johannes Gutenberg University Mainz.

Inline Feedbacks
View all comments