Skip to content

Instantly share code, notes, and snippets.

@hugohadfield
Created June 11, 2020 17:17
Show Gist options
  • Save hugohadfield/bf883bd23daecac311f4069ef24fd3f7 to your computer and use it in GitHub Desktop.
Save hugohadfield/bf883bd23daecac311f4069ef24fd3f7 to your computer and use it in GitHub Desktop.
keras-triangles-less-params
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import matplotlib.pyplot as plt\nimport tensorflow as tf\n# Make tensorflow not take over the entire GPU memory\nfor gpu in tf.config.experimental.list_physical_devices('GPU'):\n tf.config.experimental.set_memory_growth(gpu, True)\nfrom tfga import GeometricAlgebra\nfrom tfga.layers import GeometricProductDense, TensorToGeometric, GeometricToTensor\nfrom scipy.spatial import ConvexHull",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "N_dim_polys = 2",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def make_batch(batch_size):\n points = tf.random.uniform([batch_size, N_dim_polys+1, N_dim_polys], minval=-1, maxval=1)\n volumes = tf.convert_to_tensor([ConvexHull(b).area for b in points])\n return points, volumes\n\nnum_samples = 4\nsample_points, sample_areas = make_batch(num_samples)",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "ga = GeometricAlgebra([1]*N_dim_polys)\ns_indices = [0]\nv_indices = range(1,N_dim_polys+1)\nmv_indices = tf.range(ga.num_blades)\n\nmodel = tf.keras.Sequential([\n TensorToGeometric(ga, blade_indices=v_indices),\n GeometricProductDense(\n ga, units=2, activation=\"relu\",\n blade_indices_kernel=mv_indices,\n blade_indices_bias=mv_indices,\n ),\n GeometricProductDense(\n ga, units=2, activation=\"relu\",\n blade_indices_kernel=mv_indices,\n blade_indices_bias=mv_indices,\n ),\n GeometricProductDense(\n ga, units=1,\n blade_indices_kernel=mv_indices,\n blade_indices_bias=s_indices,\n ),\n GeometricToTensor(ga, blade_indices=s_indices)\n])\n\n# [B, 3, 2]\n\nprint(\"Samples:\", sample_points)\nprint(\"Model(Samples):\", model(sample_points))",
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"text": "Samples: tf.Tensor(\n[[[-0.9203608 -0.08295178]\n [-0.14673662 -0.00494766]\n [-0.00596642 0.07383704]]\n\n [[-0.2557273 0.01023245]\n [-0.03067064 -0.7594485 ]\n [ 0.9549134 0.77267075]]\n\n [[ 0.1281128 -0.49313903]\n [ 0.01417828 0.83485746]\n [-0.96472836 -0.53816915]]\n\n [[ 0.5291989 -0.8517389 ]\n [ 0.68525195 0.82050776]\n [-0.12783241 0.51442695]]], shape=(4, 3, 2), dtype=float32)\nModel(Samples): tf.Tensor(\n[[[-0.10697314]]\n\n [[-0.2089966 ]]\n\n [[-0.15541998]]\n\n [[-0.22310816]]], shape=(4, 1, 1), dtype=float32)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_points, train_areas = make_batch(1024)\ntest_points, test_areas = make_batch(128)\n\nmodel.compile(optimizer=\"Adam\", loss=\"mse\", metrics=[\"mae\"])\nmodel.fit(x=train_points, y=train_areas, validation_data=(test_points, test_areas), epochs=200)",
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": "Epoch 1/200\n32/32 [==============================] - 0s 11ms/step - loss: 11.0804 - mae: 3.1729 - val_loss: 9.6819 - val_mae: 2.9388\nEpoch 2/200\n32/32 [==============================] - 0s 2ms/step - loss: 9.5199 - mae: 2.9222 - val_loss: 8.3143 - val_mae: 2.7015\nEpoch 3/200\n32/32 [==============================] - 0s 2ms/step - loss: 8.1310 - mae: 2.6779 - val_loss: 7.0241 - val_mae: 2.4494\nEpoch 4/200\n32/32 [==============================] - 0s 2ms/step - loss: 6.7646 - mae: 2.4000 - val_loss: 5.7183 - val_mae: 2.1639\nEpoch 5/200\n32/32 [==============================] - 0s 2ms/step - loss: 5.4226 - mae: 2.0945 - val_loss: 4.5097 - val_mae: 1.8619\nEpoch 6/200\n32/32 [==============================] - 0s 2ms/step - loss: 4.2257 - mae: 1.7819 - val_loss: 3.4935 - val_mae: 1.5851\nEpoch 7/200\n32/32 [==============================] - 0s 2ms/step - loss: 3.2616 - mae: 1.5062 - val_loss: 2.7482 - val_mae: 1.3525\nEpoch 8/200\n32/32 [==============================] - 0s 2ms/step - loss: 2.5699 - mae: 1.2935 - val_loss: 2.2406 - val_mae: 1.1944\nEpoch 9/200\n32/32 [==============================] - 0s 2ms/step - loss: 2.1121 - mae: 1.1513 - val_loss: 1.9180 - val_mae: 1.0806\nEpoch 10/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.8176 - mae: 1.0619 - val_loss: 1.7133 - val_mae: 1.0127\nEpoch 11/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.6215 - mae: 1.0021 - val_loss: 1.5738 - val_mae: 0.9684\nEpoch 12/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.4771 - mae: 0.9568 - val_loss: 1.4668 - val_mae: 0.9377\nEpoch 13/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.3602 - mae: 0.9194 - val_loss: 1.3770 - val_mae: 0.9102\nEpoch 14/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.2597 - mae: 0.8833 - val_loss: 1.2996 - val_mae: 0.8834\nEpoch 15/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.1737 - mae: 0.8516 - val_loss: 1.2328 - val_mae: 0.8598\nEpoch 16/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.0984 - mae: 0.8234 - val_loss: 1.1717 - val_mae: 0.8379\nEpoch 17/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.0330 - mae: 0.7974 - val_loss: 1.1126 - val_mae: 0.8155\nEpoch 18/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.9721 - mae: 0.7715 - val_loss: 1.0580 - val_mae: 0.7953\nEpoch 19/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.9184 - mae: 0.7496 - val_loss: 1.0115 - val_mae: 0.7782\nEpoch 20/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8734 - mae: 0.7305 - val_loss: 0.9678 - val_mae: 0.7627\nEpoch 21/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8331 - mae: 0.7149 - val_loss: 0.9298 - val_mae: 0.7512\nEpoch 22/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7961 - mae: 0.6976 - val_loss: 0.8953 - val_mae: 0.7398\nEpoch 23/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7644 - mae: 0.6831 - val_loss: 0.8619 - val_mae: 0.7284\nEpoch 24/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7366 - mae: 0.6709 - val_loss: 0.8337 - val_mae: 0.7204\nEpoch 25/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.7111 - mae: 0.6592 - val_loss: 0.8074 - val_mae: 0.7102\nEpoch 26/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6897 - mae: 0.6494 - val_loss: 0.7820 - val_mae: 0.7018\nEpoch 27/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6699 - mae: 0.6407 - val_loss: 0.7607 - val_mae: 0.6931\nEpoch 28/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.6531 - mae: 0.6333 - val_loss: 0.7382 - val_mae: 0.6841\nEpoch 29/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6372 - mae: 0.6263 - val_loss: 0.7185 - val_mae: 0.6753\nEpoch 30/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6228 - mae: 0.6198 - val_loss: 0.6999 - val_mae: 0.6677\nEpoch 31/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.6105 - mae: 0.6136 - val_loss: 0.6822 - val_mae: 0.6588\nEpoch 32/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5981 - mae: 0.6081 - val_loss: 0.6675 - val_mae: 0.6529\nEpoch 33/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5880 - mae: 0.6034 - val_loss: 0.6525 - val_mae: 0.6452\nEpoch 34/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5775 - mae: 0.5988 - val_loss: 0.6405 - val_mae: 0.6399\nEpoch 35/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5682 - mae: 0.5939 - val_loss: 0.6257 - val_mae: 0.6314\nEpoch 36/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5594 - mae: 0.5898 - val_loss: 0.6134 - val_mae: 0.6263\nEpoch 37/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5511 - mae: 0.5859 - val_loss: 0.6025 - val_mae: 0.6220\nEpoch 38/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5438 - mae: 0.5815 - val_loss: 0.5930 - val_mae: 0.6168\nEpoch 39/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5365 - mae: 0.5780 - val_loss: 0.5840 - val_mae: 0.6138\nEpoch 40/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5306 - mae: 0.5749 - val_loss: 0.5746 - val_mae: 0.6090\nEpoch 41/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5247 - mae: 0.5720 - val_loss: 0.5665 - val_mae: 0.6057\nEpoch 42/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5181 - mae: 0.5683 - val_loss: 0.5586 - val_mae: 0.5981\nEpoch 43/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5122 - mae: 0.5653 - val_loss: 0.5504 - val_mae: 0.5942\nEpoch 44/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5068 - mae: 0.5623 - val_loss: 0.5425 - val_mae: 0.5893\nEpoch 45/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5011 - mae: 0.5600 - val_loss: 0.5348 - val_mae: 0.5841\nEpoch 46/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4963 - mae: 0.5570 - val_loss: 0.5279 - val_mae: 0.5805\nEpoch 47/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4916 - mae: 0.5551 - val_loss: 0.5209 - val_mae: 0.5752\nEpoch 48/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4869 - mae: 0.5521 - val_loss: 0.5156 - val_mae: 0.5730\nEpoch 49/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4824 - mae: 0.5501 - val_loss: 0.5096 - val_mae: 0.5682\nEpoch 50/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4777 - mae: 0.5467 - val_loss: 0.5056 - val_mae: 0.5657\nEpoch 51/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4729 - mae: 0.5441 - val_loss: 0.4990 - val_mae: 0.5626\nEpoch 52/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4690 - mae: 0.5430 - val_loss: 0.4954 - val_mae: 0.5604\nEpoch 53/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4654 - mae: 0.5403 - val_loss: 0.4901 - val_mae: 0.5564\nEpoch 54/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4625 - mae: 0.5394 - val_loss: 0.4859 - val_mae: 0.5539\nEpoch 55/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4586 - mae: 0.5357 - val_loss: 0.4833 - val_mae: 0.5538\nEpoch 56/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4561 - mae: 0.5351 - val_loss: 0.4796 - val_mae: 0.5519\nEpoch 57/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4535 - mae: 0.5326 - val_loss: 0.4761 - val_mae: 0.5502\nEpoch 58/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4509 - mae: 0.5322 - val_loss: 0.4727 - val_mae: 0.5491\nEpoch 59/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4488 - mae: 0.5300 - val_loss: 0.4702 - val_mae: 0.5466\nEpoch 60/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4465 - mae: 0.5298 - val_loss: 0.4673 - val_mae: 0.5458\nEpoch 61/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4439 - mae: 0.5266 - val_loss: 0.4638 - val_mae: 0.5444\nEpoch 62/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4420 - mae: 0.5259 - val_loss: 0.4601 - val_mae: 0.5427\nEpoch 63/200\n",
"name": "stdout"
},
{
"output_type": "stream",
"text": "32/32 [==============================] - 0s 2ms/step - loss: 0.4401 - mae: 0.5248 - val_loss: 0.4564 - val_mae: 0.5403\nEpoch 64/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4388 - mae: 0.5239 - val_loss: 0.4543 - val_mae: 0.5390\nEpoch 65/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4380 - mae: 0.5229 - val_loss: 0.4529 - val_mae: 0.5393\nEpoch 66/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4355 - mae: 0.5208 - val_loss: 0.4505 - val_mae: 0.5378\nEpoch 67/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4353 - mae: 0.5215 - val_loss: 0.4483 - val_mae: 0.5369\nEpoch 68/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4331 - mae: 0.5196 - val_loss: 0.4458 - val_mae: 0.5354\nEpoch 69/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4320 - mae: 0.5192 - val_loss: 0.4438 - val_mae: 0.5351\nEpoch 70/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4312 - mae: 0.5188 - val_loss: 0.4428 - val_mae: 0.5342\nEpoch 71/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4303 - mae: 0.5177 - val_loss: 0.4407 - val_mae: 0.5328\nEpoch 72/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4293 - mae: 0.5168 - val_loss: 0.4390 - val_mae: 0.5323\nEpoch 73/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4283 - mae: 0.5167 - val_loss: 0.4370 - val_mae: 0.5307\nEpoch 74/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4279 - mae: 0.5169 - val_loss: 0.4352 - val_mae: 0.5312\nEpoch 75/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4266 - mae: 0.5153 - val_loss: 0.4332 - val_mae: 0.5280\nEpoch 76/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4259 - mae: 0.5142 - val_loss: 0.4330 - val_mae: 0.5300\nEpoch 77/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4253 - mae: 0.5145 - val_loss: 0.4291 - val_mae: 0.5278\nEpoch 78/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4246 - mae: 0.5147 - val_loss: 0.4280 - val_mae: 0.5257\nEpoch 79/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4230 - mae: 0.5126 - val_loss: 0.4265 - val_mae: 0.5244\nEpoch 80/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4236 - mae: 0.5129 - val_loss: 0.4262 - val_mae: 0.5265\nEpoch 81/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4219 - mae: 0.5125 - val_loss: 0.4240 - val_mae: 0.5245\nEpoch 82/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4219 - mae: 0.5121 - val_loss: 0.4232 - val_mae: 0.5235\nEpoch 83/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4217 - mae: 0.5113 - val_loss: 0.4205 - val_mae: 0.5222\nEpoch 84/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4200 - mae: 0.5102 - val_loss: 0.4211 - val_mae: 0.5228\nEpoch 85/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4204 - mae: 0.5106 - val_loss: 0.4196 - val_mae: 0.5238\nEpoch 86/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4197 - mae: 0.5102 - val_loss: 0.4182 - val_mae: 0.5208\nEpoch 87/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4189 - mae: 0.5097 - val_loss: 0.4180 - val_mae: 0.5224\nEpoch 88/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4191 - mae: 0.5103 - val_loss: 0.4171 - val_mae: 0.5213\nEpoch 89/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4186 - mae: 0.5112 - val_loss: 0.4157 - val_mae: 0.5200\nEpoch 90/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4177 - mae: 0.5086 - val_loss: 0.4148 - val_mae: 0.5195\nEpoch 91/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4174 - mae: 0.5100 - val_loss: 0.4147 - val_mae: 0.5189\nEpoch 92/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4166 - mae: 0.5083 - val_loss: 0.4145 - val_mae: 0.5195\nEpoch 93/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4167 - mae: 0.5083 - val_loss: 0.4143 - val_mae: 0.5199\nEpoch 94/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4166 - mae: 0.5099 - val_loss: 0.4118 - val_mae: 0.5172\nEpoch 95/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4174 - mae: 0.5091 - val_loss: 0.4133 - val_mae: 0.5177\nEpoch 96/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4166 - mae: 0.5095 - val_loss: 0.4106 - val_mae: 0.5175\nEpoch 97/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4163 - mae: 0.5084 - val_loss: 0.4104 - val_mae: 0.5176\nEpoch 98/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4150 - mae: 0.5079 - val_loss: 0.4111 - val_mae: 0.5180\nEpoch 99/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4147 - mae: 0.5074 - val_loss: 0.4112 - val_mae: 0.5185\nEpoch 100/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4154 - mae: 0.5080 - val_loss: 0.4111 - val_mae: 0.5189\nEpoch 101/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4149 - mae: 0.5084 - val_loss: 0.4091 - val_mae: 0.5168\nEpoch 102/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4141 - mae: 0.5077 - val_loss: 0.4086 - val_mae: 0.5162\nEpoch 103/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4153 - mae: 0.5087 - val_loss: 0.4108 - val_mae: 0.5185\nEpoch 104/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4140 - mae: 0.5069 - val_loss: 0.4071 - val_mae: 0.5157\nEpoch 105/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4139 - mae: 0.5083 - val_loss: 0.4081 - val_mae: 0.5161\nEpoch 106/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4137 - mae: 0.5062 - val_loss: 0.4082 - val_mae: 0.5168\nEpoch 107/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4138 - mae: 0.5077 - val_loss: 0.4083 - val_mae: 0.5170\nEpoch 108/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4140 - mae: 0.5078 - val_loss: 0.4063 - val_mae: 0.5163\nEpoch 109/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4133 - mae: 0.5068 - val_loss: 0.4075 - val_mae: 0.5162\nEpoch 110/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4128 - mae: 0.5064 - val_loss: 0.4050 - val_mae: 0.5139\nEpoch 111/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4123 - mae: 0.5058 - val_loss: 0.4063 - val_mae: 0.5161\nEpoch 112/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4119 - mae: 0.5065 - val_loss: 0.4065 - val_mae: 0.5166\nEpoch 113/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4119 - mae: 0.5055 - val_loss: 0.4054 - val_mae: 0.5143\nEpoch 114/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4122 - mae: 0.5062 - val_loss: 0.4055 - val_mae: 0.5160\nEpoch 115/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4115 - mae: 0.5061 - val_loss: 0.4056 - val_mae: 0.5162\nEpoch 116/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4118 - mae: 0.5061 - val_loss: 0.4066 - val_mae: 0.5147\nEpoch 117/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4117 - mae: 0.5058 - val_loss: 0.4066 - val_mae: 0.5167\nEpoch 118/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4108 - mae: 0.5047 - val_loss: 0.4050 - val_mae: 0.5138\nEpoch 119/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4110 - mae: 0.5060 - val_loss: 0.4062 - val_mae: 0.5152\nEpoch 120/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4106 - mae: 0.5063 - val_loss: 0.4069 - val_mae: 0.5159\nEpoch 121/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4107 - mae: 0.5040 - val_loss: 0.4052 - val_mae: 0.5159\nEpoch 122/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4102 - mae: 0.5052 - val_loss: 0.4057 - val_mae: 0.5159\nEpoch 123/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4094 - mae: 0.5052 - val_loss: 0.4055 - val_mae: 0.5154\nEpoch 124/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4097 - mae: 0.5050 - val_loss: 0.4039 - val_mae: 0.5144\n",
"name": "stdout"
},
{
"output_type": "stream",
"text": "Epoch 125/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4096 - mae: 0.5045 - val_loss: 0.4058 - val_mae: 0.5156\nEpoch 126/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4089 - mae: 0.5044 - val_loss: 0.4071 - val_mae: 0.5166\nEpoch 127/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4097 - mae: 0.5050 - val_loss: 0.4064 - val_mae: 0.5157\nEpoch 128/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4090 - mae: 0.5044 - val_loss: 0.4043 - val_mae: 0.5145\nEpoch 129/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4089 - mae: 0.5045 - val_loss: 0.4049 - val_mae: 0.5156\nEpoch 130/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4086 - mae: 0.5048 - val_loss: 0.4050 - val_mae: 0.5140\nEpoch 131/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4082 - mae: 0.5038 - val_loss: 0.4063 - val_mae: 0.5173\nEpoch 132/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4079 - mae: 0.5039 - val_loss: 0.4051 - val_mae: 0.5154\nEpoch 133/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4084 - mae: 0.5038 - val_loss: 0.4033 - val_mae: 0.5141\nEpoch 134/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4095 - mae: 0.5056 - val_loss: 0.4042 - val_mae: 0.5124\nEpoch 135/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4083 - mae: 0.5038 - val_loss: 0.4053 - val_mae: 0.5148\nEpoch 136/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4082 - mae: 0.5037 - val_loss: 0.4058 - val_mae: 0.5142\nEpoch 137/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4080 - mae: 0.5042 - val_loss: 0.4044 - val_mae: 0.5140\nEpoch 138/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4077 - mae: 0.5035 - val_loss: 0.4055 - val_mae: 0.5164\nEpoch 139/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4065 - mae: 0.5032 - val_loss: 0.4040 - val_mae: 0.5150\nEpoch 140/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4070 - mae: 0.5034 - val_loss: 0.4066 - val_mae: 0.5160\nEpoch 141/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4071 - mae: 0.5040 - val_loss: 0.4052 - val_mae: 0.5143\nEpoch 142/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4074 - mae: 0.5031 - val_loss: 0.4057 - val_mae: 0.5161\nEpoch 143/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4083 - mae: 0.5045 - val_loss: 0.4068 - val_mae: 0.5141\nEpoch 144/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4069 - mae: 0.5023 - val_loss: 0.4079 - val_mae: 0.5170\nEpoch 145/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4061 - mae: 0.5029 - val_loss: 0.4042 - val_mae: 0.5139\nEpoch 146/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4062 - mae: 0.5025 - val_loss: 0.4038 - val_mae: 0.5153\nEpoch 147/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4059 - mae: 0.5032 - val_loss: 0.4060 - val_mae: 0.5167\nEpoch 148/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4056 - mae: 0.5024 - val_loss: 0.4038 - val_mae: 0.5140\nEpoch 149/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4057 - mae: 0.5028 - val_loss: 0.4048 - val_mae: 0.5148\nEpoch 150/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4063 - mae: 0.5036 - val_loss: 0.4030 - val_mae: 0.5104\nEpoch 151/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4057 - mae: 0.5024 - val_loss: 0.4062 - val_mae: 0.5170\nEpoch 152/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4057 - mae: 0.5033 - val_loss: 0.4040 - val_mae: 0.5143\nEpoch 153/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4055 - mae: 0.5028 - val_loss: 0.4058 - val_mae: 0.5169\nEpoch 154/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4064 - mae: 0.5026 - val_loss: 0.4066 - val_mae: 0.5176\nEpoch 155/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4074 - mae: 0.5041 - val_loss: 0.4054 - val_mae: 0.5155\nEpoch 156/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4049 - mae: 0.5030 - val_loss: 0.4048 - val_mae: 0.5155\nEpoch 157/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4048 - mae: 0.5025 - val_loss: 0.4043 - val_mae: 0.5148\nEpoch 158/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4058 - mae: 0.5020 - val_loss: 0.4058 - val_mae: 0.5168\nEpoch 159/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4050 - mae: 0.5035 - val_loss: 0.4037 - val_mae: 0.5118\nEpoch 160/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4063 - mae: 0.5024 - val_loss: 0.4060 - val_mae: 0.5153\nEpoch 161/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4050 - mae: 0.5020 - val_loss: 0.4029 - val_mae: 0.5154\nEpoch 162/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4043 - mae: 0.5030 - val_loss: 0.4040 - val_mae: 0.5144\nEpoch 163/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4050 - mae: 0.5010 - val_loss: 0.4043 - val_mae: 0.5151\nEpoch 164/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4053 - mae: 0.5020 - val_loss: 0.4045 - val_mae: 0.5144\nEpoch 165/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4042 - mae: 0.5025 - val_loss: 0.4036 - val_mae: 0.5151\nEpoch 166/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4043 - mae: 0.5019 - val_loss: 0.4040 - val_mae: 0.5148\nEpoch 167/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4071 - mae: 0.5030 - val_loss: 0.4052 - val_mae: 0.5157\nEpoch 168/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4042 - mae: 0.5018 - val_loss: 0.4029 - val_mae: 0.5143\nEpoch 169/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4057 - mae: 0.5026 - val_loss: 0.4030 - val_mae: 0.5132\nEpoch 170/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4036 - mae: 0.5006 - val_loss: 0.4047 - val_mae: 0.5182\nEpoch 171/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4057 - mae: 0.5043 - val_loss: 0.4037 - val_mae: 0.5147\nEpoch 172/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4039 - mae: 0.5010 - val_loss: 0.4037 - val_mae: 0.5162\nEpoch 173/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4044 - mae: 0.5019 - val_loss: 0.4018 - val_mae: 0.5119\nEpoch 174/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4052 - mae: 0.5030 - val_loss: 0.4010 - val_mae: 0.5114\nEpoch 175/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4051 - mae: 0.5024 - val_loss: 0.4019 - val_mae: 0.5139\nEpoch 176/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4045 - mae: 0.5018 - val_loss: 0.4028 - val_mae: 0.5157\nEpoch 177/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4040 - mae: 0.5021 - val_loss: 0.4022 - val_mae: 0.5123\nEpoch 178/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4043 - mae: 0.5014 - val_loss: 0.4022 - val_mae: 0.5137\nEpoch 179/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4051 - mae: 0.5034 - val_loss: 0.4007 - val_mae: 0.5123\nEpoch 180/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4043 - mae: 0.5018 - val_loss: 0.4018 - val_mae: 0.5158\nEpoch 181/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4042 - mae: 0.5020 - val_loss: 0.4020 - val_mae: 0.5134\nEpoch 182/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4040 - mae: 0.5011 - val_loss: 0.4029 - val_mae: 0.5164\nEpoch 183/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4034 - mae: 0.5023 - val_loss: 0.4004 - val_mae: 0.5127\nEpoch 184/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4053 - mae: 0.5019 - val_loss: 0.4013 - val_mae: 0.5148\nEpoch 185/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4031 - mae: 0.5012 - val_loss: 0.4002 - val_mae: 0.5141\nEpoch 186/200\n",
"name": "stdout"
},
{
"output_type": "stream",
"text": "32/32 [==============================] - 0s 2ms/step - loss: 0.4043 - mae: 0.5023 - val_loss: 0.4014 - val_mae: 0.5157\nEpoch 187/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4040 - mae: 0.5025 - val_loss: 0.3992 - val_mae: 0.5123\nEpoch 188/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4040 - mae: 0.5019 - val_loss: 0.3988 - val_mae: 0.5140\nEpoch 189/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4037 - mae: 0.5014 - val_loss: 0.4010 - val_mae: 0.5151\nEpoch 190/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4035 - mae: 0.5018 - val_loss: 0.3986 - val_mae: 0.5113\nEpoch 191/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4038 - mae: 0.5011 - val_loss: 0.4013 - val_mae: 0.5166\nEpoch 192/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4035 - mae: 0.5028 - val_loss: 0.3977 - val_mae: 0.5118\nEpoch 193/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4032 - mae: 0.5016 - val_loss: 0.3991 - val_mae: 0.5137\nEpoch 194/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4033 - mae: 0.5026 - val_loss: 0.4006 - val_mae: 0.5115\nEpoch 195/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4041 - mae: 0.5015 - val_loss: 0.3989 - val_mae: 0.5158\nEpoch 196/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4036 - mae: 0.5023 - val_loss: 0.3963 - val_mae: 0.5111\nEpoch 197/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4031 - mae: 0.5008 - val_loss: 0.3986 - val_mae: 0.5122\nEpoch 198/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4036 - mae: 0.5015 - val_loss: 0.3960 - val_mae: 0.5117\nEpoch 199/200\n32/32 [==============================] - 0s 3ms/step - loss: 0.4023 - mae: 0.5013 - val_loss: 0.3980 - val_mae: 0.5128\nEpoch 200/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.4028 - mae: 0.5005 - val_loss: 0.3983 - val_mae: 0.5149\n",
"name": "stdout"
},
{
"output_type": "execute_result",
"execution_count": 5,
"data": {
"text/plain": "<tensorflow.python.keras.callbacks.History at 0x7fc31048a640>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(model.summary())",
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": "Model: \"sequential\"\n_________________________________________________________________\nLayer (type) Output Shape Param # \n=================================================================\ntensor_to_geometric (TensorT multiple 0 \n_________________________________________________________________\ngeometric_product_dense (Geo multiple 32 \n_________________________________________________________________\ngeometric_product_dense_1 (G multiple 24 \n_________________________________________________________________\ngeometric_product_dense_2 (G multiple 9 \n_________________________________________________________________\ngeometric_to_tensor (Geometr multiple 0 \n=================================================================\nTotal params: 65\nTrainable params: 65\nNon-trainable params: 0\n_________________________________________________________________\nNone\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "predicted_sample_areas = model(sample_points)\n\nprint(predicted_sample_areas)\nprint(sample_areas)",
"execution_count": 7,
"outputs": [
{
"output_type": "stream",
"text": "tf.Tensor(\n[[[2.0884361]]\n\n [[3.797798 ]]\n\n [[4.072391 ]]\n\n [[3.458633 ]]], shape=(4, 1, 1), dtype=float32)\ntf.Tensor([1.8666033 4.054379 4.1129 4.064248 ], shape=(4,), dtype=float32)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "model_normal = tf.keras.Sequential([\n tf.keras.layers.Dense(2*N_dim_polys, activation=\"relu\"),\n tf.keras.layers.Dense(3*N_dim_polys, activation=\"relu\"),\n tf.keras.layers.Dense(1)\n])\n\nmodel_normal.compile(optimizer=\"Adam\", loss=\"mse\", metrics=[\"mae\"])\nmodel_normal.fit(x=tf.reshape(train_points, [-1, N_dim_polys*(N_dim_polys+1)]), \n y=train_areas, \n validation_data=(tf.reshape(test_points, [-1, N_dim_polys*(N_dim_polys+1)]), test_areas), \n epochs=200)",
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
"text": "Epoch 1/200\n32/32 [==============================] - 0s 4ms/step - loss: 9.7740 - mae: 2.9866 - val_loss: 8.6556 - val_mae: 2.8009\nEpoch 2/200\n32/32 [==============================] - 0s 2ms/step - loss: 9.0766 - mae: 2.8670 - val_loss: 7.9956 - val_mae: 2.6811\nEpoch 3/200\n32/32 [==============================] - 0s 2ms/step - loss: 8.3343 - mae: 2.7325 - val_loss: 7.2677 - val_mae: 2.5413\nEpoch 4/200\n32/32 [==============================] - 0s 2ms/step - loss: 7.4905 - mae: 2.5683 - val_loss: 6.4013 - val_mae: 2.3620\nEpoch 5/200\n32/32 [==============================] - 0s 2ms/step - loss: 6.5030 - mae: 2.3647 - val_loss: 5.3905 - val_mae: 2.1293\nEpoch 6/200\n32/32 [==============================] - 0s 2ms/step - loss: 5.4076 - mae: 2.1099 - val_loss: 4.3208 - val_mae: 1.8483\nEpoch 7/200\n32/32 [==============================] - 0s 2ms/step - loss: 4.3210 - mae: 1.8186 - val_loss: 3.3623 - val_mae: 1.5487\nEpoch 8/200\n32/32 [==============================] - 0s 2ms/step - loss: 3.4140 - mae: 1.5390 - val_loss: 2.6271 - val_mae: 1.3106\nEpoch 9/200\n32/32 [==============================] - 0s 2ms/step - loss: 2.7470 - mae: 1.3334 - val_loss: 2.1507 - val_mae: 1.1399\nEpoch 10/200\n32/32 [==============================] - 0s 2ms/step - loss: 2.3170 - mae: 1.2028 - val_loss: 1.8624 - val_mae: 1.0402\nEpoch 11/200\n32/32 [==============================] - 0s 2ms/step - loss: 2.0596 - mae: 1.1356 - val_loss: 1.6918 - val_mae: 0.9917\nEpoch 12/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.8863 - mae: 1.0893 - val_loss: 1.5727 - val_mae: 0.9695\nEpoch 13/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.7595 - mae: 1.0554 - val_loss: 1.4803 - val_mae: 0.9516\nEpoch 14/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.6553 - mae: 1.0243 - val_loss: 1.3933 - val_mae: 0.9318\nEpoch 15/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.5610 - mae: 0.9948 - val_loss: 1.3159 - val_mae: 0.9116\nEpoch 16/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.4745 - mae: 0.9666 - val_loss: 1.2543 - val_mae: 0.8981\nEpoch 17/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.3989 - mae: 0.9403 - val_loss: 1.1953 - val_mae: 0.8825\nEpoch 18/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.3336 - mae: 0.9182 - val_loss: 1.1486 - val_mae: 0.8704\nEpoch 19/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.2748 - mae: 0.8978 - val_loss: 1.1069 - val_mae: 0.8568\nEpoch 20/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.2217 - mae: 0.8796 - val_loss: 1.0700 - val_mae: 0.8438\nEpoch 21/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.1741 - mae: 0.8624 - val_loss: 1.0332 - val_mae: 0.8308\nEpoch 22/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.1299 - mae: 0.8461 - val_loss: 1.0040 - val_mae: 0.8196\nEpoch 23/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.0915 - mae: 0.8324 - val_loss: 0.9758 - val_mae: 0.8094\nEpoch 24/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.0576 - mae: 0.8201 - val_loss: 0.9561 - val_mae: 0.8032\nEpoch 25/200\n32/32 [==============================] - 0s 2ms/step - loss: 1.0260 - mae: 0.8083 - val_loss: 0.9333 - val_mae: 0.7939\nEpoch 26/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.9987 - mae: 0.7979 - val_loss: 0.9152 - val_mae: 0.7854\nEpoch 27/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.9765 - mae: 0.7892 - val_loss: 0.8995 - val_mae: 0.7781\nEpoch 28/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.9538 - mae: 0.7807 - val_loss: 0.8802 - val_mae: 0.7688\nEpoch 29/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.9341 - mae: 0.7739 - val_loss: 0.8698 - val_mae: 0.7647\nEpoch 30/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.9154 - mae: 0.7674 - val_loss: 0.8547 - val_mae: 0.7585\nEpoch 31/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8981 - mae: 0.7605 - val_loss: 0.8420 - val_mae: 0.7527\nEpoch 32/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8819 - mae: 0.7545 - val_loss: 0.8341 - val_mae: 0.7492\nEpoch 33/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8673 - mae: 0.7496 - val_loss: 0.8260 - val_mae: 0.7458\nEpoch 34/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8547 - mae: 0.7450 - val_loss: 0.8167 - val_mae: 0.7424\nEpoch 35/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8420 - mae: 0.7404 - val_loss: 0.8109 - val_mae: 0.7393\nEpoch 36/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8313 - mae: 0.7364 - val_loss: 0.8038 - val_mae: 0.7365\nEpoch 37/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8216 - mae: 0.7331 - val_loss: 0.7968 - val_mae: 0.7327\nEpoch 38/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8125 - mae: 0.7294 - val_loss: 0.7928 - val_mae: 0.7304\nEpoch 39/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.8050 - mae: 0.7263 - val_loss: 0.7934 - val_mae: 0.7309\nEpoch 40/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7962 - mae: 0.7229 - val_loss: 0.7842 - val_mae: 0.7263\nEpoch 41/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7881 - mae: 0.7191 - val_loss: 0.7839 - val_mae: 0.7263\nEpoch 42/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7811 - mae: 0.7160 - val_loss: 0.7814 - val_mae: 0.7249\nEpoch 43/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7737 - mae: 0.7129 - val_loss: 0.7786 - val_mae: 0.7238\nEpoch 44/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7669 - mae: 0.7098 - val_loss: 0.7736 - val_mae: 0.7209\nEpoch 45/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7601 - mae: 0.7067 - val_loss: 0.7672 - val_mae: 0.7176\nEpoch 46/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7529 - mae: 0.7032 - val_loss: 0.7633 - val_mae: 0.7155\nEpoch 47/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7462 - mae: 0.6995 - val_loss: 0.7607 - val_mae: 0.7141\nEpoch 48/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7397 - mae: 0.6964 - val_loss: 0.7562 - val_mae: 0.7114\nEpoch 49/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7327 - mae: 0.6928 - val_loss: 0.7539 - val_mae: 0.7098\nEpoch 50/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7268 - mae: 0.6896 - val_loss: 0.7508 - val_mae: 0.7080\nEpoch 51/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7205 - mae: 0.6868 - val_loss: 0.7486 - val_mae: 0.7063\nEpoch 52/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7141 - mae: 0.6834 - val_loss: 0.7445 - val_mae: 0.7040\nEpoch 53/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7084 - mae: 0.6805 - val_loss: 0.7435 - val_mae: 0.7026\nEpoch 54/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.7027 - mae: 0.6771 - val_loss: 0.7421 - val_mae: 0.7009\nEpoch 55/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6980 - mae: 0.6747 - val_loss: 0.7405 - val_mae: 0.6996\nEpoch 56/200\n32/32 [==============================] - 0s 1ms/step - loss: 0.6920 - mae: 0.6717 - val_loss: 0.7389 - val_mae: 0.6978\nEpoch 57/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6870 - mae: 0.6691 - val_loss: 0.7349 - val_mae: 0.6950\nEpoch 58/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6830 - mae: 0.6668 - val_loss: 0.7370 - val_mae: 0.6952\nEpoch 59/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6793 - mae: 0.6646 - val_loss: 0.7331 - val_mae: 0.6931\nEpoch 60/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6753 - mae: 0.6621 - val_loss: 0.7304 - val_mae: 0.6913\nEpoch 61/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6717 - mae: 0.6602 - val_loss: 0.7340 - val_mae: 0.6941\nEpoch 62/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6682 - mae: 0.6583 - val_loss: 0.7327 - val_mae: 0.6927\nEpoch 63/200\n",
"name": "stdout"
},
{
"output_type": "stream",
"text": "32/32 [==============================] - 0s 2ms/step - loss: 0.6651 - mae: 0.6564 - val_loss: 0.7338 - val_mae: 0.6935\nEpoch 64/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6620 - mae: 0.6545 - val_loss: 0.7303 - val_mae: 0.6912\nEpoch 65/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6582 - mae: 0.6527 - val_loss: 0.7329 - val_mae: 0.6923\nEpoch 66/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6561 - mae: 0.6512 - val_loss: 0.7313 - val_mae: 0.6914\nEpoch 67/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6529 - mae: 0.6495 - val_loss: 0.7317 - val_mae: 0.6915\nEpoch 68/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6507 - mae: 0.6487 - val_loss: 0.7272 - val_mae: 0.6884\nEpoch 69/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6476 - mae: 0.6462 - val_loss: 0.7278 - val_mae: 0.6883\nEpoch 70/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6456 - mae: 0.6448 - val_loss: 0.7297 - val_mae: 0.6897\nEpoch 71/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6428 - mae: 0.6432 - val_loss: 0.7282 - val_mae: 0.6879\nEpoch 72/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6409 - mae: 0.6422 - val_loss: 0.7247 - val_mae: 0.6859\nEpoch 73/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6384 - mae: 0.6405 - val_loss: 0.7263 - val_mae: 0.6867\nEpoch 74/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6369 - mae: 0.6392 - val_loss: 0.7243 - val_mae: 0.6856\nEpoch 75/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6348 - mae: 0.6386 - val_loss: 0.7265 - val_mae: 0.6861\nEpoch 76/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6363 - mae: 0.6377 - val_loss: 0.7245 - val_mae: 0.6852\nEpoch 77/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6318 - mae: 0.6372 - val_loss: 0.7282 - val_mae: 0.6874\nEpoch 78/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6304 - mae: 0.6362 - val_loss: 0.7257 - val_mae: 0.6858\nEpoch 79/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6296 - mae: 0.6346 - val_loss: 0.7244 - val_mae: 0.6843\nEpoch 80/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6272 - mae: 0.6335 - val_loss: 0.7259 - val_mae: 0.6857\nEpoch 81/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6267 - mae: 0.6334 - val_loss: 0.7276 - val_mae: 0.6866\nEpoch 82/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6258 - mae: 0.6327 - val_loss: 0.7241 - val_mae: 0.6846\nEpoch 83/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6240 - mae: 0.6320 - val_loss: 0.7301 - val_mae: 0.6877\nEpoch 84/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6226 - mae: 0.6315 - val_loss: 0.7275 - val_mae: 0.6860\nEpoch 85/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6220 - mae: 0.6309 - val_loss: 0.7246 - val_mae: 0.6845\nEpoch 86/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6207 - mae: 0.6300 - val_loss: 0.7275 - val_mae: 0.6860\nEpoch 87/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6208 - mae: 0.6299 - val_loss: 0.7310 - val_mae: 0.6887\nEpoch 88/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6201 - mae: 0.6309 - val_loss: 0.7282 - val_mae: 0.6873\nEpoch 89/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6204 - mae: 0.6293 - val_loss: 0.7302 - val_mae: 0.6881\nEpoch 90/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6181 - mae: 0.6280 - val_loss: 0.7286 - val_mae: 0.6867\nEpoch 91/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6173 - mae: 0.6280 - val_loss: 0.7335 - val_mae: 0.6900\nEpoch 92/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6163 - mae: 0.6277 - val_loss: 0.7269 - val_mae: 0.6859\nEpoch 93/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6152 - mae: 0.6268 - val_loss: 0.7313 - val_mae: 0.6889\nEpoch 94/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6146 - mae: 0.6266 - val_loss: 0.7280 - val_mae: 0.6870\nEpoch 95/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6148 - mae: 0.6271 - val_loss: 0.7269 - val_mae: 0.6856\nEpoch 96/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6138 - mae: 0.6256 - val_loss: 0.7304 - val_mae: 0.6885\nEpoch 97/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6127 - mae: 0.6258 - val_loss: 0.7354 - val_mae: 0.6911\nEpoch 98/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6131 - mae: 0.6264 - val_loss: 0.7316 - val_mae: 0.6884\nEpoch 99/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6125 - mae: 0.6248 - val_loss: 0.7338 - val_mae: 0.6902\nEpoch 100/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6116 - mae: 0.6252 - val_loss: 0.7319 - val_mae: 0.6897\nEpoch 101/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6109 - mae: 0.6249 - val_loss: 0.7313 - val_mae: 0.6884\nEpoch 102/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6107 - mae: 0.6244 - val_loss: 0.7271 - val_mae: 0.6857\nEpoch 103/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6102 - mae: 0.6237 - val_loss: 0.7388 - val_mae: 0.6934\nEpoch 104/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6098 - mae: 0.6239 - val_loss: 0.7343 - val_mae: 0.6903\nEpoch 105/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6091 - mae: 0.6236 - val_loss: 0.7352 - val_mae: 0.6909\nEpoch 106/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6092 - mae: 0.6236 - val_loss: 0.7331 - val_mae: 0.6906\nEpoch 107/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6087 - mae: 0.6228 - val_loss: 0.7335 - val_mae: 0.6907\nEpoch 108/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6088 - mae: 0.6233 - val_loss: 0.7400 - val_mae: 0.6945\nEpoch 109/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6073 - mae: 0.6227 - val_loss: 0.7338 - val_mae: 0.6908\nEpoch 110/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6075 - mae: 0.6222 - val_loss: 0.7298 - val_mae: 0.6883\nEpoch 111/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6069 - mae: 0.6220 - val_loss: 0.7410 - val_mae: 0.6953\nEpoch 112/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6065 - mae: 0.6220 - val_loss: 0.7298 - val_mae: 0.6885\nEpoch 113/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6060 - mae: 0.6212 - val_loss: 0.7363 - val_mae: 0.6922\nEpoch 114/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6062 - mae: 0.6216 - val_loss: 0.7343 - val_mae: 0.6920\nEpoch 115/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6050 - mae: 0.6209 - val_loss: 0.7360 - val_mae: 0.6921\nEpoch 116/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6053 - mae: 0.6211 - val_loss: 0.7347 - val_mae: 0.6924\nEpoch 117/200\n32/32 [==============================] - 0s 5ms/step - loss: 0.6057 - mae: 0.6214 - val_loss: 0.7314 - val_mae: 0.6900\nEpoch 118/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6043 - mae: 0.6205 - val_loss: 0.7315 - val_mae: 0.6907\nEpoch 119/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6045 - mae: 0.6211 - val_loss: 0.7372 - val_mae: 0.6939\nEpoch 120/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6058 - mae: 0.6213 - val_loss: 0.7362 - val_mae: 0.6936\nEpoch 121/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6033 - mae: 0.6201 - val_loss: 0.7397 - val_mae: 0.6962\nEpoch 122/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6034 - mae: 0.6204 - val_loss: 0.7296 - val_mae: 0.6905\nEpoch 123/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6033 - mae: 0.6196 - val_loss: 0.7301 - val_mae: 0.6905\nEpoch 124/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6025 - mae: 0.6196 - val_loss: 0.7315 - val_mae: 0.6907\n",
"name": "stdout"
},
{
"output_type": "stream",
"text": "Epoch 125/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6025 - mae: 0.6196 - val_loss: 0.7349 - val_mae: 0.6929\nEpoch 126/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6030 - mae: 0.6202 - val_loss: 0.7307 - val_mae: 0.6905\nEpoch 127/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6025 - mae: 0.6193 - val_loss: 0.7337 - val_mae: 0.6925\nEpoch 128/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6031 - mae: 0.6196 - val_loss: 0.7320 - val_mae: 0.6919\nEpoch 129/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6022 - mae: 0.6198 - val_loss: 0.7408 - val_mae: 0.6978\nEpoch 130/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6023 - mae: 0.6198 - val_loss: 0.7355 - val_mae: 0.6950\nEpoch 131/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6021 - mae: 0.6190 - val_loss: 0.7411 - val_mae: 0.6967\nEpoch 132/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6014 - mae: 0.6192 - val_loss: 0.7293 - val_mae: 0.6898\nEpoch 133/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6014 - mae: 0.6187 - val_loss: 0.7344 - val_mae: 0.6936\nEpoch 134/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6014 - mae: 0.6189 - val_loss: 0.7418 - val_mae: 0.6982\nEpoch 135/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6016 - mae: 0.6187 - val_loss: 0.7348 - val_mae: 0.6941\nEpoch 136/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6011 - mae: 0.6186 - val_loss: 0.7396 - val_mae: 0.6973\nEpoch 137/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6016 - mae: 0.6189 - val_loss: 0.7381 - val_mae: 0.6959\nEpoch 138/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6011 - mae: 0.6187 - val_loss: 0.7345 - val_mae: 0.6936\nEpoch 139/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6001 - mae: 0.6181 - val_loss: 0.7395 - val_mae: 0.6977\nEpoch 140/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6003 - mae: 0.6184 - val_loss: 0.7320 - val_mae: 0.6922\nEpoch 141/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6000 - mae: 0.6180 - val_loss: 0.7389 - val_mae: 0.6969\nEpoch 142/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6008 - mae: 0.6188 - val_loss: 0.7384 - val_mae: 0.6966\nEpoch 143/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5997 - mae: 0.6176 - val_loss: 0.7309 - val_mae: 0.6922\nEpoch 144/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6012 - mae: 0.6184 - val_loss: 0.7316 - val_mae: 0.6915\nEpoch 145/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6007 - mae: 0.6184 - val_loss: 0.7345 - val_mae: 0.6945\nEpoch 146/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5999 - mae: 0.6178 - val_loss: 0.7363 - val_mae: 0.6957\nEpoch 147/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6003 - mae: 0.6185 - val_loss: 0.7326 - val_mae: 0.6931\nEpoch 148/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6009 - mae: 0.6183 - val_loss: 0.7432 - val_mae: 0.6984\nEpoch 149/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5993 - mae: 0.6172 - val_loss: 0.7310 - val_mae: 0.6922\nEpoch 150/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5997 - mae: 0.6175 - val_loss: 0.7405 - val_mae: 0.6980\nEpoch 151/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5998 - mae: 0.6176 - val_loss: 0.7406 - val_mae: 0.6976\nEpoch 152/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5994 - mae: 0.6175 - val_loss: 0.7385 - val_mae: 0.6971\nEpoch 153/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5996 - mae: 0.6176 - val_loss: 0.7384 - val_mae: 0.6970\nEpoch 154/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5998 - mae: 0.6174 - val_loss: 0.7356 - val_mae: 0.6955\nEpoch 155/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5993 - mae: 0.6173 - val_loss: 0.7345 - val_mae: 0.6948\nEpoch 156/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5988 - mae: 0.6172 - val_loss: 0.7373 - val_mae: 0.6961\nEpoch 157/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5991 - mae: 0.6172 - val_loss: 0.7376 - val_mae: 0.6966\nEpoch 158/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5994 - mae: 0.6169 - val_loss: 0.7420 - val_mae: 0.6980\nEpoch 159/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5991 - mae: 0.6169 - val_loss: 0.7345 - val_mae: 0.6941\nEpoch 160/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5985 - mae: 0.6168 - val_loss: 0.7375 - val_mae: 0.6963\nEpoch 161/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6000 - mae: 0.6175 - val_loss: 0.7362 - val_mae: 0.6962\nEpoch 162/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5990 - mae: 0.6168 - val_loss: 0.7327 - val_mae: 0.6929\nEpoch 163/200\n32/32 [==============================] - 0s 1ms/step - loss: 0.5989 - mae: 0.6167 - val_loss: 0.7367 - val_mae: 0.6964\nEpoch 164/200\n32/32 [==============================] - 0s 1ms/step - loss: 0.5990 - mae: 0.6167 - val_loss: 0.7422 - val_mae: 0.6988\nEpoch 165/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5990 - mae: 0.6170 - val_loss: 0.7337 - val_mae: 0.6943\nEpoch 166/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5993 - mae: 0.6170 - val_loss: 0.7386 - val_mae: 0.6969\nEpoch 167/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5985 - mae: 0.6161 - val_loss: 0.7360 - val_mae: 0.6966\nEpoch 168/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5989 - mae: 0.6167 - val_loss: 0.7420 - val_mae: 0.6991\nEpoch 169/200\n32/32 [==============================] - 0s 1ms/step - loss: 0.5986 - mae: 0.6169 - val_loss: 0.7343 - val_mae: 0.6948\nEpoch 170/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6011 - mae: 0.6176 - val_loss: 0.7409 - val_mae: 0.6973\nEpoch 171/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6002 - mae: 0.6177 - val_loss: 0.7381 - val_mae: 0.6983\nEpoch 172/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5993 - mae: 0.6165 - val_loss: 0.7388 - val_mae: 0.6971\nEpoch 173/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6002 - mae: 0.6175 - val_loss: 0.7332 - val_mae: 0.6938\nEpoch 174/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5991 - mae: 0.6166 - val_loss: 0.7418 - val_mae: 0.6988\nEpoch 175/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5975 - mae: 0.6158 - val_loss: 0.7327 - val_mae: 0.6943\nEpoch 176/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5986 - mae: 0.6158 - val_loss: 0.7358 - val_mae: 0.6959\nEpoch 177/200\n32/32 [==============================] - 0s 1ms/step - loss: 0.5983 - mae: 0.6166 - val_loss: 0.7367 - val_mae: 0.6959\nEpoch 178/200\n32/32 [==============================] - 0s 1ms/step - loss: 0.5986 - mae: 0.6161 - val_loss: 0.7338 - val_mae: 0.6949\nEpoch 179/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5983 - mae: 0.6162 - val_loss: 0.7362 - val_mae: 0.6960\nEpoch 180/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5988 - mae: 0.6164 - val_loss: 0.7393 - val_mae: 0.6972\nEpoch 181/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5995 - mae: 0.6163 - val_loss: 0.7409 - val_mae: 0.6982\nEpoch 182/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6002 - mae: 0.6172 - val_loss: 0.7408 - val_mae: 0.6981\nEpoch 183/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5985 - mae: 0.6162 - val_loss: 0.7432 - val_mae: 0.6997\nEpoch 184/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5981 - mae: 0.6161 - val_loss: 0.7395 - val_mae: 0.6979\nEpoch 185/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5976 - mae: 0.6158 - val_loss: 0.7359 - val_mae: 0.6965\nEpoch 186/200\n",
"name": "stdout"
},
{
"output_type": "stream",
"text": "32/32 [==============================] - 0s 2ms/step - loss: 0.5980 - mae: 0.6161 - val_loss: 0.7352 - val_mae: 0.6956\nEpoch 187/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5988 - mae: 0.6167 - val_loss: 0.7327 - val_mae: 0.6940\nEpoch 188/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5989 - mae: 0.6162 - val_loss: 0.7355 - val_mae: 0.6953\nEpoch 189/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5992 - mae: 0.6160 - val_loss: 0.7389 - val_mae: 0.6973\nEpoch 190/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5979 - mae: 0.6160 - val_loss: 0.7341 - val_mae: 0.6950\nEpoch 191/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5994 - mae: 0.6164 - val_loss: 0.7427 - val_mae: 0.6993\nEpoch 192/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5987 - mae: 0.6164 - val_loss: 0.7390 - val_mae: 0.6969\nEpoch 193/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5981 - mae: 0.6157 - val_loss: 0.7388 - val_mae: 0.6979\nEpoch 194/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5981 - mae: 0.6159 - val_loss: 0.7424 - val_mae: 0.6998\nEpoch 195/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5991 - mae: 0.6166 - val_loss: 0.7318 - val_mae: 0.6931\nEpoch 196/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5981 - mae: 0.6161 - val_loss: 0.7396 - val_mae: 0.6984\nEpoch 197/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.6005 - mae: 0.6166 - val_loss: 0.7415 - val_mae: 0.6987\nEpoch 198/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5984 - mae: 0.6156 - val_loss: 0.7373 - val_mae: 0.6964\nEpoch 199/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5981 - mae: 0.6159 - val_loss: 0.7339 - val_mae: 0.6947\nEpoch 200/200\n32/32 [==============================] - 0s 2ms/step - loss: 0.5978 - mae: 0.6157 - val_loss: 0.7347 - val_mae: 0.6949\n",
"name": "stdout"
},
{
"output_type": "execute_result",
"execution_count": 8,
"data": {
"text/plain": "<tensorflow.python.keras.callbacks.History at 0x7fc2f06974f0>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(model_normal.summary())",
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": "Model: \"sequential_1\"\n_________________________________________________________________\nLayer (type) Output Shape Param # \n=================================================================\ndense (Dense) multiple 28 \n_________________________________________________________________\ndense_1 (Dense) multiple 30 \n_________________________________________________________________\ndense_2 (Dense) multiple 7 \n=================================================================\nTotal params: 65\nTrainable params: 65\nNon-trainable params: 0\n_________________________________________________________________\nNone\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "predicted_sample_areas = model_normal(tf.reshape(sample_points, [-1, N_dim_polys*(N_dim_polys+1)]))\n\nprint(predicted_sample_areas)\nprint(sample_areas)\n",
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"text": "tf.Tensor(\n[[3.2653613]\n [4.334196 ]\n [4.062667 ]\n [3.0771909]], shape=(4, 1), dtype=float32)\ntf.Tensor([1.8666033 4.054379 4.1129 4.064248 ], shape=(4,), dtype=float32)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"language_info": {
"name": "python",
"version": "3.8.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"gist": {
"id": "fc2c651ca413306fa51c38c76e47ad60",
"data": {
"description": "keras-triangles-less-params",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/fc2c651ca413306fa51c38c76e47ad60"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment