Comments (1)
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 configresearch/code/
-- additional frameworks, datasets, metrics to add inject into disentresearch/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)
- [REWRITE]: Data and Dataset Rewrite HOT 1
- [BUG]: Verify Models HOT 1
- [BUG]: "AssertionError: Torch not compiled with CUDA enabled" HOT 2
- Windows, Macos & GPU Tests
- Standardise Loss Reduction Modes HOT 1
- Adopt a Lightning-Flash Style API for Frameworks HOT 1
- [Q]: What's the native way to split datasets into train, validation and test? HOT 4
- [Q]: Command to run with defaults? HOT 4
- [FEATURE]: Experiment Config Override Support & Custom Code Registry HOT 3
- [FEATURE]: Allow Metrics To Directly Accept Frameworks & Datasets HOT 1
- [BUG]: Investigate Schedule Interaction With Validation & Test Data
- [FEATURE]: Model Saving and Checkpointing HOT 11
- [FEATURE]: Add to Registry from Configs HOT 1
- [FEATURE]: Simplifying your configs using hydra-zen HOT 2
- [BUG]: Automatic downloads not working for MPI3D and dSprites HOT 3
- Averaging in AdaGVAE HOT 2
- [FEATURE]: Add DMS metric HOT 5
- [FEATURE]: Add IRS Metric HOT 2
- [FEATURE]: wandb model checkpoint support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from disent.