Metadata-Version: 2.1
Name: trainer
Version: 0.0.5
Summary: General purpose model trainer for PyTorch that is more flexible than it should be, by 🐸Coqui.
Home-page: https://github.com/coqui-ai/Trainer
Author: Eren Gölge
Author-email: egolge@coqui.ai
License: Apache2
Project-URL: Documentation, https://github.com/coqui-ai/Trainer/
Project-URL: Tracker, https://github.com/coqui-ai/Trainer/issues
Project-URL: Repository, https://github.com/coqui-ai/Trainer
Project-URL: Discussions, https://github.com/coqui-ai/Trainer/discussions
Description: <p align="center"><img src="https://user-images.githubusercontent.com/1402048/151947958-0bcadf38-3a82-4b4e-96b4-a38d3721d737.png" align="right" height="255px" /></p>
        
        # 👟 Trainer
        An opinionated general purpose model trainer on PyTorch with a simple code base.
        
        ## Installation
        
        From Github:
        
        ```console
        git clone https://github.com/coqui-ai/Trainer
        cd Trainer
        make install
        ```
        
        From PyPI:
        
        ```console
        pip install coqui-trainer
        ```
        
        Prefer installing from Github as it is more stable.
        
        ## Implementing a model
        Subclass and overload the functions in the [```TrainerModel()```](trainer/model.py)
        
        ## Training a model
        See the test script [here](tests/test_train_mnist.py) training a basic MNIST model.
        
        ## Training with DDP
        
        ```console
        $ python -m trainer.distribute --script path/to/your/train.py --gpus "0,1"
        ```
        
        We don't use ```.spawn()``` to initiate multi-gpu training since it causes certain limitations.
        
        - Everything must the pickable.
        - ```.spawn()``` trains the model in subprocesses and the model in the main process is not updated.
        - DataLoader with N processes gets really slow when the N is large.
        
        ## Supported Experiment Loggers
        - [Tensorboard](https://www.tensorflow.org/tensorboard) - actively maintained
        - [ClearML](https://clear.ml/) - actively maintained
        - [MLFlow](https://mlflow.org/)
        - [Aim](https://aimstack.io/)
        - [WandDB](https://wandb.ai/)
        
        To add a new logger, you must subclass [BaseDashboardLogger](trainer/logging/base_dash_logger.py) and overload its functions.
        
        
        
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: Natural Language :: English
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6.0, <3.10
Description-Content-Type: text/markdown
Provides-Extra: dev
Provides-Extra: test
Provides-Extra: all
