Closed nmichlo closed 2 years ago
Before this can happen. Research code needs to be fully pulled out from dissent into its own separate repo. This can be used as a test base for these features.
Features implemented in: 4e2fe384e28f3f65388e82a005137fc70806ba69
Split out research code
Naive plugin functionality with experiment.run
, append to the config list experiment.plugins
with python import paths to a function that registers values with the library. For example: experiment.plugins="['your_module. register_to_disent']"
Override the main experiment search path by specifying the environment variable DISENT_CONFIG_ROOTS=.../path/to/your/configs
. This hydra config directory will be added to the hydra search path and take precedence over the configs provided by disent in the experiment/configs
directory. You can easily copy, paste and modify files, or even add new ones for when running experiments.
Using the naive experiment plugin functionality above, you can register components with disent using the disent registry. For example if you write a new framework, you can add your own configs above, but you can also add an entry in the registry using:
import disent.registry as R
def register_to_disent():
R.FRAMEWORKS.setm['x__adaave_tvae'] = R.LazyImport('research.code.frameworks.vae._supervised__adaave_tvae.AdaAveTripletVae')
Docs need to be updated #7
The current experiment configs are intended as examples and defaults.
The current
disent.registry
is largely unused and inflexible.