From cfc8daa4fa0d136ee501f24ed6bd37136fd6d770 Mon Sep 17 00:00:00 2001 From: Kashif Rasul Date: Sat, 21 May 2022 11:13:00 +0200 Subject: [PATCH] added decoder scaling plot --- transformer/scaling.ipynb | 233 +++++++++++++++++++++++++++++--------- 1 file changed, 177 insertions(+), 56 deletions(-) diff --git a/transformer/scaling.ipynb b/transformer/scaling.ipynb index ddcfb7e..1d32fc1 100644 --- a/transformer/scaling.ipynb +++ b/transformer/scaling.ipynb @@ -2,8 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 55, - "id": "5a62c0ff", + "execution_count": 1, + "id": "d4aa17d8", "metadata": {}, "outputs": [], "source": [ @@ -17,10 +17,18 @@ }, { "cell_type": "code", - "execution_count": 50, - "id": "c75f5208", + "execution_count": 2, + "id": "a45a0a88", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:root:Pytorch pre-release version 1.12.0a0+git689df63 - assuming intent to test it\n" + ] + } + ], "source": [ "from pytorch_lightning.utilities.model_summary import summarize\n", "from datasets import load_dataset\n", @@ -32,7 +40,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "aa342b02", + "id": "6d78a5c6", "metadata": {}, "outputs": [ { @@ -169,18 +177,18 @@ { "cell_type": "code", "execution_count": 16, - "id": "5aefbb4a", + "id": "4a3efb88", "metadata": {}, "outputs": [], "source": [ "freq = \"1H\"\n", - "prediction_length = 24" + "if = 24" ] }, { "cell_type": "code", "execution_count": 11, - "id": "047f9d32", + "id": "dde1b70c", "metadata": {}, "outputs": [], "source": [ @@ -190,7 +198,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "513bbe1f", + "id": "06bfb217", "metadata": {}, "outputs": [], "source": [ @@ -200,7 +208,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "2e484da6", + "id": "1fa6850b", "metadata": {}, "outputs": [], "source": [ @@ -209,7 +217,7 @@ }, { "cell_type": "markdown", - "id": "b5630b79", + "id": "f3e9c192", "metadata": {}, "source": [ "## Sclaing Experiments\n", @@ -228,7 +236,7 @@ { "cell_type": "code", "execution_count": 51, - "id": "7945eff4", + "id": "5411bad5", "metadata": {}, "outputs": [], "source": [ @@ -237,7 +245,7 @@ }, { "cell_type": "markdown", - "id": "b0b59bb2", + "id": "9c54e512", "metadata": {}, "source": [ "### Encoder Scaling" @@ -246,7 +254,7 @@ { "cell_type": "code", "execution_count": null, - "id": "681199ae", + "id": "9b68016d", "metadata": {}, "outputs": [], "source": [ @@ -284,31 +292,34 @@ " predictor=predictor\n", " )\n", " forecasts = list(forecast_it)\n", + " \n", " if layer == layers[0]:\n", " tss = list(ts_it)\n", " \n", " evaluator = Evaluator()\n", " agg_metrics, _ = evaluator(iter(tss), iter(forecasts))\n", " agg_metrics[\"trainable_parameters\"] = summarize(estimator.create_lightning_module()).trainable_parameters\n", - " enc_metrics.append(agg_metrics.copy())" + " enc_metrics.append(agg_metrics.copy())\n", + " \n", + "with open(\"elec_enc_metrics.pkl\", \"wb\") as fp:\n", + " pickle.dump(enc_metrics, fp)" ] }, { "cell_type": "code", - "execution_count": 53, - "id": "c6cb9386", + "execution_count": 3, + "id": "2a0bc6a8", "metadata": {}, "outputs": [], "source": [ - "enc_metrics_out = open(\"elec_enc_metrics.pkl\", \"wb\")\n", - "pickle.dump(enc_metrics, enc_metrics_out)\n", - "enc_metrics_out.close()" + "with open(\"elec_enc_metrics.pkl\", \"rb\") as fp:\n", + " enc_metrics = pickle.load(fp)" ] }, { "cell_type": "code", - "execution_count": 66, - "id": "513cbbbf", + "execution_count": 4, + "id": "87875548", "metadata": { "scrolled": true }, @@ -319,7 +330,7 @@ "Text(0.5, 1.0, 'Encoder Scaling')" ] }, - "execution_count": 66, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, @@ -348,8 +359,8 @@ }, { "cell_type": "code", - "execution_count": 68, - "id": "af5715b2", + "execution_count": 7, + "id": "bc9a04af", "metadata": {}, "outputs": [ { @@ -358,13 +369,13 @@ "Text(0.5, 1.0, 'Encoder Scaling')" ] }, - "execution_count": 68, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -378,17 +389,17 @@ "source": [ "plt.plot(\n", " [metrics[\"trainable_parameters\"] for metrics in enc_metrics],\n", - " [metrics[\"MSE\"] for metrics in enc_metrics], \n", + " [metrics[\"MASE\"] for metrics in enc_metrics], \n", ")\n", "plt.xlabel(\"trainable parameters\")\n", - "plt.ylabel(\"MSE\")\n", + "plt.ylabel(\"MASE\")\n", "plt.title(\"Encoder Scaling\")" ] }, { "cell_type": "code", - "execution_count": 79, - "id": "1c64e02c", + "execution_count": 6, + "id": "0a6ab5ee", "metadata": {}, "outputs": [ { @@ -397,7 +408,7 @@ "Text(0.5, 1.0, 'Encoder Scaling')" ] }, - "execution_count": 79, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, @@ -426,7 +437,7 @@ }, { "cell_type": "markdown", - "id": "13356916", + "id": "2308a10f", "metadata": {}, "source": [ "### Decoder Scaling" @@ -435,7 +446,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a175e127", + "id": "476beeac", "metadata": {}, "outputs": [], "source": [ @@ -479,24 +490,143 @@ " evaluator = Evaluator()\n", " agg_metrics, _ = evaluator(iter(tss), iter(forecasts))\n", " agg_metrics[\"trainable_parameters\"] = summarize(estimator.create_lightning_module()).trainable_parameters\n", - " dec_metrics.append(agg_metrics.copy())" + " dec_metrics.append(agg_metrics.copy())\n", + " \n", + "with open(\"elec_dec_metrics.pkl\", \"wb\") as fp:\n", + " pickle.dump(dec_metrics, fp)" ] }, { "cell_type": "code", - "execution_count": null, - "id": "c439510e", + "execution_count": 8, + "id": "2f00decc", "metadata": {}, "outputs": [], "source": [ - "dec_metrics_out = open(\"elec_dec_metrics.pkl\", \"wb\")\n", - "pickle.dump(dec_metrics, dec_metrics_out)\n", - "dec_metrics_out.close()" + "with open(\"elec_dec_metrics.pkl\", \"rb\") as fp:\n", + " dec_metrics = pickle.load(fp)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "fc3311e9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Decoder Scaling')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(\n", + " [metrics[\"trainable_parameters\"] for metrics in dec_metrics],\n", + " [metrics[\"mean_wQuantileLoss\"] for metrics in dec_metrics], \n", + ")\n", + "plt.xlabel(\"trainable parameters\")\n", + "plt.ylabel(\"CRPS\")\n", + "plt.title(\"Decoder Scaling\")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "be4e5502", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Decoder Scaling')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(\n", + " [metrics[\"trainable_parameters\"] for metrics in dec_metrics],\n", + " [metrics[\"MASE\"] for metrics in dec_metrics], \n", + ")\n", + "plt.xlabel(\"trainable parameters\")\n", + "plt.ylabel(\"MASE\")\n", + "plt.title(\"Decoder Scaling\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5d6e2046", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Decoder Scaling')" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEWCAYAAABrDZDcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAl0klEQVR4nO3deZxkdXnv8c+3u3qb6Z7ugRmYhYEBBLnKJg6gV6O4xAAxktwYlygKFyVq4nKjiSbmukSzGKPmukREMbhFXECCiXtEcUMcYGZYxgVBmelqZGagqrunq/fn/nFO99T09HR1D11Vp6e+79erXnWqzqlTT1V3neec36qIwMzMGldTvQMwM7P6ciIwM2twTgRmZg3OicDMrME5EZiZNTgnAjOzBudEYDYLSedJ2lnvOOYiaaOkkJRLH39V0kvrHZctPU4ElimSfiWpJGlAUkHSDyW9QtKS/l+VdIykayXtllSUdKekSxbzPSLigoj4xGLu0xpDrt4BmM3i9yLiW5K6gacC/w84F7i0vmHNj6RcRIzPePpTwFbgOGAEOA1YU+vYzGazpM+y7PAWEcWIuAF4PvBSSacCSGqT9M+S7pf0G0lXSOqYep2kiyRtkdQv6ZeSzk+fXyfpBkkPSbpH0svLXtMh6WpJD0u6Gzi7PJb0tddK2iXpPkmvKVv3NklflPRpSf3AJbN8nLOBqyNib0SMR8TtEfHVsn08Ob36KUjaMXW1IOl3Jd2efpYdkt52sO9L0nckvSxdvkTS99Pv6eE05gvKtj1e0k3plde3JH1I0qfn8Wexw5ATgWVeRNwC7AR+K33qH4GTgTOBRwHrgbcASDoH+CTwF0AP8BTgV+nrrkn3sw54LvD3kp6ernsrcGJ6+x1guqw9LZb6MskZ/XrgGcDrJP1OWZgXAV9M3/Mzs3yMm4EPSXqBpGPLV0g6Dvgq8AFgdfq5tqSr9wIvSff7u8ArJf3+bN/TLM4FfgasAv4JuEqS0nX/DtwCHAm8Dbh4nvu0w1FE+OZbZm4kB+1nzvL8zcCbAZEcHE8sW/dE4L50+SPA+2Z5/QZgAugqe+4fSM7SAe4Fzi9bdzmwM10+F7h/xv7+Cvi3dPltwE0VPtdKkgR2VxrHFuDssn19aZ7fz79MfT5gIxBALn38HeBl6fIlwD1lr1uWbrsGOBYYB5aVrf808Ol6//19q8/NVwS2VKwHHiI5Y14G3JoWoxSAr6XPQ3LA/+Usr18HPBQRA2XP/Trd79T6HTPWTTkOWDf1ful7/jVwdNk25a89QEQ8HBFviojHpq/bAlyfnqEfLGYknSvpxrRIqgi8guQMfz4eKHv/oXSxk33fxVDZtnPGb4c3JwLLPElnkxywvw/sBkrAYyOiJ711R0RnuvkOkuKdmfLAEZK6yp47FuhNl/tIDsjl66bsILni6Cm7dUXEhWXbzHsY34jYDfwzyQH5iDlihqQI5wZgQ0R0A1eQXBU9En0k38Wysuc2HGxjO/w5EVhmSVoh6dkkZfufjog7ImIS+CjwPklHpdutLyuvvwq4VNIzJDWl606JiB3AD4F/kNQu6XTgMpIiEYDPA38laaWkY4BXl4VyCzAg6Y1ppXKzpFPTBDXfz/Ku9DW5NBm9kqToZg9JncIzJT0vXX+kpDPTl3aRnL0Pp/Uff7zAr/EAEfFrYDPwNkmtkp4I/N4j3a8tXU4ElkVfljRAcqb8ZuC97N909I3APcDNaSudbwGPhumK5UuB9wFF4LskRTsALyQpV88DXwLeGhHfSte9naQ46D7gGyTNPUn3OQE8m6QS9z6Sq5KPAd0L+EzL0vcskNRHHAc8J93//cCFwOtJir+2AGekr3sV8Lfp9/EWkoS1GF5EUreyB3gn8DmSZq3WgBThiWnMGp2kzwE/jYi31jsWqz1fEZg1IElnSzoxLT47n6T56/V1DsvqxD2LzRrTGuA6kn4EO4FXRsTt9Q3J6sVFQ2ZmDc5FQ2ZmDW7JFQ2tWrUqNm7cWO8wzMyWlFtvvXV3RKyebd2SSwQbN25k8+bN9Q7DzGxJkfTrg61z0ZCZWYNzIjAza3BOBGZmDc6JwMyswTkRmJk1OCcCM7MG50RgZtbgllw/Aquf0fFJ9o6MM5je9k7fT0wvj09OAhCRzNSS3Mf0c8l97Fsu22bqNVMbNzc1saa7jXU9Hazt7mBdTzvLWpfmv2xEMDI+Sf/wGIPD4wwMJ9/XwPAYA8PjjE5M0t3Rwsplrcn98lZWLmuho6WZfdMMZ9/YxCQj45MMj01M35cvj4wl/x9HLG9lVVcbqzpbacs11zlqW5q/Kluw0fFJCqVRCkNjPLx3lIeHxnh4aJT+0hh7R8YZSA/se0cm9jvID5Y9PzoxWe+PwcplLWlS6GB9Tztre/Ytr+vp4KiudpqbFvfAWZ4Ayw/ggyPj9A+Ppwf2sen1Uwf3mduOTSx8XK/WXBM9aYLoWdZCz7Kp5dZ0uSVZTpNHz7IWejpayTXpwAPyeHIg3v+5SUbK7mc7eA+PTTIyvv/98NgEo7PsY2Jy4Z+xqz3H6s42VnW2saqrNblPb0d2Jo9Xp+uW6onAQkxMBgPDYxRLB95OWdPF4487YtHf8/D/Vg8zEcHe0Qke3pse1IdGeXgoWX5o7yiFoX0H+ULZ/eDI+EH3KcHy1hydbTmWtzWn9zk2LF9GZ1tu+nFnWzPLp5f33Ze/LteclDYq3a8Q5Se05c9p+jnt275s47GJSX7TP0y+MEy+UCJfLCX3hWF2PjzELfftoX94/8/V3CTWrGhnXU/7/gmju4Nlrc3Tya38oD44XP547IDnRsYrJ8Bck+hqz9HZnqOrrYXO9hzretrpbMvR1Z487mpPlrvakuWpdV3tOVpzTRRLSZIulMb2+zsWp//OY9y3ey+3DxUoDI1VLTFL0J5rpr2libaZ9y3NyYG7q432lmback20tzTRnmumLb1vb9m33DbLPgLYMzjK7sERdg+MJPeDo+waHOGnDwywe2D3AX/XKctam9MkkSaMrrb9H08td7XR1Zar29XUXAfzqVt/el8Y2v/5wZFxDjYW6Mt/6/iqJIIlN/ropk2bolGHmPj1nr08+wPfZ+AgPxJIzq5WLmudLlpYOX3m2Dp99njE8n3PdXckxQ9Ni3wWXSuDI+P0FUr0pgliZsJ4oDg85wGzpVnJgXoqqbXn6Erv93vclqMz3a6rPUmCXVMH97YW2luaanrQiQiGRiemE/100i+NUdg7ykTE9IF33wF73/3Mg3xbul17rpmWZtW9OGpkfIKH9o6yeyBJGLsG04SRPp667Rkc5aGh0VkPnK25pvRKo/WAK4ypYqmpK5HujpYDfgPVOpgDtDY3saIjucLr7tj/tqLjwOe6y7Ztbzm0ojRJt0bEptnW+YpgCbmzt5+B4XH+5CkncMLq5dMH9fLigakz8kbR2ZbjpKO7OOnorlnXT04Gu/eOkC8MUxqdmD54Tx3kl2r5tKTpq7NjVtY7msXXlmtmbXdSN1TJ+MQkDw2NHpAkdg+OsnsgSSJ9xWHu6C2yZ+/orMVXuSZxZGcrPR2t7B0dX9DBvLsjR3dHC0d1tXHSUZ30LGs96MF86lbrE4dKnAiWkL5iCYBXnfcoupe11DmapaGpSRzV1c5RXe31DsWqJNfcNO+/8eRkUCiNTRdL7ZpKGIMj7Bkc4eGhMZa3Nu93dt6TXjln/WD+SDgRLCG9hRLLW5tZ0eE/m9mhaGoSRyxPrqRPPshVZCNqrHKEJS5fKLGup+OwOQsxs2xwIlhC+orDrOupXGZqZrYQTgRLSHJF4LJuM1tcTgRLxPDYBLsHR1k3j1YUZmYL4USwRDxQHAZw0ZCZLTongiUiX0iajq510ZCZLTIngiWiN00E631FYGaLzIlgiehLi4bWdPuKwMwWlxPBEpEvlFjV2bZkh0Qws+xyIlgiegsl1rt+wMyqwIlgiXBnMjOrFieCJSAiyBdK8xqJ0cxsoZwIloBiaYyh0Qn3KjazqnAiWALyhaTFkJuOmlk1OBEsAfs6kzkRmNnicyJYAvLphDQuGjKzaqhaIpC0QdKNku6WdJek186yzXmSipK2pLe3VCuepay3UKK1uYlVy9vqHYqZHYaqOdXVOPD6iLhNUhdwq6RvRsTdM7b7XkQ8u4pxLHl9hWHW9rQv2QnmzSzbqnZFEBF9EXFbujwAbAfWV+v9DmdJ01EXC5lZddSkjkDSRuBxwI9nWf1ESVslfVXSYw/y+sslbZa0edeuXdUMNZOmpqg0M6uGqicCSZ3AtcDrIqJ/xurbgOMi4gzgA8D1s+0jIq6MiE0RsWn16tVVjTdrxicm+c3AiJuOmlnVVDURSGohSQKfiYjrZq6PiP6IGEyXvwK0SFpVzZiWmgcHRpiYDPcqNrOqqWarIQFXAdsj4r0H2WZNuh2Szknj2VOtmJaiqT4EbjpqZtVSzVZDTwIuBu6QtCV97q+BYwEi4grgucArJY0DJeAFERFVjGnJyRfdq9jMqqtqiSAivg/M2d4xIj4IfLBaMRwO3KvYzKrNPYszLl8osaI9R2dbNS/ezKyRORFkXL7geQjMrLqcCDLOfQjMrNqcCDIuXyy5xZCZVZUTQYYNjY5TGBrzFYGZVZUTQYZNTUizzp3JzKyKnAgybF9nMicCM6seJ4IMc69iM6sFJ4IMyxeHaRIcvcKJwMyqx4kgw/KFEkd1tdPS7D+TmVWPjzAZlvQh8NWAmVWXE0GG9RXdq9jMqs+JIKMigl73KjazGnAiyKg9e0cZHZ9knecqNrMqcyLIqL6pzmS+IjCzKnMiyKhedyYzsxpxIsgo9yo2s1pxIsiovmKJ9pYmVi5rqXcoZnaYcyLIqHxhmHXdHUhzzvZpZvaIORFklJuOmlmtOBFkVJ8npDGzGnEiyKDR8UkeHBhhrechMLMacCLIoN/0DxMB6100ZGY14ESQQW46ama15ESQQfmiJ6Qxs9pxIsigqbmKXUdgZrXgRJBBvYUSRyxvpaO1ud6hmFkDcCLIoD5PSGNmNeREkEH5wrCLhcysZpwIMihfKLnpqJnVjBNBxvQPjzEwMu6iITOrGSeCjOlziyEzqzEngoxxZzIzqzUngoyZ6kzmOgIzqxUngozJF0rkmsTqrrZ6h2JmDcKJIGPyhWGOXtFOc5MnpDGz2nAiyBg3HTWzWnMiyJh8scRaNx01sxqqWiKQtEHSjZLulnSXpNfOso0kvV/SPZK2STqrWvEsBZOTwQPFYbcYMrOaylVx3+PA6yPiNkldwK2SvhkRd5dtcwFwUno7F/hwet+Qdg+OMDYRTgRmVlNVuyKIiL6IuC1dHgC2A+tnbHYR8MlI3Az0SFpbrZiyrrcw1XTURUNmVjs1qSOQtBF4HPDjGavWAzvKHu/kwGSBpMslbZa0edeuXVWLs948D4GZ1UPVE4GkTuBa4HUR0X8o+4iIKyNiU0RsWr169eIGmCF9RfcqNrPaq2oikNRCkgQ+ExHXzbJJL7Ch7PEx6XMNqbdQorMtx4r2albdmJntr5qthgRcBWyPiPceZLMbgJekrYeeABQjoq9aMWVdvlBibXc7yVdnZlYb1Tz1fBJwMXCHpC3pc38NHAsQEVcAXwEuBO4BhoBLqxhP5uULbjpqZrVXtUQQEd8H5jy1jYgA/rRaMSw1fcUSp67vrncYZtZg3LM4I4bHJtg9OMq6bjcdNbPaciLIiL5i0nTURUNmVmtOBBnR5wlpzKxOnAgyonc6EbhoyMxqy4kgI6Z6Fa9xHYGZ1ZgTQUb0FUus7mqjLddc71DMrME4EWREb6HkFkNmVhdzJgJJny9bfteMdd+oVlCNKF8ouaLYzOqi0hXBSWXLvz1j3eE7+luNRQR9npDGzOqkUiKIQ1xnC1AsjTE0OuFEYGZ1UWmIiWWSHkeSMDrSZaU3H7UWyXTTUdcRmFkdVEoEDwDvnWV56rEtgr6CexWbWf3MmQgi4rwaxdHQ8p6QxszqqFKrobMlrSl7/BJJ/yHp/ZKOqH54jaG3UKK1uYkjl7fWOxQza0CVKos/AowCSHoK8I/AJ4EicGV1Q2scfYVh1va009TkCWnMrPYq1RE0R8RD6fLzgSsj4lrg2rLJZuwRyhdKrPOE9WZWJ5WuCJolTSWLZwDfLlvniXUXSb5QYq0HmzOzOql0MP8s8F1Ju4ES8D0ASY8iKR6yR2h8YpIH+odZ74piM6uTSq2G/k7SfwNrgW+kU0tCciXx6moH1wgeHBhhMtxiyMzqZ85EkLYM+nl6a5PUlq7and7sEcqnncnWujOZmdVJpaKh3cBOYDx9XN6sJYATqhFUI5nqVeyiITOrl0qJ4P3A04AfkNQXfL+seMgWwdRcxWudCMysTuZsNRQRrwPOBL4AXAzcLumfJB1f/dAaQ75QYkV7js42N8Iys/qoODFNJG4E/hK4ArgUeGa1A2sUnofAzOqtUmXxcuAiks5kq4HrgMdHxP01iK0h5AtuOmpm9VWpPOJB4BfANel9AJskbQKIiOuqG97hL18s8fjjVtY7DDNrYJUSwRdIDv6PTm/lguQKwQ7R0Og4haEx9yo2s7qq1KHskhrF0ZDy6TwELhoys3qqWFksqVnSqrLHrZIul7S9uqEd/qY6k7my2MzqqdJ8BC8AHgK2SfqupGcB9wIXAC+qQXyHNfcqNrMsqFRH8DckrYTukXQW8CPguRHx5eqHdvjLF4dpEhy9wonAzOqnUtHQaETcAxARtwG/cBJYPPlCiaNXtNPSXLGEzsysaipdERwl6c/LHveUP46I987yGpunfKHkYiEzq7tKieCjQNccj+0R6CsO89h1K+odhpk1uErNR99eq0AaTUTQWyjxrMccXe9QzKzBVRpi4i1zrI6IeMcix9Mw9uwdZXR80kVDZlZ3lYqG9s7y3HLgMuBIwIngELkPgZllRaWiofdMLUvqAl5LMvroNcB7DvY6q2yqV7ETgZnV23x6Fh8h6Z3ANpLEcVZEvDEiHqzwuo9LelDSnQdZf56koqQt6W2uYqjDjq8IzCwrKtURvBv4X8CVwGkRMbiAfV8NfBD45BzbfC8inr2AfR428oUS7S1NrFzWUu9QzKzBVboieD2wjqSHcV5Sf3obkNQ/1wsj4iaS4SlsFn3FYdb1dCCp8sZmZlVUqY6g2l1enyhpK5AH3hARd822kaTLgcsBjj322CqHVBu9hZJHHTWzTKjn2Aa3AcdFxBnAB4DrD7ZhRFwZEZsiYtPq1atrFV9VuVexmWVF3RJBRPRP1TlExFeAlvLhrg9no+OT7BoccUWxmWVC3RKBpDVKC8glnZPGsqde8dTSb/qHiXCLITPLhkodyg6ZpM8C5wGrJO0E3gq0AETEFcBzgVdKGgdKwAsiIqoVT5b0TjUd7XYiMLP6q1oiiIgXVlj/QZLmpQ2nrzjVh8B1BGZWfx4Ivw7cq9jMssSJoA56CyWOWN5Ke0tzvUMxM3MiqIe+QsnFQmaWGU4EdZAvDLui2Mwyw4mgDvKFkusHzCwznAhqrH94jIGRcRcNmVlmOBHUWJ9bDJlZxjgR1NjUPARrXUdgZhnhRFBjU72KPfKomWWFE0GN9RVL5JrE6q62eodiZgY4EdRcvjDMmu52mps8IY2ZZYMTQY31FkruQ2BmmeJEUGN9RfcqNrNscSKooYnJ4IF0rmIzs6xwIqih3YMjjE0Ea50IzCxDnAhqKD/ddNRFQ2aWHU4ENeR5CMwsi5wIasi9is0si5wIaihfLNHZlmNFe9VmCDUzWzAnghrKpxPSSO5MZmbZ4URQQ/nCsIuFzCxznAhqKOlM5kRgZtniRFAjw2MT7B4cddNRM8scJ4Ia6SsmTUddNGRmWeNEUCN9adNRFw2ZWdY4EcxwZ2+R93zjZ4xNTC7qfj0hjZlllRPBDJ/44a/4wLfv4S+/uI3JyVi0/U71Kj662xPSmFm2OBHMsG1nka72HF+6vZe3f/kuIhYnGeQLJVZ3tdGWa16U/ZmZLRZ3cS0zODLOzx8c4DVPP4nS2ARX3nQvKzpaeP2zHv2I951301EzyygngjJ39haJgDM39HDeo1fTXxrjA9++h+6OFl72Wyc8on3nCyUevaZrkSI1M1s8TgRltu0sAHD6Md1I4u/+4DQGhsd5539tZ0V7C887e8Mh7TciyBeGOe/RRy1itGZmi8OJoMzWHUWOWdnBkZ1JhW5zk3jf889kYGScN123jc72HBeetnbB+y2WxiiNTbhoyMwyyZXFZbbsKHDGhp79nmvNNXHFi8/irGNX8tprbuemn+9a8H57PSGNmWWYE0Fq9+AIvYUSZx7Tc8C6Za05rrrkbB51VBd/8qlbufXXDy1o31NNR92r2MyyyIkgVV4/MJvujhY++b/PYU13O5f+20/Y3tc/7333Fd2r2Myyy4kgtWVHkSbBqetnTwQAq7va+NRl57C8LcfFV93Cfbv3zmvfvYUSrbkmjlzeuljhmpktGieC1NYdBU4+uovlbXPXnx+zchmfuuxcJiN48cd+PH22P5dkHoJ2mpo8IY2ZZU/VEoGkj0t6UNKdB1kvSe+XdI+kbZLOqlYslUQE23YWOGOW+oHZPOqoTj5x6TkUS2NcfNUtPLR3dM7t+wol1rl+wMwyqppXBFcD58+x/gLgpPR2OfDhKsYypx0PlXh4aIzTNxy8WGim047p5qqXbmLHQ0O89OO3MDA8dtBtkykqnQjMLJuqlggi4iZgruY1FwGfjMTNQI+khTfSXwRb0ori+V4RTDn3hCP58IvPYntfPy/7xGaGxyYO2GZ8YpIH+odZ56ajZpZR9awjWA/sKHu8M33uAJIul7RZ0uZduxbejr+SbTsKtOWaDmkIiKefcjTved4Z3PKrh/jTz9x2wPDVDw6MMBluMWRm2bUkKosj4sqI2BQRm1avXr3o+9+6s8Bj162gpfnQvo6LzlzPOy46lf/+6YO84Qtb9xu+Ou8Jacws4+o5xEQvUD54zzHpczU1PjHJHb1FXnjOsY9oPy9+wnEUS2O8++s/o6s9xzsuOhVJ072K13W7aMjMsqmeieAG4M8kXQOcCxQjoq/WQfziwUGGxyY5c8bQEofiVeedSH9pjI/cdC/dHS38xe+csm+uYl8RmFlGVS0RSPoscB6wStJO4K1AC0BEXAF8BbgQuAcYAi6tVixz2bqjAMDpC6wono0k3nTBKfQPj/GhG39Jd0cL+UKJ7o4WOiv0TzAzq5eqHZ0i4oUV1gfwp9V6//naurPAivYcG49ctij7k8Q7f/80+ofH+fuv/JRVna2uHzCzTFsSlcXVtHVHkTM29CAtXq/f5ibxvuedyVNPXs3uwVHXD5hZpjV0IiiNTvCz3wwsuP/AfCTDVz+e8x+7ht9+zNGLvn8zs8XS0AXXd+WLTEzGAXMQLJaO1mauuPjxVdm3mdliaegrgq07iwCccZChp83MGkFjJ4IdBdZ2t3PUCpfhm1njauxEsIARR83MDlcNmwgKQ6P8es9Q1eoHzMyWioZNBK4fMDNLNG4i2FFAglOdCMyswTV0IjhxdScr2lvqHYqZWV01ZCKICLbuLHK6rwbMzBozEeSLw+weHFmUEUfNzJa6hkwEUyOOuumomVmjJoKdBVqaxSlrFz41pZnZ4aYxE8GOAo9Zu4K2XHO9QzEzq7uGSwQTk8EdO4vuSGZmlmq4RHDvrkH2jk64fsDMLNVwiWDLVEXxBjcdNTODBkwEW3cW6GzLccKqznqHYmaWCQ2XCLalHcmamhZvakozs6WsoRLB8NgE2/v6Od31A2Zm0xoqEWzv62dsIjjT9QNmZtMaKhFsmxp62k1HzcymNVQi2LqjwOquNtZ4akozs2kNlQi2pFNTSq4oNjOb0jCJoH94jHt37XX9gJnZDA2TCO5I6wfcYsjMbH8Nkwjack0845SjPBmNmdkMuXoHUCubNh7BVZccUe8wzMwyp2GuCMzMbHZOBGZmDc6JwMyswTkRmJk1OCcCM7MG50RgZtbgnAjMzBqcE4GZWYNTRNQ7hgWRtAv4dR3eehWwuw7vuxCO8ZHLenzgGBdL1mNc7PiOi4jVs61YcomgXiRtjohN9Y5jLo7xkct6fOAYF0vWY6xlfC4aMjNrcE4EZmYNzolg/q6sdwDz4BgfuazHB45xsWQ9xprF5zoCM7MG5ysCM7MG50RgZtbgnAhmkHS+pJ9JukfSm2ZZ/+eS7pa0TdJ/SzouazGWbfeHkkJSTZvIzSc+Sc9Lv8e7JP17LeObT4ySjpV0o6Tb07/1hTWO7+OSHpR050HWS9L70/i3STqrlvHNM8YXpbHdIemHks7IWoxl250taVzSc2sVW/q+FeOTdJ6kLelv5btVCSQifEtvQDPwS+AEoBXYCjxmxjZPA5aly68EPpe1GNPtuoCbgJuBTVmKDzgJuB1YmT4+KmvfIUlF3SvT5ccAv6pxjE8BzgLuPMj6C4GvAgKeAPy4lvHNM8b/WfY3viCLMZb9P3wb+Arw3CzFB/QAdwPHpo+r8lvxFcH+zgHuiYh7I2IUuAa4qHyDiLgxIobShzcDx2QtxtQ7gHcBw7UMjvnF93LgQxHxMEBEPJjBGANYkS53A/kaxkdE3AQ8NMcmFwGfjMTNQI+ktbWJLlEpxoj44dTfmPr8VubzPQK8GrgWqPX/4Xzi+2Pguoi4P92+KjE6EexvPbCj7PHO9LmDuYzkrKyWKsaYFhNsiIj/qmVgqfl8hycDJ0v6gaSbJZ1fs+gS84nxbcCLJe0kOVN8dW1Cm7eF/q/WWz1+KxVJWg/8AfDhesdyECcDKyV9R9Ktkl5SjTdpmMnrF5ukFwObgKfWO5ZykpqA9wKX1DmUueRIiofOIzlLvEnSaRFRqGdQM7wQuDoi3iPpicCnJJ0aEZP1DmypkfQ0kkTw5HrHMot/Ad4YEZOS6h3LbHLA44FnAB3AjyTdHBE/X+w3sX16gQ1lj49Jn9uPpGcCbwaeGhEjNYptSqUYu4BTge+k/9hrgBskPSciNmcgPkjOXn8cEWPAfZJ+TpIYflKD+GB+MV4GnA8QET+S1E4yCFjNiw8OYl7/q/Um6XTgY8AFEbGn3vHMYhNwTfpbWQVcKGk8Iq6va1T77AT2RMReYK+km4AzgEVNBC4a2t9PgJMkHS+pFXgBcEP5BpIeB3wEeE4dyrYrxhgRxYhYFREbI2IjSdlsrZJAxfhS15NcDSBpFcnl7701im++Md5PchaGpP8BtAO7ahhjJTcAL0lbDz0BKEZEX72DKifpWOA64OLFPoNdLBFxfNlv5YvAqzKUBAD+A3iypJykZcC5wPbFfhNfEZSJiHFJfwZ8naQlwccj4i5JfwtsjogbgHcDncAX0rOI+yPiORmLsW7mGd/XgWdJuhuYAP6ilmeL84zx9cBHJf0fkorjSyJttlELkj5LkixXpfUUbwVa0vivIKm3uBC4BxgCLq1VbAuI8S3AkcC/pr+V8ajxaJ/ziLGuKsUXEdslfQ3YBkwCH4uIOZvCHlIcNfzfNjOzDHLRkJlZg3MiMDNrcE4EZmYNzonAzKzBORGYmWXYfAfOK9t+wQM6OhFY3UjqkfSqQ3ztVyT1HOJrr55tlMl0lMf/PJR9Zo2k16Xtzm3pu5q0c2Mlkk4C/gp4UkQ8FnjdfF7nRGD11APMmggkzdnHJSIuzNiQFAsmqbmKu38dsKBEUOV47BDNNjCdpBMlfS0df+h7kk5JVx3SgI5OBFZP/wicmI61/u70jPx7km4gGXoXSden/+x3Sbp86oWSfiVplaSNkrZL+mi6zTckdaTbvFzSTyRtlXTtjDPkZ0raLOnnkp49MzBJy9NL8luUzElwwAivabw3SfovJXMbXJGO9YSkD6f7v0vS22fE/S5JtwF/dLAY06uWDysZlO/e9L0+nn7Wq8v29yxJP5J0m6QvSOqU9BpgHXCjpBsPtt1B4nmN9s23cc2h/mGt6q4EXh0RjwfeAPxr+vyhDehYjbGtffNtPjdgI2XjsJP0sNwLHF/23BHpfQdwJ3Bk+vhXJGPDbATGgTPT5z8PvDhdPrJsP+9MfziQXGp/jeRE6CSS8Vza0/f/z3Sbvy/bTw/J2C7LZ8R/Hskw3yeQ9FD+Jul49mVxNwPfAU4vi/svy/YxV4zXkMw3cBHQD5yWxnwrcGb6+W+aigt4I/CW8u8nXa60XXk8eaBt6nPX+3/EtwN/KyQjG5SALWW37em6/wS+RNI7+XiSEWor/h09xIRlzS0RcV/Z49dI+oN0eQPJgXvmcBT3RcSWdPlWkh8NwKmS3klyIO8kGVJiyucjGUn0F5LuBU5hf88CniPpDenjduBYDhzn5ZaIuBemhwt4MsmYNc9Lr2BywFqSyW22pa/5XNnr54rxyxERku4AfhMRd6Tvc1f6GY9J9/uDdAiHVuBHHOgJFbYrj2cb8BlJ15OMCWXZ0wQUIuLMWdYd0oCOTgSWNXunFiSdBzwTeGJEDEn6DskBeabyEWAnSK4eIDmr/v2I2CrpEtKB7lIzx1aZ+VjAH0bEzyrEe8B+JB1Pcrl+dkQ8nBbllMe9t2x5rhinPtck+3/GSZLf7gTwzYh4YYUYVWG78nh+l2TWrN8D3qxkePDxCvu3GoqIfkn3SfqjiPiCkux+ekRsJUneLwT+TQsY0NF1BFZPAyTDZh9MN/BwmgROITmzXYguoE9SC/CiGev+SFKTpBNJinZmHvC/Drw6/ZFNjTo7m3OUjGLaBDwf+D7JzGZ7gaKko0mmaTyUGCu5GXiSpEelMS6XdHK6rvy7nWu7aeln2BARN5IUH3WTXKVYHaVXmj8CHi1pp6TLSP5XLpO0FbiLfTPsfR3Yo2RAxxuZ54COviKwuomIPWml1p0ks1fNnFHta8ArJG0nOVDfvMC3+L/Aj0mGj/4x+yed+4FbSA7ar4iIYe0/Mck7SCYt2ZYeIO8DDqhUJrnk/iDwKJIf3pcimeTkduCnJGW0PzjEGOcUEbvSq4jPSmpLn/4bkvqMK4GvScpHxNPm2K5cM/BpSd0kVxHvjyXeMutwMMeV3AEVwZFUFPx5eps3jz5qdojSoqs3RMRsCcJsyXDRkJlZg/MVgZlZg/MVgZlZg3MiMDNrcE4EZmYNzonAzKzBORGYmTW4/w+FR/dqiSO2FQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(\n", + " [metrics[\"trainable_parameters\"] for metrics in dec_metrics],\n", + " [metrics[\"NRMSE\"] for metrics in dec_metrics], \n", + ")\n", + "plt.xlabel(\"trainable parameters\")\n", + "plt.ylabel(\"NRMSE\")\n", + "plt.title(\"Decoder Scaling\")" ] }, { "cell_type": "markdown", - "id": "78be6dd9", + "id": "4338c927", "metadata": {}, "source": [ "### Symmetric Scaling" @@ -505,7 +635,7 @@ { "cell_type": "code", "execution_count": null, - "id": "069b20d9", + "id": "88b5c69d", "metadata": {}, "outputs": [], "source": [ @@ -549,19 +679,10 @@ " evaluator = Evaluator()\n", " agg_metrics, _ = evaluator(iter(tss), iter(forecasts))\n", " agg_metrics[\"trainable_parameters\"] = summarize(estimator.create_lightning_module()).trainable_parameters\n", - " sym_metrics.append(agg_metrics.copy())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9d48d029", - "metadata": {}, - "outputs": [], - "source": [ - "sym_metrics_out = open(\"elec_sym_metrics.pkl\", \"wb\")\n", - "pickle.dump(sym_metrics, sym_metrics_out)\n", - "sym_metrics_out.close()" + " sym_metrics.append(agg_metrics.copy())\\\n", + "\n", + "with open(\"elec_sym_metrics.pkl\", \"wb\") as fp:\n", + " pickle.dump(sym_metrics, fp)" ] } ],