[P] Neural Network Model Builder & Visualiser | Netbrix.ml
![]() |
https://netbrix.ml/IntroductionI recently discovered the Mithril.js JavaScript library and wanted a project to build up my skills with it! I ended up going with a simple web app for visualising and editing network models which I’ve named netbrix.ml. I’ve wanted to build something like this for a while since it seemed like a really good project to improve my web development skills and my understanding of the process of building deep learning models. After reading this post on /r/deeplearning where the writer gives insight into the modular nature of deep learning and gives the analogy of a deep learning ‘lego set’ it gave me the motivation to start work on this with that sort of vision in mind and I’ve now got a decent working web app! I’m sure there are existing tools similar to this in existence, so I wanted to keep it as simple as possible and not try to over-engineer it. It’s meant to be easy and simple to use! Importing ModelsIt has some cool features at the moment, like the ability to parse
(Alternatively you can paste in Keras JSON definitions from for example Once that simple model definition is imported it will be parsed by the app to create the following neat visualisation: https://i.redd.it/g60mc0qh2ll31.png Editing ModelsFrom here, you can make all the typical changes you would want to make to a model, including changing/adding layer parameters, adding new layers, changing the order of layers and removing layers, all without having to rely on Google to find the names of layers or their attributes. It can then be easily exported (or copied to the clipboard) with one click as either Python Keras code or a JSON spec which can be imported into Keras. Building ModelsIt also has some nice features for building models from scratch, like the ability to add blocks of layers that come up in models frequently. Often it’s easy to forget the exact optimal order of layers for say a Convolutional block e.g. should pooling come before dropout or vice versa, and what about BatchNorm? Having preconfigured blocks of layers to choose from when building a model helps with this. On top of that, just having an easily indexable list of layers is useful in itself. Browsing ModelsThere is also a host of existing model architectures for a variety of machine learning tasks/datasets to explore and this is one of the most helpful features for me personally. Having an easy and centralised way to access a bunch of existing standard model architectures to take inspiration from is really useful! Rather than creating a model from scratch, you can find an existing model on the site, change say the input shape and a few of the hyperparameters and export it as working Keras code in just a few clicks. It’s also great for learning about the different architectures commonly used in building models. Planned Features
So, I’d love to get some feedback on this project! Is it useful? Do you like the design? I’m open to criticism, this is primarily for me to learn 😁 Thanks for reading! submitted by /u/DataSnaek |