minor fixes to RL and BNN codes

This commit is contained in:
NT committed 2021-08-05 13:14:06 +02:00
1 parent 215b5024f6
commit a5b2435918
2 files changed
+115 -65

No files matched your search

+3 -2
View File
@@ -38,7 +38,8 @@
"## Overview\n",
"\n",
"We are now considering the same setup as in the notebook {doc}`supervised-airfoils`: A turbulent airflow around wing profiles, for which we'd like to know the average motion\n",
"and pressure distribution around this airfoil for different Reynolds numbers and angles of attack. In the earlier notebook, we tackled this by completely bypassing any physical solver and instead training a neural network that learns the quantities of interest. Now, we want to extend this approach to the variational Bayesian Neural Networks (BNNs) of the previous section. In contrast to traditional networks, that learn a single point estimate for each weight value, BNNs aim at learning a _distribution_ over each weight parameter (e.g. a Gaussian with mean $\\mu$ and variance $\\sigma^{2}$). During a forward-pass, each parameter in the network is then sampled from its corresponding approximate posterior distribution $q_{\\phi}(\\theta)$. In that sense, the network parameters themselves are _random variables_ and each forward pass becomes _stochastic_, because for a given input the predictions will vary with every forward-pass. This allows to assess how _uncertain_ the network is: If the predictions vary a lot, we think that the network is uncertain about its output. "
"and pressure distribution around this airfoil for different Reynolds numbers and angles of attack. In the earlier notebook, we tackled this by completely bypassing any physical solver and instead training a neural network that learns the quantities of interest. Now, we want to extend this approach to the variational Bayesian Neural Networks (BNNs) of the previous section. In contrast to traditional networks, that learn a single point estimate for each weight value, BNNs aim at learning a _distribution_ over each weight parameter (e.g. a Gaussian with mean $\\mu$ and variance $\\sigma^{2}$). During a forward-pass, each parameter in the network is then sampled from its corresponding approximate posterior distribution $q_{\\phi}(\\theta)$. In that sense, the network parameters themselves are _random variables_ and each forward pass becomes _stochastic_, because for a given input the predictions will vary with every forward-pass. This allows to assess how _uncertain_ the network is: If the predictions vary a lot, we think that the network is uncertain about its output. ",
"[[run in colab]](https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/bayesian-code.ipynb)"
]
},
{
@@ -1152,4 +1153,4 @@
]
}
]
}
}
+112 -63
View File
@@ -99,7 +99,7 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "23bfdf80-3d9d-4195-dbd8-d03cd4061144"
"outputId": "73046435-964d-4d69-adae-ec7e519ede10"
},
"source": [
"import sys; sys.path.append('PDE-Control/src'); sys.path.append('PDE-Control-RL/src')\n",
@@ -170,7 +170,7 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "ed4f054a-2fdf-479e-e00b-847f63edf474"
"outputId": "bf634970-0b1d-4202-ef7b-6b6043af3f84"
},
"source": [
"for batch_index in range(SCENE_COUNT // BATCH_SIZE):\n",
@@ -304,7 +304,7 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "42f94dd3-5d45-4911-88a5-75c873d0d090"
"outputId": "31a11968-97d5-4acc-bde9-57d209c41174"
},
"source": [
"rl_trainer = BurgersTraining(\n",
@@ -348,6 +348,18 @@
"The graph titled \"forces\" shows how the overall amount of forces generated by the network evolves during training. \"rew_unnormalized\" shows the reward values without the normalization step described above. The corresponding values with normalization are shown under \"rollout/ep_rew_mean\". \"val_set_forces\" outlines the performance of the agent on the validation set."
]
},
{
"cell_type": "code",
"metadata": {
"id": "ARgXZocR_stV"
},
"source": [
"%load_ext tensorboard\n",
"%tensorboard --logdir PDE-Control-RL/networks/rl-models/bench/tensorboard-log"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
@@ -364,12 +376,12 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "a6483d80-9658-4c1f-fc5b-07c5cd9c30bf"
"outputId": "937e7a7f-ab45-42fa-802e-461a81463cc4"
},
"source": [
"rl_trainer.train(n_rollouts=RL_ROLLOUTS, save_freq=50)"
],
"execution_count": 8,
"execution_count": 7,
"outputs": [
{
"output_type": "stream",
@@ -426,7 +438,7 @@
"base_uri": "https://localhost:8080/",
"height": 545
},
"outputId": "d23253e4-1fa7-4df2-c5bb-03ec1a958830"
"outputId": "00a91082-04c5-48ab-f7be-4debf0f5586a"
},
"source": [
"TEST_SAMPLE = 0 # Change this to display a reconstruction of another scene\n",
@@ -443,7 +455,7 @@
" axs[1].plot(gt_frames[frame][TEST_SAMPLE,:], color=frame_color, linewidth=0.8)\n",
" axs[2].plot(unc_frames[frame][TEST_SAMPLE,:], color=frame_color, linewidth=0.8)"
],
"execution_count": 9,
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
@@ -456,7 +468,7 @@
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABFoAAAJHCAYAAACgpjLsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3hc1Zk/8O+ZUZ1R14xGvbj3JuOCC8bYlNBMQksgBFLZbEKSJYHdTX6bLEk2yZJCEjaNECCBUALBdNxtuUqWbblXdav3MpJGGs35/XFH8khTNHPv2Cr+fp5Hz2Pde869R4LnzNV73/MeIaUEERERERERERFppxvtARARERERERERTRQMtBARERERERERBQkDLUREREREREREQcJACxERERERERFRkDDQQkREREREREQUJAy0EBEREREREREFCQMtdFkJIT4SQnzOz7YWIUSeEKJDCPGLyz028k4I8QchxP8b7XEQEV1pQohsIYQUQoSMwr3LhBDrrvR9iYhoKCHED4QQLzv/rfpzYTQ/U2h0MdBCI3I++HULITqFELVCiBeFEFH+9JVS3iKlfMnPW30ZQCOAGCnl46oHPIaN9BAthFgjhLh4JcfkiZTyUSnlD0d7HEQ0MQkh7hdC5AshrEKIeue/vyqEEKM9Nl+cn4MDXw6Xz8ZOIcQDAV7rRSHEjy7XWImIrgRnEGHKsGODQYpRGtOYeJ6mqxsDLeSv26WUUQAWAFgI4D8uwz2yAJySUspAOzJK7D/+rohoNAkhHgfwawBPA0gGYAHwKIAVAMK89NFfsQH6IKWMGvgCUAHnZ6Pz65WBdpxniYjGNs7TdLkx0EIBkVLWAtgEJeACABBCLBNC7BNCtAohjgoh1ric2ymE+KLz3w8LIfYIIX4uhGgRQpQKIW5xnnsRwOcAPOF8M7hOCBEuhHhGCFHt/HpGCBHubL9GCHFRCPGkEKIWwAtCCL0Q4j+FEMXO5UeHhBAZzvYzhBBbhBDNQoizQoh7Xcb4ohDid85lTp1CiL1CiGTn/VqEEGeEEAtd2qcKId4SQjQ4f4bHXM79QAjxhhDir84xnBRCLHae+xuATADvOe/zRCC/+xHuu0QIsd/536BGCPGsECLM5bwUQvyrEOI8gPMuv7/HnW+Ta4QQjwz7nfxo2O/aW9tEIcR7Qoh2IcRBIcSPhBB7AvnZiOjqIISIBfAUgK9KKd+UUnZIxREp5QNSSpuz3YtCiN8LIT4UQlgBXC+EmOn8TGl1zq13uFx38LPG+f3DrvOQcw58VAhx3tn//4RQsmecnx0/F0I0CiFKANyq4ufy9Jn08PC50DmOKUKILwN4AJc+895zabZACHFMCNEmhHhdCBER6HiIiMYKP54jI4UQvxBClDvnvT1CiEjnuTuc832rc56f6dKvTAjx7eHzpRDCCOAjAKniUsZhqvMZ/U0hxMtCiHYADzuPvyuUvw8uCCG+5OfPFCuEeN75s1Q5n331znOaP1NoYmCghQIihEgHcAuAC87v0wB8AOBHABIAfBvAW0IIs5dLLAVwFoAJwP8CeF4IIaSUDwN4BcD/Ot8MbgXwXQDLoAR15gNYAuB7LtdKdt4zC8qyo38D8GkAnwAQA+DzALqcE+4WAH8HkATgfgC/E0LMcrnWvc5rmwDYAOwHcNj5/ZsAfun8eXUA3gNwFEAagBsAfFMIcZPLte4A8BqAOADvAngWAKSUn8XQN6D/6+V35MaP+/YD+JZzvMud57867DIboPz+B37uZACxzut9AcD/CSHivQzBV9v/A2B1tvmc84uIyJPlAMIBvONH288A+DGAaAD5UObAzVDm8a8DeEUIMT2Ae98G4BoA86DM+QPz55ec5xYCWAzg7gCu6Wr4Z5JXUso/Yehn3u0up+8FcDOAHOdYH1Y5HiKiscLXc+TPAeQCuBbKHPoEAIcQYhqAVwF8E4AZwIdQXla6Zj66zZdSSiuUv1WqXTIOq53t74TyXB8HZQ5+DcBFAKlQ5v7/EUKs9ePneRGAHcAUKJ8dNwIYCPYH6zOFxjkGWshfG4UQHQAqAdQD+L7z+IMAPpRSfiildEgptwAohBLs8KRcSvmclLIfwEsAUqCkjXvyAICnpJT1UsoGAP8N4LMu5x0Avi+ltEkpu6FMcN+TUp51viE9KqVsgjLZlUkpX5BS2qWURwC8BeAel2u9LaU8JKXsAfA2gB4p5V+d43wdymQJKA/pZinlU1LKXillCYDnoARvBuxx/j76AfwNSpBIK5/3dY79gPPnKwPwRwDXDbvGT6SUzc7fFQD0Qfn99kkpPwTQCcDbHy0e2zqj95+C8t+hS0p5Csp/VyIiT0wAGqWU9oED4lJGZLcQYrVL23eklHullA4oAfcoAD91zoHbAbwPJbjur59KKVullBUAduBSZua9AJ6RUlZKKZsB/ETlzzb8M0mt30gpq51jec9lnERE45W350gdlBej35BSVkkp+6WU+5zZjfcB+EBKuUVK2QclIBMJJSAzIND5cr+UcqPzc8UEZcnqk1LKHillEYA/A3jI1wWEEBYof+d8U0pplVLWA/gVLv0tEKzPFBrnuDaN/LVBSrlVCHEdlMwQE4BWKG/u7hFCuL6NC4XyEOtJ7cA/pJRdzsxtb4V1UwGUu3xf7jw2oMEZGBmQAaDYw3WyACwVQrS6HAuBEgQZUOfy724P3w+MMQtKKqLrtfQAdrt8X+vy7y4AEUKIENc/LFTweV9n1P+XUCLnBig/36Fh16gc9n3TsDF1wft/C29tzc57uV57+H2IiAY0ATC5zolSymsBQCiFC11fALnOJakAKp0PxwPKobwd9dfwuXlgvksddi/Xz51ADP9MUmv4OFO9NSQiGgP6oTz7uwqFElwZ4O050gQgAp6f34f8HSCldAghKjF03g90vhz+udIspexwOVYO5VnalywoP1+NuFS/Xedy7WB9ptA4x4wWCoiUcheUdLmfOw9VAviblDLO5csopfxpEG5XDWUyG5DpPDY4nGHtKwFM9nCdSgC7ho0xSkr5LyrGVAmgdNi1oqWU3jJ4hgu40K+f9/09gDMApkopYwD8J4Dhu3eovbcvDVBSJ9NdjmVchvsQ0cSwH8ryzDv9aOs6Z1UDyHC+/RyQCaDK+W8rlCDzgOQAxlSDofNWZgB9XQ2fY4eMSQgxfEyXY04mIrrSKgBkDzuWA/8CDI0AeuD5+X3I3wHOuloZuDTv++Jtfh3+uZIghIh2Oeb6ueJNJZTPMZPLM3mMlHK283ywPlNonGOghdR4BsB6IcR8AC8DuF0IcZOz+FOEs+hV+gjX8MerAL4nhDALIUwA/st5P2/+DOCHQoipQjFPCJEIJb18mhDis0KIUOfXNa4FtQJQAKDDWfAw0vkzzxFCXONn/zoAk0Zq5Pw9Dn75cd9oAO0AOoUQMwCoCSIFzLk86p8AfiCEMDjv7TPlkoiuXlLKVijLQH8nhLhbCBEthNAJIRYAMPromg/lbeUTzjl8DYDboayvB4AiAJ90zkNToNQA8NcbAB4TQqQ7awb8e4A/ljdHAcwWQixwzuM/GHber88DIqIx7nUoz+vpzvl8HZT5+c2ROjqzFP8C4JfOwrR6IcRyoWx+8QaAW4UQNwghQgE8DiXAsc+PMdUBSBRKAXZv9650XusnzufteVA+O3xuSy2lrIFSL+wXQogY58882Zn1D1y+zxQaZxhooYA566X8FcB/OSepO6FkUDRAifJ+B8H5f+tHUOq9HANwHEpx2h/5aP9LKJPbZihBh+cBRDpTAm+EsnayGkqa4c+gFGQMiDOwcBuUNaClUCLxf4ZS4MsfP4HyYdQqhPi2lzZpUJYruX7ljHDfb0MpHNkBpXbL6wH9YNp8zTmOWijLsV6F8kFIRORGKoXA/w1KwcM659cfATwJLw/QUspeKA/ut0CZ/34H4CEp5Rlnk18B6HVe6yUoRQ799RyU3fSOQvmc+WdgP5FnUspzUHZY2grgPIDhu7E9D2CW8/NgYzDuSUQ0Cp6CMnfvAdACZbOLB6SUJ/zs/20oz/kHATRDeUbXSSnPQqkF+Vso8/7tUDaU6B3pgs7PhlcBlDjnWG9Lij4NJRunGkqNxu9LZUOOkTwEIAzAKSg/85tQ6k4Cl+kzhcYfISUzV4koeIQQPwOQLKXk7kNERERERHTVYUYLEWkihJjhXKYlhBBLoKRdvj3a4yIiIiIiIhoNoxZoEUJkCCF2CCFOCSFOCiG+4aGNEEL8RghxQQhxTAixaDTGSkQ+RUNJi7RCWbL0CwDvjOqI6IrjnE5ENDFwPici0m40t3e2A3hcSnnYWe35kBBii5TylEubWwBMdX4thbKzytIrP1Qi8kZKeRDAlNEeB406zulERBMD53MiIo1GLaNFSlkjpTzs/HcHgNMYui86oBRZ/atUHAAQJ4RIARERjSmc04mIJgbO50RE2o2JGi1CiGwAC6Fs3+gqDcouNgMuwn2iJyKiMYRzOhHRxMD5nIhIndFcOgQAEEJEAXgLwDellO0arvNlAF8GAKPRmDtjxowgjZCIaPQdOnSoUUppHu1xjCQYczrncyKayDifExFNDL7m81ENtAghQqFM4K9IKT3tMV4FIMPl+3TnMTdSyj8B+BMALF68WBYWFgZ5tEREo0cIUT7aYxhJsOZ0zudENJFxPicimhh8zeejueuQAPA8gNNSyl96afYugIeclc2XAWiTUtZcsUESEZFfOKcTEU0MnM+JiLQbzYyWFQA+C+C4EKLIeew/AWQCgJTyDwA+BPAJABcAdAF4ZBTGSUREI+OcTkQ0MXA+JyLSaNQCLVLKPQDECG0kgH+9MiMiIiK1OKcTEU0MnM+JiLQbE7sOERERERERERFNBAy0EBEREREREREFCQMtRERERERERERBwkALEREREREREVGQMNBCRERERERERBQkDLQQEREREREREQUJAy1ERERERERERLine truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 1360.8x691.2 with 3 Axes>"
]
@@ -497,14 +509,14 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "4f7dda1c-5457-4bc5-816c-ee4938eaff94"
"outputId": "f2540cb8-aaec-401b-c954-49c2e2324f7a"
},
"source": [
"from control.pde.burgers import BurgersPDE\n",
"from control.control_training import ControlTraining\n",
"from control.sequences import StaggeredSequence"
],
"execution_count": 10,
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
@@ -544,7 +556,7 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "07f31dc7-9c20-45d8-d81d-05c92a783c3c"
"outputId": "e4051cf9-c3c9-49bc-e1aa-8969b771c54b"
},
"source": [
"dp_app = ControlTraining(\n",
@@ -564,14 +576,14 @@
" dt=DT\n",
").prepare()"
],
"execution_count": 11,
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"text": [
"App created. Scene directory is /root/phi/model/control-training/sim_000000 (INFO), 2021-08-03 17:13:32,681n\n",
"App created. Scene directory is /root/phi/model/control-training/sim_000000 (INFO), 2021-08-04 10:11:58,466n\n",
"\n",
"Sequence class: <class 'control.sequences.StaggeredSequence'> (INFO), 2021-08-03 17:13:35,832n\n",
"Sequence class: <class 'control.sequences.StaggeredSequence'> (INFO), 2021-08-04 10:12:01,449n\n",
"\n",
"Partition length 32 sequence (from 0 to 32) at frame 16\n"
],
@@ -654,20 +666,20 @@
"Partition length 2 sequence (from 30 to 32) at frame 31\n",
"Execute -> 31\n",
"Execute -> 32\n",
"Target loss: Tensor(\"truediv_1:0\", shape=(), dtype=float32) (INFO), 2021-08-03 17:14:46,313n\n",
"Target loss: Tensor(\"truediv_1:0\", shape=(), dtype=float32) (INFO), 2021-08-04 10:13:10,701n\n",
"\n",
"Force loss: Tensor(\"Sum_97:0\", shape=(), dtype=float32) (INFO), 2021-08-03 17:14:49,832n\n",
"Force loss: Tensor(\"Sum_97:0\", shape=(), dtype=float32) (INFO), 2021-08-04 10:13:14,221n\n",
"\n",
"Setting up loss (INFO), 2021-08-03 17:14:49,834n\n",
"Setting up loss (INFO), 2021-08-04 10:13:14,223n\n",
"\n",
"Preparing data (INFO), 2021-08-03 17:15:26,279n\n",
"Preparing data (INFO), 2021-08-04 10:13:51,128n\n",
"\n",
"INFO:tensorflow:Summary name Total Force is illegal; using Total_Force instead.\n",
"Initializing variables (INFO), 2021-08-03 17:15:26,310n\n",
"Initializing variables (INFO), 2021-08-04 10:13:51,156n\n",
"\n",
"Model variables contain 0 total parameters. (INFO), 2021-08-03 17:15:31,021n\n",
"Model variables contain 0 total parameters. (INFO), 2021-08-04 10:13:55,961n\n",
"\n",
"Validation (000000): Learning_Rate: 0.001, Loss_reg_unscaled: 78.66845, Loss_reg_scale: 1.0, Loss: 0.0, Total Force: 218.16597 (INFO), 2021-08-03 17:16:07,346n\n",
"Validation (000000): Learning_Rate: 0.001, Loss_reg_unscaled: 205.98526, Loss_reg_scale: 1.0, Loss: 0.0, Total Force: 393.8109 (INFO), 2021-08-04 10:14:32,455n\n",
"\n"
],
"name": "stdout"
@@ -718,7 +730,12 @@
{
"cell_type": "code",
"metadata": {
"id": "kzfckDMc8O__"
"id": "kzfckDMc8O__",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 58
},
"outputId": "4c88893b-e366-46aa-ecae-f1f12becca22"
},
"source": [
"DP_STORE_PATH = 'networks/dp-models/bench'\n",
@@ -735,8 +752,24 @@
"dp_checkpoint = dp_app.save_model()\n",
"shutil.move(dp_checkpoint, DP_STORE_PATH)"
],
"execution_count": 32,
"outputs": []
"execution_count": 12,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'networks/dp-models/bench/checkpoint_00010000'"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
},
{
"cell_type": "markdown",
@@ -758,7 +791,7 @@
"\n",
"# dp_app.load_checkpoints({net: dp_path for net in networks_to_load})"
],
"execution_count": 14,
"execution_count": 13,
"outputs": []
},
{
@@ -778,7 +811,7 @@
"base_uri": "https://localhost:8080/",
"height": 545
},
"outputId": "8c7342ce-dbd3-417c-9802-2f6ef631a012"
"outputId": "2f22a1da-669e-44b2-cfd7-8d3962bfe208"
},
"source": [
"dp_frames = dp_app.infer_all_frames(TEST_RANGE)\n",
@@ -803,7 +836,7 @@
" axs[1].plot(gt_frames[frame][TEST_SAMPLE,:], color=frame_color, linewidth=0.8)\n",
" axs[2].plot(unc_frames[frame][TEST_SAMPLE,:], color=frame_color, linewidth=0.8)"
],
"execution_count": 15,
"execution_count": 14,
"outputs": [
{
"output_type": "stream",
@@ -816,7 +849,7 @@
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABFoAAAJHCAYAAACgpjLsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3hcV5k/8O+ZUR11a9S7ZEu25d4dl9iO7fTEgZCEOJTAAtldILABwkL2B2SBhQ2ksUBICEnAqSTEqcRxt+Qi2bLlXtW7NOoatZHm/P64I3mkKdLcO7aKv5/nyfNY955z5sgPnLl+73veI6SUICIiIiIiIiIi7XRjPQEiIiIiIiIiosmCgRYiIiIiIiIiIi9hoIWIiIiIiIiIyEsYaCEiIiIiIiIi8hIGWoiIiIiIiIiIvISBFiIiIiIiIiIiL2Ggha4oIcRzQoj/svv5X4UQdUKIDiFEpBBihRDiou3nTWM5V9v8Tgsh1oyyrRRCTHVx78tCiFyvTk4Z92UhxM+9POaPhBB/9uaYREQTlRAi1ba++4zBZ5cKIdZf7c8lIqKhhBA/FUJssf1Z9ffCWH6n0NhioIVUsz0Qdgkh2oUQLUKIA0KIh4QQg/+7klI+JKX8b1t7XwBPAtgopQyWUjYCeBzA/9l+3nqV5+8QtJBSZksp91zNeQwnhNgjhOi2BZ9MQoh/CCHirtTnSSl/KaX8lys1PhHRcEKI+4QQeUIIsxCi3vbnfxNCiLGemzu2dXngP6vtO3Dg580ejuX1wDkR0dXm7MWjfZBijOa0RghROVafTwQw0ELa3S6lDAGQAuBXAB4F8KKLtjEAAgCctruWMuznUZvkkeFvSimDAWQCCAfw1BjPh4jIK4QQjwB4BsATAGKhfDc8BGAFAD8XffRXbYJu2F4KBNvW53Io34ED114daDfJv5+IiCY8rtN0pTHQQl4hpWyVUr4P4F4AXxJCzAIuv7ETQmQCOG9r3iKE2CWEKAKQDuAD29tAfyFEmBDiRSFEjRCiytZXbxvry0KI/UKIp4QQjQB+auvzGyFEuW1L0nNCiEBb+zVCiEohxCO2N6Y1QogHbfe+DmAzgB/YPvsD2/XBtG0hxBIhxEFbtk6NEOL/hBDD/xFwixCi2JZ58oR9No89IcR0IcR2IUSTEOK8EOKeUf69NgF4B8Asu8sRQoiPbJlEeUKIDNtn/F4I8dthn/u+EOK7tj8/avs7bbfN4Qbb9SFvHYQQK23ZSS1CiAohxJdt128RQpyx9a8SQnxvNL8DEdEAIUQYlEzGf5NSvi2lbJeKY1LKzVLKHlu7l4UQfxRCfCyEMANYK4SYYcv4axHKNs877MbdI4T4F7ufh2zftL1xfUgoW1VbbOulsN3T275HTEKIYgC3qvi9Br5vHhVC1AJ4afgc7OYx1dV3kM08IcQJIUSrEOJNIUSAp/MhIhov3D2P2+4HCiF+K4Qos617uXbP8nfY1vsW2zo/w65fqRDie8PXSyFEEIB/AogXlzMO423Pu28LIbYIIdoAfNl2/X3b8/klIcTXRvk7ufv3iubvFJocGGghr5JS5gOoBLBq2PULALJtP4ZLKddJKTMw9I1gD4CXAfQBmApgPoCNAOy3tSwFUAzlDegvoGTRZAKYZ+uTAOD/2bWPBRBmu/5VAL8XQkRIKZ8H8CqA/7V99u1Ofp1+AN8FYASwHMANAP5tWJu7ACwCsADAnQC+MnwQ24K/HcBrAKIB3AfgD0KImU4+c3hfI4DPAjhmd/k+AD8DEAHgku3vAQBeAfD5gWCPre96AK8JIbIAfBPAYlsG0o0ASp18XgqUL6ffAYiC8vdaaLv9IoBv2PrPArBrpPkTEQ2zHIA/gPdG0fZ+KOtbCIA8AB8A+BTKOvotAK/a1rbRug3AYgBzANwDZR0EgK/Z7s2Hsp7f7cGY9mIBTIGSqfl1dw1H+A66B8BNANJsc/2yyvkQEY0XTp/Hbfd+A2AhgOugrKE/AGAVykva1wF8B8oz6cdQXs7av/R0WC+llGYANwOotss4rLa1vxPA21CyxV8F8AaUf7fEQ1n7fymEWDeK3+dluP73ire+U2iCY6CFroRqKAulR4QQMQBuAfAdKaVZSlkPZcvMffZjSyl/J6XsA9AN5WH2u1LKJillO4BfDmtvAfC4lNIipfwYQAeAUT2YSykLpJSHpJR9UspSAH8CcP2wZr+2fXY5gKcBfN7JULcBKJVSvmQb6xiULJXPufn4Z4UQLQCOA6gB8B92996VUubb/g5ehRIMGQhytUIJCAHK38MeKWUdlKCRP4CZQghfKWWplLLIyefeD2CHlPJ1299Zo5RyINBisfUPlVI2SymPupk/EZEzRgAm2/oFALDLoOsSQqy2a/uelHK/lNIKZZ0LBvArKWWvlHIXgA/hfM115VdSyhbber3bNiagPKg/LaWssGUR/o/K380K4CdSyh4pZZfKMQDgWSlltW0uH9jNk4hoonL6PG57OfgVAA9LKauklP1SygO2l6/3AvhISrldSmmBEpAJhBKQGeDpenlQSrnV9r1ihLJl9VEpZbfteffPAL7oboBR/HvFW98pNMFxbxpdCQkAmlT0SwHgC6BGXK6HqANQYdfG/s9RAAwACuzaCwD2e/kb7R/oAXRCeVgfkS2S/iSUaLQByv9fCoY1s59PGZSI+HApAJbaAicDfAD8zc3Hf1tK6eokoFq7Pw//fV4B8ACUDJoHoNRBgJTykhDiOwB+CiBbCLENwH/YRfgHJAFwFoABlMyaxwD8SghxAsAPpZQH3fwORETDNQIwCiF8BtZmKeV1ACCUwoX2L4Ds19d4ABW2h+MBZVC+b0bL1doZD8e1XI0GKWW3yr72hs/T2fcKEdF40Q/l+d2eL5TgygBXz+NGKPUbnT17xsNuPZZSWoUQFRi67nu6Xg7/Xhl4UTugDMpzvzsj/XvFW98pNMExo4W8SgixGMoCqOZo4woAPQCMUspw23+hUspsuzbS7s8mAF0Asu3ah9mKFI6GHOH+HwGcAzBNShkK4EdQAjn2kuz+nAwlm2e4CgB77eYYbktj/NdRztMTWwDcKYSYC2AGgMGTnKSUr0kpV0L5gpAAfu1irhnOBpZSHpZS3gklbX8rgLe8PHcimvwOQlnn7xxFW/s1uhpAkhhaBysZQJXtz2YoAfEBsR7MqQaOa7kaw79ThsxJCDF8TiN9BxERTQTlAFKHXUvD6AIMJigZ6s6ePauhPLMCAGx1tZJwed13x9X6Ovx7ZYoQIsTumv33iisj/XvFW98pNMEx0EJeIYQIFULcBmWv4xYp5UlPx5BS1kDZf/9b23g6IUSGEGL4dp2B9lYALwB4SggRbZtHghDiRmftnaiDUozXlRAAbQA6hBDTATgLjHxfCBEhhEgC8DCAN520+RBAphDiC0IIX9t/i+0LenmLlLISwGEo2TLvDKSvCyGyhBDrhBD+UL7QuqCkuQ/3KoD1Qoh7hBA+QohIIcQ8IYSfEGKzECLMlr7Z5qI/EZFLUsoWKDWm/iCEuFsIEWJb6+cBCHLTNQ/K28of2NbQNQBuh/KdAyi1pD4jhDAI5ZjRr3owrbcAfFsIkWirGfBDD38tV45DySCcZyto+9Nh90f6DiIimgjeBPCYbQ3VCeVQiduh1EJxy/Ys/xcAT9oK0+qFEMttz6tvAbhVCHGDEMIXwCNQAhwHRjGnOgCRQinA7uqzK2xj/Y+tiO4cKN8dbo+lHsW/V67UdwpNMAy0kFYfCCHaoUR3fwxlq82D7ru49UUox3ueAdAMZZGOc9P+USgFYQ/ZKojvwChrsEAp7jrTVhtgq5P734NSs6QdSkDHWRDlPSjbiQoBfAQnR1vbUhI3Qtm7WQ0lzfHXUGqmXAmvAJiNoVuT/KEUDjbZPj8awH86mWs5lH2nj0DZ/lUIYK7t9hcAlNr+nh+CcmIGEZFHpJT/C6Xu1A+gPAzXQamB9ShcPEBLKXuhPLjfDGUd+wOAL0opz9maPAWg1zbWK1CCxqP1AoBtUAIjRwH8w7PfyDlbEfjHoXwvXYRjpudI30FERBPB41DW7lwoz+7/C2CzlPLUKPt/D8BJKC8Km6A8I+uklOehbIP/HZR1/3YoB2j0jjSg7bvhdQDFtjXW1Zaiz0PJxqkG8C6UOls7RjFnd/9euSLfKTTxCCmZuUo0mdiKSW4BkCL5f3AiIiIiIqKrihktRJOILbXyYQB/ZpCFiIiIiIjo6huzQIsQIkkIsVsIcUYIcVoI8bCTNkII8awQ4pIQ4oQQYsFYzJVoIrDVfGmBkrr49BhPh64xXNOJiCYHrudERNqN5fHOfQAekVIetVV7LhBCbJdSnrFrczOAabb/lkI5BWbp1Z8q0fgnpTwL98Ukia4krulERJMD13MiIo3GLKNFSlkjpTxq+3M7gLMYei46oBz/+FepOAQgXAjhrjAqERGNAa7pRESTA9dzIiLtxkWNFiFEKoD5UI5vtJcA5TSbAZVwXOiJiGgc4ZpORDQ5cD0nIlJnLLcOAQCEEMEA3gHwHSllm4Zxvg7g6wAQFBS0cPr06V6aIRHR2CsoKDBJKaPGeh4j8caazvWciCYzrudERJODu/V8TAMtthNS3gHwqpTS2RnjVQCS7H5OtF1zIKV8HsDzALBo0SJ55MgRL8+WiGjsCCHKxnoOI/HWms71nIgmM67nRESTg7v1fCxPHRIAXgRwVkr5pItm7wP4oq2y+TIArVLKmqs2SSIiGhWu6UREkwPXcyIi7cYyo2UFgC8AOCmEKLRd+xGAZACQUj4H4GMAtwC4BKATwINjME8iIhoZ13QiosmB6zkRkUZjFmiRUuYCECO0kQD+/erMiIiI1OKaTkQ0OXA9JyLSblycOkRERERERERENBkw0EJERERERERE5CUMtBAREREREREReQkDLUREREREREREXsJACxERERERERGRlzDQQkRERERERLine truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 1360.8x691.2 with 3 Axes>"
]
@@ -863,7 +896,7 @@
"import utils\n",
"import pandas as pd"
],
"execution_count": null,
"execution_count": 15,
"outputs": []
},
{
@@ -885,7 +918,7 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "4814446b-7e23-493e-c929-43f68c15af72"
"outputId": "2d447412-4b6d-4043-ad47-7d5c437fe03e"
},
"source": [
"rl_frames, gt_frames, unc_frames = rl_trainer.infer_test_set_frames()\n",
@@ -900,7 +933,7 @@
" (1, 1): ('Differentiable Physics', dp_frames),\n",
"}"
],
"execution_count": 17,
"execution_count": 16,
"outputs": [
{
"output_type": "stream",
@@ -920,37 +953,32 @@
"base_uri": "https://localhost:8080/",
"height": 620
},
"outputId": "b4a039c9-f8f8-410d-8f81-2600d193dd64"
"outputId": "8a718c7a-2d31-4176-8b0c-b06b38633e98"
},
"source": [
"TEST_SAMPLE = 0 # Specifies which sample of the test set should be displayed\n",
"\n",
"def plot(axs, xy, title, field):\n",
" axs[xy].set_ylim(-2, 2)\n",
" axs[xy].set_xlabel('x')\n",
" axs[xy].set_ylabel('u(x)')\n",
" axs[xy].set_title(title)\n",
"\n",
" label = 'Initial state in dark red, final state in dark blue'\n",
" axs[xy].set_ylim(-2, 2); axs[xy].set_title(title)\n",
" axs[xy].set_xlabel('x'); axs[xy].set_ylabel('u(x)')\n",
" label = 'Initial state (red), final state (blue)'\n",
" for step_idx in range(0, STEP_COUNT + 1):\n",
" color = bplt.gradient_color(step_idx, STEP_COUNT+1)\n",
" axs[xy].plot(\n",
" field[step_idx][TEST_SAMPLE].squeeze(), color=color, linewidth=0.8, label=label)\n",
" label = None\n",
"\n",
" axs[xy].legend()\n",
"\n",
"fig, axs = plt.subplots(2, 2, figsize=(12.8, 9.6))\n",
"for xy in frames:\n",
" plot(axs, xy, *frames[xy])\n",
" "
" plot(axs, xy, *frames[xy])"
],
"execution_count": 18,
"execution_count": 24,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 921.6x691.2 with 4 Axes>"
]
@@ -985,7 +1013,11 @@
{
"cell_type": "code",
"metadata": {
"id": "me4rb-_qCXgC"
"id": "me4rb-_qCXgC",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "107ce3dc-2022-45a0-a547-79459df0b458"
},
"source": [
"gt_forces = utils.infer_forces_sum_from_frames(\n",
@@ -996,8 +1028,25 @@
")\n",
"rl_forces = rl_trainer.infer_test_set_forces()\n"
],
"execution_count": null,
"outputs": []
"execution_count": 18,
"outputs": [
{
"output_type": "stream",
"text": [
"Sanity check - maximum deviation from target state: 0.000000\n",
"Sanity check - maximum deviation from target state: 0.000011\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3613: UserWarning: Default upsampling behavior when mode=linear 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"
}
]
},
{
"cell_type": "markdown",
@@ -1016,7 +1065,7 @@
"base_uri": "https://localhost:8080/",
"height": 411
},
"outputId": "739eea96-3135-4c98-c520-c5b07ab26291"
"outputId": "887b4c42-8f05-4a0f-d0aa-a6d91d4f03c1"
},
"source": [
"plt.figure(figsize=(8, 6))\n",
@@ -1026,7 +1075,7 @@
" color = [\"#0065bd\", \"#e37222\", \"#a2ad00\"],\n",
" align='center', label='Absolute forces comparison' )"
],
"execution_count": 20,
"execution_count": 19,
"outputs": [
{
"output_type": "execute_result",
@@ -1038,12 +1087,12 @@
"metadata": {
"tags": []
},
"execution_count": 20
"execution_count": 19
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAfMAAAFlCAYAAAD/MAEVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAcqklEQVR4nO3dfbRddX3n8fcHIkqrEJCU0oRpqM20pU5FiEhbdSjMYKAzhZnxsQ8JDjVthdbOsg84M2tALTN2XJUWq1jUDIGqQG0tGQbFFEQ7ViChPAakRIQhDEokgEUtDPQ7f+zfhcPl3tyTB3LzS96vtc46e3/3b+/92/vucz5n77NzkqpCkiT1a4/Z7oAkSdo2hrkkSZ0zzCVJ6pxhLklS5wxzSZI6Z5hLktS5ObPdga11wAEH1MKFC2e7G5Ik7RDXX3/9N6tq3lTTug3zhQsXsnbt2tnuhiRJO0SSe6ab5mV2SZI6Z5hLktQ5w1ySpM4Z5pIkdc4wlySpc4a5JEmdM8wlSercWGGeZG6STyX5SpLbk/xkkv2TrE5yZ3ver7VNknOSrE9yc5LDR5azrLW/M8mykfoRSW5p85yTJNt/UyVJ2jWNe2b+R8Bnq+pHgZcBtwOnA1dW1SLgyjYOcDywqD2WA+cCJNkfOAN4JXAkcMbEB4DW5q0j8y3Zts2SJGn3MWOYJ9kXeA3wMYCqeryqHgZOBFa2ZiuBk9rwicAFNbgGmJvkIOC1wOqq2lRVDwGrgSVt2j5VdU1VFXDByLIkSdIMxjkzPwTYCPyPJDck+WiS7wUOrKr7W5uvAwe24fnAvSPzb2i1zdU3TFF/liTLk6xNsnbjxo1jdF2SpF3fOGE+BzgcOLeqXg58m6cvqQPQzqhr+3fvmarqvKpaXFWL582b8rfmJUna7YwT5huADVV1bRv/FEO4f6NdIqc9P9Cm3wccPDL/glbbXH3BFHVJkjSGGf/XtKr6epJ7k/xIVd0BHAvc1h7LgPe250vbLKuA05JcxHCz2yNVdX+SK4D/OnLT23HAO6tqU5JvJTkKuBZYCnxgO27jWLL8qh29Sj2H6rxjZrsLkrTDjPtfoP468PEkewF3AW9hOKu/JMkpwD3AG1rby4ETgPXAd1pbWmi/B1jT2r27qja14bcB5wN7A59pD0mSNIaxwryqbgQWTzHp2CnaFnDqNMtZAayYor4WeOk4fZEkSc/kL8BJktQ5w1ySpM4Z5pIkdc4wlySpc4a5JEmdM8wlSeqcYS5JUucMc0mSOmeYS5LUOcNckqTOGeaSJHXOMJckqXOGuSRJnTPMJUnqnGEuSVLnDHNJkjpnmEuS1DnDXJKkzhnmkiR1zjCXJKlzhrkkSZ2bM9sdkHYVG97xktnugrajBX/w1dnugjQ2z8wlSeqcYS5JUucMc0mSOmeYS5LUOcNckqTOGeaSJHXOMJckqXOGuSRJnTPMJUnqnGEuSVLnDHNJkjpnmEuS1DnDXJKkzhnmkiR1zjCXJKlzhrkkSZ0zzCVJ6pxhLklS5wxzSZI6Z5hLktQ5w1ySpM6NFeZJ7k5yS5Ibk6xttf2TrE5yZ3ver9WT5Jwk65PcnOTwkeUsa+3vTLJspH5EW/76Nm+294ZKkrSr2pIz85+pqsOqanEbPx24sqoWAVe2cYDjgUXtsRw4F4bwB84AXgkcCZwx8QGgtXnryHxLtnqLJEnazWzLZfYTgZVteCVw0kj9ghpcA8xNchDwWmB1VW2qqoeA1cCSNm2fqrqmqgq4YGRZkiRpBuOGeQGfS3J9kuWtdmBV3d+Gvw4c2IbnA/eOzLuh1TZX3zBF/VmSLE+yNsnajRs3jtl1SZJ2bXPGbPeqqrovyfcBq5N8ZXRiVVWS2v7de6aqOg84D2Dx4sXP+fokSerBWGfmVXVfe34A+DTDd97faJfIac8PtOb3AQePzL6g1TZXXzBFXZIkjWHGME/yvUleNDEMHAfcCqwCJu5IXwZc2oZXAUvbXe1HAY+0y/FXAMcl2a/d+HYccEWb9q0kR7W72JeOLEuSJM1gnMvsBwKfbv9abA7wiar6bJI1wCVJTgHuAd7Q2l8OnACsB74DvAWgqjYleQ+wprV7d1VtasNvA84H9gY+0x6SJGkMM4Z5Vd0FvGyK+oPAsVPUCzh1mmWtAFZMUV8LvHSM/kqSpEn8BThJkjpnmEuS1DnDXJKkzhnmkiR1zjCXJKlzhrkkSZ0zzCVJ6pxhLklS5wxzSZI6Z5hLktQ5w1ySpM4Z5pIkdc4wlySpc4a5JEmdM8wlSeqcYS5JUucMc0mSOmeYS5LUOcNckqTOGeaSJHXOMJckqXOGuSRJnTPMJUnqnGEuSVLnDHNJkjpnmEuS1DnDXJKkzhnmkiR1zjCXJKlzhrkkSZ0zzCVJ6pxhLklS5wxzSZI6Z5hLktQ5w1ySpM4Z5pIkdc4wlySpc3NmuwOSpMGFf5HZ7oK2o1/6t7XD1uWZuSRJnTPMJUnqnGEuSVLnDHNJkjpnmEuS1LmxwzzJnkluSHJZGz8kybVJ1ie5OMlerf78Nr6+TV84sox3tvodSV47Ul/SauuTnL79Nk+SpF3flpyZvx24fWT894Gzq+qHgYeAU1r9FOChVj+7tSPJocCbgB8HlgAfah8Q9gQ+CBwPHAq8ubWVJEljGCvMkywAfhb4aBsPcAzwqdZkJXBSGz6xjdOmH9vanwhcVFWPVdXXgPXAke2xvqruqqrHgYtaW0mSNIZxz8z/EPgd4B/b+IuBh6vqiTa+AZjfhucD9wK06Y+09k/VJ80zXV2SJI1hxjBP8q+AB6rq+h3Qn5n6sjzJ2iRrN27cONvdkSRppzDOmflPAz+X5G6GS+DHAH8EzE0y8XOwC4D72vB9wMEAbfq+wIOj9UnzTFd/lqo6r6oWV9XiefPmjdF1SZJ2fTOGeVW9s6oWVNVChhvYrqqqXwA+D7yuNVsGXNqGV7Vx2vSrqqpa/U3tbvdDgEXAdcAaYFG7O36vto5V22XrJEnaDWzLf7Tyu8BFSX4PuAH4WKt/DLgwyXpgE0M4U1XrklwC3AY8AZxaVU8CJDkNuALYE1hRVeu2oV+SJO1WtijMq+pq4Oo2fBfDneiT2/wD8Ppp5j8LOGuK+uXA5VvSF0mSNPAX4CRJ6pxhLklS5wxzSZI6Z5hLktQ5w1ySpM4Z5pIkdc4wlySpc4a5JEmdM8wlSeqcYS5JUucMc0mSOmeYS5LUOcNckqTOGeaSJHXOMJckqXOGuSRJnTPMJUnqnGEuSVLnDHNJkjpnmEuS1DnDXJKkzhnmkiR1zjCXJKlzhrkkSZ0zzCVJ6pxhLklS5wxzSZI6Z5hLktQ5w1ySpM4Z5pIkdc4wlySpc4a5JEmdM8wlSeqcYS5JUucMc0mSOmeYS5LUOcNckqTOGeaSJHXOMJckqXOGuSRJnTPMJUnqnGEuSVLnDHNJkjpnmEuS1LkZwzzJC5Jcl+SmJOuSvKvVD0lybZL1SS5OslerP7+Nr2/TF44s652tfkeS147Ul7Ta+iSnb//NlCRp1zXOmfljwDFV9TLgMGBJkqOA3wfOrqofBh4CTmntTwEeavWzWzuSHAq8CfhxYAnwoSR7JtkT+CBwPHAo8ObWVpIkjWHGMK/Bo230ee1RwDHAp1p9JXBSGz6xjdOmH5skrX5RVT1WVV8D1gNHtsf6qrqrqh4HLmptJUnSGMb6zrydQd8IPACsBr4KPFxVT7QmG4D5bXg+cC9Am/4I8OLR+qR5pqtP1Y/lSdYmWbtx48Zxui5J0i5vrDCvqier6jBgAcOZ9I8+p72avh/nVdXiqlo8b9682eiCJEk7nS26m72qHgY+D/wkMDfJnDZpAXBfG74POBigTd8XeHC0Pmme6eqSJGkM49zNPi/J3Da8N/AvgdsZQv11rdky4NI2vKqN06ZfVVXV6m9qd7sfAiwCrgPWAIva3fF7Mdwkt2p7bJwkSbuDOTM34SBgZbvrfA/gkqq6LMltwEVJfg+4AfhYa/8x4MIk64FNDOFMVa1LcglwG/AEcGpVPQmQ5DTgCmBPYEVVrdtuWyhJ0i5uxjCvqpuBl09Rv4vh+/PJ9X8AXj/Nss4Czpqifjlw+Rj9lSRJk/gLcJIkdc4wlySpc4a5JEmdM8wlSeqcYS5JUucMc0mSOmeYS5LUOcNckqTOGeaSJHXOMJckqXOGuSRJnTPMJUnqnGEuSVLnDHNJkjpnmEuS1DnDXJKkzhnmkiR1zjCXJKlzhrkkSZ0zzCVJ6pxhLklS5wxzSZI6Z5hLktQ5w1ySpM4Z5pIkdc4wlySpc4a5JEmdM8wlSeqcYS5JUucMc0mSOmeYS5LUOcNckqTOGeaSJHXOMJckqXOGuSRJnTPMJUnqnGEuSVLnDHNJkjpnmEuS1DnDXJKkzhnmkiR1zjCXJKlzhrkkSZ2bMcyTHJzk80luS7Iuydtbff8kq5Pc2Z73a/UkOSfJ+iQ3Jzl8ZFnLWvs7kywbqR+R5JY2zzlJ8lxsrCRJu6JxzsyfAN5RVYcCRwGnJjkUOB24sqoWAVe2cYDjgUXtsRw4F4bwB84AXgkcCZwx8QGgtXnryHxLtn3TJEnaPcwY5lV1f1X9bRv+e+B2YD5wIrCyNVsJnNSGTwQuqME1wNwkBwGvBVZX1aaqeghYDSxp0/apqmuqqoALRpYlSZJmsEXfmSdZCLwcuBY4sKrub5O+DhzYhucD947MtqHVNlffMEV9qvUvT7I2ydqNGzduSdclSdpljR3mSV4I/Dnwm1X1rdFp7Yy6tnPfnqWqzquqxVW1eN68ec/16iRJ6sJYYZ7keQxB/vGq+otW/ka7RE57fqDV7wMOHpl9Qattrr5girokSRrDOHezB/gYcHtVvX9k0ipg4o70ZcClI/Wl7a72o4BH2uX4K4DjkuzXbnw7DriiTftWkqPaupaOLEuSJM1gzhhtfhr4JeCWJDe22n8E3gtckuQU4B7gDLine truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
@@ -1075,7 +1124,7 @@
"base_uri": "https://localhost:8080/",
"height": 592
},
"outputId": "95958fea-4d90-4a0c-e64c-6cf224e8de03"
"outputId": "7da3f87f-2337-49d1-b949-6f9a7eff4629"
},
"source": [
"plt.figure(figsize=(12, 9))\n",
@@ -1085,24 +1134,24 @@
"plt.xlabel('ground truth'); plt.ylabel('reconstruction')\n",
"plt.xlim(0, 1200); plt.ylim(0, 1200); plt.grid(); plt.legend()"
],
"execution_count": 21,
"execution_count": 20,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7fec4b9652d0>"
"<matplotlib.legend.Legend at 0x7f4cbc6d5090>"
]
},
"metadata": {
"tags": []
},
"execution_count": 21
"execution_count": 20
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuYAAAIaCAYAAABsyYgxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXjU1dn/8ffJZE8MJGwJIFvY10CAABJAcMOqlLZWEFFbFa3bUyut+KRVa02rlm626iO1bhitxf4odaGtspRFCBD2JeyELWHLRhayzHx/f5BEQhJIyEy+M8nndV25IGe+y50ZlnvO3Oc+xrIsRERERETEXn52ByAiIiIiIkrMRURERES8ghJzEREREREvoMRcRERERMQLKDEXEREREfECSsxFRERERLyAxxJzY8xbxpiTxpjtF4z92hiTbozZaoxZaIxpfcFjTxtj9hljdhtjbrxg/KaKsX3GmDmeildERERExE6enDF/B7jporEvgIGWZQ0G9gBPAxhj+gPTgAEV57xmjHEYYxzAq8BkoD8wveJYEREREZFmxWOJuWVZK4Dsi8b+Y1lWecW3a4HOFb+fAvzVsqwSy7IOAvuAkRVf+yzLOmBZVinw14pjRURERESaFTtrzL8PLK74fSfgyAWPHa0Yq2tcRERERKRZ8bfjpsaYJKAcSHHjNWcBswCCg4Pju3Tp4q5LSxNzuVz4+Wldsq/S6+e79Nr5Nr1+vkuvnfcrLnNhWZXfWfiZbPxMDhDAoQNlpy3LaueO+zR5Ym6MuRe4BZhkWVU/4jHg6gsO61wxxiXGq7Esax4wD6BPnz7W7t273Ri1NKXly5czYcIEu8OQK6TXz3fptfNtev18l1477+c3aykW0Cb4BD8Y8kt6R+aw4uiNvL/rMfi/WzLcdZ8mTcyNMTcBPwHGW5ZVdMFD/wQ+MMb8FugI9ALWAQboZYzpzvmEfBpwZ1PGLCIiIiItW5eoINoFfMl9A+fiZ1y8vuVp1mReR9eoINyWlePBxNwY8yEwAWhrjDkKPMv5LixBwBfGGIC1lmU9ZFnWDmPM34CdnC9xecSyLGfFdR4F/g04gLcsy9rhqZhFRERERC5U7izmF9fOg8L3OJDXh9c2/5STxR0JDfQjeWosd73kvnt5LDG3LGt6LcN/ucTxyUByLeOfA5+7MTQRERERkcvKzd/BynXToHA7hP+A99Z/l1PFLrpGBZE8NZYZCdHc5cb72bL40w5lZWUcPXqUc+fO2R2KXEarVq3YtWuX3WE0SHBwMJ07dyYgIMDuUERERKSRLMti76E/s2HrD/H3D2fimMV0ir6JmTd49r4tJjE/evQoV111Fd26daOijEa81NmzZ7nqqqvsDqPeLMvizJkzHD16lO7du9sdjoiIiDRCaWkuazfNIuPYAqLbX8c18e8RGhLTJPduMYn5uXPnlJSLRxhjaNOmDadOnbI7FBEREWmEU2fWsHL9dIqKjzF0wIsM6P1jjGm6VpYtJjEHlJSLx+jPloiIiO9yWU527H6JLbueITTkam4cv5J2UaOaPA51s29CycnJDBgwgMGDBxMXF0dqamqT3XvlypUMGDCAuLg4iouLm+y+Te2ZZ57hyy+/vOQx//znP3nxxRev+B7h4eFXfK6IiIh4l6LiTJasupHNO5Po0vHb3DJxky1JObSwGXM7rVmzhk8//ZSNGzcSFBTE6dOnKS0tbbL7p6Sk8PTTT3PXXfVbO1xeXo6/v2/98XA6nTz//POXPe62227jtttua4KIRETEFxWmLSJ/8VycOZk4ImOImDybsPgpdoclHnAsazGr0+6hvLyAUcPepGfX79v6KbhmzJtIZmYmbdu2JSgoCIC2bdvSsWNHAJ5//nlGjBjBwIEDmTVrFpUbok6YMIEnnniC4cOH069fP9avX8+3vvUtevXqxU9/+tOqa7///vuMHDmSuLg4HnzwQZxOZ7V7v/nmm/ztb3/jZz/7GTNmzMCyLH784x8zcOBABg0axEcffQSc33ksMTGR2267jf79++N0Opk9ezYDBw5k8ODB/PGPfwQgLS2N8ePHEx8fz4033khmZiYAr7zyCv3792fw4MFMmzatxnNw6NAhEhMTGTZsGMOGDeOrr76qem7GjRtHXFwcAwcOrBq/0JIlSxg6dCiDBg3i+9//PiUlJQB069aNp556imHDhrFgwQLuvfdePv74YwA+//xz+vbtS3x8PI8//ji33HILAO+88w6PPvooAPfeey+PP/44Y8aMoUePHlXnFhQUMGnSJIYNG8agQYNYtGhRw15wERHxSYVpi8hdkIQz5zhg4cw5Tu6CJArT9P9Ac+J0lbJh65Ms/epmQoKiufnaDfTqdp/tpam+NSXqJuu3/JCcvM1uvWZkqzhGDPl9nY/fcMMNPP/88/Tu3ZvrrruOO+64g/HjxwPw6KOP8swzzwAwc+ZMPv30U2699VYAAgMD2bBhA3/4wx+YMmUKaWlpREVFERsbyxNPPMHJkyf56KOPWL16NQEBATz88MOkpKRw9913V937/vvvZ9WqVdxyyy185zvf4e9//zubN29my5YtnD59mhEjRjBu3DgANm7cyPbt2+nevTuvv/46hw4dYvPmzfj7+5OdnU1ZWRmPPfYYixYtol27dnz00UckJSXx1ltv8eKLL3Lw4EGCgoLIzc2t8Ry0b9+eL774guDgYPbu3cv06dPZsGEDH3zwATfeeCNJSUk4nU5OnDhR7bxz585x7733smTJEnr37s3dd9/N66+/zg9/+EMA2rRpw8aNGwH417/+VXXOgw8+yIoVK+jevTvTp9fWVv+8zMxMVq1aRXp6Orfddhvf+c53CA4OZuHChURERHD69GlGjRrFbbfdZvtfWBER8az8xXOxyqqXfFplxeQvnqtZ82Yiv2AfK9dNIzs3jd49HiZ+0Fz8HSF2hwVoxrzJhIeHk5aWxrx582jXrh133HEH77zzDgDLli0jISGBQYMGsXTpUnbs+Hpz08qSi0GDBjFgwABiYmIICgqiR48eHDlyhCVLlpCWlsaIESOIi4tjyZIlHDhw4JKxrFq1iunTp+NwOOjQoQPjx49n/fr1AIwcObKq5d+XX37Jgw8+WFXSEhUVxe7du9m+fTvXX389cXFxvPDCCxw9ehSAwYMHM2PGDN5///1ay2DKysp44IEHGDRoELfffjs7d+4EYMSIEbz99ts899xzbNu2rUarxN27d9O9e3d69+4NwD333MOKFSuqHr/jjjtq3Cs9PZ0ePXpU/SyXSsy/+c1v4ufnR//+/aveFFiWxf/+7/8yePBgrrvuOo4dO1bjDYOIiDQ/zpzMBo2Lbzlw+H0+WzqUgsIDjE/4fyTEveo1STm00BnzS81se5LD4WDChAlMmDCBQYMG8e677zJt2jQefvhhNmzYwNVXX81zzz1XbROkytIXPz+/qt9Xfl9eXo5lWdxzzz386le/ckuMYWFhl3zcsiwGDBjAmjVrajz22WefsWLFCj755BOSk5PZtm1btQT9d7/7HR06dGDLli24XC6Cg4MBGDduHCtWrOCzzz7j3nvv5Qc/+AEPPvig22K+nAuf18oyopSUFE6dOkVaWhoBAQF069ZNm1OJiLQAjsiYijKWmuPiu8rKC1i3+REOHH6P9m3GMnZECmGhXewOqwbNmDeR3bt3s3fv3qrvN2/eTNeuXauSvbZt21JQUFBV41xfkyZN4uOPP+bkyZMAZGdnk5GRcclzEhMT+eijj3A6nZw6dYoVK1YwcuTIGsddf/31vPHGG5SXl1ddu0+fPpw6daoqMS8rK2PHjh24XC6OHDnCtddey0svvUReXh4FBQXVrpeXl0dMTAx+fn7Mnz+/qhY+IyODDh068MADD3D//fezZcuWauf16dOHQ4cOsW/fPgDmz59fVQZUlz59+nDgwAEOHToEUFVHX195eXm0b9+egIAAli1bdtnnVEREmoeIybMxAdVnUE1ACBGTZ9sUkTTWmZyNfLZ0GAcPv8/gvs9wfeIyr0zKoYXOmNuhoKCAxx57jNzcXPz9/enZsyfz5s2jdevWPPDAAwwcOJDo6GhGjBjRoOv279+fF154gRtuuAGXy0VAQACvvvoqXbt2rfOcqVOnsmbNGoYMGYIxhpdffpno6GjS09OrHXf//fezZ88eBg8eTEBAAA888ACPPvooH3/8MY8//jh5eXmUl5fzwx/+kN69e3PXXXeRl5eHZVk8/vjjtG7dutr1Hn74Yb797W/z3nvvcdNNN1XNdC9fvpxf//rXBAQEEB4ezmuvvVbtvODgYN5++21uv/12ysvLGTFiBA899NAln5eQkBBee+21qvs09HmdMWMGt956K4MGDWL48OH07du3QeeLiIhvqqwjV1cW32dZFun7/8DGbT8hOKg91ycupUO7S0/s2c1UfnTfnPTp08favXt3tbFdu3bRr18/myKShjh79myNOvMrUVBQQHh4OJZl8cgjj9CrVy+eeOIJN0RYO/0ZO2/58uVMmDDB7jDkCui18216/XyXXjv3O1dyiq/SvsexrM/oHH0ro+PfIjiorUfuZYxJsyxruDuupVIWabb+/Oc/ExcXx4ABA8jLy2tQ3bqIiIj4pqxTy/h0yRAyT37BiCGvMGH0Io8l5e6mUhZptp544gmPzpCLiIiI93C5ytmy6zm27/4lEeG9mTjmc6Jax9kdVoMoMRcRERERn1ZQlMGqdXdyKvsrYrt+jxFDXiHAP9zusBpMibmIiIiI+KyMY39n7cb7sSwnY0d8QPer6967xNspMRcRERERn1PuLGbD1ifYe/AN2kSOIHHEh1wVHmt3WI2ixFxEREREfEpu/g5WrLuDvPwd9O/1Y+IGvIDDL9DusBpNXVmakMPhIC4ujoEDB3LrrbeSm5sLwKFDhxg4cKDN0YmIiIh4N8uy2HPgDT5fOpySklNMuuZfxA96uVkk5aDEvLine truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 864x648 with 1 Axes>"
]
@@ -1140,7 +1189,7 @@
"base_uri": "https://localhost:8080/",
"height": 605
},
"outputId": "5328fba7-2046-4968-87f0-4fa9f037cf2d"
"outputId": "938b703a-2af2-4d40-ea64-9d8a6800033e"
},
"source": [
"w=0.25; plot_count=20 # How many scenes to show\n",
@@ -1151,12 +1200,12 @@
"plt.xlabel('Scenes'); plt.xticks(range(plot_count))\n",
"plt.ylabel('Forces'); plt.legend(); plt.show()"
],
"execution_count": 22,
"execution_count": 21,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwYAAAI3CAYAAAAhl0xoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de7SlZX0n+O/PKpCLCIiFEoq2SkIchZHiIuoYDYFo0KjYjEZNulKJdqrNoDHKdILR1badzlrapnJxZMhUBxIlKt6IostpJZSYpKdRgS4VxEuBIAe5lHghCsjF3/yx3yKHsuqcEs7e+1TV57PWXvvdz/Oe/fzOrnP2qe9+3ud9q7sDAADs3h427QIAAIDpEwwAAADBAAAAEAwAAIAIBgAAQAQDAAAgydJpFzAOj370o3vFihXTLgMAABadyy+//NvdvWzr9l0yGKxYsSKXXXbZtMsAAIBFp6qu31a7Q4kAAADBAAAAEAwAAIDsomsMAADgobjnnnsyMzOTu+66a9qlPGh77bVXli9fnj322GOH9hcMAABgKzMzM9lvv/2yYsWKVNW0y/mpdXduu+22zMzMZOXKlTv0NQ4lAgCArdx111056KCDdspQkCRVlYMOOuinmvEQDAAAYBt21lCwxU9bv2AAAACL0JIlS7Jq1aocddRRecELXpDvfe97SZLrrrsuRx111IKPZ40BAADMo9ZuWNDn6/UnzbvP3nvvnY0bNyZJ1qxZk7POOitvfOMbF7SO2cwYAADAIvf0pz89N95441jHEAwAAGARu++++3LxxRfnhS984VjHEQwAAGARuvPOO7Nq1ao89rGPzS233JJnP/vZYx1PMAAAgEVoyxqD66+/Pt2ds846a6zjCQYAALCI7bPPPnnHO96RdevW5d577x3bOIIBAAAscsccc0ye/OQn533ve1+S5Ktf/WqWL19+/+2DH/zgQx7D6UoBAGAeO3J60YX2gx/84AGPP/axj92/fc899yz4eGYMAAAAwQAAABAMAACACAYAAEDGGAyq6tyqurWqrpzV9vaq+kpVfbGq/q6qDpjV94aq2lRVX62qX57VfsrQtqmqzhxXvQAAsDsb54zB3yQ5Zau2i5Ic1d1PTvK1JG9Ikqp6UpKXJTly+Jr/u6qWVNWSJGcleW6SJyV5+bAvAACwgMYWDLr7H5J8Z6u2T3X3lqsyXJpk+bB9apLzu/tH3f2NJJuSnDDcNnX3td19d5Lzh30BAGCXtmTJkqxatSpHHnlkjj766Kxbty4//vGPkySXXHJJ9t9//6xatSpPfOIT85a3vOUhjzfN6xi8Isn7h+1DMwoKW8wMbUlyw1btTx1/aQAATFqt3TBn/zSuJbDFzBmHL+jzLV93zbz77L333tm4cWOS5NZbb82v/dqv5fbbb78/BDzzmc/Mxz/+8fzwhz/MqlWr8oIXvCDHHnvsg65pKouPq+qNSe5N8p4FfM61VXVZVV22efPmhXpaAACYuoMPPjjr16/PO9/5znT3A/r23XffHHfccdm0adNDGmPiwaCqfjPJ85P8ev/Ld3VjksNm7bZ8aNte+0/o7vXdfXx3H79s2bIFrxsAAKbp8Y9/fO67777ceuutD2i/7bbbcumll+bII498SM8/0UOJquqUJL+f5Be6+45ZXRcmeW9V/WmSn0lyRJLPJakkR1TVyowCwcuS/NokawYAgMXoH//xH3PMMcfkYQ97WM4888zFGwyq6n1JTkzy6KqaSfLmjM5C9PAkF1VVklza3a/q7quq6gNJvpzRIUand/d9w/O8OsknkyxJcm53XzWumgEAYLG69tprs2TJkhx88MG5+uqr719jsFDGFgy6++XbaD5njv3/OMkfb6P9E0k+sYClAQDATmXz5s151atelVe/+tUZPmBfcNM8KxEAALAdd955Z1atWpV77rknS5cuzerVq/P6179+bOMJBgAAMI8dOb3oQrvvvvu223fiiSfmxBNPXNDxpnK6UgAAYHERDAAAAMEAAAAQDAAAgAgGAABABAMAACBOVwoAAIvSLbfckte97nW59NJLc+CBB2bPPffM7bffnj322CN33313vvGNb+QJT3hCkuRNb3pTXvziFz+k8QQDAACYx3kXLOzVhlef1nP2d3de9KIXZc2aNXnve9+bJLn++utz4YUX5jWveU2uu+66PP/5z8/GjRsXrCaHEgEAwCKzYcOG7LnnnnnVq151f9vjHve4vOY1rxnbmIIBAAAsMldddVWOPfbYiY4pGAAAwCJ3+umn5+ijj85TnvKUsY0hGAAAwCJz5JFH5oorrrj/8VlnnZWLL744mzdvHtuYggEAACwyJ510Uu66666cffbZ97fdcccdYx1TMAAAgEWmqvKRj3wk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 truncated
"text/plain": [
"<Figure size 921.6x691.2 with 1 Axes>"
]
@@ -1190,7 +1239,7 @@
"height": 371
},
"id": "JCQBzhNub16h",
"outputId": "8233d8f0-0585-40f2-d85e-4429ccd092a2"
"outputId": "58f375b7-a636-4358-85c3-46b38f71b04e"
},
"source": [
"def get_dp_val_set_forces(experiment_path):\n",
@@ -1207,24 +1256,24 @@
"plt.xlabel('Wall time (hours)'); plt.ylabel('Forces')\n",
"plt.ylim(0, 1500); plt.grid(); plt.legend()"
],
"execution_count": 33,
"execution_count": 22,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7fecba4b0f90>"
"<matplotlib.legend.Legend at 0x7f4cbc595c50>"
]
},
"metadata": {
"tags": []
},
"execution_count": 33
"execution_count": 22
},
{
"output_type": "display_data",
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 864x360 with 1 Axes>"
]