Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New layer architecture #159

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

New layer architecture #159

wants to merge 5 commits into from

Commits on Mar 12, 2022

  1. New layer architecture:

    1. Static network graph is separated from invocation context.
       a) Static graph captures layers, connections between them
          and shapes of the units of data.
       b) Invocation context specifies the batch size and stores
          all data associated with an invocation (data, gradients).
    2. Batch size is now explicit in the context instead of being
       implicitly extracted by layers from incoming data.
    3. Separation into Layer and ILayer is now gone, everything is
       now handled in layer implementations (with "leaf" layers focusing
       on data manipulations while container layers focusing on
       network composition).
    
    This is still a very early prototype not intended for mergin:
    1. Solver architecture not changed and just crudely hacked to support
       new network architecture.
    2. Shared weights not supported.
    3. Serialization not supported.
    Mikhail Balakhno authored and Mikhail Balakhno committed Mar 12, 2022
    Configuration menu
    Copy the full SHA
    76b9899 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2022

  1. New architecture:

    1. Static network graph is separated from invocation context.
       a) Static graph captures layers, connections between them
          and shapes of the units of data.
       b) Invocation context specifies the batch size and stores
          all data associated with an invocation (data, gradients).
    2. Batch size is now explicit in the context instead of being
       implicitly extracted by layers from incoming data.
    3. Separation into Layer and ILayer is now gone, everything is
       now handled in layer implementations (with "leaf" layers focusing
       on data manipulations while container layers focusing on
       network composition).
    4. Solvers replaced by a more linear architecture of a top-level
       Trainer and different Optimizers (although only SGD with momentum
       is currently supported since both RMSprop and Adam require
       squaring backend support).
    
    This is still a very early prototype not intended for mergin:
    1. Shared weights not supported.
    2. Serialization not supported.
    3. Not all layers are migrated.
    Mikhail Balakhno authored and Mikhail Balakhno committed Apr 28, 2022
    Configuration menu
    Copy the full SHA
    cdc5d6f View commit details
    Browse the repository at this point in the history

Commits on May 7, 2022

  1. New architecture:

    1. Static network graph is separated from invocation context.
       a) Static graph captures layers, connections between them
          and shapes of the units of data.
       b) Invocation context specifies the batch size and stores
          all data associated with an invocation (data, gradients).
    2. Batch size is now explicit in the context instead of being
       implicitly extracted by layers from incoming data.
    3. Separation into Layer and ILayer is now gone, everything is
       now handled in layer implementations (with "leaf" layers focusing
       on data manipulations while container layers focusing on
       network composition).
    4. Solvers replaced by a more linear architecture of a top-level
       Trainer and different Optimizers (SGD with momentum and Adam
       are currently supported).
    
    This is still a very early prototype not intended for mergin:
    1. Shared weights not supported.
    2. Serialization not supported.
    3. Not all layers are migrated.
    Mikhail Balakhno authored and Mikhail Balakhno committed May 7, 2022
    Configuration menu
    Copy the full SHA
    9344920 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7aaa0df View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2022

  1. Serialization support

    Mikhail Balakhno authored and Mikhail Balakhno committed Jul 2, 2022
    Configuration menu
    Copy the full SHA
    eeb0bea View commit details
    Browse the repository at this point in the history