Giter Club home page Giter Club logo

Comments (1)

nmichlo avatar nmichlo commented on June 12, 2024

Current example lives at https://github.com/nmichlo/msc-research

  • plugin is defined in the folder: https://github.com/nmichlo/msc-research/tree/main/research containing directories:
    • research/config/ -- extensions & overrides to the experiment config
    • research/code/ -- additional frameworks, datasets, metrics to add inject into disent
    • research/scripts/ -- entrypoints that handles launching with the plugin

To tell disent about the files, you need to set the following environment variable to an absolute path:

export DISENT_CONFIGS_PREPEND="path/to/extra/config/dir"  # for the example above, this is: `<root>/research/config`

To register your files with disent from the config referenced above, you need to add the following keys to the root of your config:

experiment:
  plugins:
    - your_plugin.submodule.register_to_disent
    # for the example above, this is `research.code.register_to_disent`, which leads to `research/code/__init__.py`

The key: your_plugin.submodule is a path to a python module which contains the function register_to_disent which when called will register all the additional classes with disent to the disent registry: https://github.com/nmichlo/msc-research/blob/main/research/code/__init__.py

For example:

import disent.registry as R


def register_to_disent():
    # register metrics
    R.METRICS.setm['flatness'] = R.LazyImport('research.code.metrics._flatness.metric_flatness')

    # groundtruth -- impl synthetic
    R.DATASETS.setm['xyblocks'] = R.LazyImport('research.code.dataset.data._groundtruth__xyblocks')

    # [AE - EXPERIMENTAL]
    R.FRAMEWORKS.setm['x__dot_ae']  = R.LazyImport('research.code.frameworks.ae._unsupervised__dotae.DataOverlapTripletAe')

    # [VAE - EXPERIMENTAL]
    R.FRAMEWORKS.setm['x__dot_vae'] = R.LazyImport('research.code.frameworks.vae._unsupervised__dotvae.DataOverlapTripletVae')

    # register kernels for loss functions
    R.KERNELS.setm.register_regex(pattern=r'^(xy1)_abs(63)$',  example='xy1_abs63',  factory_fn='research.code.dataset.transform._augment._make_xy1_abs63')

from disent.

Related Issues (20)

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.