COC - Inheritance || minimum-spanning-three
Table of Contents
- GitHub Repository
- Demo Video
- Drive Link to Screenshots of your project
- Hosted Website Link
- Hosted Backend Link
Deep Learning frameworks have speeded up the model development process by abstracting away the underlying implementations and providing a high level API. However it still requires one to have a foundational knowledge in DL and a good programming experience to use those APIs for developing models. We solve this by providing a user-friendly webapp, where users with little or no programming exeprience can develop models for Standard Neural Network, Convolutional Nueral Networks as well as Recurrent Neural Networks. The user choses the model architecture using a drag and drop functionality, developing a network/graph of how different layers are interconnected, our server processes this information and generates equivalent PyTorch code for the model and puts the model on training. The user gets back the model code, inference code and the trained model.
We have also integrated a collaboration system for a group of people to work together on a project, a version control system type mechanism to keep track of how different architecture perform by making and keeping a record of all the commits.
- Users with no deep learning or programming experience can quickly develop models of their choice to solve their problems
- An automation tool for developers to quickly try out different model architectures and chose the best one instead of starting from scratch on each try.
- Collaboration feature to allow a group of people to work together on a project and design the best architecture.
- Support drag and drop functionality for NN, CNN, RNN
- Develop a collaboration system for multiple users to work on a project.
- Provide model code, infernce code and the trained model
- provide little information about what each layer does for unfamiliar people
- Advanced/SOTA models : Allowing complex sequence netowrks such as rnn-encoder cnn-decoder, transformers, generative networks such as GANs, diffusion models to be developed on our webapp. This will require refactoring the current code-gen technique and defining functors to handle each possible block of the network. Also develop a common endpoint to allow layers from cnn,rnn and snn so users have more customizability.
- Inferring user's problem : Instead of just giving them an interface to develop a model, we could them an interface to describe the problem they're facing, and generate recommendation about what type and architecture of model they should proceed with. This can be achieved by training a miny language model on existing models data with a 'problem description - model architecture used' labels.
This can be used anywhere Deep Learning models can be of value. The main objective is, its not limited to people with a lot of Deep Learninig experienc or proficiency in programming. It can be used by anyone, as it abstracts the code writing part.
We can monetize this providing trained model to subscribed users. Training custom models is heavy computational taks and requires alot of infrastructure to be setup. The code generation part will be accessible to anyone.
Start by cloning the repo
git clone https://github.com/sameergupta4873/no-code-DL/tree/master
Setup the flask server
#requires cuda capable devices
cd flask_server
#have conda installed
#create environment with required dependencies
conda env create -f environment.yml
#switch environment
conda activate flask
Setup the backend
cd ../backend
#install dependencies
npm i
Setup the Frontend
cd ../client
#install dependencies
npm i
#start the flask server
cd flask_server
python app.py
#start the server
cd../server
nodemon server
#start the webapp
cd../client
npm run dev
visit loclhost:3000 and do your thing!
- Labib Asari : labeebasari@gmail.com
- Sameer Gupta : sameergupta4873@gmail.com
- Viraj Shah : shahvirajbiren@gmail.com
- Adwait Mandge : adwaitmandge@gmail.com