misc updates

This commit is contained in:
NT committed 2021-05-17 20:15:46 +08:00
1 parent 2374ecac67
commit 54740f1126
4 files changed
+228 -223

No files matched your search

+1 -1
View File
@@ -15,7 +15,7 @@ advantages such as improved learning feedback and generalization, as we'll outli
In contrast to physics-informed loss functions, it also enables handling more complex
solution manifolds instead of single inverse problems. Thus instead of using deep learning
to solve single inverse problems, we'll show how to train ANNs that solve
to solve single inverse problems, we'll show how to train NNs that solve
larger classes of inverse problems very quickly.
```{figure} resources/diffphys-shortened.jpg
+7 -2
View File
@@ -11,8 +11,13 @@ fte = re.compile(r"👋")
# TODO , replace phi symbol w text in phiflow
# TODO , filter tensorflow warnings?
# also torch "UserWarning:"
# TODO , filter tensorflow warnings? "WARNING:tensorflow:" eg in physloss-code
# also torch "UserWarning:" eg in supervised-airfoils
# from PINN burgers:
# u = np.asarray( [0.008612174447657694, 0.02584669669548606, 0.043136357266407785, 0.060491074685516746, 0.07793926183951633, 0.0954779141740818, 0.11311894389663882, 0.1308497114054023, 0.14867023658641343, 0.1665634396808965, 0.18452263429574314, 0.20253084411376132, 0.22057828799835133, 0.23865132431365316, 0.25673879161339097, 0.27483167307082423, 0.2929182325574904, 0.3109944766354339, 0.3290477753208284, 0.34707880794585116, 0.36507311960102307, 0.38303584302507954, 0.40094962955534186, 0.4188235294008765, 0.4366357052408043, 0.45439856841363885, 0.4720845505219581, 0.4897081943759776, 0.5072391070000235, 0.5247011051514834, 0.542067187709797, 0.5593576751669057, 0.5765465453632126, 0.5936507311857876, 0.6106452944663003, 0.6275435911624945, 0.6443221318186165, 0.6609900633731869, 0.67752574922899, 0.6939334022562877, 0.7101938106059631, 0.7263049537163667, 0.7422506131457406, 0.7580207366534812, 0.7736033721649875, 0.7889776974379873, 0.8041371279965555, 0.8190465276590387, 0.8337064887158392, 0.8480617965162781, 0.8621229412131242, 0.8758057344502199, 0.8891341984763013, 0.9019806505391214, 0.9143881632159129, 0.9261597966464793, 0.9373647624856912, 0.9476871303793314, 0.9572273019669029, 0.9654367940878237, 0.9724097482283165, 0.9767381835635638, 0.9669484658390122, 0.659083299684951, -0.659083180712816, -0.9669485121167052, -0.9767382069792288, -0.9724097635533602, -0.9654367970450167, -0.9572273263645859, -0.9476871280825523, -0.9373647681120841, -0.9261598056102645, -0.9143881718456056, -0.9019807055316369, -0.8891341634240081, -0.8758057205293912, -0.8621229450911845, -0.8480618138204272, -0.833706571569058, -0.8190466131476127, -0.8041372124868691, -0.7889777195422356, -0.7736033858767385, -0.758020740007683, -0.7422507481169578, -0.7263049162371344, -0.7101938950789042, -0.6939334061553678, -0.677525822052029, -0.6609901538934517, -0.6443222327338847, -0.6275436932970322, -0.6106454472814152, -0.5936507836778451, -0.5765466491708988, -0.5593578078967361, -0.5420672759411125, -0.5247011730988912, -0.5072391580614087, -0.4897082914472909, -0.47208460952428394, -0.4543985995006753, -0.4366355580500639, -0.41882350871539187, -0.40094955631843376, -0.38303594105786365, -0.36507302109186685, -0.3470786936847069, -0.3290476440540586, -0.31099441589505206, -0.2929180880304103, -0.27483158663081614, -0.2567388003912687, -0.2386513127155433, -0.22057831776499126, -0.20253089403524566, -0.18452269630486776, -0.1665634500729787, -0.14867027528284874, -0.13084990929476334, -0.1131191325854089, -0.09547794429803691, -0.07793928430794522, -0.06049114408297565, -0.0431364527809777, -0.025846763281087953, -0.00861212501518312] );
# ->
# u = np.asarray( [0.008612174447657694, 0.02584669669548606, ... ] )
path = "tmp2.txt" # simple
path = "tmp.txt" # utf8
+1 -1
View File
@@ -10,7 +10,7 @@ As much as possible, the algorithms will come with hands-on code examples to qui
Beyond standard _supervised_ learning from data, we'll look at _physical loss_ constraints,
more tightly coupled learning algorithms with _differentiable simulations_, as well as extensions such
as reinforcement learning and uncertainty modeling.
These methods have a huge potential to fundamentally change what we can achieve
We live in exciting times: these methods have a huge potential to fundamentally change what we can achieve
with simulations.
+219 -219
View File
@@ -1,29 +1,4 @@
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "supervised-airfoils-may16a.ipynb",
"provenance": []
},
"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.8.5"
}
},
"cells": [
{
"cell_type": "markdown",
@@ -92,6 +67,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
@@ -99,6 +75,18 @@
"id": "JwZudtWauiGa",
"outputId": "802dc68e-ac0d-4a0e-ffb0-30153433b98b"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Torch version 1.8.1+cu101\n",
"Downloading training data (300MB), this can take a few minutes the first time...\n",
"Loaded data, 320 training, 80 validation samples\n",
"Size of the inputs array: (320, 3, 128, 128)\n"
]
}
],
"source": [
"import numpy as np\n",
"import os.path, random\n",
@@ -116,19 +104,6 @@
"print(\"Loaded data, {} training, {} validation samples\".format(len(npfile[\"inputs\"]),len(npfile[\"vinputs\"])))\n",
"\n",
"print(\"Size of the inputs array: \"+format(npfile[\"inputs\"].shape))\n"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"Torch version 1.8.1+cu101\n",
"Downloading training data (300MB), this can take a few minutes the first time...\n",
"Loaded data, 320 training, 80 validation samples\n",
"Size of the inputs array: (320, 3, 128, 128)\n"
],
"name": "stdout"
}
]
},
{
@@ -144,6 +119,7 @@
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
@@ -152,6 +128,21 @@
"id": "6y6YGxMeNECD",
"outputId": "91a5b3c7-4b87-4e31-d6e8-105d09d08f7e"
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light",
"tags": []
},
"output_type": "display_data"
}
],
"source": [
"import pylab\n",
"\n",
@@ -173,22 +164,6 @@
"\n",
"NUM=72\n",
"showSbs(npfile[\"inputs\"][NUM],npfile[\"targets\"][NUM], stats=False, bottom=\"Target Output\", top=\"Inputs\", title=\"3 inputs are shown at the top (mask, in-ux, in-uy), with the 3 output channels (p,ux,uy) at the bottom\")\n"
],
"execution_count": 2,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
@@ -206,6 +181,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
@@ -213,6 +189,15 @@
"id": "BGN4GqxkIueM",
"outputId": "b97ce299-8c12-402a-d90a-c583224c8971"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training & validation batches: 32 , 8\n"
]
}
],
"source": [
"# some global training constants\n",
"\n",
@@ -241,16 +226,6 @@
"valiLoader = torch.utils.data.DataLoader(vdata, batch_size=BATCH_SIZE, shuffle=False, drop_last=True) \n",
"\n",
"print(\"Training & validation batches: {} , {}\".format(len(trainLoader),len(valiLoader) ))"
],
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"text": [
"Training & validation batches: 32 , 8\n"
],
"name": "stdout"
}
]
},
{
@@ -272,9 +247,11 @@
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"id": "PVNjz4FjGhdY"
},
"outputs": [],
"source": [
"import os, sys, random\n",
"import numpy as np\n",
@@ -367,9 +344,7 @@
" m.weight.data.normal_(1.0, 0.02)\n",
" m.bias.data.fill_(0)\n",
"\n"
],
"execution_count": 4,
"outputs": []
]
},
{
"cell_type": "markdown",
@@ -384,6 +359,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
@@ -391,6 +367,15 @@
"id": "N1uV8k5VIoqT",
"outputId": "ceb8fb79-6154-423a-9d17-d6e4dd0c2718"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Trainable params: 147555 -> crucial! always keep in view... \n"
]
}
],
"source": [
"# channel exponent to control network size\n",
"EXPO = 3\n",
@@ -412,16 +397,6 @@
"\n",
"targets = torch.autograd.Variable(torch.FloatTensor(BATCH_SIZE, 3, 128, 128))\n",
"inputs = torch.autograd.Variable(torch.FloatTensor(BATCH_SIZE, 3, 128, 128))\n"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": [
"Trainable params: 147555 -> crucial! always keep in view... \n"
],
"name": "stdout"
}
]
},
{
@@ -446,6 +421,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
@@ -453,6 +429,37 @@
"id": "kkOYvwxqKa8n",
"outputId": "a973331c-9e8f-401f-dfd7-9b7177faca0f"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training from scratch\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3458: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.\n",
" \"See the documentation of nn.Upsample for details.\".format(mode)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch: 0, L1 train: 0.20192, L1 vali: 0.17916\n",
"Epoch: 1, L1 train: 0.18912, L1 vali: 0.18013\n",
"Epoch: 2, L1 train: 0.17917, L1 vali: 0.17145\n",
"Epoch: 20, L1 train: 0.08637, L1 vali: 0.08432\n",
"Epoch: 40, L1 train: 0.03682, L1 vali: 0.03222\n",
"Epoch: 60, L1 train: 0.03176, L1 vali: 0.02710\n",
"Epoch: 80, L1 train: 0.02772, L1 vali: 0.02522\n",
"Training done, saved model\n"
]
}
],
"source": [
"history_L1 = []\n",
"history_L1val = []\n",
@@ -502,38 +509,6 @@
"\n",
" torch.save(net.state_dict(), \"model\" )\n",
" print(\"Training done, saved model\")\n"
],
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": [
"Training from scratch\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3458: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.\n",
" \"See the documentation of nn.Upsample for details.\".format(mode)\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Epoch: 0, L1 train: 0.20192, L1 vali: 0.17916\n",
"Epoch: 1, L1 train: 0.18912, L1 vali: 0.18013\n",
"Epoch: 2, L1 train: 0.17917, L1 vali: 0.17145\n",
"Epoch: 20, L1 train: 0.08637, L1 vali: 0.08432\n",
"Epoch: 40, L1 train: 0.03682, L1 vali: 0.03222\n",
"Epoch: 60, L1 train: 0.03176, L1 vali: 0.02710\n",
"Epoch: 80, L1 train: 0.02772, L1 vali: 0.02522\n",
"Training done, saved model\n"
],
"name": "stdout"
}
]
},
{
@@ -549,6 +524,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
@@ -557,6 +533,21 @@
"id": "Hlki3bU8JMTT",
"outputId": "2a36d013-5af2-4580-f782-86b65f6f8c11"
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light",
"tags": []
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
@@ -567,22 +558,6 @@
"plt.plot(np.arange(l1vali.shape[0] ),l1vali ,'g',label='Validation loss')\n",
"plt.legend()\n",
"plt.show()\n"
],
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
@@ -607,15 +582,39 @@
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 386
},
"id": "N6OONK0bL4ev",
"scrolled": true,
"outputId": "240ad666-e266-42d1-c13f-3573eddc7221"
"outputId": "240ad666-e266-42d1-c13f-3573eddc7221",
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3458: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.\n",
" \"See the documentation of nn.Upsample for details.\".format(mode)\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light",
"tags": []
},
"output_type": "display_data"
}
],
"source": [
"net.eval()\n",
"for i, validata in enumerate(valiLoader, 0):\n",
@@ -626,30 +625,6 @@
" outputs = net(inputs)\n",
" outputs_curr = outputs.data.cpu().numpy()\n",
" if i<1: showSbs(targets_curr[0] , outputs_curr[0], title=\"Validation sample %d\"%(i*BATCH_SIZE))\n"
],
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3458: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.\n",
" \"See the documentation of nn.Upsample for details.\".format(mode)\n"
],
"name": "stderr"
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE8CAYAAABQAcL1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOy9ebA8y1Xf+T1Z3ffe3++np/ekpwUhCYTEE5jN2GYEgoFhBmMIjA0mHOwDshk8Bsx4MODBM2AY8EwQHm8QYLAgLMAjNkdgQiwDggGDwaANGxnJDJaQxHta3v5++73dVXnmj8ysOpmVmZVVXX23V+cX99fdVVlZWdXVdT71PScziZmx2GKLLbbYYostps66AYsttthiiy222PmwBQoWW2yxxRZbbDEACxQstthiiy222GLWFihYbLHFFltsscUALFCw2GKLLbbYYotZW6BgscUWW2yxxRYDsEDBYpfUiIiJ6MPt+x8kom8rKTthP19GRK+f2s7zbrucm8UWW+zi2QIFi51LI6JfIqLvjCz/PCL6ABGtSuti5r/JzN81Q5teYp1ku29mfi0z/4Vd676MRkRfSkTvIaLbRPSzRPTss27TYostlrcFChY7r/ajAL6ciChY/t8DeC0z12fQpsUKjYg+GsC/gPm+ng/gDoB/fqaNWmyxxQZtgYLFzqv9LID7AXyqW0BEzwLwuQB+jIheQUS/Q0RPEdH7iej7iOggVhER/QgR/QPx+ZvtNu8jor8elP2LRPQfiOgGET1IRN8hVv+mfX2KiG4R0SuJ6FVE9Fti+08mojcR0XX7+sli3b8lou8iot8moptE9Hoiek6izc8hop+3x/cEEf07IlJ23bcQ0TttHW8nor8itnuVrf+f2m3/2LbpVfZ4HiGirwzOzQ8S0a/Y+n6DiD400aZDIvpHRPQnRPSw3e5KrCyALwPwc8z8m8x8C8C3AfgCIronUX6xxRY7B7ZAwWLn0pj5LoCfBvAVYvEXAvhDZv59AA2AbwDwHACvBPAZAL52qF4i+mwA3wTgMwE8AODPB0Vu233eB+AvAvgaIvp8u+7T7Ot9zPwMZv6doO5nA/gFAN8LAzT/BMAvENH9otiXAvhrAJ4H4MC2JWbfCOAhAM+FedL+XwG4McnfCQNL9wL43wH830T0ArHtJwJ4q23DjwP4SQD/FYAPB/DlAL6PiJ4hyn8ZgO+COZf/EcBrE236bgAvB/Dxtq4XAvj7ibIfDeD33QdmfieAjd1+scUWO6e2QMFi59l+FMBfJaIj+/kr7DIw81uY+XeZuWbmd8NI1f9NQZ1fCOA1zPwHzHwbwHfIlcz8b5n5PzGzZua3AviJwnoBAxH/hZn/lW3XTwD4QwB/SZR5DTP/kYCej0/UtQXwAgAfysxbZv53bCcqYeZ/zczvs238KQD/BcArxLbvYubXMHMD4KcAvBjAdzLzCTO/HsY5y+TBX7BP9CcA/jcArySiF8vG2DDO3wDwDcz8BDPfBPB/AvjiRPufAeB6sOw6gEUpWGyxc2wLFCx2bo2ZfwvAYwA+n4heBuP4fhwAiOjlVl7/ABHdgHFQUSk+sA8G8KD4/B65kog+kYh+nYgeJaLrAP5mYb2u7vcEy94D80Tt7APi/R0Y5xmz/wvAOwC83oYAvkW08SuI6D/a8MBTAD4maOPD4v1dAGDmcJncb3s+rNT/hD0Wac8FcBXAW8R+f8kuj9ktAM8Mlj0TwM1E+cUWW+wc2AIFi513+zEYheDLAfyycG4/APMU/gAzPxNGXg+TEmP2fpgnZ2cfEqz/cQCvA/BiZr4XwA+KeoemFH0fgDAe/yEA3lvQLs+Y+SYzfyMzvxTAXwbwd4joM2y8/4cA/C0A9zPzfQD+AGXHnrL2fNiwwrNhjkXaYzAw8dHMfJ/9u5eZU1DzNgB/WtT7UgCHAP5oh3Yutthie7YFChY77/ZjMHH/r4YNHVi7B8ANALeI6CMBfE1hfT8N4FVE9FFEdBXAtwfr7wHwBDMfE9ErYHIAnD0KQAN4aaLuXwTwctsVb0VEXwTgowD8fGHbWiOizyWiD7ey/XWYHAoN4BoMnDxqy/01GKVgF/scIvqvbaLmdwH4XWaWagqYWcPAyD8loufZfb+QiD4rUedrAfwlIvpUIroG4DsB/IwNOyy22GLn1BYoWOxcm80X+PcwzvB1YtU3wTjsmzDO6qcK6/t/APwzAL8GI8//WlDkawF8JxHdhEmi+2mx7R0A/weA37YS+icFdT8O0zviGwE8DuDvAvhcZn6spG2BPQDgV2Fk+N8B8M+Z+deZ+e0A/rFd9jCAjwXw2xPql/bjMHD0BIA/B6PKxOx/gTlnv2tDNr8K4CNiBZn5bTChl9cCeAQGtgYTQRdbbLGzNbK5S4stttjT0IjoRwA8xMzfetZtWWyxxc7eFqVgscUWW2yxxRYDsEDBYosttthii104I6J/aQcj+4PEeiKi7yWidxDRW4nozxbVu4QPFltsscUWW+xiGRF9GkzO0Y8xcy/ZmIg+B8DXA/gcmAHNvoeZP3Go3kUpWGyxxRZbbLELZsz8mzDJwSn7PBhgYGb+XQD3BSOfRm2BgsUWW2yxxRa7fPZC+AO1PQR/ILWoFU8/O8aec+9Vfsnz7zMfRkUnRoYyLnLko3iomYKCuwxbU2q9yQp3sDubgX1NqLO3TWElY/d1Guc6tLHXeXF5zn6cY19TwpPveTg6r9UuzZhkRXVy9G22YEm9ZWXKj7qsZLzU/Od2txpvN48+xsypkTTPpX3WZ72CH388HPU7b295yx+9DcCxWPRqZn71rA2L2F6g4CXPvw9v+t7/AdAjvvxRZfX4Rk3d15CpHbyEKhRqhvYxuH5gPyXHQAVtLTwX+vfeLbYpqCNcFgAKlWwztUzJurbMDsJbyTWdum5Ll8fKiWUcro859KE6g8Po1VnQjq/6nugkjaNsyGGmTll4yOG3EkJO//DF+eRxy7VYIav1t+Xoch0cb3j8ubKpZdw7+nTZlOlEHbvYG65/XziU+Lm3xx+/jje88V+M2mZV/bfHzPwJO+z2vfBHb30RCkZXvXjhg6lAoLn7m7U9PL1urXdzBsXr5/9hnmsbcvaKyoEgVtZbr7q/XUzWk6or1ZahNspyGevB1ZzqUM6C63cXznZG9l/KUvsIDzn8JigoMEdb57azBAId/FvMGqO735f+7W6vA/AVthfCJwG4zszvH9poL0rBaCt1pmNP1NwAMHafpXcMrYediuazuwPNqBL425SUGakSjP08Zlm77hRY2u0jds27toXXt6L+9TelzD6tcF9Dl1Npkx0YxJSD1Gkk8p/mFXzFgIiSYREFah1nWM+cNuToS9bF1k+BgcX5lxjP/nBGRD8B4NMBPIeIHoIZlXQNAMz8gzDDrn8OzCikd2CmbB+0/UFBsaPfAxCcBQzEzLWjxGG648s5nBwYnCU0nBfbNxCUwMCUp+uc55D7DH8De3D6pCgu+Z+WFf7Mw69oqMlDcDAWDIa234eV5GdwBhaGPseAYB8wEG6noKLLLp3NDAXM/CUD6xnA142t92yVgrmB4LzAQGhj4WDqk2gWGnao95xaNJcgZbvkFOTO2xwSe1hH6uavVBwMgDwIjP0cto2nQ8ZpWSkkpOAgdhpzT/o5tSDaPqEgjLEp25TUswsQlMLALuUunfrA2J9sNLPtBwrmPPbTAgIecRGWyOkxK4WDnAO/zIrAkJPOOeAxSYOl5VPfwb5j7bL+8EaSCivMCAKnqhZE9kPY/RYiv87YoeTgIAUGuTCC3G4IAHYNK6RCBymVYCwQTIWBS+fIZ7X5wwf7srNTCkpuOnMk4cVsDACUbj8GFEoc+1QwmAINFxA0sirBrnkGU2Fgl3OYe1IH4nAwJxhMVQD2pByUnMnSvaZyB8x+aBAMvHUojnCY+gcAYKqCMNWmAEHO2S8gMMIWKNjR5gaCXUFgTP0lgLArGJwnK3WG+zqWWQEh0sYUDMwJUkP6dwwOYqrBPhIJJz7a9tSGmeEhdvZze0gmFg6AQS6/YIxasAsADIUqSlSCOYFgFxhgim9LfAHudVONsUBB1nbtQneeYCC3zyE4KAknpMBgkiJwQSAjZqWS/U6AEJybHWBgKN9hUJ4vTY0H+qpB9lG3DBJOJYQwMMbBFJNnPdX6aP5AJJyQA4N9Wm43pb0OctuZfeSBYBcYSDn9Xba7+MCwhA+m21xAcBYwkGtDDhCmyvep7S5gOGCMFScYjgIE8f3EYCBT16iEx8w2USecyoAD+qpBCgxKwwbnJIlwrmYMAUK010GgGqTAoEQtaOvcM1CU5hJ05ccDQQ4GpkLAGDuNfezVFqUgY7v82ku2nQoDU+OppcZ6Ohhc5Cd8Z2PbP8Xxl0LATEAwBQZyJuvrAUJJevwYMDhtGzkS4pS0mJy56sJiKdUgNSJiLvFwbhs7/kBJ2EACwS4wcOGd9Kkbg87Dg2qBnS+lIEdScwLBXDfH1I07ZUNhhVw4YWwY4bTUgvOqSKQgYAwQRI5tEASmwFvkunf7icJBTjWIJSDGtp0LGOR2Z3jPK++SaCwGBykwyPVI6Jb1uyjmcgjGqAe5fILB4ZwnAsGuMLBL8qQ6kwlGTsEWpSBiuRvPLkBw2jAwVP8ccDAGDM67nUaC4dj3YbsoUw4ZGJjj2DIDFEXVgyHVQILBWIc/k6KQzUfIqARz5TEMd0m0+4ts04YLMmDQboM+C+1LlCl1tEPDFk8BghwMzN17IpageeGNcS5CcyV2vpSCKVYCBKf9ZYTx25TlQgpjwGCMKnARwUI47Nkk+0IgiE+2NMMEU856SkAeEDi8tsaCwQiFYLZkw5F1KCLo8Kl7INE0LO9vm25KCg6GwCAWRigZ0GiOLohu+9zohX65OBDsAgNn2Y3yYhovSkHP9qESDAHBlBvakFw7NdiZ2m4KGJSWPQ8Jh6cNIEWKwUQgyE1UNNVyuncEELine truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
@@ -678,6 +653,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
@@ -686,6 +662,72 @@
"id": "dD5O58L9HLE-",
"outputId": "9ea61f54-2bc2-4881-f6bf-e37502e48383"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Downloading test data, this should be fast...\n",
"Loaded 10/10 test samples\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3458: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.\n",
" \"See the documentation of nn.Upsample for details.\".format(mode)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Average test error: 0.029000501427799464\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light",
"tags": []
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light",
"tags": []
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light",
"tags": []
},
"output_type": "display_data"
}
],
"source": [
"if not os.path.isfile('data-airfoils-test.npz'):\n",
" import urllib.request\n",
@@ -714,73 +756,6 @@
" if i<3: showSbs(targets_curr[0] , outputs_curr[0], title=\"Test sample %d\"%(i))\n",
"\n",
"print(\"\\nAverage test error: {}\".format( L1t_accum/len(testLoader) ))"
],
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": [
"Downloading test data, this should be fast...\n",
"Loaded 10/10 test samples\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3458: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.\n",
" \"See the documentation of nn.Upsample for details.\".format(mode)\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"Average test error: 0.029000501427799464\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 1152x360 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
@@ -818,5 +793,30 @@
"\n"
]
}
]
],
"metadata": {
"colab": {
"name": "supervised-airfoils-may16a.ipynb",
"provenance": []
},
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 1
}