Git Product home page Git Product logo

modulom's Introduction

ModulOM

Code around the supervision and decoding of networks in Deep Learning can quickly become a nightmare. The main cause is that interdependent maths are achieved through cascades of functions. As functions route data through their parameters, it is not rare for a modification in the flow of data to require refactoring through a whole cascade of functions. The final system is not only rigid, but only barely observable:

  • Are there terms that were computed but not needed?
  • Are there terms that were computed twice?
  • What are the exact dependencies of each term?

In the ModulOM paper, we suggested that those issues could be solved by:

  1. Regrouping parameters in favor of a single object containing the data
  2. Regrouping those functions in classes, as methods
  3. Composing classes through inheritance

The resulting class instance can become the systematic function parameter, and cache the results so as to avoid recomputations.

ModulOM therefore achieves the following properties:

  • A term is only computed if it is needed, and only once: when it is needed for the first time,
  • Easy access to any of the terms from within, but also outside of the ModulOM,
  • Multiple inheritance allows for easy combination to explore of the possible systems.

This repository just got started, please be patient if you are looking for something stable.

modulom's People

Contributors

mistasse avatar

Stargazers

Gabriel avatar

Watchers

 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.