Masked operators are able to apply masks during the forward pass to selectively use or ignore parts of the input. While the current Operator implementation usually allows to use various numbers of evaluation points, if fails to facilitate this behavior for differing numbers of sensors. While some operators are able to handle this behavior batched inputs are necessary to promote efficient and stable training. Therefore, masked inputs, allowing for padding sequences are required.
This PR introduces two new operator classes MaskedOperator. The MaskedOperator is able to process masked inputs by additionally accepting masks during the forward pass.
Which issue does this PR tackle?
Masked inputs cannot be passed to the operator implementation.
How does it solve the problem?
Implements MaskedOperator class to allow for masked inputs, that extends the Operator base class.
How are the changes tested?
All unit tests run without new errors.
Notes
Some neural operator implementations currently remain "unmasked" while theoretically being able to handle masked inputs (neural operator).
The trainer is currently only able to handle "unmasked" opreators and datasets.
There is no "masked" dataset implementation.
The PI loss could be extended to also allow for "masked" inputs.
The benchmark structure relies on "unmasked" operators, benchmarks, and datasets.
Checklist for Contributors
[x] Scope: This PR tackles exactly one problem.
[x] Conventions: The branch follows the feature/title-slug convention.
[x] Conventions: The PR title follows the Bugfix: Title convention.
[x] Coding style: The code passes all pre-commit hooks.
[x] Documentation: All changes are well-documented.
[x] Tests: New features are tested and all tests pass successfully.
[x] Changelog: Updated CHANGELOG.md for new features or breaking changes.
[x] Review: A suitable reviewer has been assigned.
Checklist for Reviewers:
[ ] The PR solves the issue it claims to solve and only this one.
[ ] Changes are tested sufficiently and all tests pass.
Feature: Masked Operator
Description
Masked operators are able to apply masks during the forward pass to selectively use or ignore parts of the input. While the current
Operator
implementation usually allows to use various numbers of evaluation points, if fails to facilitate this behavior for differing numbers of sensors. While some operators are able to handle this behavior batched inputs are necessary to promote efficient and stable training. Therefore, masked inputs, allowing for padding sequences are required.This PR introduces two new operator classes
MaskedOperator
. TheMaskedOperator
is able to process masked inputs by additionally accepting masks during the forward pass.Which issue does this PR tackle?
How does it solve the problem?
MaskedOperator
class to allow for masked inputs, that extends theOperator
base class.How are the changes tested?
Notes
Checklist for Contributors
feature/title-slug
convention.Bugfix: Title
convention.Checklist for Reviewers: