Update tutorials 1 through 7

This commit is contained in:
Matteo Bertocchi
2025-03-08 19:39:45 +01:00
committed by Nicola Demo
parent 7ef39f1e3b
commit 17792caa34
14 changed files with 675 additions and 288 deletions

View File

@@ -43,17 +43,16 @@
" # get the data\n",
" !wget https://github.com/mathLab/PINA/raw/refs/heads/master/tutorials/tutorial5/Data_Darcy.mat\n",
"\n",
" \n",
"import torch\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# !pip install scipy # install scipy\n",
"from scipy import io\n",
"import torch\n",
"from pina.model import FNO, FeedForward # let's import some models\n",
"from pina import Condition, LabelTensor\n",
"from pina.solver import SupervisedSolver\n",
"from pina.trainer import Trainer\n",
"from pina.problem import AbstractProblem\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('tableau-colorblind10')"
"from pina.problem import AbstractProblem"
]
},
{
@@ -150,7 +149,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 4,
"id": "8b27d283",
"metadata": {
"ExecuteTime": {
@@ -203,7 +202,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 9: 100%|██████████| 70/70 [00:01<00:00, 40.29it/s, v_num=8, data_loss_step=0.103, train_loss_step=0.0993, val_loss_step=0.103, data_loss_epoch=0.105, val_loss_epoch=0.102, train_loss_epoch=0.105] "
"Epoch 9: 100%|██████████| 70/70 [00:01<00:00, 69.54it/s, v_num=14, data_loss_step=0.109, train_loss_step=0.109, val_loss_step=0.109, data_loss_epoch=0.105, val_loss_epoch=0.104, train_loss_epoch=0.105] "
]
},
{
@@ -217,7 +216,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 9: 100%|██████████| 70/70 [00:01<00:00, 40.09it/s, v_num=8, data_loss_step=0.103, train_loss_step=0.0993, val_loss_step=0.103, data_loss_epoch=0.105, val_loss_epoch=0.102, train_loss_epoch=0.105]\n"
"Epoch 9: 100%|██████████| 70/70 [00:01<00:00, 69.13it/s, v_num=14, data_loss_step=0.109, train_loss_step=0.109, val_loss_step=0.109, data_loss_epoch=0.105, val_loss_epoch=0.104, train_loss_epoch=0.105]\n"
]
}
],
@@ -258,8 +257,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Final error training 56.17%\n",
"Final error testing 56.07%\n"
"Final error training 56.26%\n",
"Final error testing 56.15%\n"
]
}
],
@@ -311,7 +310,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 9: 100%|██████████| 70/70 [00:03<00:00, 20.06it/s, v_num=9, data_loss_step=0.00303, train_loss_step=0.00401, val_loss_step=0.00303, data_loss_epoch=0.00338, val_loss_epoch=0.00363, train_loss_epoch=0.00338]"
"Epoch 9: 100%|██████████| 70/70 [00:02<00:00, 26.49it/s, v_num=15, data_loss_step=0.00535, train_loss_step=0.00358, val_loss_step=0.00535, data_loss_epoch=0.00372, val_loss_epoch=0.00392, train_loss_epoch=0.00372]"
]
},
{
@@ -325,7 +324,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 9: 100%|██████████| 70/70 [00:03<00:00, 19.94it/s, v_num=9, data_loss_step=0.00303, train_loss_step=0.00401, val_loss_step=0.00303, data_loss_epoch=0.00338, val_loss_epoch=0.00363, train_loss_epoch=0.00338]\n"
"Epoch 9: 100%|██████████| 70/70 [00:02<00:00, 26.33it/s, v_num=15, data_loss_step=0.00535, train_loss_step=0.00358, val_loss_step=0.00535, data_loss_epoch=0.00372, val_loss_epoch=0.00392, train_loss_epoch=0.00372]\n"
]
}
],
@@ -372,8 +371,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Final error training 9.14%\n",
"Final error testing 9.15%\n"
"Final error training 9.37%\n",
"Final error testing 9.25%\n"
]
}
],

View File

@@ -24,17 +24,16 @@ if IN_COLAB:
# get the data
get_ipython().system('wget https://github.com/mathLab/PINA/raw/refs/heads/master/tutorials/tutorial5/Data_Darcy.mat')
import torch
import matplotlib.pyplot as plt
# !pip install scipy # install scipy
from scipy import io
import torch
from pina.model import FNO, FeedForward # let's import some models
from pina import Condition, LabelTensor
from pina.solver import SupervisedSolver
from pina.trainer import Trainer
from pina.problem import AbstractProblem
import matplotlib.pyplot as plt
plt.style.use('tableau-colorblind10')
# ## Data Generation
@@ -89,8 +88,8 @@ plt.show()
class NeuralOperatorSolver(AbstractProblem):
input_variables = k_train.full_labels[3]['dof']
output_variables = u_train.full_labels[3]['dof']
conditions = {'data' : Condition(input_points=k_train,
output_points=u_train)}
conditions = {'data' : Condition(input=k_train,
target=u_train)}
# make problem
problem = NeuralOperatorSolver()