https://github.com/sizhky/autotrain
https://github.com/sizhky/autotrain
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sizhky/autotrain
- Owner: sizhky
- License: apache-2.0
- Created: 2021-08-17T07:22:45.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-10-09T12:44:55.000Z (over 3 years ago)
- Last Synced: 2024-10-28T09:20:31.746Z (7 months ago)
- Language: Jupyter Notebook
- Size: 16.1 MB
- Stars: 3
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
* SegmentationAll 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
```bash
$ 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
* [Introduction](https://sizhky.github.io/posts/2021/10/auto-train.html)
* [Ingredients](https://sizhky.github.io/posts/2021/10/auto-train-config.html)
* [Recipes](https://sizhky.github.io/posts/2021/10/auto-train-boiler-plate.html)
* [Use Cases](https://sizhky.github.io/posts/2021/10/auto-train-use-cases.html)### Credits
#### Classification
Uses [fastai](https://github.com/fastai/fastai) and [timm](https://github.com/rwightman/pytorch-image-models) libraries to expose one line functions that can create architectures by using a single string#### Object Detection and Segmentation
Uses [fastai](https://github.com/fastai/fastai) and [icevision](https://github.com/airctic/icevision) libraries to expose similar functionality#### Other awesome libraries used
* [FastAPI](https://github.com/tiangolo/FastAPI)
* [Typer](https://github.com/tiangolo/Typer)
* [torch-snippets](https://github.com/sizhky/torch_snippets)