We present DLB, a low-level deep learning visualization interface which enables users to take control over how they explore their data. Our dashboard is build on top of React, prioritizing the ability to add new tabs and custom visualizations. Thus, we make it incredibly easy to use all the popular visualization libraries that already work so well with JavaScript, including Vega, Vega-Lite, D3.js, Three.js, and WebGL, among others. Moreover, users can also leverage any open-source styling libraries they want, including leveraging libraries like Emotion, Styled Components, Material Design, and Ant Design. Finally, we also present a Python library which provides easy logging integration with DLB.
Our example instantiation of the project found that we were easily able to include a clear comparison of training curves from different models, interactive explorations of the dataset, the distribution of model predictions for each image class, streaming the output logs to the dashboard, model computation graphs and summaries, tracking of computation usage throughout time, aggregate precision and recall plots, and an interactive table of model comparisons.
Existing deep learning visualization dashboards (e.g., TensorBoard) are extremely limiting and have led to many frustrations with each of us. TensorBoard only provides around a dozen templated visualizations from which one can use, although this is remarkably limiting and does not cover many use cases across all tasks in deep learning. Adding custom visualizations to TensorBoard requires a massive engineering effort, which is often only done by people working at Google. Thus, we want to build a highly flexible low-level tool (for those that are comfortable with React) that makes it easy to monitor and compare deep learning models.
We are excited to be able to use this project with future papers and tasks, helping to better visualize, compare, and communicate our work!
We built the interface (including the navigation and page setup) from scratch using React. We then highlight the flexibility of our interface using a plethora of visualization tools, including Vega and Vega-Lite (for the Training, Recall, and Compute pages; partially for the Predictions page), hiddenlayer to generate model computation graphs, torchsummary to generate memory statistics used in the Comparisons tab, and Ant Design, Material Design, and Emotion for some of the followed React-in-JS styling paradigm.