Files
PINA/tutorials/tutorial13/tutorial.ipynb
2025-04-17 10:48:31 +02:00

522 lines
131 KiB
Plaintext
Vendored

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Tutorial: Multiscale PDE learning with Fourier Feature Network\n",
"\n",
"[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/mathLab/PINA/blob/master/tutorials/tutorial13/tutorial.ipynb)\n",
"\n",
"This tutorial presents how to solve with Physics-Informed Neural Networks (PINNs)\n",
"a PDE characterized by multiscale behaviour, as\n",
"presented in [*On the eigenvector bias of Fourier feature networks: From regression to solving\n",
"multi-scale PDEs with physics-informed neural networks*](\n",
"https://doi.org/10.1016/j.cma.2021.113938). \n",
"\n",
"First of all, some useful imports."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"## routine needed to run the notebook on Google Colab\n",
"try:\n",
" import google.colab\n",
"\n",
" IN_COLAB = True\n",
"except:\n",
" IN_COLAB = False\n",
"if IN_COLAB:\n",
" !pip install \"pina-mathlab\"\n",
"\n",
"import torch\n",
"import matplotlib.pyplot as plt\n",
"import warnings\n",
"\n",
"from pina import Condition, Trainer\n",
"from pina.problem import SpatialProblem \n",
"from pina.operator import laplacian\n",
"from pina.solver import PINN, SelfAdaptivePINN as SAPINN\n",
"from pina.loss import LpLoss\n",
"from pina.domain import CartesianDomain\n",
"from pina.equation import Equation, FixedValue\n",
"from pina.model import FeedForward\n",
"from pina.model.block import FourierFeatureEmbedding\n",
"\n",
"warnings.filterwarnings(\"ignore\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Multiscale Problem\n",
"\n",
"We begin by presenting the problem which also can be found in Section 2 of [*On the eigenvector bias of Fourier feature networks: From regression to solving\n",
"multi-scale PDEs with physics-informed neural networks*](\n",
"https://doi.org/10.1016/j.cma.2021.113938). The one-dimensional Poisson problem we aim to solve is mathematically written as:\n",
"\n",
"\\begin{equation}\n",
"\\begin{cases}\n",
"\\Delta u (x) + f(x) = 0 \\quad x \\in [0,1], \\\\\n",
"u(x) = 0 \\quad x \\in \\partial[0,1], \\\\\n",
"\\end{cases}\n",
"\\end{equation}\n",
"\n",
"We impose the solution as $u(x) = \\sin(2\\pi x) + 0.1 \\sin(50\\pi x)$ and obtain the force term $f(x) = (2\\pi)^2 \\sin(2\\pi x) + 0.1 (50 \\pi)^2 \\sin(50\\pi x)$.\n",
"Though this example is simple and pedagogical, it is worth noting that\n",
"the solution exhibits low frequency in the macro-scale and high frequency in the micro-scale, which resembles many\n",
"practical scenarios.\n",
"\n",
"\n",
"In **PINA** this problem is written, as always, as a class [see here for a tutorial on the Problem class](https://mathlab.github.io/PINA/_rst/tutorials/tutorial1/tutorial.html). Below you can find the `Poisson` problem which is mathmatically described above."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"class Poisson(SpatialProblem):\n",
" output_variables = [\"u\"]\n",
" spatial_domain = CartesianDomain({\"x\": [0, 1]})\n",
"\n",
" def poisson_equation(input_, output_):\n",
" x = input_.extract(\"x\")\n",
" u_xx = laplacian(output_, input_, components=[\"u\"], d=[\"x\"])\n",
" f = ((2 * torch.pi) ** 2) * torch.sin(2 * torch.pi * x) + 0.1 * (\n",
" (50 * torch.pi) ** 2\n",
" ) * torch.sin(50 * torch.pi * x)\n",
" return u_xx + f\n",
"\n",
" domains = {\n",
" \"bound_cond0\": CartesianDomain({\"x\": 0.0}),\n",
" \"bound_cond1\": CartesianDomain({\"x\": 1.0}),\n",
" \"phys_cond\": spatial_domain,\n",
" }\n",
" # here we write the problem conditions\n",
" conditions = {\n",
" \"bound_cond0\": Condition(\n",
" domain=\"bound_cond0\", equation=FixedValue(0.0)\n",
" ),\n",
" \"bound_cond1\": Condition(\n",
" domain=\"bound_cond1\", equation=FixedValue(0.0)\n",
" ),\n",
" \"phys_cond\": Condition(\n",
" domain=\"phys_cond\", equation=Equation(poisson_equation)\n",
" ),\n",
" }\n",
"\n",
" def solution(self, x):\n",
" return torch.sin(2 * torch.pi * x) + 0.1 * torch.sin(50 * torch.pi * x)\n",
"\n",
"\n",
"problem = Poisson()\n",
"\n",
"# let's discretise the domain\n",
"problem.discretise_domain(128, \"grid\", domains=[\"phys_cond\"])\n",
"problem.discretise_domain(1, \"grid\", domains=[\"bound_cond0\", \"bound_cond1\"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A standard PINN approach would be to fit this model using a Feed Forward (fully connected) Neural Network. For a conventional fully-connected neural network is easy to\n",
"approximate a function $u$, given sufficient data inside the computational domain. However solving high-frequency or multi-scale problems presents great challenges to PINNs especially when the number of data cannot capture the different scales.\n",
"\n",
"Below we run a simulation using the `PINN` solver and the self adaptive `SAPINN` solver, using a [`FeedForward`](https://mathlab.github.io/PINA/_modules/pina/model/feed_forward.html#FeedForward) model. "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"GPU available: True (mps), used: False\n",
"TPU available: False, using: 0 TPU cores\n",
"HPU available: False, using: 0 HPUs\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1499: 100%|██████████| 1/1 [00:00<00:00, 161.89it/s, v_num=2, bound_cond0_loss=3.12e+3, bound_cond1_loss=3.12e+3, phys_cond_loss=1.21e+3, train_loss=7.46e+3]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"`Trainer.fit` stopped: `max_epochs=1500` reached.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1499: 100%|██████████| 1/1 [00:00<00:00, 104.39it/s, v_num=2, bound_cond0_loss=3.12e+3, bound_cond1_loss=3.12e+3, phys_cond_loss=1.21e+3, train_loss=7.46e+3]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"GPU available: True (mps), used: False\n",
"TPU available: False, using: 0 TPU cores\n",
"HPU available: False, using: 0 HPUs\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Epoch 1499: 100%|██████████| 1/1 [00:00<00:00, 82.62it/s, v_num=3, bound_cond0_loss=1.06e+3, bound_cond1_loss=1.01e+3, phys_cond_loss=2.91e+3, train_loss=4.98e+3] "
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"`Trainer.fit` stopped: `max_epochs=1500` reached.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1499: 100%|██████████| 1/1 [00:00<00:00, 63.19it/s, v_num=3, bound_cond0_loss=1.06e+3, bound_cond1_loss=1.01e+3, phys_cond_loss=2.91e+3, train_loss=4.98e+3]\n"
]
}
],
"source": [
"# training with PINN and visualize results\n",
"pinn = PINN(\n",
" problem=problem,\n",
" model=FeedForward(\n",
" input_dimensions=1, output_dimensions=1, layers=[100, 100, 100]\n",
" ),\n",
")\n",
"\n",
"trainer = Trainer(\n",
" pinn,\n",
" max_epochs=1500,\n",
" accelerator=\"cpu\",\n",
" enable_model_summary=False,\n",
" val_size=0.0,\n",
" train_size=1.0,\n",
" test_size=0.0,\n",
")\n",
"trainer.train()\n",
"\n",
"# training with PINN and visualize results\n",
"sapinn = SAPINN(\n",
" problem=problem,\n",
" model=FeedForward(\n",
" input_dimensions=1, output_dimensions=1, layers=[100, 100, 100]\n",
" ),\n",
")\n",
"trainer_sapinn = Trainer(\n",
" sapinn,\n",
" max_epochs=1500,\n",
" accelerator=\"cpu\",\n",
" enable_model_summary=False,\n",
" val_size=0.0,\n",
" train_size=1.0,\n",
" test_size=0.0,\n",
")\n",
"trainer_sapinn.train()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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muZZpkwZ/v0wwnX+6aefULZsWbi4uKhl30eOHImYmJgcK6852rVrF9q2bauWsZe/AatXr37m1+zYsQM1atRQv8ulSpXCggULjFtInZVasmSJztHRUffLL7/oTp48qevfv7/O29tbFxYWluHzAwMDdXZ2droJEyboTp06pfvkk090Dg4OuuPHj+d42S39Wnfv3l03bdo03eHDh3WnT5/W9enTR+fl5aW7du1ajpfdkq+zwcWLF9UGoo0aNdK1b98+x8prLdc5NjZWV6tWLV2rVq10AQEB6nrv2LFDbcZK2XedFy1apHNyclIf5RrLhrj58+fXjRw5MsfLbk42bNig+/jjj3UrV65UGwSuWrXqqc+/cOGCztXVVTdq1ChVF06ZMkXVjbKxsLFYbVCpU6eObsiQISm3ExMTdQUKFNCNHz8+w+e/8cYbutatW6e5r27durp3333X6GW1tmudnuy07eHhoVu4cKERS2md11mubYMGDXRz587V9e7dm0HFCNd5xowZuhIlSuji4uJysJTWd53luU2bNk1zn1Sm/v7+Ri+rpUAmgsoHH3ygq1ixYpr7unbtqmvRooXRymWVXT9xcXE4ePCg6lIwsLW1VbeDgoIy/Bq5P/XzRYsWLZ74fHr+a51edHQ04uPj4ePjY8SSWud1lt3KfX190a9fvxwqqfVd57Vr16od4qXrx8/PD5UqVcK3336LxMTEHCy55V/nBg0aqK8xdA9duHBBda+1atUqx8ptDYI0qAvtYYXu3Lmj/kjIH43U5HZwcHCGXxMaGprh8+V+yt5rnd6HH36o+k/T/+egF7vOAQEBmDdvHo4cOZJDpbTO6ywV5t9//40ePXqoivPcuXMYPHiwCt+yNDllz3Xu3r27+rqGDRtKTwESEhIwcOBAfPTRRzlUausQ+oS6UHZZfvTokRoflN2sskWFzMd3332nBnquWrVKDaij7BEZGYmePXuqgct58uTRujgWLSkpSbVazZ49GzVr1kTXrl3x8ccfY+bMmVoXzaLIAE9pqZo+fToOHTqElStXYv369fjqq6+0Lhq9IKtsUZE/zHZ2dggLC0tzv9zOly9fhl8j92fl+fT819pg4sSJKqhs27YNVapUMXJJres6nz9/HpcuXVKj/VNXqMLe3h4hISEoWbJkDpTc8n+fZaaPg4OD+jqD8uXLq3em0sXh6Oho9HJbw3X+9NNPVfh+55131G2ZmRkVFYUBAwaoYChdR/TinlQXenp6GqU1RVjlT07+MMg7m+3bt6f5Iy23pS85I3J/6ueLrVu3PvH59PzXWkyYMEG9E9q0aRNq1aqVQ6W1nuss0+yPHz+uun0MR7t27fDyyy+rz2VqJ2XP77O/v7/q7jEEQXHmzBkVYBhSsu86y1i29GHEEA6592720aQu1Fnx1DeZyrZgwQI1xWrAgAFq6ltoaKh6vGfPnroxY8akmZ5sb2+vmzhxopoy+/nnn3N6spGu9XfffaemJS5fvlx38+bNlCMyMlLDV2F51zk9zvoxznW+cuWKmrU2dOhQXUhIiG7dunU6X19f3ddff63hq7C86yx/k+U6L168WE2h3bJli65kyZJqxiY9mfxdlaUg5JBI8OOPP6rPL1++rB6XayzXOv305Pfff1/VhbKUBKcnG5HM/y5SpIiqFGUq3N69e1Mea9KkifrDndqff/6pK1OmjHq+TM9av369BqW2/GtdtGhR9R8m/SF/iCh7f6dTY1Ax3nXes2ePWs5AKl6ZqvzNN9+oqeGUfdc5Pj5eN27cOBVOnJ2ddYULF9YNHjxYd//+fY1Kbx7++eefDP/eGq6tfJRrnf5rqlWrpn4u8vs8f/58o5bRRv4xXnsNERER0fOzyjEqREREZB4YVIiIiMhkMagQERGRyWJQISIiIpPFoEJEREQmi0GFiIiITBaDChEREZksBhUiIiIyWQwqREREZLIYVIiIiMhkMagQERERTNX/A9OShvQC+rNbAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# define the function to plot the solution obtained using matplotlib\n",
"def plot_solution(pinn_to_use, title):\n",
" pts = pinn_to_use.problem.spatial_domain.sample(256, \"grid\", variables=\"x\")\n",
" predicted_output = pinn_to_use.forward(pts).extract(\"u\").tensor.detach()\n",
" true_output = pinn_to_use.problem.solution(pts).detach()\n",
" plt.plot(\n",
" pts.extract([\"x\"]), predicted_output, label=\"Neural Network solution\"\n",
" )\n",
" plt.plot(pts.extract([\"x\"]), true_output, label=\"True solution\")\n",
" plt.title(title)\n",
" plt.legend()\n",
"\n",
"\n",
"# plot the solution of the two PINNs\n",
"plot_solution(pinn, \"PINN solution\")\n",
"plt.figure()\n",
"plot_solution(sapinn, \"Self Adaptive PINN solution\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can clearly see that the solution has not been learned by the two different solvers. Indeed the big problem is not in the optimization strategy (i.e. the solver), but in the model used to solve the problem. A simple `FeedForward` network can hardly handle multiscales if not enough collocation points are used!\n",
"\n",
"We can also compute the $l_2$ relative error for the `PINN` and `SAPINN` solutions:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Relative l2 error PINN 2833.18%\n",
"Relative l2 error SAPINN 1921.98%\n"
]
}
],
"source": [
"# l2 loss from PINA losses\n",
"l2_loss = LpLoss(p=2, relative=False)\n",
"\n",
"# sample new test points\n",
"pts = pts = problem.spatial_domain.sample(100, \"grid\")\n",
"print(\n",
" f\"Relative l2 error PINN {l2_loss(pinn(pts), problem.solution(pts)).item():.2%}\"\n",
")\n",
"print(\n",
" f\"Relative l2 error SAPINN {l2_loss(sapinn(pts), problem.solution(pts)).item():.2%}\"\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Which is indeed very high!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fourier Feature Embedding in PINA"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fourier Feature Embedding is a way to transform the input features, to help the network in learning multiscale variations in the output. It was\n",
"first introduced in [*On the eigenvector bias of Fourier feature networks: From regression to solving\n",
"multi-scale PDEs with physics-informed neural networks*](\n",
"https://doi.org/10.1016/j.cma.2021.113938) showing great results for multiscale problems. The basic idea is to map the input $\\mathbf{x}$ into an embedding $\\tilde{\\mathbf{x}}$ where:\n",
"\n",
"$$ \\tilde{\\mathbf{x}} =\\left[\\cos\\left( \\mathbf{B} \\mathbf{x} \\right), \\sin\\left( \\mathbf{B} \\mathbf{x} \\right)\\right] $$\n",
"\n",
"and $\\mathbf{B}_{ij} \\sim \\mathcal{N}(0, \\sigma^2)$. This simple operation allow the network to learn on multiple scales! \n",
"\n",
"In PINA we already have implemented the feature as a `layer` called [`FourierFeatureEmbedding`](https://mathlab.github.io/PINA/_rst/layers/fourier_embedding.html). Below we will build the *Multi-scale Fourier Feature Architecture*. In this architecture multiple Fourier feature embeddings (initialized with different $\\sigma$)\n",
"are applied to input coordinates and then passed through the same fully-connected neural network, before the outputs are finally concatenated with a linear layer."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"class MultiscaleFourierNet(torch.nn.Module):\n",
" def __init__(self):\n",
" super().__init__()\n",
" self.embedding1 = FourierFeatureEmbedding(\n",
" input_dimension=1, output_dimension=100, sigma=1\n",
" )\n",
" self.embedding2 = FourierFeatureEmbedding(\n",
" input_dimension=1, output_dimension=100, sigma=10\n",
" )\n",
" self.layers = FeedForward(\n",
" input_dimensions=100, output_dimensions=100, layers=[100]\n",
" )\n",
" self.final_layer = torch.nn.Linear(2 * 100, 1)\n",
"\n",
" def forward(self, x):\n",
" e1 = self.layers(self.embedding1(x))\n",
" e2 = self.layers(self.embedding2(x))\n",
" return self.final_layer(torch.cat([e1, e2], dim=-1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will train the `MultiscaleFourierNet` with the `PINN` solver (and feel free to try also with our PINN variants (`SAPINN`, `GPINN`, `CompetitivePINN`, ...)."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"GPU available: True (mps), used: False\n",
"TPU available: False, using: 0 TPU cores\n",
"HPU available: False, using: 0 HPUs\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1499: 100%|██████████| 1/1 [00:00<00:00, 144.03it/s, v_num=4, bound_cond0_loss=0.00252, bound_cond1_loss=0.00252, phys_cond_loss=0.00678, train_loss=0.0118] "
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"`Trainer.fit` stopped: `max_epochs=1500` reached.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1499: 100%|██████████| 1/1 [00:00<00:00, 97.91it/s, v_num=4, bound_cond0_loss=0.00252, bound_cond1_loss=0.00252, phys_cond_loss=0.00678, train_loss=0.0118] \n"
]
}
],
"source": [
"multiscale_pinn = PINN(problem=problem, model=MultiscaleFourierNet())\n",
"trainer = Trainer(\n",
" multiscale_pinn,\n",
" max_epochs=1500,\n",
" accelerator=\"cpu\",\n",
" enable_model_summary=False,\n",
" val_size=0.0,\n",
" train_size=1.0,\n",
" test_size=0.0,\n",
")\n",
"trainer.train()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us now plot the solution and compute the relative $l_2$ again!"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Relative l2 error PINN with MultiscaleFourierNet: 2.53%\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGzCAYAAADnmPfhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACPb0lEQVR4nO3dB3QbVdYH8P9Icu+9dyd2EtvpPZBCIPRelg5LL8sC+9EWFpbOAsvCAruUpYTeewmE0NJ7T9x7771Kmu/cN5Is25JLYku2dH/nKDMajeRn2fFcvXfve5IsyzIYY4wxxiYIlb0bwBhjjDE2Ehy8MMYYY2xC4eCFMcYYYxMKBy+MMcYYm1A4eGGMMcbYhMLBC2OMMcYmFA5eGGOMMTahcPDCGGOMsQmFgxfGGGOMTSgcvDA2Tvz973+HJEnDOvfNN98U5xYWFsJeli1bJm7M9j//kYiPj8cVV1wx6q/LmD1x8MLYCIIFum3YsGHA47TKRkxMjHj81FNPHbWv+9hjj+GLL76AM6ALrPE9ppuvry+mT5+Of/7zn+jq6hpwka+trR3w3IyMDPGz6I8eu/nmm033Kegzfp1PP/10wPmWvsZ4tmnTJtHmxsZGezeFMZvg4IWxEXB3d8d777034Phvv/2G0tJSuLm5jerXsxa8XHrppejo6EBcXBwcCb1/b7/9trjR9x4YGIj/+7//w+WXXz6s5+/fvx+fffbZiL7mQw89ZDHgmUgoeHnwwQctBi9ZWVl49dVX7dIuxsYKBy+MjcDJJ5+Mjz/+GFqtts9xCmhmz56N8PBwm7RDrVaLQGoshhnsSaPR4JJLLhE36ilZt24d5syZgw8//BDl5eWDPtfDwwOTJ08eUTAyY8YM7Nu3D59//jkcFQWELi4u9m4GY6OKgxfGRuDCCy9EXV0d1q5dazrW3d2NTz75BBdddNGA83/99VcRYNDWnHHYgoajrKHH29rasHr1atMQhzF3wVLOy44dO7Bq1SoEBweLC3lCQgL++Mc/9nlNvV6P5557Dunp6SL4CQkJwYknniiea/TGG29gxYoVCA0NFRe+qVOn4r///e+w3h8a3nnggQeQnJwsnktDaXfeeWefYZ+RUKlUpryaofJ76Nz77rtvRMHIH/7whxEHPOZaWlpw6623irwS+n7pPTv++OOxa9euPudRwEvBLf1c6OdDwVlZWdmgrz3Y7wgdp2EiQts77rhD7NPP3Pi7Yny/LOW85Ofn47zzzhM9W56enliwYAG+/fZbi7+7H330ER599FFER0eL35njjjsOubm5I36vGBtNmlF9NcYcHF0IFi5ciPfffx8nnXSSOPb999+jqalJXAj//e9/j9rXoqGTq6++GvPmzcO1114rjiUlJVk8t7q6GieccIIIRu6++274+/uLi1f/IZSrrrpKXAyp7fTa1IO0fv16bNmyRfRwEApUpk2bhtNPP130hHz99de48cYbReBz0003WW0vPU7PoZwgau+UKVPEMM6//vUvZGdnH3HuTl5entgGBQUNeS4FkA8//LAIRs4666whe6aoB4sCnssuu0wEPGefffaI2nb99deLwJV6iSjIo8CWvv/Dhw9j1qxZ4hx6v6+88krMnTsXjz/+OKqqqkQAuXHjRuzevVv8rI4GtZneX/qdpPeagiNCvwuW0NdftGgR2tvbccstt4j3lQJk+tnR90Lvm7knnnhCBIY0fEe/508++SQuvvhibN269ajazdhRkRljQ3rjjTfoY7m8fft2+YUXXpB9fHzk9vZ28dh5550nL1++XOzHxcXJp5xyiul5v/zyi3gebc0VFBSI4/S6Rg888IA4Zs7Ly0u+/PLLrbaHXod8/vnnpvZZ8/PPP4tzbrnllgGP6fV6077x+zK3atUqOTExsc+xpUuXipvR22+/LatUKnn9+vV9znvppZfE1924caM8GPo+6futqakRt9zcXPmxxx6TJUmSMzIyBrxPdE7/55LVq1eLxz/77DPT43T/pptuGvD+P/XUU7JWq5UnTZokT58+3fQ+WPoalvj5+fV53f66u7vl0NBQOS0tTe7o6DAd/+abb8Tr33///QO+r8F+R8y/HzrfiL4P898Hc/Q7af47dOutt4pzzX9OLS0tckJCghwfHy/rdLo+v7tTpkyRu7q6TOc+99xz4vj+/fsHfW8YG0s8bMTYCJ1//vkiWfabb74Rwwa0tTRkZEvGT+/Ulp6eHovnUFUN9UTQsE5/5j0UNLRhRJ+0qeJm6dKlYqiB7ltDQyPU25KamiqeY7zREBT55Zdfhvw+aJiMegzoRkNPf/3rX0VP10hyUqhXYNKkScMeCjL2vuzdu3fEvUP0vlMPhLV8HBqOo14x6rmiIRejU045RbxP/YdqbOG7774TvXlLliwxHfP2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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot solution obtained\n",
"plot_solution(multiscale_pinn, \"Multiscale PINN solution\")\n",
"\n",
"# sample new test points\n",
"pts = pts = problem.spatial_domain.sample(100, \"grid\")\n",
"print(\n",
" f\"Relative l2 error PINN with MultiscaleFourierNet: {l2_loss(multiscale_pinn(pts), problem.solution(pts)).item():.2%}\"\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is pretty clear that the network has learned the correct solution, with also a very low error. Obviously a longer training and a more expressive neural network could improve the results!\n",
"\n",
"## What's next?\n",
"\n",
"Congratulations on completing the one dimensional Poisson tutorial of **PINA** using `FourierFeatureEmbedding`! There are multiple directions you can go now:\n",
"\n",
"1. Train the network for longer or with different layer sizes and assert the finaly accuracy\n",
"\n",
"2. Understand the role of `sigma` in `FourierFeatureEmbedding` (see original paper for a nice reference)\n",
"\n",
"3. Code the *Spatio-temporal multi-scale Fourier feature architecture* for a more complex time dependent PDE (section 3 of the original reference)\n",
"\n",
"4. Many more..."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "pina",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.21"
}
},
"nbformat": 4,
"nbformat_minor": 2
}