643 lines
159 KiB
Plaintext
Vendored
643 lines
159 KiB
Plaintext
Vendored
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "de19422d",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Tutorial: Two dimensional Poisson problem using Extra Features Learning\n",
|
|
"\n",
|
|
"[](https://colab.research.google.com/github/mathLab/PINA/blob/master/tutorials/tutorial2/tutorial.ipynb)\n",
|
|
"\n",
|
|
"This tutorial presents how to solve with Physics-Informed Neural Networks (PINNs) a 2D Poisson problem with Dirichlet boundary conditions. We will train with standard PINN's training, and with extrafeatures. For more insights on extrafeature learning please read [*An extended physics informed neural network for preliminary analysis of parametric optimal control problems*](https://www.sciencedirect.com/science/article/abs/pii/S0898122123002018).\n",
|
|
"\n",
|
|
"First of all, some useful imports."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "ad0b8dd7",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"## routine needed to run the notebook on Google Colab\n",
|
|
"try:\n",
|
|
" import google.colab\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.problem import SpatialProblem\n",
|
|
"from pina.operator import laplacian\n",
|
|
"from pina.model import FeedForward\n",
|
|
"from pina.solver import PINN\n",
|
|
"from pina.trainer import Trainer\n",
|
|
"from pina.domain import CartesianDomain\n",
|
|
"from pina.equation import Equation, FixedValue\n",
|
|
"from pina import Condition, LabelTensor\n",
|
|
"from torch.nn import Softplus\n",
|
|
"from lightning.pytorch.loggers import TensorBoardLogger\n",
|
|
"\n",
|
|
"warnings.filterwarnings('ignore')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "492a37b4",
|
|
"metadata": {},
|
|
"source": [
|
|
"## The problem definition"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "2c0b1777",
|
|
"metadata": {},
|
|
"source": [
|
|
"The two-dimensional Poisson problem is mathematically written as:\n",
|
|
"\\begin{equation}\n",
|
|
"\\begin{cases}\n",
|
|
"\\Delta u = \\sin{(\\pi x)} \\sin{(\\pi y)} \\text{ in } D, \\\\\n",
|
|
"u = 0 \\text{ on } \\Gamma_1 \\cup \\Gamma_2 \\cup \\Gamma_3 \\cup \\Gamma_4,\n",
|
|
"\\end{cases}\n",
|
|
"\\end{equation}\n",
|
|
"where $D$ is a square domain $[0,1]^2$, and $\\Gamma_i$, with $i=1,...,4$, are the boundaries of the square.\n",
|
|
"\n",
|
|
"The Poisson problem is written in **PINA** code as a class. The equations are written as *conditions* that should be satisfied in the corresponding domains. The *truth_solution*\n",
|
|
"is the exact solution which will be compared with the predicted one."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "82c24040",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"class Poisson(SpatialProblem):\n",
|
|
" output_variables = ['u']\n",
|
|
" spatial_domain = CartesianDomain({'x': [0, 1], 'y': [0, 1]})\n",
|
|
"\n",
|
|
" def laplace_equation(input_, output_):\n",
|
|
" force_term = (torch.sin(input_.extract(['x'])*torch.pi) *\n",
|
|
" torch.sin(input_.extract(['y'])*torch.pi))\n",
|
|
" laplacian_u = laplacian(output_, input_, components=['u'], d=['x', 'y'])\n",
|
|
" return laplacian_u - force_term\n",
|
|
"\n",
|
|
" # here we write the problem conditions\n",
|
|
" conditions = {\n",
|
|
" 'bound_cond1': Condition(domain=CartesianDomain({'x': [0, 1], 'y': 1}), equation=FixedValue(0.)),\n",
|
|
" 'bound_cond2': Condition(domain=CartesianDomain({'x': [0, 1], 'y': 0}), equation=FixedValue(0.)),\n",
|
|
" 'bound_cond3': Condition(domain=CartesianDomain({'x': 1, 'y': [0, 1]}), equation=FixedValue(0.)),\n",
|
|
" 'bound_cond4': Condition(domain=CartesianDomain({'x': 0, 'y': [0, 1]}), equation=FixedValue(0.)),\n",
|
|
" 'phys_cond': Condition(domain=CartesianDomain({'x': [0, 1], 'y': [0, 1]}), equation=Equation(laplace_equation)),\n",
|
|
" }\n",
|
|
"\n",
|
|
" def poisson_sol(self, pts):\n",
|
|
" return -(\n",
|
|
" torch.sin(pts.extract(['x'])*torch.pi)*\n",
|
|
" torch.sin(pts.extract(['y'])*torch.pi)\n",
|
|
" )/(2*torch.pi**2)\n",
|
|
" \n",
|
|
" truth_solution = poisson_sol\n",
|
|
"\n",
|
|
"problem = Poisson()\n",
|
|
"\n",
|
|
"# let's discretise the domain\n",
|
|
"problem.discretise_domain(25, 'grid', domains=['phys_cond'])\n",
|
|
"problem.discretise_domain(25, 'grid', domains=['bound_cond1', 'bound_cond2', 'bound_cond3', 'bound_cond4'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "7086c64d",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Solving the problem with standard PINNs"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "72ba4501",
|
|
"metadata": {},
|
|
"source": [
|
|
"After the problem, the feed-forward neural network is defined, through the class `FeedForward`. This neural network takes as input the coordinates (in this case $x$ and $y$) and provides the unkwown field of the Poisson problem. The residual of the equations are evaluated at several sampling points (which the user can manipulate using the method `CartesianDomain_pts`) and the loss minimized by the neural network is the sum of the residuals.\n",
|
|
"\n",
|
|
"In this tutorial, the neural network is composed by two hidden layers of 10 neurons each, and it is trained for 1000 epochs with a learning rate of 0.006 and $l_2$ weight regularization set to $10^{-8}$. These parameters can be modified as desired. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "e7d20d6d",
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"GPU available: False, 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 999: 100%|██████████| 1/1 [00:00<00:00, 50.66it/s, v_num=0, bound_cond1_loss=7.79e-5, bound_cond2_loss=5.57e-5, bound_cond3_loss=6.97e-5, bound_cond4_loss=3.67e-5, phys_cond_loss=0.00135, train_loss=0.00159] "
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"`Trainer.fit` stopped: `max_epochs=1000` reached.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Epoch 999: 100%|██████████| 1/1 [00:00<00:00, 39.03it/s, v_num=0, bound_cond1_loss=7.79e-5, bound_cond2_loss=5.57e-5, bound_cond3_loss=6.97e-5, bound_cond4_loss=3.67e-5, phys_cond_loss=0.00135, train_loss=0.00159]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# make model + solver + trainer\n",
|
|
"from pina.optim import TorchOptimizer\n",
|
|
"model = FeedForward(\n",
|
|
" layers=[10, 10],\n",
|
|
" func=Softplus,\n",
|
|
" output_dimensions=len(problem.output_variables),\n",
|
|
" input_dimensions=len(problem.input_variables)\n",
|
|
")\n",
|
|
"pinn = PINN(problem, model, optimizer=TorchOptimizer(torch.optim.Adam, lr=0.006,weight_decay=1e-8))\n",
|
|
"trainer = Trainer(pinn, max_epochs=1000, accelerator='cpu', enable_model_summary=False, # we train on CPU and avoid model summary at beginning of training (optional)\n",
|
|
" train_size=1.0,\n",
|
|
" val_size=0.0,\n",
|
|
" test_size=0.0,\n",
|
|
" logger=TensorBoardLogger(\"tutorial_logs\")\n",
|
|
") \n",
|
|
"\n",
|
|
"# train\n",
|
|
"trainer.train()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "eb83cc7a",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now we plot the results using `matplotlib`.\n",
|
|
"The solution predicted by the neural network is plotted on the left, the exact one is represented at the center and on the right the error between the exact and the predicted solutions is showed. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "1ab83c03",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"@torch.no_grad()\n",
|
|
"def plot_solution(solver):\n",
|
|
" # get the problem\n",
|
|
" problem = solver.problem\n",
|
|
" # get spatial points\n",
|
|
" spatial_samples = problem.spatial_domain.sample(30, \"grid\")\n",
|
|
" # compute pinn solution, true solution and absolute difference\n",
|
|
" data = {\n",
|
|
" \"PINN solution\": solver(spatial_samples),\n",
|
|
" \"True solution\": problem.truth_solution(spatial_samples),\n",
|
|
" \"Absolute Difference\": torch.abs(\n",
|
|
" solver(spatial_samples) - problem.truth_solution(spatial_samples)\n",
|
|
" )\n",
|
|
" }\n",
|
|
" # plot the solution\n",
|
|
" for idx, (title, field) in enumerate(data.items()):\n",
|
|
" plt.subplot(1, 3, idx + 1)\n",
|
|
" plt.title(title)\n",
|
|
" plt.tricontourf( # convert to torch tensor + flatten\n",
|
|
" spatial_samples.extract(\"x\").tensor.flatten(),\n",
|
|
" spatial_samples.extract(\"y\").tensor.flatten(),\n",
|
|
" field.tensor.flatten(),\n",
|
|
" )\n",
|
|
" plt.colorbar(), plt.tight_layout()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "7db10610",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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3njK3YCysjJcuXIFwcHBFsuDg4Nx7Ngxq9uYTCar65tMJsna2RZH+tHU888/j9DQ0Ga/GK7kSD++/vprrF+/HocOHXJBC23nSF9OnDiB3NxcTJw4ETt37sTPP/+MmTNnoq6uDmlpaa5odjOO9OPhhx9GWVkZhg0bBiEE6uvrMWPGDLzwwguuaLLTtPS7XllZicuXL6Njx44ytYzkxrHjGo4dzqOVcQPg2MGxg5rSyrgBcOzg2CEdjh0cO+QmewUVXbVkyRJkZWVh27Zt8Pb2lrs5Nrtw4QImTZqEt956C4GBgXI3p90aGhrQrVs3vPnmm4iJicG4ceMwb948ZGZmyt00u+zZswcvv/wy1qxZg++++w5bt27Fjh07sHjxYrmbRkROxLFDfloZNwCOHUR6wbFDfhw7iKyTvYIqMDAQHh4eKC0ttVheWloKo9FodRuj0WjX+q7gSD8aLV++HEuWLMHnn3+O/v37S9nMNtnbj+PHj+PUqVO45557zMsaGhoAAJ6enigqKkLv3r2lbXQLHDkmISEh6NChAzw8PMzLoqOjYTKZUFtbC4PBIGmbrXGkHy+++CImTZqExx57DABwyy234NKlS5g+fTrmzZsHd3d1ZNMt/a77+vryXzF0jmMHxw4paGXcADh2cOygprQybgAcOzh2SIdjB8cOucl+thgMBsTExCAnJ8e8rKGhATk5OYiLi7O6TVxcnMX6ALBr164W13cFR/oBAEuXLsXixYuRnZ2NgQMHuqKprbK3H1FRUTh8+DAOHTpkft17773461//ikOHDiE8PNyVzbfgyDEZOnQofv75Z/NgBwA//vgjQkJCZBsoHOlHVVVVs8GgcQAUQkjXWCdT4u86KQPHDo4dUtDKuAFw7FDa7zrJTyvjBsCxg2OHdDh2KO/3XXfkvEN7o6ysLOHl5SXeeecdcfToUTF9+nTh7+8vTCaTEEKISZMmiTlz5pjX37t3r/D09BTLly8XhYWFIi0tTRGPfLW3H0uWLBEGg0F8+OGH4tdffzW/Lly4IFcXhBD296MppTxNQwj7+1JcXCw6d+4sUlJSRFFRkdi+fbvo1q2beOmll+TqghDC/n6kpaWJzp07i/fee0+cOHFCfPbZZ6J3797ioYcekqsLQgghLly4IA4ePCgOHjwoAIj09HRx8OBB8csvvwghhJgzZ46YNGmSef3Gx70+++yzorCwUGRkZPBxr2TGsYNjhxS0Mm4IwbGDYwc1pZVxQwiOHY04djgfxw6OHXJSREAlhBCrVq0SERERwmAwiEGDBon9+/ebf3bnnXeKKVOmWKz/wQcfiL59+wqDwSBuuukmsWPHDhe32Dp7+tGjRw8BoNkrLS3N9Q1vwt7jcT2lDBSN7O3Lvn37RGxsrPDy8hK9evUS//73v0V9fb2LW92cPf2oq6sTCxcuFL179xbe3t4iPDxczJw5U/zxxx+ub/h1du/ebfWcb2z7lClTxJ133tlsmwEDBgiDwSB69eolNmzY4PJ2k3Jx7ODYIQWtjBtCcOzg2EFNaWXcEIJjhxAcO6TCsYNjh1zchFBR3R0REREREREREWmO7PegIiIiIiIiIiIifWNARUREREREREREsmJARUREREREREREsmJARUREREREREREsmJARUREREREREREsmJARUREREREREREsmJARUREREREREREsmJARUREREREREREsmJARUREREREREREsmJARUREREREREREsmJARUREREREREREsvp/Ey5Q4265wBYAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 1200x600 with 6 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure(figsize=(12, 6))\n",
|
|
"plot_solution(solver=pinn)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "20fdf23e",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Solving the problem with extra-features PINNs"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a1e76351",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now, the same problem is solved in a different way.\n",
|
|
"A new neural network is now defined, with an additional input variable, named extra-feature, which coincides with the forcing term in the Laplace equation. \n",
|
|
"The set of input variables to the neural network is:\n",
|
|
"\n",
|
|
"\\begin{equation}\n",
|
|
"[x, y, k(x, y)], \\text{ with } k(x, y)=\\sin{(\\pi x)}\\sin{(\\pi y)},\n",
|
|
"\\end{equation}\n",
|
|
"\n",
|
|
"where $x$ and $y$ are the spatial coordinates and $k(x, y)$ is the added feature. \n",
|
|
"\n",
|
|
"This feature is initialized in the class `SinSin`, which needs to be inherited by the `torch.nn.Module` class and to have the `forward` method. After declaring such feature, we can just adjust the `FeedForward` class by creating a subclass `FeedForwardWithExtraFeatures` with an adjusted forward method and the additional attribute `extra_features`.\n",
|
|
"\n",
|
|
"Finally, we perform the same training as before: the problem is `Poisson`, the network is composed by the same number of neurons and optimizer parameters are equal to previous test, the only change is the new extra feature."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "ef3ad372",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"GPU available: False, 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 999: 100%|██████████| 1/1 [00:00<00:00, 43.66it/s, v_num=1, bound_cond1_loss=4.72e-7, bound_cond2_loss=4.64e-7, bound_cond3_loss=4.81e-7, bound_cond4_loss=4.2e-7, phys_cond_loss=1.09e-6, train_loss=2.93e-6] "
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"`Trainer.fit` stopped: `max_epochs=1000` reached.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Epoch 999: 100%|██████████| 1/1 [00:00<00:00, 34.52it/s, v_num=1, bound_cond1_loss=4.72e-7, bound_cond2_loss=4.64e-7, bound_cond3_loss=4.81e-7, bound_cond4_loss=4.2e-7, phys_cond_loss=1.09e-6, train_loss=2.93e-6]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"class SinSin(torch.nn.Module):\n",
|
|
" \"\"\"Feature: sin(x)*sin(y)\"\"\"\n",
|
|
" def __init__(self):\n",
|
|
" super().__init__()\n",
|
|
"\n",
|
|
" def forward(self, x):\n",
|
|
" t = (torch.sin(x.extract(['x'])*torch.pi) *\n",
|
|
" torch.sin(x.extract(['y'])*torch.pi))\n",
|
|
" return LabelTensor(t, ['sin(x)sin(y)'])\n",
|
|
"\n",
|
|
"class FeedForwardWithExtraFeatures(FeedForward):\n",
|
|
" def __init__(self, input_dimensions, output_dimensions, func, layers, extra_features):\n",
|
|
"\n",
|
|
" super().__init__(input_dimensions=input_dimensions, \n",
|
|
" output_dimensions=output_dimensions, \n",
|
|
" func=func, \n",
|
|
" layers=layers) \n",
|
|
" self.extra_features = extra_features\n",
|
|
"\n",
|
|
" def forward(self, x):\n",
|
|
" \n",
|
|
" extra_feature = self.extra_features[0](x)\n",
|
|
" x = x.append(extra_feature)\n",
|
|
" return super().forward(x)\n",
|
|
" \n",
|
|
"model_feat = FeedForwardWithExtraFeatures(\n",
|
|
" input_dimensions=len(problem.input_variables) + 1, #we add one as also we consider the extra feature dimension\n",
|
|
" output_dimensions=len(problem.output_variables),\n",
|
|
" func=Softplus,\n",
|
|
" layers=[10, 10],\n",
|
|
" extra_features=[SinSin()])\n",
|
|
"\n",
|
|
"pinn_feat = PINN(problem, model_feat, optimizer=TorchOptimizer(torch.optim.Adam, lr=0.006,weight_decay=1e-8))\n",
|
|
"trainer_feat = Trainer(pinn_feat, max_epochs=1000, accelerator='cpu', enable_model_summary=False,\n",
|
|
" train_size=1.0,\n",
|
|
" val_size=0.0,\n",
|
|
" test_size=0.0,\n",
|
|
" logger=TensorBoardLogger(\"tutorial_logs\")) # we train on CPU and avoid model summary at beginning of training (optional)\n",
|
|
"\n",
|
|
"trainer_feat.train()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9748a13e",
|
|
"metadata": {},
|
|
"source": [
|
|
"The predicted and exact solutions and the error between them are represented below.\n",
|
|
"We can easily note that now our network, having almost the same condition as before, is able to reach additional order of magnitudes in accuracy."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "2be6b145",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKgAAAJNCAYAAAAVhE0uAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAwnZJREFUeJzs3Xt8FNX9//F3QsiFSwgIJIBAABWCKGiQEERRCQZFKxYtIC2IXNQSFbBaUSSIWr8qCCLQVBHRCl8s1KIijUYQbSUGDeBPEOINDIIJKAYIQgLJ/v7gm5Ulm8smuzu31/Px2AcPZs/MnpndzGfOZ845E+JyuVwCAAAAAAAADBJqdAUAAAAAAADgbCSoAAAAAAAAYCgSVAAAAAAAADAUCSoAAAAAAAAYigQVAAAAAAAADEWCCgAAAAAAAIYiQQUAAAAAAABDkaACAAAAAACAoUhQAQAAAAAAwFAkqGBJGzZsUEhIiDZs2ODX7d56662Kj4/36zYBAMETHx+vW2+91a/bDFTMAYC62r17t0JCQjR79uygfq5drpW97UdxcbHGjx+vuLg4hYSEaPLkyZKkwsJC3XTTTTrrrLMUEhKiefPmBb2+gFOQoLKopUuXKiQkxP2KjIzUeeedp7S0NBUWFrrLVVxUr1q1qtK6kZGR2rt3b6VtX3HFFerRo4fHsvj4eIWEhOiuu+6qVN7bZ5jZvn37NHPmTG3dutXoqgBAQJ0eJ6p7kXg5ZdGiRVq6dKnR1QAALVq0SCEhIUpKSjK6Kn6zdu1azZw50+/bnTlzpkdMa9SokTp06KDrr79eL730kkpKSmq1nb/85S9aunSp7rzzTv3973/XH/7wB0nSlClT9M4772jatGn6+9//rsGDB/t9HwCcEmZ0BVA/s2bNUqdOnXT8+HH997//1V//+letXbtW27ZtU6NGjapdt6SkRP/zP/+j5557rtaf98ILL2jatGlq27ZtfatumH379umRRx5RfHy8evXq5fHeCy+8oPLycmMqBgB+9ve//93j/6+88oqysrIqLU9ISAhmtUxr0aJFatmyZaUeWJdffrmOHTum8PBwYyoGwHGWLVum+Ph4bdq0SV9//bXOOecco6tUb2vXrtXChQsDkqSSpL/+9a9q0qSJSkpKtHfvXr3zzju67bbbNG/ePK1Zs0bt27d3l/V2zb9+/Xr17dtX6enplZbfcMMN+tOf/hSQegP4FQkqi7vmmmvUu3dvSdL48eN11lln6ZlnntEbb7yhkSNHVrtur169fEo4nX/++crLy9P//M//aP78+X6pv9k0bNjQ6CoAgN/8/ve/9/j/xx9/rKysrErLz/TLL7/UeJPDSUJDQxUZGWl0NQA4xK5du7Rx40a9/vrruv3227Vs2bJKSRNUdtNNN6lly5bu/8+YMUPLli3T6NGjdfPNN+vjjz92v+ftmn///v3q3r271+UxMTF+q+fJkydVXl7OTQ/AC4b42cxVV10l6VRgq8mDDz6osrIy/c///E+tth0fH6/Ro0frhRde0L59++pUv+eee07nn3++GjVqpObNm6t3795avny5R5ktW7bommuuUXR0tJo0aaKBAwd6BJTq6udt3pErrrhCV1xxhaRTwxEvueQSSdLYsWPdXYErhnR4G49+9OhR3XvvvWrfvr0iIiLUtWtXzZ49Wy6Xy6NcSEiI0tLStHr1avXo0UMRERE6//zzlZmZWbuDAwAGqBjWnZubq8svv1yNGjXSgw8+KOnUec3bnW5v59uioiJNnjzZfa4855xz9OSTT9aqV+qnn36q1NRUtWzZUlFRUerUqZNuu+02jzK1PRefqWLox5kqhrvv3r3bvU/bt2/XBx984I4Np8cOb0MhV65cqcTEREVFRally5b6/e9/X2no/K233qomTZpo7969Gjp0qJo0aaJWrVrpT3/6k8rKymo8NgCcZ9myZWrevLmGDBmim266ScuWLau2/Ny5c9WxY0dFRUVpwIAB2rZtm8f7BQUFGjt2rM4++2xFRESoTZs2uuGGG9znvwqLFi3S+eefr4iICLVt21aTJk1SUVFRtZ9d1fmxYo6s06+xFy5cKMlz+HmF8vJyzZs3T+eff74iIyMVGxur22+/XT///HO1n1+TUaNGafz48crJyVFWVpZ7+enX/BX7sGvXLr399tse7YOQkBC5XC4tXLiwUp1rE/dOnyts3rx56tKliyIiIvTFF19Iknbu3KmbbrpJLVq0UGRkpHr37q0333zTYx8q6vHRRx9p6tSpatWqlRo3bqwbb7xRBw4cqLTP//73vzVgwAA1bdpU0dHRuuSSSyq1t3JycjR48GA1a9ZMjRo10oABA/TRRx/V61gD/kAPKpv55ptvJElnnXVWjWU7derkTjg98MADtepF9dBDD+mVV16pUy+qF154QXfffbduuukm3XPPPTp+/Lj+3//7f8rJydEtt9wiSdq+fbsuu+wyRUdH6/7771fDhg31t7/9TVdccYU++OCDeo/DT0hI0KxZszRjxgxNnDhRl112mSSpX79+Xsu7XC795je/0fvvv69x48apV69eeuedd3Tfffdp7969mjt3rkf5//73v3r99df1xz/+UU2bNtX8+fM1bNgw5efn1+o7AQAj/PTTT7rmmms0YsQI/f73v1dsbKxP6//yyy8aMGCA9u7dq9tvv10dOnTQxo0bNW3aNP3www/VTii7f/9+XX311WrVqpUeeOABxcTEaPfu3Xr99dfdZXw9F9fFvHnzdNddd6lJkyZ66KGHJKna47B06VKNHTtWl1xyiZ544gkVFhbq2Wef1UcffaQtW7Z43G0vKytTamqqkpKSNHv2bL333nuaM2eOunTpojvvvLPedQdgL8uWLdNvf/tbhYeHa+TIkfrrX/+qTz75xH2T9XSvvPKKjhw5okmTJun48eN69tlnddVVV+nzzz93n8OGDRum7du366677lJ8fLz279+vrKws5efnu5M0M2fO1COPPKKUlBTdeeedysvLc3/uRx99VO9RBrfffrv27dvndZh5xfsV59W7775bu3bt0oIFC7Rly5Z6f/4f/vAHPf/883r33Xc1aNCgSu8nJCTo73//u6ZMmaKzzz5b9957ryTpoosucs9FNWjQII0ePdq9jq9x76WXXtLx48c1ceJERUREqEWLFtq+fbsuvfRStWvXTg888IAaN26sf/zjHxo6dKj++c9/6sYbb/TYxl133aXmzZsrPT1du3fv1rx585SWlqbXXnvNXWbp0qW67bbbdP7552vatGmKiYnRli1blJmZ6W5vrV+/Xtdcc40SExOVnp6u0NBQvfTSS7rqqqv0n//8R3369KnzsQbqzQVLeumll1ySXO+9957rwIEDrj179rhWrFjhOuuss1xRUVGu77//3uVyuVzvv/++S5Jr5cqVldb95JNPXN98840rLCzMdffdd7vfHzBggOv888/3+LyOHTu6hgwZ4nK5XK6xY8e6IiMjXfv27avyM7y54YYbKm33TEOHDnWFh4e7vvnmG/eyffv2uZo2beq6/PLL3csqPvP999/3qOOYMWMqbXPAgAGuAQMGuP//ySefuCS5XnrppUplx4wZ4+rYsaP7/6tXr3ZJcj322GMe5W666SZXSEiI6+uvv3Yvk+QKDw/3WPbZZ5+5JLmee+65avcbAIJh0qRJrjND/4ABA1ySXBkZGZXKS3Klp6dXWn7m+fbRRx91NW7c2PXll196lHvggQdcDRo0cOXn51dZp3/961/umFQVX87FZ9YtPT290j67XL/Gwl27drmXnX/++R7xosKZMae0tNTVunVrV48ePVzHjh1zl1uzZo1LkmvGjBnuZWPGjHFJcs2aNctjmxdddJErMTGxyn0G4EyffvqpS5IrKyvL5XK5XOXl5a6zzz7bdc8993iU27Vrl0uSx3W/y+Vy5eTkuCS5pkyZ4nK5XK6ff/7ZJcn19NNPV/mZ+/fvd4WHh7uuvvpqV1lZmXv5ggULXJJcS5YscS8781rZ2zX56fU7/XrbWwxyuVyu//znPy5JrmXLlnksz8zM9Lr8TBXn+QMHDnh9v+IY3HjjjVXuh8vl2d45nSTXpEmTPJbVNu5VHIfo6GjX/v37PcoOHDjQdcEFF7iOHz/uXlZeXu7q16+f69xzz3Uvq4hXKSkprvLycvfyKVOmuBo0aOAqKipyuVwuV1FRkatp06aupKQkj9hUsd2Kf88991xXamqqx7Z++eUXV6dOnVyDBg2qtP9AMDHEz+JSUlLUqlUrtW/fXiNGjFCTJk30r3/9S+3atavV+p07d3bfVfjhhx9qtc706dN18uTJWg8NrBATE6Pvv/9en3zyidf3y8rK9O6772ro0KHq3Lmze3mbNm10yy236L///a8OHz7s02fW19q1a9WgQQPdfffdHsvvvfdeuVwu/fvf//ZYnpKSoi5durj/f+GFFyo6OlrffvttUOoLAHURERGhsWPH1nn9lStX6rLLLlPz5s31448/ul8pKSkqKyvThx9+WOW6FT2N1qxZoxMnTngt4+u5ONA+/fRT7d+/X3/84x895qYaMmSIunXrprfffrvSOnfccYfH/y+77DJiA4BKli1bptjYWF155ZWSTg2HGz58uFasWOF1WPDQoUM9rvv79OmjpKQkrV27VpIUFRWl8PBwbdiwocrhcu+9955KS0s1efJkhYb+2jycMGGCoqOjvZ7T/GnlypVq1qyZBg0a5BFDEhMT1aRJE73//vv12n6TJk0kSUeOHPFHdSX5HveGDRumVq1auf9/8OBBrV+/Xr/73e905MgR9/o//fSTUlNT9dVXX1UaMj5x4kSPIYaXXXaZysrK9N1330mSsrKydOTIET3wwAOV5k2sWG/r1q366quvdMstt+inn35yf+7Ro0c1cOBAffjhhzwwCoYiQWVxCxcuVFZWlt5//3198cUX+vbbb5WamurTNnxNONUlqSVJf/7zn9WkSRP16dNH5557riZNmuQx1vnAgQP65Zdf1LVr10rrJiQkqLy8XHv27Kn15/nDd999p7Zt26pp06aV6lPx/uk6dOhQaRvNmzev9/h5AAikdu3a1Wuy1q+++kqZmZlq1aqVxyslJUXSqWF8VRkwYICGDRumRx55RC1bttQNN9xQ6bHgvp6LA63i87zFq27dulWqT2RkpEfDRCI2AKisrKxMK1as0JVXXqldu3bp66+/1tdff62kpCQVFhZq3bp1ldY599xzKy0777zz3PNLRURE6Mknn9S///1vxcbG6vLLL9dTTz2lgoICd/mqzmnh4eHq3LlzwM+xX331lQ4dOqTWrVtXiiPFxcXVxpDaKC4ulqRKMaQ+fI17nTp18vj/119/LZfLpYcffrjSNiomxD9zG2e2M5o3by5J7lhSMdVLjx49qq23JI0ZM6bS5y5evFglJSU6dOiQT8cC8CfmoLK4Pn36uJ/iV1edO3fW73//ez3//PN64IEHarXOQw89pL///e968sknNXTo0Fqtk5CQoLy8PK1Zs0aZmZn65z//qUWLFmnGjBl65JFH6rEHp3ibBFc6FewbNGhQ7+3XRlWf46phEl8AMFJUVJRP5c+8i19eXq5Bgwbp/vvv91r+vPPOq3JbISEhWrVqlT7++GO99dZb7seCz5kzRx9//LH7znddVRcbgiVYMQiAta1fv14//PCDVqxYoRUrVlR6f9myZbr66qt93u7kyZN1/fXXa/Xq1XrnnXf08MMP64knntD69et10UUX1avO/jjHlpeXq3Xr1lVOBn9mgt9XFZPGn3POOfXazul8jXtnxtmKXkp/+tOfquxccGZ9/dHOqPjcp59+Wr169fJapr5xF6gPElSQdKoX1auvvqonn3yyVuW7dOmi3//+9/rb3/7m08TljRs31vDhwzV8+HCVlpbqt7/9rR5//HFNmzZNrVq1UqNGjZSXl1dpvZ07dyo0NFTt27evctvNmzf3+qSR7777zmPIYFWB1JuOHTvqvffe05EjRzzuuuzcudP9PgDYlbfzamlpaaXes126dFFxcbH7znFd9O3bV3379tXjjz+u5cuXa9SoUVqxYoXGjx9fr3NxxR3moqIij4nLvfUIqG18qPi8vLw899NzK+Tl5REbANTJsmXL1Lp1a/fT7k73+uuv61//+pcyMjI8kh0VPWJO9+WXX1Z6KnWXLl1077336t5779VXX32lXr16ac6cOXr11Vc9zmmnXzOXlpZq165d1Z7bTz/Hns6Xc2yXLl303nvv6dJLL/X5hkltVEzK7usok+rUN+5VHOeGDRvWK3aeWSfpVEKuqmRcRZno6Gi/fS7gTwzxgyTPhNPpXX6rM336dJ04cUJPPfVUrcr/9NNPHv8PDw9X9+7d5XK5dOLECTVo0EBXX3213njjDY/H3hYWFmr58uXq37+/oqOjq92Hjz/+WKWlpe5la9asqTQssHHjxpIqB1Jvrr32WpWVlWnBggUey+fOnauQkBBdc801NW4DAKyqS5culebReP755yvdGf/d736n7OxsvfPOO5W2UVRUpJMnT1b5GT///HOlu78Vd3UrhvnV51xccTF++n4cPXpUL7/8cqWyjRs3rlVs6N27t1q3bq2MjAyPoYj//ve/tWPHDg0ZMqTGbQDA6Y4dO6bXX39d1113nW666aZKr7S0NB05ckRvvvmmx3qrV6/2mKto06ZNysnJcZ8Xf/nlFx0/ftxjnS5duqhp06bu81dKSorCw8M1f/58j/Pxiy++qEOHDlV7TuvYsaMaNGhQKVYsWrSoUtmqrsF/97vfqaysTI8++mildU6ePFmr83JVli9frsWLFys5OVkDBw6s83bOVJ+4J0mtW7fWFVdcob/97W9ep0w5cOCAz3W6+uqr1bRpUz3xxBOVvvOK7zUxMVFdunTR7Nmz3UMf6/u5gD/RgwpuFcP28vLydP7559dYviKp5e0i35urr75acXFxuvTSSxUbG6sdO3ZowYIFGjJkiPuO+GOPPaasrCz1799ff/zjHxUWFqa//e1vKikpqTERNn78eK1atUqDBw/W7373O33zzTd69dVXPSYtr6h3TEyMMjIy1LRpUzVu3FhJSUmVxoZL0vXXX68rr7xSDz30kHbv3q2ePXvq3Xff1RtvvKHJkydX2jYA2Mn48eN1xx13aNiwYRo0aJA+++wzvfPOO2rZsqVHufvuu09vvvmmrrvuOt16661KTEzU0aNH9fnnn2vVqlXavXt3pXUqvPzyy1q0aJFuvPFGdenSRUeOHNELL7yg6OhoXXvttZLqdy6++uqr1aFDB40bN0733XefGjRooCVLlqhVq1bKz8/3KJuYmKi//vWveuyxx3TOOeeodevWlXpISafueD/55JMaO3asBgwYoJEjR6qwsFDPPvus4uPjNWXKFF8PNQCHe/PNN3XkyBH95je/8fp+37591apVKy1btkzDhw93Lz/nnHPUv39/3XnnnSopKdG8efN01llnuYeeffnllxo4cKB+97vfqXv37goLC9O//vUvFRYWasSIEZJODaGbNm2aHnnkEQ0ePFi/+c1vlJeXp0WLFumSSy7R73//+yrr3axZM91888167rnnFBISoi5dumjNmjVe541KTEyUJN19991KTU1VgwYNNGLECA0YMEC33367nnjiCW3dulVXX321GjZsqK+++korV67Us88+q5tuuqnGY7hq1So1adJEpaWl2rt3r9555x199NFH6tmzp1auXFnj+r6oT9yrsHDhQvXv318XXHCBJkyYoM6dO6uwsFDZ2dn6/vvv9dlnn/lUp+joaM2dO1fjx4/XJZdcoltuuUXNmzfXZ599pl9++UUvv/yyQkNDtXjxYl1zzTU6//zzNXbsWLVr10579+7V+++/r+joaL311lv1OTRA/Rj2/EDUS8XjRqt7LLfL9eujX1euXFmrdSseh33++ed7LK/qsatfffWVq0GDBpU+w5u//e1vrssvv9x11llnuSIiIlxdunRx3Xfffa5Dhw55lNu8ebMrNTXV1aRJE1ejRo1cV155pWvjxo1e9+vMR9rOmTPH1a5dO1dERITr0ksvdX366aeuAQMGVHps+BtvvOHq3r27KywszOMRuN4eOXvkyBHXlClTXG3btnU1bNjQde6557qefvppj0ezulzeH0HrclV+5DkAGMXbI74HDBhQ6ZxfoayszPXnP//Z1bJlS1ejRo1cqamprq+//trree3IkSOuadOmuc455xxXeHi4q2XLlq5+/fq5Zs+e7SotLa2yTps3b3aNHDnS1aFDB1dERISrdevWruuuu8716aefVtp+bc7F3uqWm5vrSkpKcoWHh7s6dOjgeuaZZ9yxcNeuXe5yBQUFriFDhriaNm3qkuSOHVXFnNdee8110UUXuSIiIlwtWrRwjRo1yuNx7y7XqbjSuHHjSvtd8Vh0AHC5XK7rr7/eFRkZ6Tp69GiVZW699VZXw4YNXT/++KNr165dLkmup59+2jVnzhxX+/btXREREa7LLrvM9dlnn7nX+fHHH12TJk1ydevWzdW4cWNXs2bNXElJSa5//OMflba/YMECV7du3VwNGzZ0xcbGuu68807Xzz//7FHG27XygQMHXMOGDXM1atTI1bx5c9ftt9/u2rZtm8c1tsvlcp08edJ11113uVq1auUKCQmpdA58/vnnXYmJia6oqChX06ZNXRdccIHr/vvvd+3bt6/aY1dxPq14RUZGus4++2zXdddd51qyZInr+PHjldbxth9VtXequsavTdw7/Xvy5ptvvnGNHj3aFRcX52rYsKGrXbt2ruuuu861atUqd5mq2m5VxaY333zT1a9fP1dUVJQrOjra1adPH9f//u//epTZsmWL67e//a27XdaxY0fX7373O9e6deu81hMIlhCXi9mbAQAAAAAAYBzmoAIAAAAAAIChSFABAAAAAADAUCSoAAAAAAAAYCifE1Qffvihrr/+erVt21YhISFavXp1jets2LBBF198sSIiInTOOedo6dKldagqAFjDwoULFR8fr8jISCUlJWnTpk3Vll+5cqW6deumyMhIXXDBBVq7dq3H+y6XSzNmzFCbNm0UFRWllJQUffXVVx5lvvzyS91www1q2bKloqOj1b9/f73//vt+37eaECMAoHrECGIEAFTFiBjx+OOPq1+/fmrUqJFiYmK8fk5+fr6GDBmiRo0aqXXr1rrvvvt08uRJ9/sbNmxQSEhIpVdBQYFP++9zguro0aPq2bOnFi5cWKvyu3bt0pAhQ3TllVdq69atmjx5ssaPH6933nnH148GANN77bXXNHXqVKWnp2vz5s3q2bOnUlNTvT5uWZI2btyokSNHaty4cdqyZYuGDh2qoUOHatu2be4yTz31lObPn6+MjAzl5OSocePGSk1N1fHjx91lrrvuOp08eVLr169Xbm6uevbsqeuuu87noFBfxAgAqBoxghgBAFUxKkaUlpbq5ptv1p133un1c8rKyjRkyBCVlpZq48aNevnll7V06VLNmDGjUtm8vDz98MMP7lfr1q19Ogb1eopfSEiI/vWvf2no0KFVlvnzn/+st99+2+MgjRgxQkVFRcrMzPS6TklJiUpKStz/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reGUAYcbxRQeV3RkcHdEIquu/hxv+/btvZbn5ORo7ty5fj9uUVGR2rRp47UsOjparVq1UlFRUZ33iYmJUVJSktfylJQUz30qKio0duxYPf/88+rQoYMOHz5c43EGDRqk1atXa/To0SovL9fly5d13333aenSpX73B85DZoQGGWEdMuIqMqImOxZWnKq0S5XtTgE72y1GyYWVVjcDgB/stTWxMScdTXTSUVqnc9Lr7KTPsB19+eWXOnfunOf25JNP1rrerFmzFBERUe/t4MHgvRdPPvmkevTooX/8x3+sc539+/frpz/9qebMmaMdO3YoLy9PX3zxhR555JGgtStcOPF7RmYEjxNfVyd+hu2AjHAGu876cbpwe105zQ8IHmZQuRhHx4PHiYMONE1iYqISExMbXG/mzJmaOHFivet07txZqamp+uqrr7yWX758WWfOnFFqamqt90tNTVVlZaVKSkq8jpAXFxd77rN582bt2bNHb775piR5Ll7YunVrzZ49W//yL/+iZ599VoMGDdLjjz8uSerdu7datGihu+66S88884zS0tIa7Cfch8wIHDIi/JAR9nehcxVH5oPMTrOpmEUFOBMFKh/8fepBbSzqbnUzfMagI3CcOujgiHjo3HTTTbrppoa/a5mZmSopKdGOHTvUv39/SVcHDlVVVV6/1nGt/v37q1mzZtq0aZMeeOABSVJhYaGOHj2qzMxMSdJ//dd/qayszHOfP/7xj/rRj36k//3f/1WXLl0kSV9//bWio703/1FRUZLk9Wsc8I9Ts6IameEfp+bDtciK4CMj4HbVM6nsUqhys/i9x5nNBdehQBVGGHT4x+mDDgYc9tSjRw/de++9mjx5spYvX65Lly5p+vTpGjNmjNLT0yVJx48f17Bhw/TGG29o4MCBatmypSZNmqTs7Gy1atVKiYmJmjFjhjIzM3XHHXdIkmeAUe3UqVOe56s+on7fffdp8uTJWrZsmYYPH66TJ0/qZz/7mQYOHOh5boDMaBynZwTsiYyA09lhNlUwZ1GV9Wyr+L3Hg/LYwZZcWMnF5GFbFKjCEIOOxmHQgWBbvXq1pk+frmHDhikyMlIPPPCAXnzxRc/fL126pMLCQn399deeZS+88IJn3YqKCg0fPlwvv/yyT887ceJElZaW6qWXXtLMmTOVlJSkoUOH6rnnngtY38Kd02dRXYvM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unXragw4quXl5WnMmDE6fPiwWrVq5XcfamNlRmwpuEkJCXUfd3m7tI+/3QIQYhUXL+v5YZvJCDIiYBkx5Q//TzEtmjW6rWOSChq9bqDklmSE/DmDYfOxrkF/jot/TWx4JR8kHG7arKCkz/27DlX8/pNNet6GlH07rdHrlnyr8dvLC50bnnnW4ubzjXqsoe0+a3Cd67+PFy9UafgdRX5lhHRNTqQ+HNScuGwqtaXo9UZnRKC3kcYYpaena+bMmfr5z38u6eo2MSUlRatWrdKYMWMalTfLli3T7NmzVVRUpJiYq6/XrFmz9Pbbb+vgwYONakujGR9UVFSYqKgos27dOq/lDz30kPne975X633at29vXnjhBa9lc+bMMb17967zeXJycowkbty4hcHt0KFDvmyGjDHGlJWVmdTU1JC1MSEhocaynJwcn9t9rZUrV5qkpCSvZZcuXTJRUVHmrbfeqvU+mzZtMpLM2bNnvZZ36NDBLFq0yPNvSSY9Pd3ceOON5vbbbzcrV640VVVVnr//0z/9kxk2bJj5xS9+YdLT003Xrl3NzJkzzddff92kPpER3LhxC/SNjPgGGXEVGcGNG7fqmz8ZYUxoc6KxGRGMbeShQ4eMJLNr1y6vdf7u7/7OPProo8aYxuXN+PHjzf333++1zubNm40kc+bMmUa1pbF8mo506tQpXblyRSkpKV7LU1JSPJWz6xUVFdW6flFRUZ3P8+STTyo7O9vz75KSEt188806evSoXxVSOzh//rzat29fo3rqJPTBPtzQj+ojmv4cnY2Li9ORI0dUWRmaX00xxigiIsJrWVOOjEtXt41t2rTxWhYdHa1WrVrVuX2sPmqRlJTktfz6berTTz+toUOHqnnz5nrvvfc0depUXbhwQY8++qgk6fDhw/roo48UFxendevW6dSpU5o6dapOnz6t119/3e8+kRH+c8N32g19kNzRDzf0gYwgI6r7REa44zvthj5I7uiHG/rQlIyQQpsTjc2IYGwjq//b0DoN5U1RUZE6depU4zGq/5acnOzX9ro2tjxfrq4pby1btnTsl6haYmIifbABN/RBckc/IiP9m1IdFxenuLi4ALem6WbNmqXnnnuu3nUOHDgQ1DY89dRTnv/v16+fLl68qOeff94z+KiqqlJERIRWr17t2VlftGiRRo0apZdfflnx8fFBbV9TkRH2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",
|
|
"text/plain": [
|
|
"<Figure size 1200x600 with 6 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure(figsize=(12, 6))\n",
|
|
"plot_solution(solver=pinn_feat)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e7bc0577",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Solving the problem with learnable extra-features PINNs"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "86c1d7b0",
|
|
"metadata": {},
|
|
"source": [
|
|
"We can still do better!\n",
|
|
"\n",
|
|
"Another way to exploit the extra features is the addition of learnable parameter inside them.\n",
|
|
"In this way, the added parameters are learned during the training phase of the neural network. In this case, we use:\n",
|
|
"\n",
|
|
"\\begin{equation}\n",
|
|
"k(x, \\mathbf{y}) = \\beta \\sin{(\\alpha x)} \\sin{(\\alpha y)},\n",
|
|
"\\end{equation}\n",
|
|
"\n",
|
|
"where $\\alpha$ and $\\beta$ are the abovementioned parameters.\n",
|
|
"Their implementation is quite trivial: by using the class `torch.nn.Parameter` we cam define all the learnable parameters we need, and they are managed by `autograd` module!"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "ae8716e7",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"GPU available: False, 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 999: 100%|██████████| 1/1 [00:00<00:00, 37.14it/s, v_num=2, bound_cond1_loss=4.22e-7, bound_cond2_loss=4.45e-7, bound_cond3_loss=4.78e-7, bound_cond4_loss=3.25e-7, phys_cond_loss=8.01e-6, train_loss=9.68e-6] "
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"`Trainer.fit` stopped: `max_epochs=1000` reached.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Epoch 999: 100%|██████████| 1/1 [00:00<00:00, 30.30it/s, v_num=2, bound_cond1_loss=4.22e-7, bound_cond2_loss=4.45e-7, bound_cond3_loss=4.78e-7, bound_cond4_loss=3.25e-7, phys_cond_loss=8.01e-6, train_loss=9.68e-6]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"class SinSinAB(torch.nn.Module):\n",
|
|
" \"\"\" \"\"\"\n",
|
|
" def __init__(self):\n",
|
|
" super().__init__()\n",
|
|
" self.alpha = torch.nn.Parameter(torch.tensor([1.0]))\n",
|
|
" self.beta = torch.nn.Parameter(torch.tensor([1.0]))\n",
|
|
"\n",
|
|
"\n",
|
|
" def forward(self, x):\n",
|
|
" t = (\n",
|
|
" self.beta*torch.sin(self.alpha*x.extract(['x'])*torch.pi)*\n",
|
|
" torch.sin(self.alpha*x.extract(['y'])*torch.pi)\n",
|
|
" )\n",
|
|
" return LabelTensor(t, ['b*sin(a*x)sin(a*y)'])\n",
|
|
"\n",
|
|
"\n",
|
|
"# make model + solver + trainer\n",
|
|
"model_learn = FeedForwardWithExtraFeatures(\n",
|
|
" input_dimensions=len(problem.input_variables) + 1, #we add one as also we consider the extra feature dimension\n",
|
|
" output_dimensions=len(problem.output_variables),\n",
|
|
" func=Softplus,\n",
|
|
" layers=[10, 10],\n",
|
|
" extra_features=[SinSinAB()])\n",
|
|
"\n",
|
|
"pinn_learn = PINN(problem, model_learn, optimizer=TorchOptimizer(torch.optim.Adam, lr=0.006,weight_decay=1e-8))\n",
|
|
"trainer_learn = Trainer(pinn_learn, max_epochs=1000, enable_model_summary=False,\n",
|
|
" train_size=1.0,\n",
|
|
" val_size=0.0,\n",
|
|
" test_size=0.0,\n",
|
|
" logger=TensorBoardLogger(\"tutorial_logs\")) # we train on CPU and avoid model summary at beginning of training (optional)\n",
|
|
"\n",
|
|
"# train\n",
|
|
"trainer_learn.train()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0319fb3b",
|
|
"metadata": {},
|
|
"source": [
|
|
"Umh, the final loss is not appreciabily better than previous model (with static extra features), despite the usage of learnable parameters. This is mainly due to the over-parametrization of the network: there are many parameter to optimize during the training, and the model in unable to understand automatically that only the parameters of the extra feature (and not the weights/bias of the FFN) should be tuned in order to fit our problem. A longer training can be helpful, but in this case the faster way to reach machine precision for solving the Poisson problem is removing all the hidden layers in the `FeedForward`, keeping only the $\\alpha$ and $\\beta$ parameters of the extra feature."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"id": "daa9cf17",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"GPU available: False, 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 999: 100%|██████████| 1/1 [00:00<00:00, 40.54it/s, v_num=3, bound_cond1_loss=1.78e-10, bound_cond2_loss=4.55e-10, bound_cond3_loss=2.04e-10, bound_cond4_loss=5.37e-10, phys_cond_loss=2.43e-14, train_loss=1.37e-9] "
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"`Trainer.fit` stopped: `max_epochs=1000` reached.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Epoch 999: 100%|██████████| 1/1 [00:00<00:00, 33.41it/s, v_num=3, bound_cond1_loss=1.78e-10, bound_cond2_loss=4.55e-10, bound_cond3_loss=2.04e-10, bound_cond4_loss=5.37e-10, phys_cond_loss=2.43e-14, train_loss=1.37e-9]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# make model + solver + trainer\n",
|
|
"model_learn= FeedForwardWithExtraFeatures(\n",
|
|
" layers=[],\n",
|
|
" func=Softplus,\n",
|
|
" output_dimensions=len(problem.output_variables),\n",
|
|
" input_dimensions=len(problem.input_variables)+1,\n",
|
|
" extra_features=[SinSinAB()])\n",
|
|
"pinn_learn = PINN(problem, model_learn, optimizer=TorchOptimizer(torch.optim.Adam, lr=0.006,weight_decay=1e-8))\n",
|
|
"trainer_learn = Trainer(pinn_learn, max_epochs=1000, accelerator='cpu', enable_model_summary=False,\n",
|
|
" train_size=1.0,\n",
|
|
" val_size=0.0,\n",
|
|
" test_size=0.0,\n",
|
|
" logger=TensorBoardLogger(\"tutorial_logs\")) # we train on CPU and avoid model summary at beginning of training (optional)\n",
|
|
"\n",
|
|
"# train\n",
|
|
"trainer_learn.train()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "150b3e62",
|
|
"metadata": {},
|
|
"source": [
|
|
"In such a way, the model is able to reach a very high accuracy!\n",
|
|
"Of course, this is a toy problem for understanding the usage of extra features: similar precision could be obtained if the extra features are very similar to the true solution. The analyzed Poisson problem shows a forcing term very close to the solution, resulting in a perfect problem to address with such an approach.\n",
|
|
"\n",
|
|
"We conclude here by showing the graphical comparison of the unknown field and the loss trend for all the test cases presented here: the standard PINN, PINN with extra features, and PINN with learnable extra features."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "8c64fcb4",
|
|
"metadata": {},
|
|
"source": [
|
|
"Let us compare the training losses for the various types of training"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "2855cea1",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"To load TensorBoard run load_ext tensorboard on your terminal\n",
|
|
"To visualize the loss you can run tensorboard --logdir 'tutorial_logs' on your terminal\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print('To load TensorBoard run load_ext tensorboard on your terminal')\n",
|
|
"print(\"To visualize the loss you can run tensorboard --logdir 'tutorial_logs' on your terminal\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0a4c8895",
|
|
"metadata": {},
|
|
"source": [
|
|
"## What's next?\n",
|
|
"\n",
|
|
"Congratulations on completing the two dimensional Poisson tutorial of **PINA**! 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. Propose new types of extrafeatures and see how they affect the learning\n",
|
|
"\n",
|
|
"3. Exploit extrafeature training in more complex problems\n",
|
|
"\n",
|
|
"4. Many more..."
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"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.12.3"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|