Metadata-Version: 2.1
Name: ml-workflow
Version: 0.8.2
Summary: Pytorch project template and required tools
Home-page: UNKNOWN
Author: "Aiwizo"
Author-email: richard@aiwizo.com
License: Apache-2
Project-URL: Source Code, https://github.com/aiwizo/ml-workflow/
Keywords: pytorch,ignite,workflow,utilities
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Other Environment
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Description-Content-Type: text/x-rst; charset=UTF-8
Requires-Dist: numpy (>=1.18.1)
Requires-Dist: opencv-python (>=4.1.2.30)
Requires-Dist: pandas (>=0.25.3)
Requires-Dist: pytorch-ignite (<0.5,>=0.4.0)
Requires-Dist: scikit-learn (>=0.20.4)
Requires-Dist: tensorboard (>=2.1.0)
Requires-Dist: torch (>=1.2.0)
Requires-Dist: tqdm (>=4.41.1)
Requires-Dist: cookiecutter (==1.7.2)
Requires-Dist: imgaug (>=0.4.0)
Requires-Dist: pytorch-datastream (>=0.3.0)

===========
ML Workflow
===========

.. image:: https://badge.fury.io/py/ml-workflow.svg
       :target: https://badge.fury.io/py/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 <https://ml-workflow.readthedocs.io/en/latest/>`_
for more information.

Install in existing project
===========================

.. code-block::

    pip install ml-workflow

Create new project with MNIST template
======================================

.. code-block::

    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:

.. code-block::

    guild run prepare
    guild run train
    guild tensorboard


Development
===========

Prepare and run tests

.. code-block::

    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
=============

.. code-block::

    ./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.

.. code-block::

    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 .



