Overview
For my Embedded AI final project, I extended nn_dataflow, an
academic dataflow-scheduling tool for neural-network accelerators, so that
it could (a) target a modern mobile-optimized network and (b) communicate
its scheduling decisions visually instead of as raw JSON. The
visualization scripts produce per-layer energy, latency, and cost
breakdowns that make it much easier to reason about trade-offs.
Approach
- Implemented Python visualization scripts that parse JSON search results from the scheduler and generate per-layer energy, latency, and cost breakdowns using Matplotlib.
- Defined a full MobileNetV2 architecture within the existing layer API, enabling dataflow scheduling on a mobile-optimized network that the tool didn't previously support.
- Validated the new network definition against the original MobileNetV2 paper's published layer dimensions and verified correctness through the project's built-in test suite.
Results & Learnings
- Reading and extending a research codebase taught me to map an unfamiliar architecture quickly: find the entry points, follow the data, then add capability without disturbing existing tests.
- Producing readable charts from raw JSON made the tool noticeably more useful for the rest of the class. Visualization is a force multiplier on any analysis tool.