ml-workflow

Pytorch project template and required tools


Keywords
pytorch, ignite, workflow, utilities
License
Apache-2.0
Install
pip install ml-workflow==0.8.4

Documentation

ML Workflow

ML workflow contains our process of bringing a project to fruition as efficiently as possible. This is subject to change as we iterate and improve. This package implements tools and missing features to help bridge the gap between frameworks and libraries that we utilize.

The main packages and tools that we build around are:

  • pytorch
  • ignite
  • pytorch-datastream
  • guild

See the documentation for more information.

Install in existing project

pip install ml-workflow

Create new project with MNIST template

mkdir new-project
cd new-project
virtualenv venv -p python3.8
source venv/bin/activate
pip install ml-workflow
python -m workflow.setup_project

pip install -r requirements.txt
pip install -r dev_requirements.txt
pip freeze > dev_requirements.txt

# reactivate environment to find guild
deactivate
source venv/bin/activate

You can train a model and inspect the training with:

guild run prepare
guild run train
guild tensorboard

Development

Prepare and run tests

git clone git@github.com:aiwizo/ml-workflow.git
cd ml-workflow
virtualenv venv --python python3.8
source venv/bin/activate
pip install -r requirements.txt
pip install -r dev_requirements.txt
pip install pytest
python -m pytest

Test template

./setup_template.py
./test_template.py

Use development version in project

The following steps will create a link to the local directory and any changes made to the package there will directly carry over to your project environment.

cd path/to/my/project
source venv/bin/activate

cd path/to/work/area
git clone git@github.com:aiwizo/ml-workflow.git
cd ml-workflow
pip install -e .