deep-piping – IoC/DI (not only) for Deep Learning

Paraphrasing Wikipedia – in traditional programming, the custom code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks. In IoC, custom-written portions of a computer program receive the flow of control from a generic framework.

In the context of Deep Learning (DL) the IoC approach can be illustrated by libraries such as mmdetection or Detectron2.

The goal of deep-piping is to provide an IoC/DI framework for DL independent of a particular machine learning task or algorithm. To this end, deep-piping focuses on providing:

  • the best possible syntax
  • useful primitives such as:
    • flexible models and trainers
    • dataset transformers
    • data access objects
  • ability to use any existing Python class without the need to register it within the framework
  • automatic command line interface for all experiments
  • a well-defined and sensible multiple inheritance mechanism able to merge repeated keys

To learn more, visit the project GitHub repository: https://github.com/sadaszewski/deep-piping/.

Leave a Reply

Your email address will not be published. Required fields are marked *