Git Product home page Git Product logo

animikhaich / no-code-classification-toolkit Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 3.0 625 KB

Containerized Tensorflow-based image classification training utility with Streamlit-based interface designed to choose between common architectures and optimizers for quick hyperparameter tuning.

License: GNU Affero General Public License v3.0

Python 99.11% Shell 0.33% Dockerfile 0.56%
tensorflow classsifier zero-code dashboard streamlit-dashboard streamlit-application keras model-training deep-learning convolutional-neural-networks

no-code-classification-toolkit's Introduction

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

No Code TF Image Classification Trainer

Start Training a State of the Art Image Classifier within Minutes with No Coding Knowledge
Demo Video · Docker Image · Report Bug · Request Feature

Demo GIF

Table of Contents

About The Project

Containerized Tensorflow-based image classification training utility with Streamlit-based interface designed to choose between common architectures and optimizers for quick hyperparameter tuning, which drastically lowers experimentation time.

Demo

YouTube Video Link: https://youtu.be/gbuweKMOucc

Features

  • No Coding Required - I have said this enough, I will repeat one last time: No need to touch any programming language, just a few clicks and start training!
  • Easy to use UI Interface - Built with Streamlit, it is a very user friendly, straight forward UI that anybody can use with ease. Just a few selects and a few sliders, and start training. Simple!
  • Live and Interactive Plots - Want to know how your training is progressing? Easy! Visualize and compare the results live, on your dashboard and watch the exponentially decaying loss curve build up from scratch!

If you want to go in-depth with the Technical Details, then there are too many to list here. I would invite you to check out the Changelog where every feature is mentioned in details.

Hardware Requirements

We recommend an Nvidia GPU for Training, However, it can work with CPUs as well (Not Recommended)

Google Cloud TPUs are Supported as per the code, however, the same has not been tested.

Hardware used for Development and Testing

  • CPU: AMD Ryzen 7 3700X - 8 Cores 16 Threads
  • GPU: Nvidia GeForce RTX 2080 Ti 11 GB
  • RAM: 32 GB DDR4 @ 3200 MHz
  • Storage: 1 TB NVMe SSD
  • OS: Ubuntu 20.10

The above is just used for development and by no means is necessary to run this application. The Minimum Hardware Requirements are given in the next section

Minimum Hardware Requirements

  • CPU: AMD/Intel 4 Core CPU (Intel Core i3 4th Gen or better)
  • GPU: Nvidia GeForce GTX 1650 4 GB (You can go lower, but I would not recommend it)
  • RAM: 8 GB (Recommended 16 GB)
  • Storage: Whatever is required for Dataset Storage + 10 GB for Docker Image
  • OS: Any Linux Distribution

Getting Started

Prerequisites

Built With

Setup and Usage

  1. Install Docker Engine
  2. Install Nvidia Docker Engine (Required only for System with Nvidia GPU)
  3. Set up the Dataset Structure:
.
├── Training
│   ├── class_name_1
│   │   └── *.jpg
│   ├── class_name_2
│   │   └── *.jpg
│   ├── class_name_3
│   │   └── *.jpg
│   └── class_name_4
│       └── *.jpg
└── Validation
    ├── class_name_1
    │   └── *.jpg
    ├── class_name_2
    │   └── *.jpg
    ├── class_name_3
    │   └── *.jpg
    └── class_name_4
        └── *.jpg
  1. There are two methods:
  2. Once the Docker Image is Built/Pulled, run the image using the following command:
docker run -it --runtime nvidia --net host -v /path/to/dataset:/data <image-name>
  1. After training the trained weights can be found at: /app/model/weights Inside the Container
  2. After training the Tensorboard Logs can be found at: /app/logs/tensorboard Inside the Container
  3. You can use docker cp <container-name/id>:<path-inside-container> <path-on-host-machine> to get the weights and logs out. Further details can be found here: Docker cp Docs

Changelog

See the Changelog.

Roadmap

See the Open Issues for a list of proposed features (and known issues).

See the Changelog a lost of changes currently in development.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU AGPL V3 License. See LICENSE for more information.

Contact

Animikh Aich

no-code-classification-toolkit's People

Contributors

animikhaich avatar imgbotapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.