Jacob-Stevens-Haas / gen-experiments

Pysindy experiments. Composable and extensible
MIT License
1 stars 2 forks source link

Separate out the data generation step #36

Open Jacob-Stevens-Haas opened 1 month ago

Jacob-Stevens-Haas commented 1 month ago

When gridsearching SINDy parameters, the same data is generated for each trial. This costs unneccessary time. Now that mitosis 0.5 can support multi-step experiments, let's pull out data generation as its own experiment step.

Gridsearch will wrap the two steps, dispatching parameters to either data generation or fit eval.

The refactoring path looks like 1) make data generation fit the mitosis API 2) Pull data generation out of experiments, and have gridsearch call both in series 3) change _ndindex_skinny into to iterators: sim params and others 4) change the looping to a nested loop 5) Alternatively to 3 and 4: Cache data generation in a memoized helper function.

Optionally, add a data loading step

Jacob-Stevens-Haas commented 1 month ago

The challenge in (2) is that group (e.g. "lorenz") determines both:

So these are perhaps all truly data parameters that need to be passed to odes.run as part of data