Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add SimulationData type #14

Closed
axsk opened this issue Mar 1, 2024 · 3 comments
Closed

add SimulationData type #14

axsk opened this issue Mar 1, 2024 · 3 comments

Comments

@axsk
Copy link
Owner

axsk commented Mar 1, 2024

This is nagging me for a long time and has caused a lot of headaches.

The main problem is that each of these can stand on their own, no clear hierarchy is obvious.

ISOKANN has its own trainings data, which however can differ from the full "coordinate" data.
For visualization however it needs access to the "coordinate" data.
Adaptive sampling complicates this further.

One way of patching them together is via a DataLoader which doubles as data provider for ISOKANN but also holds raw data, and is able to also contain a Simulation.

Where do we attach known reaction coordinates (for visualization) etc?

@axsk
Copy link
Owner Author

axsk commented Mar 2, 2024

Iso needs to know only data. data can be either the common tuple of arrays, or some other struct implementing the MLUtils.getobs interface. In the latter case it could host a simulation. Iso can just tell data to resample itself, and data can forward to simulation.
I think this also makes the most sense semantically.

@axsk
Copy link
Owner Author

axsk commented Mar 2, 2024

A good starting point would be a type SimulationData which holds the simulation coords (necessary for output), the isokann data (possibley transformed) and the sim object to generate the data.

This should then be able to work as data object for Iso2.

@axsk axsk changed the title How to compose Iso, Data and Simulation add SimulationData type Mar 2, 2024
@axsk axsk closed this as completed in 8d32e18 Mar 6, 2024
@axsk axsk mentioned this issue Mar 6, 2024
@axsk
Copy link
Owner Author

axsk commented Mar 6, 2024

We could make this an interface as well. Here some thoughts on the specs.

getobs or getdata?
getxs
getys

getcoords (but how do we return the ys coords)

dim
outdim? (chi dimension)
length?
getindex? (but calling only via getobs)
gpu/cpu?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant