Giter VIP home page Giter VIP logo

loop's Introduction

A simple implementation a Deep Learning models' training loop built on top of pytorch with maximal compatibility with that framework in mind.

Intro

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.

๐Ÿ“‹ Roadmap

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):

  • Basic implementation of training loop for CNN-based image classification models
  • Add notebooks with benchmarks and examples
  • Simplify training loop instantiation
  • Make possible to pass plain PyTorch classes and objects directly into the training loop function
  • More callbacks (early stopping, model saver, visdom integration, etc.)
  • Smoke tests and sanity checks to verify the correctness of training process
  • CNN regression
  • Adding more examples and applications (Jupyter notebooks)
  • Continuous integration is added to the repository
  • Benchmarking on "classical" image datasets
  • Basic set of image augmentations
  • Basic RNN support
  • Basic GAN support

๐Ÿ“š Dependencies

  • psutil
  • numpy
  • pandas
  • torch
  • torchvision
  • (dev only) pytest

If you need something mature and robust

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:

  1. Ignite โ€” an official high-level interface for PyTorch

  2. Torchsampleโ€Šโ€”โ€Ša Keras-like wrapper with callbacks, augmentation, and handy utils

  3. Skorchโ€Šโ€”โ€Ša scikit-learn compatible neural network library

  4. fastaiโ€Šโ€”โ€Ša powerful end-to-end solution to train Deep Learning models of various complexity with high accuracy and computation speed

Outro

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.

loop's People

Contributors

devforfu avatar

Watchers

Vladimir Shulyak avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.