A training/validation loop and utils for PyTorch
A simple implementation a Deep Learning models' training loop built on top of pytorch
with maximal compatibility with that framework in mind.
The pytorch
framework provides a very clean and straightforward interface to build (Deep) Machine Learning models and read the datasets from a persistent storage. So let's use the best features of this great tool and write a set of thin and transparent wrappers on top of it to build a general-purpose training/validation loop that will be able to accept Dataset
and Module
instances, and run training process using modern Deep Learning training techniques.
The project is at the very beginning of its development and lacks many desired features and tests. Therefore, there is a long list of improvements to be implemeted (from must-have to more optional):
visdom
integration)Please check the following projects (especially, the last one) if you would like to have something that is more suitable for production usage with less manual work and debugging:
Ignite an official high-level interface for PyTorch
Torchsamplea Keras-like wrapper with callbacks, augmentation, and handy utils
Skorcha scikit-learn compatible neural network library
fastaia powerful end-to-end solution to train Deep Learning models of various complexity with high accuracy and computation speed
The repository started as an author's attempt to write some simple solution to train an image classifier with modern Deep Learning training techniques as described in this post. It is mostly about learning and implementing interesting algorithms, alongside with robustness and clean code.