Brief Reminder: We are building Vizstack: a suite of programming tools that visualize code structure & execution — for better understanding & simpler debugging in existing languages. Consider the last time you encountered an unfamilar codebase or had to debug a nasty algorithm. We believe that this code complexity can be tamed with better developer tools. We believe the time is right to reinvent the programming experience, so that developers can build bigger, faster, safer, and more intricate software.
To learn more, visit the home page.
We're continuing to work on our graph component for a neural network interpretability tool. This a great use case for many components of the Vizstack ecosystem: core, vz-logger
, and nodal
.
This week, we used our development time to tackle some high value action items:
- Finalized edge routing search
- Visualized self-attention
- Decluttered large graphs
- Cleaned up vz-pytorch code
- Designed 2 Pytorch neural network models
All together, we had to make significant changes to both the backend Python library (which generates neural network graphs by attaching hooks to Pytorch models) and the graph layout engine. We're now able to render significantly more attractive structure visualizations for complex graphs, like recurrent and attention models.
repo: https://github.com/vizstack/vz-pytorch
Edge routing refers to the process of transforming edges in a graph after the layout process has completed so that they avoid obstacles and generally make the graph look cleaner. In particular, we chose to implement orthogonal edge routing, since having edges made up of only horizontal or vertical segments makes graphs feel more inviting to explore, which is especially critical in large graphs.
Before:
After: