LayerLab

An interactive Neural Network Designer.

The Problem

During the development of complex neural networks in python, having a mind model of the architecture, as well as determining the output shapes of the various layers can be time consuming and error-prone among other challenges. I wanted to create a tool that would allow me to visualize the architecture of my neural networks and quickly determine the output sizes of each layer, number of parameters, model overall size and also see how the architecture changes as i add or remove layers in real-time.

The Solution

I developed an interactive web application solution to address the challenge. The tool allows users to:

  • Drag and drop layers to create a neural network architecture.
  • Modify the parameters of each layer, such as the number of filters, kernel size, and activation function.
  • Visualize the architecture in real-time, including the output sizes of each layer.
  • Save the design in browser and continue working on it later.
  • Save the design to json file and load it later.
  • View model summary in a table and ability to modify the individual layer properties.
  • View and export the architecture diagram to SVG or PNG.
  • Ability to turn off specific layers in the architecture diagram before export.
  • Save the architecture to python code in keras or pytorch.

This makes it easy to quickly bring design ideas to life and improve on them. The tool is built using the Lovable AI framework, which allows for easy integration with other machine learning libraries and frameworks.