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

Update Version 0.2 #359

Merged
merged 14 commits into from
Oct 31, 2024
Merged

Update Version 0.2 #359

merged 14 commits into from
Oct 31, 2024

Conversation

dario-coscia
Copy link
Collaborator

@dario-coscia dario-coscia commented Oct 4, 2024

Updating v0.2:

  • Conditions update with factory classes (see Conditions #341)
  • LabelTensor update
  • Differential Operators update to match new LabelTensor
  • Update geometry module
  • Enhancing Graph
  • New solvers, and update current solvers
  • Dataloading
  • Connector and Abstract Problem

…et/dataloader

* Modify domain by adding sample_mode, variables as property
* Small change concatenate -> cat in lno/avno
* Create different factory classes for conditions
@dario-coscia dario-coscia added the v0.2 implementation in v0.2 label Oct 4, 2024
dario-coscia and others added 2 commits October 4, 2024 15:39
* Add summation and remove deepcopy (only for tensors) in LabelTensor class
* Update operators for compatibility with updated LabelTensor implementation
* Implement labels.setter in LabelTensor class
* Update LabelTensor

---------

Co-authored-by: FilippoOlivo <[email protected]>
FilippoOlivo and others added 2 commits October 10, 2024 18:26
@dario-coscia
Copy link
Collaborator Author

@ndem0 Hi! We are starting to think about dataloading. Currently, with @FilippoOlivo, we have rewritten the Condition and AbstractProblem classes. We have created an object called Collector that is in charge of collecting the data (storing the sampled data for each condition). At the end of the day a Collector will have an attribute called data_collections which is a dictionary where the keys are conditions keys, and the values are again dictionaries containing input_points and [equation/output_points/conditional_variable]. In that way we will have a dictionary as follows:

{
 'condition_A' : {'input_points' : torch.Tensor/Graph, 'output_points' : torch.Tensor/Graph},
 'condition_B' : {'input_points' : torch.Tensor, 'equation' : Equation},
 ...
 }

In this way, the dataloader will have to interface only with the collector (and not the whole problem, conditions, ...). Notice that if the dataloader is updated (new points whatever) automatically the collector is updated!

@ndem0 What do you think? I would start changing the dataloading such that they will only have three arguments 'input_points', '[equation/output_points/conditional_variable]', 'condition_name' all of this can be extracted from collector.data_collections and are all the needed things for the solver training_step

@ndem0 ndem0 marked this pull request as ready for review October 31, 2024 11:00
@ndem0 ndem0 merged commit dbb5476 into 0.2 Oct 31, 2024
0 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v0.2 implementation in v0.2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants