* solvers -> solver
* adaptive_functions -> adaptive_function
* callbacks -> callback
* operators -> operator
* pinns -> physics_informed_solver
* layers -> block
This commit is contained in:
Dario Coscia
2025-02-19 11:35:43 +01:00
committed by Nicola Demo
parent 810d215ca0
commit df673cad4e
90 changed files with 155 additions and 151 deletions

View File

@@ -2,9 +2,9 @@
import torch
from torch import nn, cat
from .layers import AVNOBlock
from .block import AVNOBlock
from .base_no import KernelNeuralOperator
from pina.utils import check_consistency
from ..utils import check_consistency
class AveragingNeuralOperator(KernelNeuralOperator):

View File

@@ -3,14 +3,14 @@ Kernel Neural Operator Module.
"""
import torch
from pina.utils import check_consistency
from ..utils import check_consistency
class KernelNeuralOperator(torch.nn.Module):
r"""
Base class for composing Neural Operators with integral kernels.
This is a base class for composing neural operators with multiple
This is a base class for composing neural operator with multiple
integral kernels. All neural operator models defined in PINA inherit
from this class. The structure is inspired by the work of Kovachki, N.
et al. see Figure 2 of the reference for extra details. The Neural

View File

@@ -0,0 +1,35 @@
__all__ = [
"ContinuousConvBlock",
"ResidualBlock",
"EnhancedLinear",
"SpectralConvBlock1D",
"SpectralConvBlock2D",
"SpectralConvBlock3D",
"FourierBlock1D",
"FourierBlock2D",
"FourierBlock3D",
"PODBlock",
"OrthogonalBlock",
"PeriodicBoundaryEmbedding",
"FourierFeatureEmbedding",
"AVNOBlock",
"LowRankBlock",
"RBFBlock",
"GNOBlock"
]
from .convolution_2d import ContinuousConvBlock
from .residual import ResidualBlock, EnhancedLinear
from .spectral import (
SpectralConvBlock1D,
SpectralConvBlock2D,
SpectralConvBlock3D,
)
from .fourier import FourierBlock1D, FourierBlock2D, FourierBlock3D
from .pod import PODBlock
from .orthogonal import OrthogonalBlock
from .embedding import PeriodicBoundaryEmbedding, FourierFeatureEmbedding
from .avno_layer import AVNOBlock
from .lowrank_layer import LowRankBlock
from .rbf_layer import RBFBlock
from .gno_block import GNOBlock

View File

@@ -2,7 +2,7 @@ import torch
import torch.nn as nn
from ...utils import check_consistency
from pina.model.layers import (
from pina.model.block import (
SpectralConvBlock1D,
SpectralConvBlock2D,
SpectralConvBlock3D,

View File

@@ -18,7 +18,7 @@ class MIONet(torch.nn.Module):
.. seealso::
**Original reference**: Jin, Pengzhan, Shuai Meng, and Lu Lu.
*MIONet: Learning multiple-input operators via tensor product.*
*MIONet: Learning multiple-input operator via tensor product.*
SIAM Journal on Scientific Computing 44.6 (2022): A3490-A351
DOI: `10.1137/22M1477751
<https://doi.org/10.1137/22M1477751>`_
@@ -289,8 +289,8 @@ class DeepONet(MIONet):
.. seealso::
**Original reference**: Lu, L., Jin, P., Pang, G. et al. *Learning
nonlinear operators via DeepONet based on the universal approximation
theorem of operators*. Nat Mach Intell 3, 218229 (2021).
nonlinear operator via DeepONet based on the universal approximation
theorem of operator*. Nat Mach Intell 3, 218229 (2021).
DOI: `10.1038/s42256-021-00302-5
<https://doi.org/10.1038/s42256-021-00302-5>`_

View File

@@ -3,7 +3,7 @@
import torch
import torch.nn as nn
from ..utils import check_consistency
from .layers.residual import EnhancedLinear
from .block.residual import EnhancedLinear
class FeedForward(torch.nn.Module):

View File

@@ -7,7 +7,7 @@ import torch.nn as nn
from ..label_tensor import LabelTensor
import warnings
from ..utils import check_consistency
from .layers.fourier import FourierBlock1D, FourierBlock2D, FourierBlock3D
from .block.fourier import FourierBlock1D, FourierBlock2D, FourierBlock3D
from .base_no import KernelNeuralOperator

View File

@@ -1,6 +1,6 @@
import torch
from torch.nn import Tanh
from .layers import GNOBlock
from .block import GNOBlock
from .base_no import KernelNeuralOperator

View File

@@ -1,35 +0,0 @@
__all__ = [
"ContinuousConvBlock",
"ResidualBlock",
"EnhancedLinear",
"SpectralConvBlock1D",
"SpectralConvBlock2D",
"SpectralConvBlock3D",
"FourierBlock1D",
"FourierBlock2D",
"FourierBlock3D",
"PODBlock",
"OrthogonalBlock",
"PeriodicBoundaryEmbedding",
"FourierFeatureEmbedding",
"AVNOBlock",
"LowRankBlock",
"RBFBlock",
"GNOBlock"
]
from .convolution_2d import ContinuousConvBlock
from .residual import ResidualBlock, EnhancedLinear
from .spectral import (
SpectralConvBlock1D,
SpectralConvBlock2D,
SpectralConvBlock3D,
)
from .fourier import FourierBlock1D, FourierBlock2D, FourierBlock3D
from .pod import PODBlock
from .orthogonal import OrthogonalBlock
from .embedding import PeriodicBoundaryEmbedding, FourierFeatureEmbedding
from .avno_layer import AVNOBlock
from .lowrank_layer import LowRankBlock
from .rbf_layer import RBFBlock
from .gno_block import GNOBlock

View File

@@ -3,10 +3,10 @@
import torch
from torch import nn, cat
from pina.utils import check_consistency
from ..utils import check_consistency
from .base_no import KernelNeuralOperator
from .layers.lowrank_layer import LowRankBlock
from .block.lowrank_layer import LowRankBlock
class LowRankNeuralOperator(KernelNeuralOperator):
@@ -19,7 +19,7 @@ class LowRankNeuralOperator(KernelNeuralOperator):
to other functions. It can be trained with Supervised or PINN based
learning strategies.
LowRankNeuralOperator does convolution by performing a low rank
approximation, see :class:`~pina.model.layers.lowrank_layer.LowRankBlock`.
approximation, see :class:`~pina.model.block.lowrank_layer.LowRankBlock`.
.. seealso::

View File

@@ -1,7 +1,6 @@
"""Module for Spline model"""
import torch
import torch.nn as nn
from ..utils import check_consistency