ML template is an easy-to-use tool to automate the boilerplate code for most machine learning projects.
This tool creates a user-oriented project architecture for machine learning projects.
Modify the code under #TODO
comments in the template project repository to easily adapt the template to your use-case.
- Install the package as -
pip install mltemplate
- Then, simply run
mltempate <project-name>
from your terminal to create your template
And Voila!
This creates a project directory in your current folder similar to -
template
├── Dockerfile.cpu
├── Dockerfile.gpu
├── LICENSE.md
├── Makefile
├── README.md
├── jupyter.sh
├── requirements.txt
└── template
├── __init__.py
├── __main__.py
├── cli
│ ├── __init__.py
│ ├── predict.py
│ └── train.py
├── notebooks
└── src
├── __init__.py
├── models.py
├── datasets.py
└── transforms.py
All you have to do next is -
- Update python frameworks and versions in
template/requirements.txt
as need for your project - Head to
template/datasets.py
and modify create a new dataset that will work for your use case - Navigate to
template/models.py
and create a new model class with your sota (or not) architecture - In
template/transforms.py
add transforms such as Normalizer, Denormalize etc. - Follow the
TODO
steps intemplate/cli/train.py
andtemplate/cli/predict.py
to make the necessary changes
Checkout the README.md
in the template
directory for further instructions on how to train, predict and also monitor your loss plots using tensor board.
Currently, this package only supports boilerplate creation for ML projects in pytorch
We plan to support keras
in the future.
Run the following command to generate the packaged library
poetry build
Install the library from the generated whl file using
pip3 install dist/mltemplate-<version>-py3-none-any.whl --force-reinstall
You can then test the functionality of the pypi package.
To create a new version of the framework, update the version in pyproject.toml
file
Merge your changes to main and then publish git tag to trigger the release ci
git tag <x.x.x>
git push origin <x.x.x>
Copyright © 2020 Sowmya Yellapragada
Distributed under the MIT License (MIT).