Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The K and ψ cant fit the training data #1

Open
WenxSong opened this issue Mar 26, 2021 · 3 comments
Open

The K and ψ cant fit the training data #1

WenxSong opened this issue Mar 26, 2021 · 3 comments

Comments

@WenxSong
Copy link

I used the same data in the paper and your code, but the loss cant decrease, The K and ψ cant fit the training data.
I check the code but seems everything was just right. how could I know if anything gets wrong?

It: 0, Loss: 4.032e+02, Time: 0.92
It: 10, Loss: 2.932e+02, Time: 0.11
It: 20, Loss: 2.039e+02, Time: 0.11
It: 30, Loss: 1.407e+02, Time: 0.11
It: 40, Loss: 9.741e+01, Time: 0.10
It: 50, Loss: 6.772e+01, Time: 0.16
It: 60, Loss: 4.741e+01, Time: 0.13
It: 70, Loss: 3.375e+01, Time: 0.11
It: 80, Loss: 2.472e+01, Time: 0.11
It: 90, Loss: 1.884e+01, Time: 0.13
It: 100, Loss: 1.503e+01, Time: 0.11
It: 110, Loss: 1.258e+01, Time: 0.11
It: 120, Loss: 1.100e+01, Time: 0.11
It: 130, Loss: 9.982e+00, Time: 0.11
It: 140, Loss: 9.321e+00, Time: 0.12
It: 150, Loss: 8.892e+00, Time: 0.10
It: 160, Loss: 8.614e+00, Time: 0.11
It: 170, Loss: 8.434e+00, Time: 0.10
It: 180, Loss: 8.318e+00, Time: 0.10
It: 190, Loss: 8.243e+00, Time: 0.12
It: 200, Loss: 8.195e+00, Time: 0.11
It: 210, Loss: 8.165e+00, Time: 0.11
It: 220, Loss: 8.145e+00, Time: 0.12
It: 230, Loss: 8.133e+00, Time: 0.11
It: 240, Loss: 8.126e+00, Time: 0.11
It: 250, Loss: 8.121e+00, Time: 0.15
It: 260, Loss: 8.118e+00, Time: 0.12
It: 270, Loss: 8.117e+00, Time: 0.10
It: 280, Loss: 8.116e+00, Time: 0.10
It: 290, Loss: 8.115e+00, Time: 0.11
It: 300, Loss: 8.115e+00, Time: 0.11
It: 310, Loss: 8.114e+00, Time: 0.10
It: 320, Loss: 8.114e+00, Time: 0.11
It: 330, Loss: 8.114e+00, Time: 0.10
It: 340, Loss: 8.114e+00, Time: 0.11
It: 350, Loss: 8.114e+00, Time: 0.12
It: 360, Loss: 8.114e+00, Time: 0.10
It: 370, Loss: 8.114e+00, Time: 0.11
It: 380, Loss: 8.114e+00, Time: 0.11
It: 390, Loss: 8.114e+00, Time: 0.12
It: 400, Loss: 8.114e+00, Time: 0.10
It: 410, Loss: 8.114e+00, Time: 0.16
It: 420, Loss: 8.114e+00, Time: 0.11
It: 430, Loss: 8.113e+00, Time: 0.11
It: 440, Loss: 8.113e+00, Time: 0.10
It: 450, Loss: 8.113e+00, Time: 0.10
It: 460, Loss: 8.113e+00, Time: 0.11
It: 470, Loss: 8.113e+00, Time: 0.10
It: 480, Loss: 8.113e+00, Time: 0.11
It: 490, Loss: 8.113e+00, Time: 0.11
It: 500, Loss: 8.113e+00, Time: 0.16
It: 510, Loss: 8.113e+00, Time: 0.14
It: 520, Loss: 8.113e+00, Time: 0.10
It: 530, Loss: 8.113e+00, Time: 0.11
It: 540, Loss: 8.113e+00, Time: 0.11
It: 550, Loss: 8.113e+00, Time: 0.11
It: 560, Loss: 8.113e+00, Time: 0.12
It: 570, Loss: 8.113e+00, Time: 0.11
It: 580, Loss: 8.113e+00, Time: 0.11
It: 590, Loss: 8.113e+00, Time: 0.10
It: 600, Loss: 8.113e+00, Time: 0.11
It: 610, Loss: 8.113e+00, Time: 0.13
It: 620, Loss: 8.113e+00, Time: 0.11
It: 630, Loss: 8.113e+00, Time: 0.11
It: 640, Loss: 8.113e+00, Time: 0.12
It: 650, Loss: 8.113e+00, Time: 0.13
It: 660, Loss: 8.113e+00, Time: 0.11
It: 670, Loss: 8.113e+00, Time: 0.12
It: 680, Loss: 8.113e+00, Time: 0.12
It: 690, Loss: 8.113e+00, Time: 0.12
It: 700, Loss: 8.113e+00, Time: 0.14
It: 710, Loss: 8.113e+00, Time: 0.12
It: 720, Loss: 8.113e+00, Time: 0.10
It: 730, Loss: 8.113e+00, Time: 0.11
It: 740, Loss: 8.113e+00, Time: 0.12
It: 750, Loss: 8.113e+00, Time: 0.12
It: 760, Loss: 8.113e+00, Time: 0.10
It: 770, Loss: 8.113e+00, Time: 0.11
It: 780, Loss: 8.113e+00, Time: 0.11
It: 790, Loss: 8.113e+00, Time: 0.14
It: 800, Loss: 8.113e+00, Time: 0.11
It: 810, Loss: 8.113e+00, Time: 0.12
It: 820, Loss: 8.113e+00, Time: 0.12
It: 830, Loss: 8.113e+00, Time: 0.12
It: 840, Loss: 8.113e+00, Time: 0.10
It: 850, Loss: 8.113e+00, Time: 0.10
It: 860, Loss: 8.113e+00, Time: 0.10
It: 870, Loss: 8.113e+00, Time: 0.11
It: 880, Loss: 8.113e+00, Time: 0.11
It: 890, Loss: 8.113e+00, Time: 0.10
It: 900, Loss: 8.113e+00, Time: 0.11
It: 910, Loss: 8.113e+00, Time: 0.11
It: 920, Loss: 8.113e+00, Time: 0.13
It: 930, Loss: 8.113e+00, Time: 0.11
It: 940, Loss: 8.113e+00, Time: 0.11
It: 950, Loss: 8.113e+00, Time: 0.10
It: 960, Loss: 8.113e+00, Time: 0.11
It: 970, Loss: 8.113e+00, Time: 0.11
It: 980, Loss: 8.113e+00, Time: 0.12
It: 990, Loss: 8.113e+00, Time: 0.11
Loss: 8.113e+00
Loss: 2.065e+01
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
Loss: 8.113e+00
@ToshiyukiBandai
Copy link
Owner

ToshiyukiBandai commented Mar 26, 2021

First, you need to train neural networks more, say 200,000 iterations for Adam. Also, hyperparameter tunings are needed to obtain nice results. But, once you train more than 200,000 iterations, you will probably get a reasonalbe results in terms of theta, K, flux. Also, note that you need to make sure to use flux_pred rather than f_pred to evaluate soil water flux density. f_pred is the residual of the RRE.

@WenxSong
Copy link
Author

First, you need to train neural networks more, say 200,000 iterations for Adam. Also, hyperparameter tunings are needed to obtain nice results. But, once you train more than 200,000 iterations, you will probably get a reasonalbe results in terms of theta, K, flux. Also, note that you need to make sure to use flux_pred rather than f_pred to evaluate soil water flux density. f_pred is the residual of the RRE.

Thank you, it works,first I trained the networks in just small iterations to prevent over-fit (some papers introduced the method),then I increase to 200,000 iterations,the result fits the training data as is shown in the paper.
Although the result was not stable,while it might be the common problem of PINN.
Thanks again, you know it bothered me somedays.

@ToshiyukiBandai
Copy link
Owner

Glad to hear that you fixed the issue. Yes, PINNs for inverse problem is very delicate and requires a lot of hyperparameter tunings. Thank you for your interest in our study.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants