Skip to content

Latest commit

 

History

History
239 lines (154 loc) · 7.97 KB

minimum-spanning-three.md

File metadata and controls

239 lines (154 loc) · 7.97 KB

CoC Inheritance 2022
No-Code DL

No-Code DL - A no-code tool for users as well as developers to collaborate and build deep learning models using drag and drop functionality.

COC - Inheritance || minimum-spanning-three

stars


Table of Contents

🔗Links


📝Description

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.

🤖Tech-Stack

Front-end

  • TypeScript
  • Next JS
  • React
  • Tailwind

Back-end

  • Flask
  • NodeJS
  • ExpressJS
  • Supabase

Database

  • MongoDB
  • PostgreSQL

DL Framework

  • PyTorch
  • NumPy
  • Matplotlib

📈Progress

  • 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

🔮Future Scope

  • 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.

💸Applications

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.


🛠Project Setup

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

💻Usage

#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!


⭐ Team - minimum-spanning-three


👨‍🏫Mentors 🙏


📱Screenshots

Home Page for website

Home Page for logged in users

A project in progress

Collaboration System

Final Project

Generated Code