GithubHelp home page GithubHelp logo

nickhnelsen / fourier-neural-mappings Goto Github PK

View Code? Open in Web Editor NEW
11.0 1.0 0.0 2.95 MB

An extension of Fourier Neural Operator to finite-dimensional input and/or output spaces.

Home Page: https://doi.org/10.22002/r5ga1-55d06

License: MIT License

Python 92.59% Shell 7.41%
infinite-dimensions operator-learning partial-differential-equations surrogate-model functional-regression neural-operator fourier-neural-operator

fourier-neural-mappings's People

Contributors

mtrautner avatar nickhnelsen avatar zhengyu-huang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

fourier-neural-mappings's Issues

Renaming

FNF (Fourier neural functional) could also be named Fourier Neural Encoder (FNE) for consistency with FND. Then Fourier Neural Network (FNN) function could be renamed Fourier Neural Function (FNF).

Can decide later.

Lose information in FNF?

Does the truncation of information in Fourier Neural Functionals cause issues? It takes a function and integrates it against another function with k_max Fourier modes (so only the first k_maxd Fourier modes are used). But unlike FNO layers, there is no notion of skip connection to retain the truncated modes i.e. use all the information in the input.
An alternative could be to take function $u$, map to the right number of output channels using $MLP(u(x))$, then take the mean of the resulting function to map it to a vector. Then concatenate this with an FNF layer. MLP being nonlinear is crucial here, else only the zero-th Fourier mode would be used.

So we would have
torch.cat(Lu, \int MLP(u(x)) dx),
where L is the FNF map.

vec-to-vec model

Add argument to choose whether to use 1D or 2D spatial layers in the latent function space.

Test scripts

After clean PR #7 , scripts have not been tested so there are perhaps some errors in the function import paths. Need to check all.

rename repo

fourier-neural-mappings

change readme to reflect this

also add conda yml environment requirement following the readme template here

acknowledgements in repo (original fno code, pyapprox, etc)

Renaming

FNO2d
FNO2dto3d
FNF2d

Cleanup repo before making public: models directory, shared.py for shared layers and fucntions, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.