Skip to main content

Templating tool with boiler plate code for building robust machine learning projects in python.

Project description

ML Template

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.

How to use it?

  1. Install the package as - pip install mltemplate
  2. 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 -

  1. Update python frameworks and versions in template/requirements.txt as need for your project
  2. Head to template/datasets.py and modify create a new dataset that will work for your use case
  3. Navigate to template/models.py and create a new model class with your sota (or not) architecture
  4. In template/transforms.py add transforms such as Normalizer, Denormalize etc.
  5. Follow the TODO steps in template/cli/train.py and template/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.

Future Work

Currently, this package only supports boilerplate creation for ML projects in pytorch

We plan to support keras in the future.

Development

Local Testing

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.

Publish package to PyPi

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>

License

Copyright © 2020 Sowmya Yellapragada

Distributed under the MIT License (MIT).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mltemplate-1.0.4.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

mltemplate-1.0.4-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file mltemplate-1.0.4.tar.gz.

File metadata

  • Download URL: mltemplate-1.0.4.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.13 Linux/6.2.0-1012-azure

File hashes

Hashes for mltemplate-1.0.4.tar.gz
Algorithm Hash digest
SHA256 4e54fd2a0900cdb9c8c08357a6487a1231d9ddce10eda8d24ef5c9ad6f56641d
MD5 57ca0e65a258e75e87abe57b573c76c4
BLAKE2b-256 98d929f38ef5fd7f39769281c218976f85e9327132a98ef9097437f771d7dec6

See more details on using hashes here.

File details

Details for the file mltemplate-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: mltemplate-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.13 Linux/6.2.0-1012-azure

File hashes

Hashes for mltemplate-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 79bf6da3652c42d335685b5afc35c7c5f2ce2ed5e7b2e6df8f507c00e944b0c7
MD5 c001cbfeceda3e20cbcd213213a8028f
BLAKE2b-256 eba1bb4d772d207d1463d491ba93b25120b1cbb2a18aee447ac89d4cdbd2d3e3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page