OperatorLearning.jl
OperatorLearning.jl copied to clipboard
Create a FNO wrapper
In order to assimilate FourierLayer to the yet to implement DeepONet, it would be nice to have a Fourier Neural Operator (FNO) constructor that creates the entire architecture.
Something like:
model = FNO(in, out, latentspace, layercount, grid, modes, activation)
Instead of having to make the entire chain yourself:
layer = FourierLayer(latentspace, latentspace, grid, modes, activation)
model = Chain(
Dense(in, latentspace, activation),
layer,
layer,
[...],
Dense(latentspace, out, activation)
)
This doesn't add functionality but helps unify the API of the package. FourierLayer should still stay accessible via API as is since it offers a lot more control per layer than constructing the entire architecture with all the same global arguments.