Closed Jacob-Stevens-Haas closed 10 months ago
Also @yb6599 , because another group is using mitosis too, I'm going to be pretty regular about releasing new mitosis versions on pypi.
So I can run experiments once this PR is merged?
I was also going through the changes that come with this PR. Specifically, __init__.py
removes all the different nested dictionaries such as sims_params, diff_params, feat_params, etc. Where do we access these parameters from, if they are removed from __init__.py
? Do they come from mitosis directly?
For --param +plot_prefs=test-absrel5 \ --param +skinny_specs=duration-noise
What does the '+' before plot_prefs and skinny_specs represent?
Good questions. Mitosis 0.3.0 added the +
.
nested dictionaries such as sims_params, diff_params, feat_params, etc
These are now in config.py. See: vars(config)
So I can run experiments once this PR is merged?
yessir. But I want to give you practice with PR review, so if you have a moment, give it a full looksie, read the commit messages, comment on code, etc.
Now, parameters are split into two types: eval (like seed=19) and lookup (like metrics=all).
Are there more eval parameters other than seed?
Looks good! Looks like similar changes must be done in pdes.py for it to work properly.
Yep, good catch
Are there more eval parameters other than seed?
No. Well, technically group
is handled internally as an eval parameter at points, but it's passed as its own command line argument.
This change removes the CLI from gen-experiments and uses the new generic CLI from mitosis. See examples in the
experiment-scripts
branch:Once installed, mitosis has a decent tooltip from
mitosis --help
/mitosis -h
.Why
The old version of mitosis loaded the parameters (which could use any arbitrary python objects) and sent them to the jupyter notebook via pickle. For complex objects like gurobipy optimizers (in MIOSR), this would cause errors. It also required some fancy loading logic in this repo. Now, parameters are split into two types: eval (like seed=19) and lookup (like metrics=all). The latter are simply defined in a regular python dictionary (or in this case, a nested dictionary).