sizhky / AutoTrain

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AutoTrain

Have you ever wondered if there is a framework that uses SOTA techniques to train Deep Learning models that needs (almost) no coding?
⚡️ You are in the right place!

Train your deep learning models with nothing more than a config file (and a supporting python file if needed).

That's right, with almost no code you can train state of the art models for

  • Image Classification,
  • Object Detection, and
  • Segmentation

All you have to do is create a copy of one of the ini files found in the configs folder and change dataset details and the hyperparameters as per your choice.

Training on a config file is just one line of code

$ python main.py --task=[classification/object_detection/segmentation] --config=[configs/*.ini]

At the end of training you will have a weights file generated in the corresponding projects folder that can be used for inference.

For testing purposes, there is a FastAPI server that can serve your models as APIs (currently serving one image per request). Just go to the corresponding task's infer.py file and change the config to point to your own config file

Features

  • Every parameter and hyper-parameter is visible in the config file
    • maintains experiment transparency
    • improves comprehension of the experiment
  • Auto download dataset from a URL if data is not present
  • Context aware config means you can reuse variables within ini file for easier maintenance
  • All the files (data, models) will be generated in locations of your choice
  • Registering functions as strings will let you replace standard functions with your own custom functions in the pipeline
  • Train and Test using a single call in terminal
  • Expose an endpoint just by using the config file

Blog Posts

Credits

Classification

Uses fastai and timm libraries to expose one line functions that can create architectures by using a single string

Object Detection and Segmentation

Uses fastai and icevision libraries to expose similar functionality

Other awesome libraries used

About

License:Apache License 2.0


Languages

Language:Jupyter Notebook 97.8%Language:Python 2.2%