aai-institute / continuiti

Learning function operators with neural networks.
GNU Lesser General Public License v3.0
21 stars 3 forks source link

Bugfix/60 problem with kernel integral architecture #63

Closed MLuchmann closed 7 months ago

MLuchmann commented 7 months ago

Bugfix: Problem with kernel integral architecture

Description

The current implementation of the Integral Kernel layer only manages to learn the target function when the target space is discretized by only one value (shape(y) == (batch-size, 1, y-dim)) as it is the case in examples/selfsupervised.ipynb. However, when the target space is discretized with a value larger than 1, the operator fails to learn the target function (at least for specific examples).

Which issue does this PR tackle?

How does it solve the problem?

Note

I had to change one of the test cases because I changed the way the IntegralKernel method processes the inputs x and y. Previously extra dimensions were added via .squeeze(). I deleted these lines. The idea is that the reshaping is the responsibillity of the given kernel and not the IntegralKernel operation.

How are the changes tested?

Checklist for Contributors

Checklist for Reviewers: