Skip to content
This repository was archived by the owner on Sep 28, 2024. It is now read-only.

Commit f314f25

Browse files
committed
Update readme
1 parent ce679e4 commit f314f25

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

README.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,17 @@ from infinite-dimensional space (u, t) to infinite-dimensional space f(u, t).
2929
Neural operator learns a continuous function between two continuous function spaces.
3030
The kernel can be trained on different geometry, which is learned from a graph.
3131

32-
**Fourier neural operator** learns a neural operator with Dirichlet kernel to form a Fourier transformation.
32+
**[Fourier neural operator](src/model.jl)** learns a neural operator with Dirichlet kernel to form a Fourier transformation.
3333
It performs Fourier transformation across infinite-dimensional function spaces and learns better than neural operator.
3434

35-
**Markov neural operator** learns a neural operator with Fourier operators.
35+
**[Markov neural operator](src/model.jl)** learns a neural operator with Fourier operators.
3636
With only one time step information of learning, it can predict the following few steps with low loss
3737
by linking the operators into a Markov chain.
3838

39-
**DeepONet operator** (Deep Operator Network) learns a neural operator with the help of two sub-neural net structures described as the branch and the trunk network.
39+
**[DeepONet operator](src/DeepONet.jl)** (Deep Operator Network) learns a neural operator with the help of two sub-neural net structures described as the branch and the trunk network.
4040
The branch network is fed the initial conditions data, whereas the trunk is fed with the locations where the target(output) is evaluated from the corresponding initial conditions.
4141
It is important that the output size of the branch and trunk subnets is same so that a dot product can be performed between them.
4242

43-
Currently, the `OperatorKernel` layer is provided in this work.
44-
As for model, there are `FourierNeuralOperator` and `MarkovNeuralOperator` provided. Please take a glance at them [here](src/model.jl).
45-
4643
## Usage
4744

4845
### Fourier Neural Operator
@@ -77,7 +74,7 @@ model = FourierNeuralOperator(
7774
And then train as a Flux model.
7875

7976
```julia
80-
loss(𝐱, 𝐲) = sum(abs2, 𝐲 .- model(𝐱)) / size(𝐱)[end]
77+
loss(𝐱, 𝐲) = l₂loss(model(𝐱), 𝐲)
8178
opt = Flux.Optimiser(WeightDecay(1f-4), Flux.ADAM(1f-3))
8279
Flux.@epochs 50 Flux.train!(loss, params(model), data, opt)
8380
```

0 commit comments

Comments
 (0)