This is a project template for PyTorch using Ignite and Sacred to run, store and keep track off all the experiments. Ignite provides the different engines and event handlers to train and track the progress of the runs. Sacred on the other hand provides functionality to define and store results in a way that it is easy to reproduce and retrieve them for analysis.
This is the list of main libraries:
- PyTorch and Torchvision: Basic framework for Deep Learning models and training.
- Ignite: High-level framework to train models, eliminating the need for much boilerplate code.
- Sacred: Libary used to define and run experiments in a systematic way.
- Jupyter: The default way to visualise and analise results.
Optional libraries (but highly recommended):
- GitPython: Useful to integrate Sacred to Git. This allows to keep track of the status of the repo when an experiment was ran.
- MongoDB: To store the results in database instead of simple files.
- PyMongo: Needed if you want to use MongoDB.
- Incense: To load experiments from a MongoDB database into a Jupyter Notebook.
- Omniboard: To visualise the results contained in a database.
Refer to each page for how to install the corresponding libraries and their dependencies. Then, we can create a project from the template using GitHub's template functionality. For more details refer to "Creating a repository project board" on GitHub.