added xformer notebooks

This commit is contained in:
Kashif Rasul committed 2022-11-11 17:39:20 +01:00
1 parent 85069e930f
commit 514b2d8627
4 files changed
+2763

No files matched your search

+672
View File
@@ -0,0 +1,672 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "7c64affd",
"metadata": {},
"outputs": [],
"source": [
"from itertools import islice"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8aa55868",
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from matplotlib import pyplot as plt\n",
"import matplotlib.dates as mdates\n",
"\n",
"import pandas as pd\n",
"from sklearn.manifold import TSNE"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6a730716",
"metadata": {},
"outputs": [],
"source": [
"from gluonts.dataset.repository.datasets import get_dataset\n",
"from gluonts.dataset.common import ListDataset\n",
"from gluonts.evaluation import make_evaluation_predictions, Evaluator\n",
"from pytorch_lightning.loggers import CSVLogger\n",
"from datasets import load_dataset\n",
"\n",
"from estimator import TFTEstimator"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fc889c9f",
"metadata": {},
"outputs": [],
"source": [
"dataset = get_dataset(\"electricity\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1717d0d2",
"metadata": {},
"outputs": [],
"source": [
"estimator = TFTEstimator(\n",
" freq=dataset.metadata.freq,\n",
" prediction_length=dataset.metadata.prediction_length,\n",
" context_length=dataset.metadata.prediction_length*6,\n",
" \n",
" scaling=True,\n",
" num_feat_static_cat=len(dataset.metadata.feat_static_cat),\n",
" cardinality=[int(cat_feat_info.cardinality) for cat_feat_info in dataset.metadata.feat_static_cat],\n",
" \n",
" batch_size=256,\n",
" num_batches_per_epoch=100,\n",
" trainer_kwargs=dict(gpus=\"1\", max_epochs=50, logger=CSVLogger(\".\", \"lightning_logs/\")),\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c77b420c",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
" rank_zero_warn(\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/accelerator_connector.py:446: LightningDeprecationWarning: Setting `Trainer(gpus='1')` is deprecated in v1.7 and will be removed in v2.0. Please use `Trainer(accelerator='gpu', devices='1')` instead.\n",
" rank_zero_deprecation(\n",
"GPU available: True (cuda), used: True\n",
"TPU available: False, using: 0 TPU cores\n",
"IPU available: False, using: 0 IPUs\n",
"HPU available: False, using: 0 HPUs\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/configuration_validator.py:108: PossibleUserWarning: You defined a `validation_step` but have no `val_dataloader`. Skipping val loop.\n",
" rank_zero_warn(\n",
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n",
"\n",
" | Name | Type | Params\n",
"-----------------------------------\n",
"0 | model | TFTModel | 104 K \n",
"-----------------------------------\n",
"104 K Trainable params\n",
"0 Non-trainable params\n",
"104 K Total params\n",
"0.417 Total estimated model params size (MB)\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ae3ad0d41ee24816aff4909843087448",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Training: 0it [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Epoch 0, global step 100: 'train_loss' reached 6.39991 (best 6.39991), saving model to './lightning_logs/version_42/checkpoints/epoch=0-step=100.ckpt' as top 1\n",
"Epoch 1, global step 200: 'train_loss' reached 5.69044 (best 5.69044), saving model to './lightning_logs/version_42/checkpoints/epoch=1-step=200.ckpt' as top 1\n",
"Epoch 2, global step 300: 'train_loss' reached 5.48190 (best 5.48190), saving model to './lightning_logs/version_42/checkpoints/epoch=2-step=300.ckpt' as top 1\n",
"Epoch 3, global step 400: 'train_loss' reached 5.36685 (best 5.36685), saving model to './lightning_logs/version_42/checkpoints/epoch=3-step=400.ckpt' as top 1\n",
"Epoch 4, global step 500: 'train_loss' reached 5.33330 (best 5.33330), saving model to './lightning_logs/version_42/checkpoints/epoch=4-step=500.ckpt' as top 1\n",
"Epoch 5, global step 600: 'train_loss' reached 5.28454 (best 5.28454), saving model to './lightning_logs/version_42/checkpoints/epoch=5-step=600.ckpt' as top 1\n",
"Epoch 6, global step 700: 'train_loss' reached 5.25834 (best 5.25834), saving model to './lightning_logs/version_42/checkpoints/epoch=6-step=700.ckpt' as top 1\n",
"Epoch 7, global step 800: 'train_loss' reached 5.21931 (best 5.21931), saving model to './lightning_logs/version_42/checkpoints/epoch=7-step=800.ckpt' as top 1\n",
"Epoch 8, global step 900: 'train_loss' reached 5.20208 (best 5.20208), saving model to './lightning_logs/version_42/checkpoints/epoch=8-step=900.ckpt' as top 1\n",
"Epoch 9, global step 1000: 'train_loss' reached 5.18780 (best 5.18780), saving model to './lightning_logs/version_42/checkpoints/epoch=9-step=1000.ckpt' as top 1\n",
"Epoch 10, global step 1100: 'train_loss' reached 5.18656 (best 5.18656), saving model to './lightning_logs/version_42/checkpoints/epoch=10-step=1100.ckpt' as top 1\n",
"Epoch 11, global step 1200: 'train_loss' reached 5.16078 (best 5.16078), saving model to './lightning_logs/version_42/checkpoints/epoch=11-step=1200.ckpt' as top 1\n",
"Epoch 12, global step 1300: 'train_loss' was not in top 1\n",
"Epoch 13, global step 1400: 'train_loss' reached 5.15909 (best 5.15909), saving model to './lightning_logs/version_42/checkpoints/epoch=13-step=1400.ckpt' as top 1\n",
"Epoch 14, global step 1500: 'train_loss' reached 5.13883 (best 5.13883), saving model to './lightning_logs/version_42/checkpoints/epoch=14-step=1500.ckpt' as top 1\n",
"Epoch 15, global step 1600: 'train_loss' reached 5.12479 (best 5.12479), saving model to './lightning_logs/version_42/checkpoints/epoch=15-step=1600.ckpt' as top 1\n",
"Epoch 16, global step 1700: 'train_loss' was not in top 1\n",
"Epoch 17, global step 1800: 'train_loss' reached 5.12115 (best 5.12115), saving model to './lightning_logs/version_42/checkpoints/epoch=17-step=1800.ckpt' as top 1\n",
"Epoch 18, global step 1900: 'train_loss' was not in top 1\n",
"Epoch 19, global step 2000: 'train_loss' reached 5.09966 (best 5.09966), saving model to './lightning_logs/version_42/checkpoints/epoch=19-step=2000.ckpt' as top 1\n",
"Epoch 20, global step 2100: 'train_loss' reached 5.09288 (best 5.09288), saving model to './lightning_logs/version_42/checkpoints/epoch=20-step=2100.ckpt' as top 1\n",
"Epoch 21, global step 2200: 'train_loss' was not in top 1\n",
"Epoch 22, global step 2300: 'train_loss' was not in top 1\n",
"Epoch 23, global step 2400: 'train_loss' was not in top 1\n",
"Epoch 24, global step 2500: 'train_loss' was not in top 1\n",
"Epoch 25, global step 2600: 'train_loss' was not in top 1\n",
"Epoch 26, global step 2700: 'train_loss' reached 5.08489 (best 5.08489), saving model to './lightning_logs/version_42/checkpoints/epoch=26-step=2700.ckpt' as top 1\n",
"Epoch 27, global step 2800: 'train_loss' was not in top 1\n",
"Epoch 28, global step 2900: 'train_loss' reached 5.07240 (best 5.07240), saving model to './lightning_logs/version_42/checkpoints/epoch=28-step=2900.ckpt' as top 1\n",
"Epoch 29, global step 3000: 'train_loss' was not in top 1\n",
"Epoch 30, global step 3100: 'train_loss' reached 5.06531 (best 5.06531), saving model to './lightning_logs/version_42/checkpoints/epoch=30-step=3100.ckpt' as top 1\n",
"Epoch 31, global step 3200: 'train_loss' was not in top 1\n",
"Epoch 32, global step 3300: 'train_loss' reached 5.05730 (best 5.05730), saving model to './lightning_logs/version_42/checkpoints/epoch=32-step=3300.ckpt' as top 1\n",
"Epoch 33, global step 3400: 'train_loss' was not in top 1\n",
"Epoch 34, global step 3500: 'train_loss' reached 5.04352 (best 5.04352), saving model to './lightning_logs/version_42/checkpoints/epoch=34-step=3500.ckpt' as top 1\n",
"Epoch 35, global step 3600: 'train_loss' was not in top 1\n",
"Epoch 36, global step 3700: 'train_loss' was not in top 1\n",
"Epoch 37, global step 3800: 'train_loss' was not in top 1\n",
"Epoch 38, global step 3900: 'train_loss' was not in top 1\n",
"Epoch 39, global step 4000: 'train_loss' was not in top 1\n",
"Epoch 40, global step 4100: 'train_loss' was not in top 1\n",
"Epoch 41, global step 4200: 'train_loss' was not in top 1\n",
"Epoch 42, global step 4300: 'train_loss' was not in top 1\n",
"Epoch 43, global step 4400: 'train_loss' reached 5.02966 (best 5.02966), saving model to './lightning_logs/version_42/checkpoints/epoch=43-step=4400.ckpt' as top 1\n",
"Epoch 44, global step 4500: 'train_loss' was not in top 1\n",
"Epoch 45, global step 4600: 'train_loss' was not in top 1\n",
"Epoch 46, global step 4700: 'train_loss' was not in top 1\n",
"Epoch 47, global step 4800: 'train_loss' was not in top 1\n",
"Epoch 48, global step 4900: 'train_loss' was not in top 1\n",
"Epoch 49, global step 5000: 'train_loss' was not in top 1\n",
"`Trainer.fit` stopped: `max_epochs=50` reached.\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
" rank_zero_warn(\n"
]
}
],
"source": [
"predictor = estimator.train(\n",
" training_data=dataset.train,\n",
" shuffle_buffer_length=1024,\n",
" num_workers=8,\n",
" cache_data=True,\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "f8a362b6",
"metadata": {},
"outputs": [],
"source": [
"forecast_it, ts_it = make_evaluation_predictions(\n",
" dataset=dataset.test,\n",
" predictor=predictor,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "5fdc12da",
"metadata": {},
"outputs": [],
"source": [
"forecasts = list(forecast_it)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "4b7d3409",
"metadata": {},
"outputs": [],
"source": [
"tss = list(ts_it)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "9b154bde",
"metadata": {},
"outputs": [],
"source": [
"evaluator = Evaluator()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0fdec8a7",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Running evaluation: 2247it [00:00, 6166.65it/s]\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pandas/core/dtypes/astype.py:170: UserWarning: Warning: converting a masked element to nan.\n",
" return arr.astype(dtype, copy=True)\n"
]
}
],
"source": [
"agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "7f28f4d3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'MSE': 1518169.6142941925,\n",
" 'abs_error': 7598574.228329182,\n",
" 'abs_target_sum': 128632956.0,\n",
" 'abs_target_mean': 2385.272140631954,\n",
" 'seasonal_error': 189.49338196116761,\n",
" 'MASE': 0.6768308214245022,\n",
" 'MAPE': 0.08543621625248263,\n",
" 'sMAPE': 0.09866496306390758,\n",
" 'MSIS': 5.920136466617623,\n",
" 'QuantileLoss[0.1]': 3500882.8291194635,\n",
" 'Coverage[0.1]': 0.05574098798397863,\n",
" 'QuantileLoss[0.2]': 5340191.431005712,\n",
" 'Coverage[0.2]': 0.14562008604064677,\n",
" 'QuantileLoss[0.3]': 6504019.208138172,\n",
" 'Coverage[0.3]': 0.25867823765020026,\n",
" 'QuantileLoss[0.4]': 7235231.087660994,\n",
" 'Coverage[0.4]': 0.38768357810413884,\n",
" 'QuantileLoss[0.5]': 7598574.186652861,\n",
" 'Coverage[0.5]': 0.5227154724818277,\n",
" 'QuantileLoss[0.6]': 7529742.655082348,\n",
" 'Coverage[0.6]': 0.6381100726895119,\n",
" 'QuantileLoss[0.7]': 7007798.0971535565,\n",
" 'Coverage[0.7]': 0.7520026702269693,\n",
" 'QuantileLoss[0.8]': 5913502.452661915,\n",
" 'Coverage[0.8]': 0.8465175789942145,\n",
" 'QuantileLoss[0.9]': 4056172.522688779,\n",
" 'Coverage[0.9]': 0.9228601097759975,\n",
" 'RMSE': 1232.140257557634,\n",
" 'NRMSE': 0.5165617107451692,\n",
" 'ND': 0.059071753185312645,\n",
" 'wQuantileLoss[0.1]': 0.02721606451397621,\n",
" 'wQuantileLoss[0.2]': 0.04151495539763318,\n",
" 'wQuantileLoss[0.3]': 0.05056261949028188,\n",
" 'wQuantileLoss[0.4]': 0.05624710270718644,\n",
" 'wQuantileLoss[0.5]': 0.05907175286131853,\n",
" 'wQuantileLoss[0.6]': 0.05853665257511728,\n",
" 'wQuantileLoss[0.7]': 0.05447902555511168,\n",
" 'wQuantileLoss[0.8]': 0.04597190826168929,\n",
" 'wQuantileLoss[0.9]': 0.031532918536745586,\n",
" 'mean_absolute_QuantileLoss': 6076234.941129311,\n",
" 'mean_wQuantileLoss': 0.04723699998878445,\n",
" 'MAE_Coverage': 0.03716477937661739,\n",
" 'OWA': nan}"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"agg_metrics"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "cc3f804d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB7cAAAXCCAYAAABwgmnJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eZxkdX0v/r9O7V29zj7DLMww7KuCICgCQSQoMVFEvTd6ZVCSYNQrAZfwVRIj+iNXQSU3mnATFLOAyr6MDAzgMMDArDALs/f0vi+1b2f9/XHqnKrqrr1rOdX1ej4e/WCorT9d01N16rw+7/db0DRNAxERERERERERERERERERkYXZ6r0AIiIiIiIiIiIiIiIiIiKiQhhuExERERERERERERERERGR5THcJiIiIiIiIiIiIiIiIiIiy2O4TURERERERERERERERERElsdwm4iIiIiIiIiIiIiIiIiILI/hNhERERERERERERERERERWR7DbSIiIiIiIiIiIiIiIiIisjyG20REREREREREREREREREZHkMt4mIiIiIiIiIiIiIiIiIyPIYbhMRERERERERERERERERkeUx3CYiqqFQKITvfe97OO+889DW1obOzk5cfPHFuO+++yCKYr2XR0REREQWF41G8fzzz+MHP/gBbrjhBpx88skQBAGCIOB73/tevZdHRERERA1iamoKv/rVr/D5z38eZ599NlpbW+F2u7Fq1Sp84hOfwJNPPlnvJRIRZSVomqbVexFERM2gr68PV111FXp7ewEAXq8XiqIgkUgAAN773vfi5ZdfxoIFC+q4SiIiIiKysi1btuCP/uiPsl7393//9wy4iYiIiKgoTqcTsiyb/+/xeGC32xGJRMzLPvrRj+Kxxx6D1+utxxKJiLJi5TYRUQ3IsoyPf/zj6O3txYoVK7B582ZEIhFEo1H85je/QXt7O95++218/vOfr/dSiYiIiMjiFixYgA9/+MP45je/iUceeQTLly+v95KIiIiIqMHIsoxLLrkEv/jFL9Dd3Y1YLIZwOIyenh586UtfAgA8//zz+Ku/+qs6r5SIKBMrt4mIauDBBx/ELbfcAgDYtm0bLrvssozrH3nkEfz5n/85AOCll17Chz/84ZqvkYiIiIisT1EU2O32jMvWrl2Lvr4+Vm4TERERUdH+8Ic/5OwIBAC33norHnjgAQBAf38/Vq9eXaulERHlxcptIqIa+PWvfw0A+KM/+qNZwTYA/I//8T+wbt06AMB//Md/1HRtRERERNQ4ZgbbRERERETlyBdsAzCrtwFg165d1V4OEVHRGG4TEVVZNBrFG2+8AUCfU5ONIAi47rrrAAAvvvhizdZGRERERERERERENJPH4zH/rChKHVdCRJSJ4TYRUZUdOnQIqqoCAM4999yctzOuGx0dxfT0dE3WRkRERERERERERDTTli1bzD+fd9559VsIEdEMDLeJiKpseHjY/PPKlStz3i79uvT7EBEREREREREREdWK3+/HPffcAwD40Ic+hDPOOKPOKyIiSmG4TURUZaFQyPyz1+vNebv069LvQ0RERERERERERFQLqqrif/2v/4WRkRF4PB788z//c72XRESUgeE2ERERERERERERERER4etf/zqee+45AMDPf/5znH/++XVeERFRJobbRERV1t7ebv45Go3mvF36den3ISIiIiIiIiIiIqq2b3zjG2al9k9/+lN88YtfrPOKiIhmY7hNRFRlJ510kvnnoaGhnLdLvy79PkRERERERERERETV9K1vfQv33XcfAODee+/FbbfdVt8FERHlwHCbiKjKzjrrLNhs+svtgQMHct7OuG758uVYuHBhTdZGREREREREREREze2b3/wmfvzjHwMAfvSjH+GOO+6o84qIiHJjuE1EVGVerxcf/OAHAQCbNm3KehtN0/DCCy8AAK699tqarY2IiIiIiIiIiIia1ze+8Q3ce++9APRg+5vf/GadV0RElB/DbSKiGrjpppsAAH/4wx+wffv2Wdc/+uijOHHiBADgC1/4Qk3XRkRERERERERERM3nG9/4RkYrcgbbRNQIGG4TEdXATTfdhPPOOw+apuFTn/oUXn75ZQCAqqp49NFH8Rd/8RcAgI9+9KP48Ic/XM+lEhEREZHF+Xw+TE5Oml+qqgIAotFoxuXhcLjOKyUiIiIiq0qfsf2Tn/yErciJqGEImqZp9V4EEVEz6O3txR/90R+ht7cXgN6uXFVVxONxAMB73/tevPzyy1iwYEEdV0lEREREVrd27Vr09fUVvN1NN92Ehx56qPoLIiIiIqKG0t/fj5NPPhkAYLPZsGTJkry3/8Y3voFvfOMbtVgaEVFBjnovgIioWaxduxb79u3DvffeiyeeeAI9PT1wOp0455xz8D//5//E1772Nbhcrnovk4iIiIiIiIiIiOYxo/OP8eexsbG8t2dHICKyElZuExERERERERERERERERGR5XHmNhERERERERERERERERERWR7DbSIiIiIiIiIiIiIiIiIisjyG20REREREREREREREREREZHkMt4mIiIiIiIiIiIiIiIiIyPIYbhMRERERERERERERERERkeU56r2AelJVFcPDw2hvb4cgCPVeDhEREVFNaJqGUCiEk046CTYb9zpWAo8riYiIqBnxuLLyeFxJREREzaiU48qmDreHh4exevXqei+DiIiIqC4GBgawatWqei9jXuBxJRERETUzHldWDo8riYiIqJkVc1zZ1OF2e3s7AP2J6ujoqPNqiIiIiGojGAxi9erV5rEQzR2PK4mIiKgZ8biy8nhcSURERM2olOPKpg63jdY+HR0dPFgkIiKipmPFNoe7d+/G5s2bsWPHDuzYsQNDQ0MA9NZE+UiShJ///Od4+OGHcfjwYaiqipNOOgmXX3457r77bqxcuXLWfd59911873vfw5YtWxAOh3HqqafiS1/6Ev73//7fJbfV5HElERERNTMrHlc2Kh5XEhERUTMr5riyqcNtIiIiIrKWu+++G08//XRJ95mensa1116L3bt3Y8WKFbjmmmsAAMePH8evfvUrfPGLX5wVbr/55pv48Ic/jFgshksuuQRr167F1q1b8Td/8zfYtm0bfvvb3/IkLRERERERERERkcUw3CYiIiIiy7jssstw/vnn4+KLL8bFF1+MtWvXIpFI5Ly9pmm48cYbsXv3bvz93/89vvvd78LhSB3injhxYlbFiyRJ+NznPodYLIaf/OQn+Ju/+RsAQDgcxrXXXotHH30UH/vYx7Bhw4aq/IxERERERERERERUHkEr1ONxHgsGg+js7EQgEGCbHyIiImoajXQM5PF4kEgkcrYl/93vfofPfvaz+PSnP43f/e53RT2mcZ8LLrgA77zzTsZ1e/bswUUXXYRzzz0X+/fvL3qdjfScEhEREVUKj4Eqj88pERERNaNSjoFKGyZIRERERGQh//Zv/wYA+NrXvlb0fTZu3AgAuPHGG2ddd+GFF+KUU07BgQMH0NvbW5E1EhERERERERERUWWwLTkRERERNSRJkvD666/D4XDgkksuwb59+/Doo49ifHwcK1euxJ/92Z/hggsumHW/vXv3AtCD7GwuvPBCnDhxAvv27cPatWur+SMQERERERERERFRCRhuExEREVFDOnHiBOLxOJYtW4af/vSn+M53vgNVVc3rv/e97+HrX/86fvrTn2bcr7+/HwCwatWqrI9rXN7X15fzeycSiYxZ4MFgsOyfg4iIiIiIiIiIiIrDtuRERERE1JB8Ph8AYGpqCnfeeSduvfVWdHd3Y3JyEg8++CBaWlrws5/9DD//+c8z7hcOhwEAXq836+O2trYCAEKhUM7vfc8996Czs9P8Wr16dSV+JCIiIiKqo927d+Mf//EfccMNN2DVqlUQBAGCIJT0GNdcc415v8HBwSqtlIiIiKh5sXKbiIiIiBqSUaUtyzI++tGPZoTYX/ziFxGPx/GVr3wF99xzD77yla9U9HvfeeeduP32283/DwaDDLiJiIiIGtzdd9+Np59+uuz7P/TQQ3j55ZchCAI0TavgyoiIiIjIwMptIiIiImpIbW1t5p9vvvnmWddv2LABADA0NITjx4/Pul80Gs36uJFIBADQ3t6e83u73W50dHRkfBERERFRY7vssstw11134ZlnnsHIyAjcbnfR952YmMAdd9yBa6+9FmvWrKniKomIiIiaGyu3iYiIiKghnXzyyeaf165dO+t6r9eLpUuXYnx8HOPj4zj11FMBAGvWrIHP58Pg4CDOP//8Wfcz2kemPz4RERERzX/f/va3y77vbbfdhmg0il/84hf48Ic/XMFVEREREVE6Vm4TERERUUPq7OzEunXrAKTmb6dTVRV+vx9AZpX3BRdcAADYs2dP1sc1Ls8WfBMRERERzbRp0yY8/PDD+M53voP169fXezlERERE8xrDbSIiIiJqWH/6p38KANiyZcus69566y2IooiWlhacccYZ5uXXX389AOCxxx6bdZ+3334bJ06cwLnnnpu1GpyIiIiIKF0kEsGXv/xlnHnmmfjWt75V7+UQERERzXsMt4mIiIioYd12221wuVz453/+Z7z11lvm5ZOTk7jtttsA6PO40+clfvKTn8S6deuwd+9e/PSnPzUvj0Qi+MpXvgIAuOOOO2rzAxARERFRQ/u7v/s79Pb24l//9V/hcrlKvn8ikUAwGMz4ovr799dO4EebDtd7GURERJQFw20iIiJqKAk5Ue8lUBVt3LgRl156qfkliiIAZFy2ceNG8/Zr167Fv/zLvyAcDuOKK67AlVdeiT/90z/FmWeeiZ07d+LCCy/E//k//yfjezidTvzXf/0XWlpacPvtt+PSSy/FZz/7WZx22ml48803ceONN+Kmm26q6c9NRERElSGrcr2XQE1kz549uP/++3HTTTfhyiuvLOsx7rnnHnR2dppfq1evrvAqqVSKquGe5w/Line truncated
"text/plain": [
"<Figure size 2000x1500 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(20, 15))\n",
"date_formater = mdates.DateFormatter('%b, %d')\n",
"plt.rcParams.update({'font.size': 15})\n",
"\n",
"for idx, (forecast, ts) in islice(enumerate(zip(forecasts, tss)), 9):\n",
" ax = plt.subplot(3, 3, idx+1)\n",
"\n",
" plt.plot(ts[-4 * dataset.metadata.prediction_length:].to_timestamp(), label=\"target\", )\n",
" forecast.plot( color='g')\n",
" plt.xticks(rotation=60)\n",
" ax.xaxis.set_major_formatter(date_formater)\n",
" ax.set_title(forecast.item_id)\n",
"\n",
"plt.gcf().tight_layout()\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "6f03bfd2",
"metadata": {},
"outputs": [],
"source": [
"metrics = pd.read_csv(\"lightning_logs/version_86/metrics.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "8e76b769",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>train_perplexity</th>\n",
" <th>epoch</th>\n",
" <th>step</th>\n",
" <th>val_loss</th>\n",
" <th>train_loss</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2.042362</td>\n",
" <td>0</td>\n",
" <td>49</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2.050069</td>\n",
" <td>0</td>\n",
" <td>99</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2.743227</td>\n",
" <td>0</td>\n",
" <td>149</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2.440984</td>\n",
" <td>0</td>\n",
" <td>199</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>199</td>\n",
" <td>4.355846</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>295</th>\n",
" <td>80.659866</td>\n",
" <td>49</td>\n",
" <td>9899</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>296</th>\n",
" <td>82.568138</td>\n",
" <td>49</td>\n",
" <td>9949</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>297</th>\n",
" <td>81.211136</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>298</th>\n",
" <td>NaN</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>1.084462</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>299</th>\n",
" <td>NaN</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>NaN</td>\n",
" <td>1.707654</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>300 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" train_perplexity epoch step val_loss train_loss\n",
"0 2.042362 0 49 NaN NaN\n",
"1 2.050069 0 99 NaN NaN\n",
"2 2.743227 0 149 NaN NaN\n",
"3 2.440984 0 199 NaN NaN\n",
"4 NaN 0 199 4.355846 NaN\n",
".. ... ... ... ... ...\n",
"295 80.659866 49 9899 NaN NaN\n",
"296 82.568138 49 9949 NaN NaN\n",
"297 81.211136 49 9999 NaN NaN\n",
"298 NaN 49 9999 1.084462 NaN\n",
"299 NaN 49 9999 NaN 1.707654\n",
"\n",
"[300 rows x 5 columns]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metrics"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "ad490889",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'perplexity')"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEQCAYAAACjnUNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABKoUlEQVR4nO2dd3ib5dW47yPJe8WOnb0XIWQBIewZ9mjpoIP2a4G20E1p+5VCy9fyle71a6FfKV1QKKVAgZYNYUNYCSRkbzvO8N6WbVnS8/vjfaXI8pJsLUvnvi5dtt6l82g85z3PWWKMQVEURVGGw5FsARRFUZSxgSoMRVEUJSJUYSiKoigRoQpDURRFiQhVGIqiKEpEuJItQKwpLy83s2bNSrYYiqIoY4p169Y1GGMqhjom7RTGrFmzWLt2bbLFUBRFGVOISNVwx+iSlKIoihIRqjAURVGUiFCFoSiKokSEKgxFURQlIlRhKIqiKBGhCkNRFEWJCFUYiqIoSkSowlAUJe3p9fm5540qujy+ZIsypkm7xD1FUTIDv9/Q1t3LuPzsAfcbY3h84yEeefcgR04u4tbnd9Hd6+Ozp85JsKTpgyoMRVHGJL9/aTc/f3o7k4pzOXrGOE6aO57l00u5/eXdnH/UJO5cU8m6qmYAVm+tBeD+tdV85pTZiEifazV3eijIcZHt0kWXoVCFoSjKmOJQaxdv7W3ir69VctSUYuZWFLK+uoUnN9WQ5RR6fYbH3ztEeWEOP/3QEtweHzc/uoUT5pTxxp4m1lU1s2JWWfB6HT1eTv3ZCwCcvqCCVUdO4OKlU1R5DIAqDEVRxhS/fnYH96/db/3/0WWcOt+ql3frczv5y2t7+X8fO5q6tm4uWDKZwhwXxhhOmDOe6WX5nPHzF7nl8a089IWTcDgsK2NDdQsdPV5OW1DBW5VNPL7xENtq2rnxwiOTNsZURVWooihjih21HQB87tTZnDKvPLj9K6vms+6753D6ggouWzGdwhzrflhEOHJyMYU5Lm68cCHrq1t4YF118Lx1Vc2IwK0fP5o3b1jFmUdU8Ph7hzDG9HndP768h4fe2Z+AEaYuqjCUIL0+P70+f7LFUJRB8fkN22vaufLkWXznokX9fBEBq2EwPnD0VI6bVcpPn9pOi9sDwDv7mlkwoYiSvCwcDuH8xZM40NLFlkNtwfMOtHTxk6e28aMntuGN8Deyq66D57fVRjnC1EYVhhLkh49v5bgfrualHfXJFkVRBqSysZOuXh+LJheP6HwR4eb3LabF7eEXz2zH7ze8U9XMMTPHBY85a+FEROC6f65nza4GAO5aU4nPb2jo6OHlnUP/Powx3L+2motvfYXP3LWW9u7efsf0eH2s2d0wojEkE1UYSpA39jTS4u7lir++xW9W78TvN8OfpChxxO83/PPtfXzn4Y384619PL25BoBFU0amMALnfurEWfz9zX386dU9tHV7OXHu4aWtiqIcfvSBJdS19/CX1yrp7PHyj7f2cd5RExlfkM2/3jnA5oOt3L+2mnVVTTR3eoLnuj1evvHABr714HuUF+ZgDGyvae/z+sYY/uvPb3H5H99k4/7WEY8jGajTWwHA4/Wzu76DK06aRVtXL79evYNd9R3c+vGjky2aksH8evUObn1+F3lZTv7+5j4AspzCvAmFo7rudecs4LH3DvKjJ7ZRnOvi3EUT++z/+MoZvL23iZd3NvDA2mrau71cc/pcxuVV88TGQ2w52Mbehs7g8ecumsgdn1rBz57azsPvHuDaVfO5bMU0TvnpC2w51NYnKuv+tdW8tbcJgNf3NLBkWklEMr+wrY7nt9XxkRXTIz4n1qiFoQCwp6GDXp/h6Bnj+OVHlnHlybN4dMPB4DqvEjtqWrv517r91Lf38KdX9tDa1X/JQrF4Y08jy6ePY/PN5/HiN8/gNx9bzu2fPJYcl3NU1y3Jy+L68xcCcOnRU8nN6n+9ZdPH0dDRw20v7OKYGeM4ZkYpZxxRQXuPl70NnXzjnAX85YoVnLVwAi9ur8fj9fPC9jrOOmIC152zgKnj8hiXn8XWEF+I2+Pll8/s4JgZ45hdXhBUHAH8fsPdr1fyrQc3UNvWHdze3Onhqrve5u43qvjqfe/S3ZucjHVVGAoA2w5ZZvORk4sREc6x77huf2kPNzy0EY9XneGx4pbHt/CNBzZw7X3vcsvjWzn7Vy/x2HsH2dvQyQ8e20JNazcPrttPXXv38BdLc/Y3dzGnogCHQ5hVXsD7l09l1ZEThz8xAj50zDRuuXQxXz5r3oD7l00fB0BDh4fPnGJlh588vxynQ3AIfPz4GZy1cCIfOHoqHp+fF7fXUdXo5iQ7cktEWDS5mC0HDyuMP7+yl7r2Hm688EiOn13GW3ub8IUs/T6x6RA3/Xsz96/dzzNbDjvMt9a0YQx8/vS57G3o5P9e2BWT9yBadElKAWBbTTtZTmF2eQEAy6aNwyFw+0u7ASjIdvLdixclU8S0YH+zmyc3Wevwa3Y3smJmKT1eP1++912yXQ48Xj/3vrmPrl4f2U4HHzxmKp89dTbzJhQlWfL+VDV2cs3d6/jjp1YwvSw/5tfv8fqoaetmemnsrw1WRNUnT5g56P4jJxeR5RQmFOVy3lGWkirOzeI0W2mUF+YAsGSqtTx0x8t7ADh53viQaxRzzxtV9Pr8tHb1cvtLuznvqImsmFXGviY3971dzc66dhZOsnwy9765j6nj8mh2e9hd1xG8TsAPctUpszjY0sUfXt7DR46bzjT7valr6yY/xxUMJY4XamEoAGw80MKCiUVkOa2vREGOK/glnlaax59e3cu6qr7m83v7Wzj1Z8/rslWEbDnYxlV3vo1DDk8yV50ym0e+dDLfu2QRS6aW8KUz5+L1+7nhgoV85LhpPPzuAc799cu8t78lucIPQCDBbbiooZFysKUbY4iLMoqEHJeTb5x7BP/7/qNwOQ9PlXd8agW//+SxweczyvLJz3aytqqZiqIcjph4WLkHbgje29/Cb5/bSbfXz7fspbDF9ncgsGS15WAba3Y3cvnxM5g/oZBdYQqjrCCbisIcvn3BQkTgx09uAywn+odvf50bHtoYvzfDJuEKQ0Q+JiLviEiHiBwQkb+JyJSwY0REbhSRahHpEpGXRWR5omXNFDxeP+uqmlk5u6zP9pWzy8hxOfjnNScypSSXGx/a1CdP4739rVQ3dfX5YsebZzbX8KdX9iTs9UZKTWt30Cnq8xv+8NJu3v+7V2lx9/LnTx/H9ecv5IQ5ZZy1cAJOh3DlybP51xdO4r/PW8jG75/HNafP5ZZLl/D8N8/Ab+D13Y0JH8OBli7uWlNJe3cvT27sn8j2sh1+velAfCJ9qpvcAEwvzYvL9SPh86fP7bcEluV0BG+swLJUnHY+yHcuPLJPbsiJc8cjAve8sY9739zHx46bztwKy2E/u7yAbKeDbTXteLx+/vvBDZQXZnP5yhnMreirMLbVtHPExCJEhCnj8vj86XN5/L1DvLW3if3NXexrcrN6Sy1ujzeeb0diFYaIvA/4B7AGeD9wPXAa8LiIhMrybeAm4KfAJUAHsFpEJiVS3kzhvf0tdPf6OX72+D7brztnAf/58ilMHZfHze9fzPbadv70yt7g/oBlUdfekzBZ71+7n9uStH4bKf9ef4Czf/USn/7LWwD8/Ont/PjJbaxaOJGnv3Yapy2o4JT55dx39YkDOltDt00dl8fE4px+oZmJ4Lerd/K9/2zmF09v5wt/f4c1IUqrs8cbLOy36UDbYJcYFdXNtsJIkoURDb/+6HK+fs4C3r+8z70v4/KzOWJiEQ+/e4DcLCfXnj0/uC/L6WDuhEK217Rz2wu72HywjR9+YAmlBdnMnVBITVs37d297Gt0s6O2nSMmHbZcrjltLlNKcvnfxzYHHeddvT5e2h7fHKpEWxiXA+8YY75sjHnOGHMP8FVgOXAEgIjkYimMHxtjbjPGrAYuAwzw5QTLmxG8sceaCI4PszBK8rKCX9JzFk3kvKMm8pvndgTv/JrdVnRPXVvinLOtXR5a3L0puQzm9ni5/sH3uPa+9Rhj2Nfk5kBLF397vZJLlk3h9588htKCgUtxD8URk4rZXptYhdHd6+OJTYcA+PeGgwD8+dXDNwuv7mqg12dYOq2E7fYdcqypbuoiyylMLM6N+bVjzdmLJvLVVfP7ZZ4DHD2jFIAffXAJE4r6jmXhpCLWVjbzuxd28cGjp3LeUdY9cSBs+JN/fovTf/ECPV5/n9DfvGwn11+wkE0H2vjGAxsoynExviCbJ2z/WLxItMLIAsLt1xb7b+CdPgkoBu4PHGCM6QQeBS6Is3wZR1t3L/9cW81RU4qHncy+/76jcIpw0783YYwJJiwl0sJosZVUZaM77q/1/LZa/r3+AK/vbmRPfcegiYyt7l5au3q5/l8buX9dNV86cy4//fBSAG55bAtuj48vnTl3wMkkEhZOKmJnXUfEJSliwYvb62jvtpY3Wty9OASe31bHLY9tocvj48mNhxiXn8VVJ8/G4/OzIw4KbX+zm6nj8nAOU+4j1fnWeUfw1yuO433LpvTbt3BSER09XioKc/jeJUcFty+aXIzTIRxs6eKrZ81nzbfPCkZfBXjfsimcfeQEAOZOKOQHly7ms6fMjutYEh0l9RfgERH5FPAIMAm4BXjeGLPFPmYh4AN2hp27FfhoguTMGH78xDYOtnTz66uXD3vs5JI8rjtnAbc8vpV1Vc00J2FJqsXOWahs6GS5HfYYD9bsauCqO9f22faFM+YGY/dDueLOtzAGdtS2c/nKGfz3eQvZaU+gT22uYdn0ccEAgpGwYGIRHq+fykb3qBPWIuXhdw9QXphDQY6TqkY3nzllNl29Pv706l6e2VJLY0cPFy2dzCw7qs4KAY5tMll9ew8TxoB1MRylBdmcuXDCgPtWzCrD5RB++uGllORnBbdPL8vnxW+ewcTi3EHLrIsIt3/yWO5cU8nLine truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = metrics.train_perplexity.dropna().plot(kind=\"line\")\n",
"ax.set_xlabel(\"training steps\")\n",
"ax.set_ylabel(\"perplexity\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "f1185a0f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'val neg. log likelihood')"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = metrics.val_loss.dropna().plot()\n",
"ax.set_xlabel(\"training steps\")\n",
"ax.set_ylabel(\"val neg. log likelihood\")"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "d887cb3b",
"metadata": {},
"outputs": [],
"source": [
"X = predictor.prediction_net.vq_vae.embed.cpu()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "ae16d4bd",
"metadata": {},
"outputs": [],
"source": [
"X_embedded = TSNE(n_components=2, learning_rate='auto', init='random').fit_transform(X)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "8feaef88",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f4eec421b20>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X_embedded[:,0], X_embedded[:,1], alpha=1.0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "50a0e3d3",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
+629
View File
@@ -0,0 +1,629 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "7c64affd",
"metadata": {},
"outputs": [],
"source": [
"from itertools import islice"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8aa55868",
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from matplotlib import pyplot as plt\n",
"import matplotlib.dates as mdates\n",
"\n",
"import pandas as pd\n",
"from sklearn.manifold import TSNE"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6a730716",
"metadata": {},
"outputs": [],
"source": [
"from gluonts.dataset.repository.datasets import get_dataset\n",
"from gluonts.evaluation import make_evaluation_predictions, Evaluator\n",
"from gluonts.torch.distributions import NegativeBinomialOutput\n",
"\n",
"from pytorch_lightning.loggers import CSVLogger\n",
"\n",
"from estimator import TFTEstimator"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fc889c9f",
"metadata": {},
"outputs": [],
"source": [
"dataset = get_dataset(\"exchange_rate\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "1717d0d2",
"metadata": {},
"outputs": [],
"source": [
"estimator = TFTEstimator(\n",
" freq=dataset.metadata.freq,\n",
" prediction_length=dataset.metadata.prediction_length,\n",
" context_length=dataset.metadata.prediction_length*6,\n",
" num_feat_static_cat=len(dataset.metadata.feat_static_cat),\n",
" cardinality=[int(cat_feat_info.cardinality) for cat_feat_info in dataset.metadata.feat_static_cat],\n",
"\n",
" \n",
" scaling=True,\n",
" batch_size=256,\n",
" num_batches_per_epoch=200,\n",
" #distr_output=ImplicitQuantileNetworkOutput(\"positive\"),\n",
" #loss=QuantileLoss(),\n",
" trainer_kwargs=dict(gpus=\"1\", max_epochs=30, logger=CSVLogger(\".\", \"lightning_logs/\")),\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "c77b420c",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
" rank_zero_warn(\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/accelerator_connector.py:446: LightningDeprecationWarning: Setting `Trainer(gpus='1')` is deprecated in v1.7 and will be removed in v2.0. Please use `Trainer(accelerator='gpu', devices='1')` instead.\n",
" rank_zero_deprecation(\n",
"GPU available: True (cuda), used: True\n",
"TPU available: False, using: 0 TPU cores\n",
"IPU available: False, using: 0 IPUs\n",
"HPU available: False, using: 0 HPUs\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/configuration_validator.py:108: PossibleUserWarning: You defined a `validation_step` but have no `val_dataloader`. Skipping val loop.\n",
" rank_zero_warn(\n",
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n",
"\n",
" | Name | Type | Params\n",
"-----------------------------------\n",
"0 | model | TFTModel | 93.2 K\n",
"-----------------------------------\n",
"93.2 K Trainable params\n",
"0 Non-trainable params\n",
"93.2 K Total params\n",
"0.373 Total estimated model params size (MB)\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bb103ecb6cfb4d42b00bfdac4dfddac6",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Training: 0it [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Epoch 0, global step 200: 'train_loss' reached -2.59856 (best -2.59856), saving model to './lightning_logs/version_41/checkpoints/epoch=0-step=200.ckpt' as top 1\n",
"Epoch 1, global step 400: 'train_loss' reached -3.79581 (best -3.79581), saving model to './lightning_logs/version_41/checkpoints/epoch=1-step=400.ckpt' as top 1\n",
"Epoch 2, global step 600: 'train_loss' reached -4.05098 (best -4.05098), saving model to './lightning_logs/version_41/checkpoints/epoch=2-step=600.ckpt' as top 1\n",
"Epoch 3, global step 800: 'train_loss' reached -4.17670 (best -4.17670), saving model to './lightning_logs/version_41/checkpoints/epoch=3-step=800.ckpt' as top 1\n",
"Epoch 4, global step 1000: 'train_loss' reached -4.23045 (best -4.23045), saving model to './lightning_logs/version_41/checkpoints/epoch=4-step=1000.ckpt' as top 1\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py:48: UserWarning: Detected KeyboardInterrupt, attempting graceful shutdown...\n",
" rank_zero_warn(\"Detected KeyboardInterrupt, attempting graceful shutdown...\")\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
" rank_zero_warn(\n"
]
}
],
"source": [
"predictor = estimator.train(\n",
" training_data=dataset.train,\n",
" shuffle_buffer_length=1024,\n",
" num_workers=8,\n",
" cache_data=True,\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "f8a362b6",
"metadata": {},
"outputs": [],
"source": [
"forecast_it, ts_it = make_evaluation_predictions(\n",
" dataset=dataset.test,\n",
" predictor=predictor,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "5fdc12da",
"metadata": {},
"outputs": [],
"source": [
"forecasts = list(forecast_it)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "4b7d3409",
"metadata": {},
"outputs": [],
"source": [
"tss = list(ts_it)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "9b154bde",
"metadata": {},
"outputs": [],
"source": [
"evaluator = Evaluator()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "0fdec8a7",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n",
"Running evaluation: 40it [00:00, 133.81it/s]\n"
]
}
],
"source": [
"agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "4adbf8d9",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'MSE': 0.0007768019271196635,\n",
" 'abs_error': 24.153231034986675,\n",
" 'abs_target_sum': 975.9766580164433,\n",
" 'abs_target_mean': 0.8133138816803693,\n",
" 'seasonal_error': 0.006515919403041842,\n",
" 'MASE': 4.859690570378005,\n",
" 'MAPE': 0.026359366600712142,\n",
" 'sMAPE': 0.025865982671578726,\n",
" 'MSIS': 28.667572757335584,\n",
" 'QuantileLoss[0.1]': 13.229250066354872,\n",
" 'Coverage[0.1]': 0.5941666666666666,\n",
" 'QuantileLoss[0.2]': 19.524527779966593,\n",
" 'Coverage[0.2]': 0.7708333333333334,\n",
" 'QuantileLoss[0.3]': 22.889725703932342,\n",
" 'Coverage[0.3]': 0.8866666666666667,\n",
" 'QuantileLoss[0.4]': 24.396077957376836,\n",
" 'Coverage[0.4]': 0.9458333333333334,\n",
" 'QuantileLoss[0.5]': 24.153230977244675,\n",
" 'Coverage[0.5]': 0.9733333333333334,\n",
" 'QuantileLoss[0.6]': 22.207836651802065,\n",
" 'Coverage[0.6]': 0.9850000000000001,\n",
" 'QuantileLoss[0.7]': 19.237755538709465,\n",
" 'Coverage[0.7]': 0.9891666666666665,\n",
" 'QuantileLoss[0.8]': 14.866606407612558,\n",
" 'Coverage[0.8]': 0.9975000000000002,\n",
" 'QuantileLoss[0.9]': 8.850234366022049,\n",
" 'Coverage[0.9]': 0.9991666666666668,\n",
" 'RMSE': 0.027871166590576424,\n",
" 'NRMSE': 0.034268647343129614,\n",
" 'ND': 0.024747754812164516,\n",
" 'wQuantileLoss[0.1]': 0.013554883672363387,\n",
" 'wQuantileLoss[0.2]': 0.020005117560544818,\n",
" 'wQuantileLoss[0.3]': 0.023453148716131175,\n",
" 'wQuantileLoss[0.4]': 0.024996579331066145,\n",
" 'wQuantileLoss[0.5]': 0.024747754753001214,\n",
" 'wQuantileLoss[0.6]': 0.02275447519097112,\n",
" 'wQuantileLoss[0.7]': 0.01971128651560983,\n",
" 'wQuantileLoss[0.8]': 0.01523254299731632,\n",
" 'wQuantileLoss[0.9]': 0.009068079951839319,\n",
" 'mean_absolute_QuantileLoss': 18.81724949433572,\n",
" 'mean_wQuantileLoss': 0.019280429854315925,\n",
" 'MAE_Coverage': 0.4046296296296296,\n",
" 'OWA': nan}"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"agg_metrics"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "cc3f804d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 2000x1500 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(20, 15))\n",
"date_formater = mdates.DateFormatter('%b, %d')\n",
"plt.rcParams.update({'font.size': 15})\n",
"\n",
"for idx, (forecast, ts) in islice(enumerate(zip(forecasts, tss)), 9):\n",
" ax = plt.subplot(3, 3, idx+1)\n",
"\n",
" plt.plot(ts[-4 * dataset.metadata.prediction_length:].to_timestamp(), label=\"target\", )\n",
" forecast.plot( color='g')\n",
" plt.xticks(rotation=60)\n",
" ax.xaxis.set_major_formatter(date_formater)\n",
" ax.set_title(forecast.item_id)\n",
"\n",
"plt.gcf().tight_layout()\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "6f03bfd2",
"metadata": {},
"outputs": [],
"source": [
"metrics = pd.read_csv(\"lightning_logs/version_34/metrics.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "8e76b769",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>train_perplexity</th>\n",
" <th>epoch</th>\n",
" <th>step</th>\n",
" <th>val_loss</th>\n",
" <th>train_loss</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1.077298</td>\n",
" <td>0</td>\n",
" <td>49</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1.052201</td>\n",
" <td>0</td>\n",
" <td>99</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>99</td>\n",
" <td>-3.059156</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>99</td>\n",
" <td>NaN</td>\n",
" <td>-1.421714</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1.064031</td>\n",
" <td>1</td>\n",
" <td>149</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>395</th>\n",
" <td>NaN</td>\n",
" <td>98</td>\n",
" <td>9899</td>\n",
" <td>NaN</td>\n",
" <td>-4.208968</td>\n",
" </tr>\n",
" <tr>\n",
" <th>396</th>\n",
" <td>27.830784</td>\n",
" <td>99</td>\n",
" <td>9949</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>397</th>\n",
" <td>26.394091</td>\n",
" <td>99</td>\n",
" <td>9999</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>398</th>\n",
" <td>NaN</td>\n",
" <td>99</td>\n",
" <td>9999</td>\n",
" <td>-4.432779</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>399</th>\n",
" <td>NaN</td>\n",
" <td>99</td>\n",
" <td>9999</td>\n",
" <td>NaN</td>\n",
" <td>-4.266188</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>400 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" train_perplexity epoch step val_loss train_loss\n",
"0 1.077298 0 49 NaN NaN\n",
"1 1.052201 0 99 NaN NaN\n",
"2 NaN 0 99 -3.059156 NaN\n",
"3 NaN 0 99 NaN -1.421714\n",
"4 1.064031 1 149 NaN NaN\n",
".. ... ... ... ... ...\n",
"395 NaN 98 9899 NaN -4.208968\n",
"396 27.830784 99 9949 NaN NaN\n",
"397 26.394091 99 9999 NaN NaN\n",
"398 NaN 99 9999 -4.432779 NaN\n",
"399 NaN 99 9999 NaN -4.266188\n",
"\n",
"[400 rows x 5 columns]"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metrics"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "ad490889",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'perplexity')"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = metrics.train_perplexity.dropna().plot(kind=\"line\")\n",
"ax.set_xlabel(\"training steps\")\n",
"ax.set_ylabel(\"perplexity\")"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "f1185a0f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'val neg. log likelihood')"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = metrics.val_loss.dropna().plot()\n",
"ax.set_xlabel(\"training steps\")\n",
"ax.set_ylabel(\"val neg. log likelihood\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "d887cb3b",
"metadata": {},
"outputs": [],
"source": [
"X = predictor.prediction_net.vq_vae.embed.cpu()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "ae16d4bd",
"metadata": {},
"outputs": [],
"source": [
"X_embedded = TSNE(n_components=2, learning_rate='auto', init='random').fit_transform(X)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "8feaef88",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f14dc058370>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X_embedded[:,0], X_embedded[:,1], alpha=1.0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "50a0e3d3",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
+732
View File
@@ -0,0 +1,732 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "7c64affd",
"metadata": {},
"outputs": [],
"source": [
"from itertools import islice"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8aa55868",
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from matplotlib import pyplot as plt\n",
"import matplotlib.dates as mdates\n",
"\n",
"import pandas as pd\n",
"from sklearn.manifold import TSNE"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6a730716",
"metadata": {},
"outputs": [],
"source": [
"from gluonts.dataset.repository.datasets import get_dataset\n",
"from gluonts.dataset.common import ListDataset\n",
"from gluonts.evaluation import make_evaluation_predictions, Evaluator\n",
"from gluonts.torch.distributions import NegativeBinomialOutput\n",
"\n",
"from pytorch_lightning.loggers import CSVLogger\n",
"from datasets import load_dataset\n",
"\n",
"from estimator import TFTEstimator"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fc889c9f",
"metadata": {},
"outputs": [],
"source": [
"dataset = get_dataset(\"taxi_30min\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1717d0d2",
"metadata": {},
"outputs": [],
"source": [
"estimator = TFTEstimator(\n",
" freq=dataset.metadata.freq,\n",
" prediction_length=dataset.metadata.prediction_length,\n",
" context_length=dataset.metadata.prediction_length*6,\n",
" \n",
" scaling=True,\n",
" num_feat_static_cat=len(dataset.metadata.feat_static_cat),\n",
" cardinality=[int(cat_feat_info.cardinality) for cat_feat_info in dataset.metadata.feat_static_cat],\n",
" \n",
" distr_output=NegativeBinomialOutput(),\n",
" \n",
" batch_size=256,\n",
" num_batches_per_epoch=200,\n",
" trainer_kwargs=dict(gpus=\"1\", max_epochs=100, logger=CSVLogger(\".\", \"lightning_logs/\")),\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c77b420c",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
" rank_zero_warn(\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/accelerator_connector.py:446: LightningDeprecationWarning: Setting `Trainer(gpus='1')` is deprecated in v1.7 and will be removed in v2.0. Please use `Trainer(accelerator='gpu', devices='1')` instead.\n",
" rank_zero_deprecation(\n",
"GPU available: True (cuda), used: True\n",
"TPU available: False, using: 0 TPU cores\n",
"IPU available: False, using: 0 IPUs\n",
"HPU available: False, using: 0 HPUs\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/configuration_validator.py:108: PossibleUserWarning: You defined a `validation_step` but have no `val_dataloader`. Skipping val loop.\n",
" rank_zero_warn(\n",
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n",
"\n",
" | Name | Type | Params\n",
"-----------------------------------\n",
"0 | model | TFTModel | 132 K \n",
"-----------------------------------\n",
"132 K Trainable params\n",
"0 Non-trainable params\n",
"132 K Total params\n",
"0.531 Total estimated model params size (MB)\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "787424ceb64e42198410daa88c16bda4",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Training: 0it [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Epoch 0, global step 200: 'train_loss' reached 2.69401 (best 2.69401), saving model to './lightning_logs/version_43/checkpoints/epoch=0-step=200.ckpt' as top 1\n",
"Epoch 1, global step 400: 'train_loss' reached 2.46968 (best 2.46968), saving model to './lightning_logs/version_43/checkpoints/epoch=1-step=400.ckpt' as top 1\n",
"Epoch 2, global step 600: 'train_loss' reached 2.43729 (best 2.43729), saving model to './lightning_logs/version_43/checkpoints/epoch=2-step=600.ckpt' as top 1\n",
"Epoch 3, global step 800: 'train_loss' reached 2.41880 (best 2.41880), saving model to './lightning_logs/version_43/checkpoints/epoch=3-step=800.ckpt' as top 1\n",
"Epoch 4, global step 1000: 'train_loss' reached 2.41059 (best 2.41059), saving model to './lightning_logs/version_43/checkpoints/epoch=4-step=1000.ckpt' as top 1\n",
"Epoch 5, global step 1200: 'train_loss' reached 2.39735 (best 2.39735), saving model to './lightning_logs/version_43/checkpoints/epoch=5-step=1200.ckpt' as top 1\n",
"Epoch 6, global step 1400: 'train_loss' reached 2.39200 (best 2.39200), saving model to './lightning_logs/version_43/checkpoints/epoch=6-step=1400.ckpt' as top 1\n",
"Epoch 7, global step 1600: 'train_loss' was not in top 1\n",
"Epoch 8, global step 1800: 'train_loss' reached 2.38845 (best 2.38845), saving model to './lightning_logs/version_43/checkpoints/epoch=8-step=1800.ckpt' as top 1\n",
"Epoch 9, global step 2000: 'train_loss' reached 2.37835 (best 2.37835), saving model to './lightning_logs/version_43/checkpoints/epoch=9-step=2000.ckpt' as top 1\n",
"Epoch 10, global step 2200: 'train_loss' was not in top 1\n",
"Epoch 11, global step 2400: 'train_loss' reached 2.37698 (best 2.37698), saving model to './lightning_logs/version_43/checkpoints/epoch=11-step=2400.ckpt' as top 1\n",
"Epoch 12, global step 2600: 'train_loss' was not in top 1\n",
"Epoch 13, global step 2800: 'train_loss' reached 2.37075 (best 2.37075), saving model to './lightning_logs/version_43/checkpoints/epoch=13-step=2800.ckpt' as top 1\n",
"Epoch 14, global step 3000: 'train_loss' reached 2.37018 (best 2.37018), saving model to './lightning_logs/version_43/checkpoints/epoch=14-step=3000.ckpt' as top 1\n",
"Epoch 15, global step 3200: 'train_loss' was not in top 1\n",
"Epoch 16, global step 3400: 'train_loss' reached 2.36749 (best 2.36749), saving model to './lightning_logs/version_43/checkpoints/epoch=16-step=3400.ckpt' as top 1\n",
"Epoch 17, global step 3600: 'train_loss' was not in top 1\n",
"Epoch 18, global step 3800: 'train_loss' reached 2.36432 (best 2.36432), saving model to './lightning_logs/version_43/checkpoints/epoch=18-step=3800.ckpt' as top 1\n",
"Epoch 19, global step 4000: 'train_loss' was not in top 1\n",
"Epoch 20, global step 4200: 'train_loss' reached 2.36349 (best 2.36349), saving model to './lightning_logs/version_43/checkpoints/epoch=20-step=4200.ckpt' as top 1\n",
"Epoch 21, global step 4400: 'train_loss' was not in top 1\n",
"Epoch 22, global step 4600: 'train_loss' was not in top 1\n",
"Epoch 23, global step 4800: 'train_loss' was not in top 1\n",
"Epoch 24, global step 5000: 'train_loss' reached 2.36302 (best 2.36302), saving model to './lightning_logs/version_43/checkpoints/epoch=24-step=5000.ckpt' as top 1\n",
"Epoch 25, global step 5200: 'train_loss' reached 2.35860 (best 2.35860), saving model to './lightning_logs/version_43/checkpoints/epoch=25-step=5200.ckpt' as top 1\n",
"Epoch 26, global step 5400: 'train_loss' was not in top 1\n",
"Epoch 27, global step 5600: 'train_loss' reached 2.35643 (best 2.35643), saving model to './lightning_logs/version_43/checkpoints/epoch=27-step=5600.ckpt' as top 1\n",
"Epoch 28, global step 5800: 'train_loss' was not in top 1\n",
"Epoch 29, global step 6000: 'train_loss' reached 2.35494 (best 2.35494), saving model to './lightning_logs/version_43/checkpoints/epoch=29-step=6000.ckpt' as top 1\n",
"Epoch 30, global step 6200: 'train_loss' reached 2.35465 (best 2.35465), saving model to './lightning_logs/version_43/checkpoints/epoch=30-step=6200.ckpt' as top 1\n",
"Epoch 31, global step 6400: 'train_loss' was not in top 1\n",
"Epoch 32, global step 6600: 'train_loss' was not in top 1\n",
"Epoch 33, global step 6800: 'train_loss' reached 2.35422 (best 2.35422), saving model to './lightning_logs/version_43/checkpoints/epoch=33-step=6800.ckpt' as top 1\n",
"Epoch 34, global step 7000: 'train_loss' reached 2.34978 (best 2.34978), saving model to './lightning_logs/version_43/checkpoints/epoch=34-step=7000.ckpt' as top 1\n",
"Epoch 35, global step 7200: 'train_loss' was not in top 1\n",
"Epoch 36, global step 7400: 'train_loss' was not in top 1\n",
"Epoch 37, global step 7600: 'train_loss' was not in top 1\n",
"Epoch 38, global step 7800: 'train_loss' was not in top 1\n",
"Epoch 39, global step 8000: 'train_loss' reached 2.34943 (best 2.34943), saving model to './lightning_logs/version_43/checkpoints/epoch=39-step=8000.ckpt' as top 1\n",
"Epoch 40, global step 8200: 'train_loss' reached 2.34826 (best 2.34826), saving model to './lightning_logs/version_43/checkpoints/epoch=40-step=8200.ckpt' as top 1\n",
"Epoch 41, global step 8400: 'train_loss' reached 2.34693 (best 2.34693), saving model to './lightning_logs/version_43/checkpoints/epoch=41-step=8400.ckpt' as top 1\n",
"Epoch 42, global step 8600: 'train_loss' was not in top 1\n",
"Epoch 43, global step 8800: 'train_loss' reached 2.34600 (best 2.34600), saving model to './lightning_logs/version_43/checkpoints/epoch=43-step=8800.ckpt' as top 1\n",
"Epoch 44, global step 9000: 'train_loss' was not in top 1\n",
"Epoch 45, global step 9200: 'train_loss' was not in top 1\n",
"Epoch 46, global step 9400: 'train_loss' was not in top 1\n",
"Epoch 47, global step 9600: 'train_loss' reached 2.34562 (best 2.34562), saving model to './lightning_logs/version_43/checkpoints/epoch=47-step=9600.ckpt' as top 1\n",
"Epoch 48, global step 9800: 'train_loss' was not in top 1\n",
"Epoch 49, global step 10000: 'train_loss' was not in top 1\n",
"Epoch 50, global step 10200: 'train_loss' reached 2.34265 (best 2.34265), saving model to './lightning_logs/version_43/checkpoints/epoch=50-step=10200.ckpt' as top 1\n",
"Epoch 51, global step 10400: 'train_loss' was not in top 1\n",
"Epoch 52, global step 10600: 'train_loss' was not in top 1\n",
"Epoch 53, global step 10800: 'train_loss' was not in top 1\n",
"Epoch 54, global step 11000: 'train_loss' was not in top 1\n",
"Epoch 55, global step 11200: 'train_loss' was not in top 1\n",
"Epoch 56, global step 11400: 'train_loss' reached 2.34115 (best 2.34115), saving model to './lightning_logs/version_43/checkpoints/epoch=56-step=11400.ckpt' as top 1\n",
"Epoch 57, global step 11600: 'train_loss' reached 2.34075 (best 2.34075), saving model to './lightning_logs/version_43/checkpoints/epoch=57-step=11600.ckpt' as top 1\n",
"Epoch 58, global step 11800: 'train_loss' was not in top 1\n",
"Epoch 59, global step 12000: 'train_loss' was not in top 1\n",
"Epoch 60, global step 12200: 'train_loss' reached 2.33944 (best 2.33944), saving model to './lightning_logs/version_43/checkpoints/epoch=60-step=12200.ckpt' as top 1\n",
"Epoch 61, global step 12400: 'train_loss' was not in top 1\n",
"Epoch 62, global step 12600: 'train_loss' was not in top 1\n",
"Epoch 63, global step 12800: 'train_loss' reached 2.33865 (best 2.33865), saving model to './lightning_logs/version_43/checkpoints/epoch=63-step=12800.ckpt' as top 1\n",
"Epoch 64, global step 13000: 'train_loss' was not in top 1\n",
"Epoch 65, global step 13200: 'train_loss' was not in top 1\n",
"Epoch 66, global step 13400: 'train_loss' was not in top 1\n",
"Epoch 67, global step 13600: 'train_loss' was not in top 1\n",
"Epoch 68, global step 13800: 'train_loss' was not in top 1\n",
"Epoch 69, global step 14000: 'train_loss' was not in top 1\n",
"Epoch 70, global step 14200: 'train_loss' was not in top 1\n",
"Epoch 71, global step 14400: 'train_loss' was not in top 1\n",
"Epoch 72, global step 14600: 'train_loss' was not in top 1\n",
"Epoch 73, global step 14800: 'train_loss' reached 2.33861 (best 2.33861), saving model to './lightning_logs/version_43/checkpoints/epoch=73-step=14800.ckpt' as top 1\n",
"Epoch 74, global step 15000: 'train_loss' was not in top 1\n",
"Epoch 75, global step 15200: 'train_loss' reached 2.33739 (best 2.33739), saving model to './lightning_logs/version_43/checkpoints/epoch=75-step=15200.ckpt' as top 1\n",
"Epoch 76, global step 15400: 'train_loss' was not in top 1\n",
"Epoch 77, global step 15600: 'train_loss' reached 2.33529 (best 2.33529), saving model to './lightning_logs/version_43/checkpoints/epoch=77-step=15600.ckpt' as top 1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Epoch 78, global step 15800: 'train_loss' reached 2.33274 (best 2.33274), saving model to './lightning_logs/version_43/checkpoints/epoch=78-step=15800.ckpt' as top 1\n",
"Epoch 79, global step 16000: 'train_loss' was not in top 1\n",
"Epoch 80, global step 16200: 'train_loss' was not in top 1\n",
"Epoch 81, global step 16400: 'train_loss' was not in top 1\n",
"Epoch 82, global step 16600: 'train_loss' was not in top 1\n",
"Epoch 83, global step 16800: 'train_loss' was not in top 1\n",
"Epoch 84, global step 17000: 'train_loss' was not in top 1\n",
"Epoch 85, global step 17200: 'train_loss' was not in top 1\n",
"Epoch 86, global step 17400: 'train_loss' was not in top 1\n",
"Epoch 87, global step 17600: 'train_loss' was not in top 1\n",
"Epoch 88, global step 17800: 'train_loss' was not in top 1\n",
"Epoch 89, global step 18000: 'train_loss' was not in top 1\n",
"Epoch 90, global step 18200: 'train_loss' was not in top 1\n",
"Epoch 91, global step 18400: 'train_loss' was not in top 1\n",
"Epoch 92, global step 18600: 'train_loss' was not in top 1\n",
"Epoch 93, global step 18800: 'train_loss' was not in top 1\n",
"Epoch 94, global step 19000: 'train_loss' was not in top 1\n",
"Epoch 95, global step 19200: 'train_loss' was not in top 1\n",
"Epoch 96, global step 19400: 'train_loss' reached 2.33069 (best 2.33069), saving model to './lightning_logs/version_43/checkpoints/epoch=96-step=19400.ckpt' as top 1\n",
"Epoch 97, global step 19600: 'train_loss' was not in top 1\n",
"Epoch 98, global step 19800: 'train_loss' reached 2.33055 (best 2.33055), saving model to './lightning_logs/version_43/checkpoints/epoch=98-step=19800.ckpt' as top 1\n",
"Epoch 99, global step 20000: 'train_loss' was not in top 1\n",
"`Trainer.fit` stopped: `max_epochs=100` reached.\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
" rank_zero_warn(\n"
]
}
],
"source": [
"predictor = estimator.train(\n",
" training_data=dataset.train,\n",
" shuffle_buffer_length=1024,\n",
" num_workers=8,\n",
" cache_data=True,\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "f8a362b6",
"metadata": {},
"outputs": [],
"source": [
"forecast_it, ts_it = make_evaluation_predictions(\n",
" dataset=dataset.test,\n",
" predictor=predictor,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "5fdc12da",
"metadata": {},
"outputs": [],
"source": [
"forecasts = list(forecast_it)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "4b7d3409",
"metadata": {},
"outputs": [],
"source": [
"tss = list(ts_it)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "9b154bde",
"metadata": {},
"outputs": [],
"source": [
"evaluator = Evaluator()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0fdec8a7",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Running evaluation: 67984it [00:00, 142854.71it/s]\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pandas/core/dtypes/astype.py:170: UserWarning: Warning: converting a masked element to nan.\n",
" return arr.astype(dtype, copy=True)\n"
]
}
],
"source": [
"agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "7f28f4d3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'MSE': 22.191201126986023,\n",
" 'abs_error': 4706165.0,\n",
" 'abs_target_sum': 12453360.0,\n",
" 'abs_target_mean': 7.632531183807954,\n",
" 'seasonal_error': 3.785588038176638,\n",
" 'MASE': 0.7679662683022549,\n",
" 'MAPE': 0.6227120212137879,\n",
" 'sMAPE': 0.5840053151562108,\n",
" 'MSIS': 6.27759755717319,\n",
" 'QuantileLoss[0.1]': 2030002.1999999997,\n",
" 'Coverage[0.1]': 0.09591717659057032,\n",
" 'QuantileLoss[0.2]': 3154084.4000000004,\n",
" 'Coverage[0.2]': 0.17071234898407467,\n",
" 'QuantileLoss[0.3]': 3942794.8,\n",
" 'Coverage[0.3]': 0.25098491311681176,\n",
" 'QuantileLoss[0.4]': 4454392.8,\n",
" 'Coverage[0.4]': 0.3367986094767396,\n",
" 'QuantileLoss[0.5]': 4706165.0,\n",
" 'Coverage[0.5]': 0.4278427031850631,\n",
" 'QuantileLoss[0.6]': 4687974.8,\n",
" 'Coverage[0.6]': 0.5141883874637169,\n",
" 'QuantileLoss[0.7]': 4387994.800000001,\n",
" 'Coverage[0.7]': 0.6137902545697027,\n",
" 'QuantileLoss[0.8]': 3745909.9999999995,\n",
" 'Coverage[0.8]': 0.7175101249313564,\n",
" 'QuantileLoss[0.9]': 2630104.599999999,\n",
" 'Coverage[0.9]': 0.8267594826233622,\n",
" 'RMSE': 4.710753774820546,\n",
" 'NRMSE': 0.6171941733843397,\n",
" 'ND': 0.37790323254125796,\n",
" 'wQuantileLoss[0.1]': 0.16300839291564684,\n",
" 'wQuantileLoss[0.2]': 0.2532717595893799,\n",
" 'wQuantileLoss[0.3]': 0.3166049002036398,\n",
" 'wQuantileLoss[0.4]': 0.3576860220856058,\n",
" 'wQuantileLoss[0.5]': 0.37790323254125796,\n",
" 'wQuantileLoss[0.6]': 0.3764425665041402,\n",
" 'wQuantileLoss[0.7]': 0.3523542883205818,\n",
" 'wQuantileLoss[0.8]': 0.3007951267770304,\n",
" 'wQuantileLoss[0.9]': 0.21119638394778592,\n",
" 'mean_absolute_QuantileLoss': 3748824.822222222,\n",
" 'mean_wQuantileLoss': 0.3010291858761187,\n",
" 'MAE_Coverage': 0.06061066656206693,\n",
" 'OWA': nan}"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"agg_metrics"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "cc3f804d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB6MAAAXCCAYAAABex0hbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9ebgsZXkv/H977rV6jXve7Am2IAEFFQ8EGTTihEcjSpQT1BwgijG8yaVRjJITfxJJLnICRH0jSUxeg54IaBwxGjUIijkio0EIm3nDnvde8+q5qrurfn9UPVXV1VXVVd1VPa3v57q4dK/Va62n1x7W08/9fO87pqqqCiIiIiIiIiIiIiIiIiIiohDF+70AIiIiIiIiIiIiIiIiIiIaPSxGExERERERERERERERERFR6FiMJiIiIiIiIiIiIiIiIiKi0LEYTUREREREREREREREREREoWMxmoiIiIiIiIiIiIiIiIiIQsdiNBERERERERERERERERERhY7FaCIiIiIiIiIiIiIiIiIiCh2L0UREREREREREREREREREFDoWo4mIiIiIiIiIiIiIiIiIKHQsRhMRERERERERERERERERUehYjCYiCqBQKODaa6/FaaedhomJCUxPT+PMM8/ETTfdBFmW+708IiIiIhpA5XIZP/jBD/Dnf/7nuPjii7Fr1y7EYjHEYjFce+21/V4eEREREQ24xcVF3HLLLXjve9+LU089FblcDplMBtu3b8fb3/52fPvb3+73EomIXMVUVVX7vQgiomGwb98+/MZv/AZeeOEFAMD4+DgajQYkSQIAvOIVr8Bdd92F2dnZPq6SiIiIiAbNT3/6U7z2ta91fN+nPvUpFqSJiIiIyFMqlUK9Xjd+nc1mkUgkUCqVjLe9+c1vxje+8Q2Mj4/3Y4lERK6YjCYi8qFer+M3f/M38cILL2Dr1q248847USqVUC6X8dWvfhWTk5P4z//8T7z3ve/t91KJiIiIaADNzs7ida97HT72sY/h9ttvx5YtW/q9JCIiIiIaEvV6HWeddRb+9m//Fs899xwqlQqKxSKef/55vO997wMA/OAHP8Dv/d7v9XmlREStmIwmIvLhi1/8It7//vcDAO6991686lWvanr/7bffjne/+90AgB//+Md43ete1/M1EhEREdFgajQaSCQSTW87/vjjsW/fPiajiYiIiKitn/zkJ66ddgDggx/8IL7whS8AAPbv348dO3b0amlERG0xGU1E5MOXv/xlAMBrX/valkI0APz2b/82TjjhBADA//k//6enayMiIiKiwWYvRBMRERERBeFViAZgpKMB4KGHHop6OUREgbAYTUTURrlcxs9//nMA2uwVJ7FYDBdeeCEA4N///d97tjYiIiIiIiIiIiJa27LZrPH/G41GH1dCRNSKxWgiojaeeOIJKIoCAHjpS1/q+jjxvqNHj2JpaaknayMiIiIiIiIiIqK17ac//anx/0877bT+LYSIyAGL0UREbRw+fNj4/9u2bXN9nPV91o8hIiIiIiIiIiIiisLKygquv/56AMD555+Pk08+uc8rIiJqxmI0EVEbhULB+P/j4+Ouj7O+z/oxRERERERERERERGFTFAW/8zu/gyNHjiCbzeLzn/98v5dERNSCxWgiIiIiIiIiIiIiIqIh86EPfQjf+973AAA333wzTj/99D6viIioFYvRRERtTE5OGv+/XC67Ps76PuvHEBEREREREREREYXp6quvNpLQn/nMZ/C7v/u7fV4REZEzFqOJiNo47rjjjP9/6NAh18dZ32f9GCIiIiIiIiIiIqKw/PEf/zFuuukmAMCNN96ID3/4w/1dEBGRBxajiYjaOOWUUxCPa/9c/td//Zfr48T7tmzZgnXr1vVkbURERERERERERLR2fOxjH8MNN9wAAPirv/orfPSjH+3zioiIvLEYTUTUxvj4OM4991wAwA9/+EPHx6iqih/96EcAgDe+8Y09WxsRERERERERERGtDVdffTVuvPFGAFoh+mMf+1ifV0RE1B6L0UREPlx22WUAgJ/85Ce4//77W97/9a9/HXv37gUA/M//+T97ujYiIiIiIiIiIiIabVdffXVTa24WooloWLAYTUTkw2WXXYbTTjsNqqrit37rt3DXXXcBABRFwde//nVceeWVAIA3v/nNeN3rXtfPpRIRERHRAFpeXsbCwoLxn6IoAIByudz09mKx2OeVEhEREdGgsc6I/uu//mu25iaioRJTVVXt9yKIiIbBCy+8gNe+9rV44YUXAGjtuxVFQbVaBQC84hWvwF133YXZ2dk+rpKIiIiIBtHxxx+Pffv2tX3cZZddhi996UvRL4iIiIiIhsL+/fuxa9cuAEA8HsfGjRs9H3/11Vfj6quv7sXSiIh8SfZ7AUREw+L444/Ho48+ihtvvBHf+ta38PzzzyOVSuElL3kJLr30UvzhH/4h0ul0v5dJREREREREREREI0J01BH//9ixY56PZ6cdIho0TEYTEREREREREREREREREVHoODOaiIiIiIiIiIiIiIiIiIhCx2I0ERERERERERERERERERGFLnAxulwu4zvf+Q7e97734eSTT0Y2m0Uul8PLXvYyfPrTn3acR3DttdciFou5/veJT3wilCdDRERERERERERERERERESDIRn0A2677TZceeWVAIBTTjkFb3vb25DP53HvvffiU5/6FG6//Xbcc8892LRpU8vHnnvuuTjxxBNb3v7KV76yg6UTEREREREREREREREREdGgClyMTqVS+MAHPoAPf/jDOOWUU4y3HzlyBG95y1vwn//5n/jwhz+M2267reVj3//+9+Pyyy/vasFERERERERERERERERERDT4AhejL7vsMlx22WUtb9+6dStuvvlmnHPOOfjWt74FWZaRTqdDWaSdoig4fPgwJicnEYvFIvkaRERERINOVVUUCgUcd9xxiMcDT19Zs7iXJCIiIuJeshvcTxIREdFaF2QvGbgY7eVlL3sZAECSJCwuLmLr1q1hfnrD4cOHsWPHjkg+NxEREdGwOXDgALZv397vZQwN7iWJiIiITNxLBsf9JBEREZHGz14y1GL03r17AWitvNetW9fy/rvvvhuPPPIIqtUqtm/fjje/+c0dzYuenJwEoD3Bqamp7hZNRERENKTy+Tx27Nhh7I3IH+4liYiIiLiX7Ab3k0RERLTWBdlLhlqM/tznPgcAuPDCC5HJZFre/8///M9Nv/7kJz+J3/qt38KXvvQlTExMuH5eSZIgSZLx60KhAACYmpriho+IiIjWPLYGDEZ8v7iXJCIiIuJeshPcTxIRERFp/OwlQxsI82//9m/44he/iFQqheuuu67pfSeeeCJuvPFGPP744ygWizhw4ABuvfVWbNu2Dd/85jfxO7/zO56f+/rrr8f09LTxH9vgEBERERERERERERERERENtpiqqmq3n+TJJ5/EOeecg+XlZXz2s5/Fhz70IV8fd+TIEZx22mlYXFzEL37xC5x99tmOj7Mno0X0e3V1lbcPiYiIaM3K5/OYnp7mniggft+IiIiIuCfqBr93REREtNYF2Q91nYw+dOgQLrzwQiwvL+MjH/mI70I0AGzduhVXXHEFAOCHP/yh6+MymYzR9obtb4iIiIiIiIiIiIiIiIiIBl9XxeilpSW88Y1vxL59+3DFFVfgxhtvDPw5TjrpJABaSpqIiIiIiIiIiIiIiIiIiEZDx8XoYrGIN7/5zdizZw8uvvhi/OM//qOvIdV2y8vLAIBcLtfpUoiIiIiIiIiIiIiIiIiIaMB0VIyWJAkXXXQRHnjgAbzpTW/C7bffjkQiEfjzqKqKb3/72wCAM844o5OlEBERERERERERERERERHRAApcjG40Grj00ktx99134/zzz8e3vvUtpNNp18fPz8/j5ptvRqFQaHp7sVjE7//+7+P+++/Hli1bcPHFFwdfPRERERERERERERERERERDaRk0A/4/Oc/b6SZN2zYgKuuusrxcTfeeCM2bNiAUqmEP/iDP8AnPvEJnHnmmdi6dSvm5+fxy1/+EouLi5iZmcE3vvENjI+Pd/dMiIiIiGjgPfzww7jzzjvxwAMP4IEHHsChQ4cAaB1z7BRFwc9//nP867/+K+666y48/fTTkGUZ27dvxxve8AZ8/OMfxwknnNDrp0BEREREREREREQ+BS5GixnPAIyitJNrr70WGzZswPr16/Hxj38c9913H55++mnce++9SCQSOOGEE3D55Zfjj/7oj7Bt27bOVk9EREREQ+W6667DHXfc4euxe/fuxatf/WoAwJYtW3DBBRcgkUjggQcewBe+8AXcdttt+Ld/+zecd955US6ZiIiIiIiIiIiIOhRTnWIoAy6fz2N6ehqrq6uYmprq93KIiIiI+mIY90T/+3//b5RKJZx55pk488wzcfzxx0OSJMdk9HPPPYff//3fxyc+8Qm89rWvRSwWAwBIkoQPfvCD+NKXvoSdO3fi2WefRSqV8r2GYfy+EREREYWNe6LO8XtHREREa12Q/RCL0URERERDahT2RNls1rUY7aVSqWDr1q1YXV3FT3/6U7zmNa/x/bGj8H0jIiIi6hb3RJ3j946IiIjWuiD7oXiP1kREREREFJqxsTG8+MUvBgAcPny4z6shIiIiIiIiIiIiJ4FnRhO1I9UbePpoES/dNmW004zScknGfFHCizdPRv61iIiIaDAoioJ9+/YB0OZJExH1y1NHC9g6k8VU1v+4ACIiIqK1QFVVPHGkgJ3rxzGRGe5SxGMHV3E0X215++apDE7bNt2Tc3AiomE13D8BaCDd9O9P4x9+thd/954z8ObTtkb+9X73yw/iVwdW8NOrX4ud68cj/3pERETUf7fffjvm5uawceNGnHPOOZ6PlSQJkiQZv87n81Evj4jWiGfninjTZ3+GV794I/7P757V7+UQERERDZRHD67iopt/jrecvhU3v/uLine truncated
"text/plain": [
"<Figure size 2000x1500 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(20, 15))\n",
"date_formater = mdates.DateFormatter('%b, %d')\n",
"plt.rcParams.update({'font.size': 15})\n",
"\n",
"for idx, (forecast, ts) in islice(enumerate(zip(forecasts, tss)), 9):\n",
" ax = plt.subplot(3, 3, idx+1)\n",
"\n",
" plt.plot(ts[-4 * dataset.metadata.prediction_length:].to_timestamp(), label=\"target\", )\n",
" forecast.plot( color='g')\n",
" plt.xticks(rotation=60)\n",
" ax.xaxis.set_major_formatter(date_formater)\n",
" ax.set_title(forecast.item_id)\n",
"\n",
"plt.gcf().tight_layout()\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "6f03bfd2",
"metadata": {},
"outputs": [],
"source": [
"metrics = pd.read_csv(\"lightning_logs/version_86/metrics.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "8e76b769",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>train_perplexity</th>\n",
" <th>epoch</th>\n",
" <th>step</th>\n",
" <th>val_loss</th>\n",
" <th>train_loss</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2.042362</td>\n",
" <td>0</td>\n",
" <td>49</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2.050069</td>\n",
" <td>0</td>\n",
" <td>99</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2.743227</td>\n",
" <td>0</td>\n",
" <td>149</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2.440984</td>\n",
" <td>0</td>\n",
" <td>199</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>199</td>\n",
" <td>4.355846</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>295</th>\n",
" <td>80.659866</td>\n",
" <td>49</td>\n",
" <td>9899</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>296</th>\n",
" <td>82.568138</td>\n",
" <td>49</td>\n",
" <td>9949</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>297</th>\n",
" <td>81.211136</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>298</th>\n",
" <td>NaN</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>1.084462</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>299</th>\n",
" <td>NaN</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>NaN</td>\n",
" <td>1.707654</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>300 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" train_perplexity epoch step val_loss train_loss\n",
"0 2.042362 0 49 NaN NaN\n",
"1 2.050069 0 99 NaN NaN\n",
"2 2.743227 0 149 NaN NaN\n",
"3 2.440984 0 199 NaN NaN\n",
"4 NaN 0 199 4.355846 NaN\n",
".. ... ... ... ... ...\n",
"295 80.659866 49 9899 NaN NaN\n",
"296 82.568138 49 9949 NaN NaN\n",
"297 81.211136 49 9999 NaN NaN\n",
"298 NaN 49 9999 1.084462 NaN\n",
"299 NaN 49 9999 NaN 1.707654\n",
"\n",
"[300 rows x 5 columns]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metrics"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "ad490889",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'perplexity')"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = metrics.train_perplexity.dropna().plot(kind=\"line\")\n",
"ax.set_xlabel(\"training steps\")\n",
"ax.set_ylabel(\"perplexity\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "f1185a0f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'val neg. log likelihood')"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEQCAYAAABWY8jCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABPDUlEQVR4nO2dd3gc9bWw37Mqq96bbcmSbYrBBlcIJISa0FIgCemNmwRSSM9NclMuIZDce0O+m05C6oUUQhJIIxA6hF6NbWxjMO5N1ZZWbaWV9vf9MTPr1WrLrLRN0nmfZx/tzszOnNnVzpnTxRiDoiiKMjfxZFsARVEUJXuoElAURZnDqBJQFEWZw6gSUBRFmcOoElAURZnD5GdbgGSoq6szbW1t2RZDURRlRvHss892G2Pqo62bUUqgra2NZ555JttiKIqizChEZHesdeoOUhRFmcOoElAURZnDqBJQFEWZw6gSUBRFmcOoElAURZnDqBJQFEWZw6gSUBRFmcPMCSXwl+f28bsnY6bJKoqizFnmhBL4x4aD/O6JPdkWQ1EUJeeYE0qgrCifwdGxbIuhKIqSc8wJJVDqzWfAr0pAURQlkjmhBMq9+QyMqBJQFEWJZE4ogVJvPiNjQQLjwWyLoiiKklPMCSVQ5rWapQ6qNaAoijKBOaUE+jUuoCiKMoE5oQRKHUtAM4QURVEmMCeUQFmRuoMURVGiMTeUgDcPUHeQoihKJHNECRQAMDgynmVJFEVRcos5oQRKbUtgYCSQZUkURVFyizmhBMptS2BALQFFUZQJzAklELIENCagKIoygTmhBPLzPBQVeDRFVFEUJYI5oQTAKhjT7CBFUZSJZFUJiMgCERkQESMiZek8Vpk3X+sEFEVRIsi2JfBtYCATByrVTqKKoiiTyJoSEJHTgfOB/5eJ46kSUBRFmUxWlICI5AE/BK4GujNxzHIdLKMoijKJ/FgrRGQnYNzuyBizOInjfgTwAtcB707ifVOm1KsjJhVFUSKJqQSAW5moBN4BlAD3AJ1AA/BaYBC42e0BRaQWuAZ4jzEmICKJtr8cuBxg4cKFbg8zibIiDQwriqJEElMJGGP+3XkuIl8GtgOvM8YMhi0vA/4B+JI45jeBJ4wxd7jZ2BjzM+BnAGvXrnVtmUSiKaKKoiiTcRsTuAL4drgCADDGDGAFdq9wsxMRWQZ8ALhaRKpEpArLugCoFJFil/IkTZmOmFQURZlEPHdQOBVAY4x1TYDbHP+jgQLg8Sjr9gG/BD7kcl9JURo2YrKqpDAdh1AURZlxuFUCtwHfFhEf8HdjzKiIFAIXAd+y17vhEeCsiGXnA18ELgR2uNxP0pTbSmBAlYCiKEoIt0rgo8ANwB8BIyL9QDkgwN/t9QkxxnQDD4YvE5E2++nDtnspLZSGKQFFURTFwpUSMMb0AW+yffonYbmG2oGnjTFb0ihfytARk4qiKJNxawkAYIzZDGxOpQDGmBuwrIy0oiMmFUVRJuNaCdiZPB8GTgNqgEPAw8DPjDG96RAuleiISUVRlMm4ShEVkSXA81htHkqBPfbfq4GN9vqcRkdMKoqiTMatJfBdoBc4xRiz31koIguAO4DvYGUK5SxlocCwWgKKoigObovFzgSuDFcAAPbrq5mc9plzhLKDNCagKIoSwq0SMEBenH1MuZ1DpijI8+DN1xGTiqIo4bhVAg8A14hIa/hC+/XVwH2pFiwdlBfpTAFFUZRw3MYEPg3cD2wTkXVAB1YX0TXAXuCzaZEuxZTqTAFFUZQJuLIEjDG7gKXAJ7HqBAqALcDHgePs9TmPzhlWFEWZiOs6AWPMKHC9/ZiRlHrz6VcloCiKEiKpimEReQURxWLGmKfSIVg6KPfm0+7zZ1sMRVGUnMGVEhCRUuBPWB0/x4AeoBbIE5E7gbcaY4bSJmWK0GHziqIoE3GbHXQtcCrwdqDIGDMPKMIaOXkqVjvpnEdHTCqKokzErRJ4C/BFY8yfjDFBAGNM0BjzJ+A/gLemS8BUoiMmFUVRJuJWCVRipYJGYy/W5LGcp7RQR0wqiqKE41YJbAA+KiISvtB+/VF7fc6jMwUURVEm4jY76MvAP4GtIvIXjhSLvQloAy5Ii3QppizUSVRHTCqKooD7yWL3i8hq4D+x/P/zgIPAk8CbZ8x0MZ0poCiKMoFkisU2Y2UDzVh0poCiKMpE3MYEZgXlRTpTQFEUJZxkxkteArwZaMaqEZiAMebkFMqVFnSmgKIoykTcVgxfBVyJlQW0BRhNo0xpw5kuptlBiqIoFm4tgQ8C/2OM+XI6hUk3jhLQJnKKoigWbmMC5cyQwTHxKFVLQFEUZQJulcDNWM3jZjTOiMlcbiLX1T/CRdc9yt5DOd+PT1GUWUBMd5CIXBj28l7gWhGpA+4BeiO3N8bckXLp0kCuj5h84aCPDXt7eXrXIVpqSrItjqIos5x4MYF/YA2QD28V0Qa8P8q28QbR5xS5PmKyb9iqYdh3eDjLkiiKMheIpwQWZUyKDFJamNvtpHttJaDuIEVRMkFMJWCM2Z1JQTJFWVFuj5j0qSWgKEoGiRcTKHGmhYlIQuf0TJgsBlaaaEcOj5jsHbJKMPb1zoiPU1GUGU48d1C/iJxqzxAewPL7x2NGxATKvPnsyGFLwIkJHOj1MzYeJD9vTnX2UBQlw8RTAh8Atoc9T6QEZgS5PmfYUQLjQUO7z09ztWYIKYqSPuLFBG4Me35DRqTJALmeIto7FMAjEDRWXECVgKIo6WTO+RpKC/PxB4KM5eiIyb7hAEc1lAGaIaQoSvqJFxh+miRcQDOhiyiEj5gcp7Ik93Rg33CAkxfVsK1zQDOEFEVJO/FiApuZJXGAcJwRk/0jASpLCrIszWT6hgPUl3lpqihi72G1BBRFSS/xYgKXZlCOjJHLIyZHx4IMjY5TWVxAc3WxWgKKoqSdpPwhYtEiIq8UkdJ0CZVOcnnEpJMZVFlSQEt1CftVCSiKkmZcKwER+RiwH9gNPAwcay//s4h8Oi3SpYFcHjEZUgK2JXCwb5hAjgawFUWZHbhSAiLyeeA7wM+Bs5nYVO5B4O0plyxN5PKIyQlKoKaEoIGDvblb3awoyszH7WSxK4ArjTHXikhkZfCLwDGpFSt9lBbm7mCZvmGrZURlcQGF+ZZ+3nd4iIW1WiugKEp6cKsEmoBnY6wLEmXwfK7iuINysYmcYwlUlRRS57GMLc0QUhQlnbiNCbwMnBFj3elYw+dnBLk8YrJ36Ig7aF5lEXke0QwhRVHSiltL4HvAj0VkFLjFXtYgIh8EPgtclgbZ0oIzYjIXlYBjCVQU5ZOf57FqBbRqWFGUNOJKCRhjfiEi1cCVwNftxXcAQ8BVxpib0iRfWijz5uZMgb7hAOXe/FDnUK0VUBQl3bi1BDDGfFtErgdOBeqAQ8Djxpg+Eck3xuTeVTUGZUW5OV2sbyhARfGRKuaWmhIe2dadRYkURZntuE0R/QaAMabfGHO3MeYmY8ydtgIoBv6eVilTTGlhbs4Z7hsOUBXWyqK5upiOfj8jY7lX06AoyuzAbWD4kyLy5ciFIlIG3Akc72YnInKJiDwmIj0i4heRF0XkqyJSmITM06YsR9tJ9w4HqAy3BKpLMMYaMDOX+ctz+9i4rzfbYijKrMStErgI+IqIfMZZYMcIHgDmY2UIuaEWuB/4EHAB8CvgK1iFaBmjLEcHy0SzBMCqFZjLfP22Lfz0oR3ZFkNRZiVuA8MPiMibgb+KyDDwV+Aee/WrjTHtLvfz04hFD4hIBXCFiHzCGJORrqW5OmKyL8ISaK6xisT2Hpq7weFg0OAbDrC7ZzDboijKrMR17yBjzF1Y7SG+h1U4Ngyc7lYBxKEHyKg7KBdHTBpjJgWGmyqKyPfInLYEBkfHCBrY3T1Ehu4RFGVOEW+ozIVRFo8BNwFvwHLhnCpiVbYaY+5we1C79YQXWA18EvhJpqwAsGYK5JoS8AeCjI4HqSo+og/zPML8qmL2zuE0Uad2on9kjJ7BUerKvFmWSFFmF/HcQf/AGiojMdaH1wYYILKnUDwGsZQAwK+Bz8faUEQuBy4HWLhwYRKHiE2ZtyA0YtLJyc824c3jwrFqBeauJeAbPqKsd/cMqhJQlBQTTwksSuNxXwmUACdjFaD9CPhYtA2NMT8Dfgawdu3alFgLzkyBXBox2RvWPC6cluoS7n+xMxsi5QQ+/5G5D7u6h1jTWpNFaRRl9hFvstjudB3UGLPOfvqIiHQDN4rI/xpjtqfrmOGEZgqMjuXMiMm+Iad53GRLoKt/BH9gnKKCZIyt1GGM4eu3beG1xzfyqqPqMnpsx0IC2KXBYUVJOTFvg0WkJPx5osc0ZHAUQjotjwnk4kyB3ljuoBonTTR7cYFndx/mhsd2ceu6fRk/ts/+XArzPOzqmbtuMUVJF/F8If0icrL9fADoT/CYKq+y/+6cxj6SosxRAjkUHI4VE2iptvRrNuMCv33CMgq3d2X+Ttz5XI6bV86ubrUEFCXVxIsJfADYHvZ82v54EbkTuBfYDIxjKYDPAX/IlCsIclMJ+MLmC4fTbCuBbGUI9QyMcMfz7XgEdnQNYIzByQjLBD7/GCKwfEElf99wIOPHV5TZTryYwI1hz29I0fGeBi4F2rDSTXcAXwKuT9H+XVFWlHszBXqHAngEygonfiUN5V4K8zxZswT+9Ow+RseDvPPkhfz+qT10D4xSX565DB3fcIAybz6L68vo949xeChATWlGy0oUZVaT0dQYY8x/GmOWG2PKjDFVxpjVxpgfGmMCid+dOpwRk7kUE3CqhT2eiXe5Ho+woLqYfVmoGg4GDTc9uYeTF9Vw/vImALZ3DWRUBt9wgIqiAtrsEZs71SWkKCklXrHY0yThAjLGnJx4q9wglB2US5ZARMuIcLJVK/Dwy93sOTTEv593LIvrSgHY0TXIKYtrMyaDz299Lm328Xf3DLKmtTpjx1eU2U68mMBmUhAHyEVKczAm0DcLine truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = metrics.val_loss.dropna().plot()\n",
"ax.set_xlabel(\"training steps\")\n",
"ax.set_ylabel(\"val neg. log likelihood\")"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "d887cb3b",
"metadata": {},
"outputs": [],
"source": [
"X = predictor.prediction_net.vq_vae.embed.cpu()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "ae16d4bd",
"metadata": {},
"outputs": [],
"source": [
"X_embedded = TSNE(n_components=2, learning_rate='auto', init='random').fit_transform(X)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "8feaef88",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f4eec421b20>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X_embedded[:,0], X_embedded[:,1], alpha=1.0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "50a0e3d3",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
+730
View File
@@ -0,0 +1,730 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "7c64affd",
"metadata": {},
"outputs": [],
"source": [
"from itertools import islice"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8aa55868",
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from matplotlib import pyplot as plt\n",
"import matplotlib.dates as mdates\n",
"\n",
"import pandas as pd\n",
"from sklearn.manifold import TSNE"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6a730716",
"metadata": {},
"outputs": [],
"source": [
"from gluonts.dataset.repository.datasets import get_dataset\n",
"from gluonts.dataset.common import ListDataset\n",
"from gluonts.evaluation import make_evaluation_predictions, Evaluator\n",
"from gluonts.torch.distributions import NegativeBinomialOutput\n",
"\n",
"from pytorch_lightning.loggers import CSVLogger\n",
"from datasets import load_dataset\n",
"\n",
"from estimator import TFTEstimator"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fc889c9f",
"metadata": {},
"outputs": [],
"source": [
"dataset = get_dataset(\"wiki-rolling_nips\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1717d0d2",
"metadata": {},
"outputs": [],
"source": [
"estimator = TFTEstimator(\n",
" freq=dataset.metadata.freq,\n",
" prediction_length=dataset.metadata.prediction_length,\n",
" context_length=dataset.metadata.prediction_length,\n",
" \n",
" scaling=True,\n",
" num_feat_static_cat=len(dataset.metadata.feat_static_cat),\n",
" cardinality=[int(cat_feat_info.cardinality) for cat_feat_info in dataset.metadata.feat_static_cat],\n",
" \n",
" distr_output=NegativeBinomialOutput(),\n",
" \n",
" batch_size=256,\n",
" num_batches_per_epoch=200,\n",
" trainer_kwargs=dict(gpus=\"1\", max_epochs=100, logger=CSVLogger(\".\", \"lightning_logs/\")),\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c77b420c",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
" rank_zero_warn(\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/accelerator_connector.py:446: LightningDeprecationWarning: Setting `Trainer(gpus='1')` is deprecated in v1.7 and will be removed in v2.0. Please use `Trainer(accelerator='gpu', devices='1')` instead.\n",
" rank_zero_deprecation(\n",
"GPU available: True (cuda), used: True\n",
"TPU available: False, using: 0 TPU cores\n",
"IPU available: False, using: 0 IPUs\n",
"HPU available: False, using: 0 HPUs\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/configuration_validator.py:108: PossibleUserWarning: You defined a `validation_step` but have no `val_dataloader`. Skipping val loop.\n",
" rank_zero_warn(\n",
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n",
"\n",
" | Name | Type | Params\n",
"-----------------------------------\n",
"0 | model | TFTModel | 398 K \n",
"-----------------------------------\n",
"398 K Trainable params\n",
"0 Non-trainable params\n",
"398 K Total params\n",
"1.595 Total estimated model params size (MB)\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d8d1b204645e4e158e6b7d211e6bc1a6",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Training: 0it [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Epoch 0, global step 200: 'train_loss' reached 8.69927 (best 8.69927), saving model to './lightning_logs/version_46/checkpoints/epoch=0-step=200.ckpt' as top 1\n",
"Epoch 1, global step 400: 'train_loss' reached 8.31990 (best 8.31990), saving model to './lightning_logs/version_46/checkpoints/epoch=1-step=400.ckpt' as top 1\n",
"Epoch 2, global step 600: 'train_loss' was not in top 1\n",
"Epoch 3, global step 800: 'train_loss' was not in top 1\n",
"Epoch 4, global step 1000: 'train_loss' reached 8.20523 (best 8.20523), saving model to './lightning_logs/version_46/checkpoints/epoch=4-step=1000.ckpt' as top 1\n",
"Epoch 5, global step 1200: 'train_loss' was not in top 1\n",
"Epoch 6, global step 1400: 'train_loss' was not in top 1\n",
"Epoch 7, global step 1600: 'train_loss' was not in top 1\n",
"Epoch 8, global step 1800: 'train_loss' reached 8.13480 (best 8.13480), saving model to './lightning_logs/version_46/checkpoints/epoch=8-step=1800.ckpt' as top 1\n",
"Epoch 9, global step 2000: 'train_loss' reached 8.12777 (best 8.12777), saving model to './lightning_logs/version_46/checkpoints/epoch=9-step=2000.ckpt' as top 1\n",
"Epoch 10, global step 2200: 'train_loss' reached 8.08963 (best 8.08963), saving model to './lightning_logs/version_46/checkpoints/epoch=10-step=2200.ckpt' as top 1\n",
"Epoch 11, global step 2400: 'train_loss' was not in top 1\n",
"Epoch 12, global step 2600: 'train_loss' was not in top 1\n",
"Epoch 13, global step 2800: 'train_loss' was not in top 1\n",
"Epoch 14, global step 3000: 'train_loss' was not in top 1\n",
"Epoch 15, global step 3200: 'train_loss' was not in top 1\n",
"Epoch 16, global step 3400: 'train_loss' was not in top 1\n",
"Epoch 17, global step 3600: 'train_loss' reached 8.06460 (best 8.06460), saving model to './lightning_logs/version_46/checkpoints/epoch=17-step=3600.ckpt' as top 1\n",
"Epoch 18, global step 3800: 'train_loss' was not in top 1\n",
"Epoch 19, global step 4000: 'train_loss' was not in top 1\n",
"Epoch 20, global step 4200: 'train_loss' was not in top 1\n",
"Epoch 21, global step 4400: 'train_loss' was not in top 1\n",
"Epoch 22, global step 4600: 'train_loss' was not in top 1\n",
"Epoch 23, global step 4800: 'train_loss' was not in top 1\n",
"Epoch 24, global step 5000: 'train_loss' was not in top 1\n",
"Epoch 25, global step 5200: 'train_loss' was not in top 1\n",
"Epoch 26, global step 5400: 'train_loss' was not in top 1\n",
"Epoch 27, global step 5600: 'train_loss' was not in top 1\n",
"Epoch 28, global step 5800: 'train_loss' was not in top 1\n",
"Epoch 29, global step 6000: 'train_loss' was not in top 1\n",
"Epoch 30, global step 6200: 'train_loss' was not in top 1\n",
"Epoch 31, global step 6400: 'train_loss' was not in top 1\n",
"Epoch 32, global step 6600: 'train_loss' was not in top 1\n",
"Epoch 33, global step 6800: 'train_loss' reached 8.05404 (best 8.05404), saving model to './lightning_logs/version_46/checkpoints/epoch=33-step=6800.ckpt' as top 1\n",
"Epoch 34, global step 7000: 'train_loss' was not in top 1\n",
"Epoch 35, global step 7200: 'train_loss' was not in top 1\n",
"Epoch 36, global step 7400: 'train_loss' was not in top 1\n",
"Epoch 37, global step 7600: 'train_loss' was not in top 1\n",
"Epoch 38, global step 7800: 'train_loss' was not in top 1\n",
"Epoch 39, global step 8000: 'train_loss' reached 7.97831 (best 7.97831), saving model to './lightning_logs/version_46/checkpoints/epoch=39-step=8000.ckpt' as top 1\n",
"Epoch 40, global step 8200: 'train_loss' was not in top 1\n",
"Epoch 41, global step 8400: 'train_loss' was not in top 1\n",
"Epoch 42, global step 8600: 'train_loss' was not in top 1\n",
"Epoch 43, global step 8800: 'train_loss' was not in top 1\n",
"Epoch 44, global step 9000: 'train_loss' reached 7.97440 (best 7.97440), saving model to './lightning_logs/version_46/checkpoints/epoch=44-step=9000.ckpt' as top 1\n",
"Epoch 45, global step 9200: 'train_loss' reached 7.92591 (best 7.92591), saving model to './lightning_logs/version_46/checkpoints/epoch=45-step=9200.ckpt' as top 1\n",
"Epoch 46, global step 9400: 'train_loss' was not in top 1\n",
"Epoch 47, global step 9600: 'train_loss' was not in top 1\n",
"Epoch 48, global step 9800: 'train_loss' was not in top 1\n",
"Epoch 49, global step 10000: 'train_loss' was not in top 1\n",
"Epoch 50, global step 10200: 'train_loss' reached 7.86696 (best 7.86696), saving model to './lightning_logs/version_46/checkpoints/epoch=50-step=10200.ckpt' as top 1\n",
"Epoch 51, global step 10400: 'train_loss' was not in top 1\n",
"Epoch 52, global step 10600: 'train_loss' was not in top 1\n",
"Epoch 53, global step 10800: 'train_loss' was not in top 1\n",
"Epoch 54, global step 11000: 'train_loss' was not in top 1\n",
"Epoch 55, global step 11200: 'train_loss' was not in top 1\n",
"Epoch 56, global step 11400: 'train_loss' was not in top 1\n",
"Epoch 57, global step 11600: 'train_loss' was not in top 1\n",
"Epoch 58, global step 11800: 'train_loss' was not in top 1\n",
"Epoch 59, global step 12000: 'train_loss' reached 7.84638 (best 7.84638), saving model to './lightning_logs/version_46/checkpoints/epoch=59-step=12000.ckpt' as top 1\n",
"Epoch 60, global step 12200: 'train_loss' was not in top 1\n",
"Epoch 61, global step 12400: 'train_loss' was not in top 1\n",
"Epoch 62, global step 12600: 'train_loss' reached 7.82926 (best 7.82926), saving model to './lightning_logs/version_46/checkpoints/epoch=62-step=12600.ckpt' as top 1\n",
"Epoch 63, global step 12800: 'train_loss' was not in top 1\n",
"Epoch 64, global step 13000: 'train_loss' was not in top 1\n",
"Epoch 65, global step 13200: 'train_loss' reached 7.80826 (best 7.80826), saving model to './lightning_logs/version_46/checkpoints/epoch=65-step=13200.ckpt' as top 1\n",
"Epoch 66, global step 13400: 'train_loss' was not in top 1\n",
"Epoch 67, global step 13600: 'train_loss' reached 7.79150 (best 7.79150), saving model to './lightning_logs/version_46/checkpoints/epoch=67-step=13600.ckpt' as top 1\n",
"Epoch 68, global step 13800: 'train_loss' reached 7.78460 (best 7.78460), saving model to './lightning_logs/version_46/checkpoints/epoch=68-step=13800.ckpt' as top 1\n",
"Epoch 69, global step 14000: 'train_loss' reached 7.76590 (best 7.76590), saving model to './lightning_logs/version_46/checkpoints/epoch=69-step=14000.ckpt' as top 1\n",
"Epoch 70, global step 14200: 'train_loss' was not in top 1\n",
"Epoch 71, global step 14400: 'train_loss' was not in top 1\n",
"Epoch 72, global step 14600: 'train_loss' reached 7.74149 (best 7.74149), saving model to './lightning_logs/version_46/checkpoints/epoch=72-step=14600.ckpt' as top 1\n",
"Epoch 73, global step 14800: 'train_loss' was not in top 1\n",
"Epoch 74, global step 15000: 'train_loss' reached 7.72901 (best 7.72901), saving model to './lightning_logs/version_46/checkpoints/epoch=74-step=15000.ckpt' as top 1\n",
"Epoch 75, global step 15200: 'train_loss' reached 7.71670 (best 7.71670), saving model to './lightning_logs/version_46/checkpoints/epoch=75-step=15200.ckpt' as top 1\n",
"Epoch 76, global step 15400: 'train_loss' was not in top 1\n",
"Epoch 77, global step 15600: 'train_loss' was not in top 1\n",
"Epoch 78, global step 15800: 'train_loss' reached 7.70934 (best 7.70934), saving model to './lightning_logs/version_46/checkpoints/epoch=78-step=15800.ckpt' as top 1\n",
"Epoch 79, global step 16000: 'train_loss' reached 7.70668 (best 7.70668), saving model to './lightning_logs/version_46/checkpoints/epoch=79-step=16000.ckpt' as top 1\n",
"Epoch 80, global step 16200: 'train_loss' was not in top 1\n",
"Epoch 81, global step 16400: 'train_loss' was not in top 1\n",
"Epoch 82, global step 16600: 'train_loss' reached 7.69916 (best 7.69916), saving model to './lightning_logs/version_46/checkpoints/epoch=82-step=16600.ckpt' as top 1\n",
"Epoch 83, global step 16800: 'train_loss' reached 7.69376 (best 7.69376), saving model to './lightning_logs/version_46/checkpoints/epoch=83-step=16800.ckpt' as top 1\n",
"Epoch 84, global step 17000: 'train_loss' was not in top 1\n",
"Epoch 85, global step 17200: 'train_loss' was not in top 1\n",
"Epoch 86, global step 17400: 'train_loss' reached 7.68427 (best 7.68427), saving model to './lightning_logs/version_46/checkpoints/epoch=86-step=17400.ckpt' as top 1\n",
"Epoch 87, global step 17600: 'train_loss' was not in top 1\n",
"Epoch 88, global step 17800: 'train_loss' reached 7.68154 (best 7.68154), saving model to './lightning_logs/version_46/checkpoints/epoch=88-step=17800.ckpt' as top 1\n",
"Epoch 89, global step 18000: 'train_loss' was not in top 1\n",
"Epoch 90, global step 18200: 'train_loss' was not in top 1\n",
"Epoch 91, global step 18400: 'train_loss' was not in top 1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Epoch 92, global step 18600: 'train_loss' was not in top 1\n",
"Epoch 93, global step 18800: 'train_loss' was not in top 1\n",
"Epoch 94, global step 19000: 'train_loss' was not in top 1\n",
"Epoch 95, global step 19200: 'train_loss' was not in top 1\n",
"Epoch 96, global step 19400: 'train_loss' reached 7.66149 (best 7.66149), saving model to './lightning_logs/version_46/checkpoints/epoch=96-step=19400.ckpt' as top 1\n",
"Epoch 97, global step 19600: 'train_loss' reached 7.65619 (best 7.65619), saving model to './lightning_logs/version_46/checkpoints/epoch=97-step=19600.ckpt' as top 1\n",
"Epoch 98, global step 19800: 'train_loss' reached 7.64622 (best 7.64622), saving model to './lightning_logs/version_46/checkpoints/epoch=98-step=19800.ckpt' as top 1\n",
"Epoch 99, global step 20000: 'train_loss' was not in top 1\n",
"`Trainer.fit` stopped: `max_epochs=100` reached.\n",
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
" rank_zero_warn(\n"
]
}
],
"source": [
"predictor = estimator.train(\n",
" training_data=dataset.train,\n",
" shuffle_buffer_length=1024,\n",
" num_workers=8,\n",
" cache_data=True,\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "f8a362b6",
"metadata": {},
"outputs": [],
"source": [
"forecast_it, ts_it = make_evaluation_predictions(\n",
" dataset=dataset.test,\n",
" predictor=predictor,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "5fdc12da",
"metadata": {},
"outputs": [],
"source": [
"forecasts = list(forecast_it)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "4b7d3409",
"metadata": {},
"outputs": [],
"source": [
"tss = list(ts_it)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "9b154bde",
"metadata": {},
"outputs": [],
"source": [
"evaluator = Evaluator()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0fdec8a7",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Running evaluation: 47675it [00:00, 98204.13it/s]\n"
]
}
],
"source": [
"agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "7f28f4d3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'MSE': 431839437.5540534,\n",
" 'abs_error': 1497767969.0,\n",
" 'abs_target_sum': 4139290389.0,\n",
" 'abs_target_mean': 2894.1027016255903,\n",
" 'seasonal_error': 759.9957754325233,\n",
" 'MASE': 1.5660744171042167,\n",
" 'MAPE': 0.5378745856593485,\n",
" 'sMAPE': 0.28677677568983434,\n",
" 'MSIS': 32.36383614317314,\n",
" 'QuantileLoss[0.1]': 440774354.40000004,\n",
" 'Coverage[0.1]': 0.029557070442230375,\n",
" 'QuantileLoss[0.2]': 756634070.0000001,\n",
" 'Coverage[0.2]': 0.07917077434015032,\n",
" 'QuantileLoss[0.3]': 1019171337.0000001,\n",
" 'Coverage[0.3]': 0.15499947561615102,\n",
" 'QuantileLoss[0.4]': 1260494017.6000001,\n",
" 'Coverage[0.4]': 0.25912253102604443,\n",
" 'QuantileLoss[0.5]': 1497767969.0,\n",
" 'Coverage[0.5]': 0.38656668414612827,\n",
" 'QuantileLoss[0.6]': 1706940523.6,\n",
" 'Coverage[0.6]': 0.5143408495018352,\n",
" 'QuantileLoss[0.7]': 1913551538.2000003,\n",
" 'Coverage[0.7]': 0.6568208355182661,\n",
" 'QuantileLoss[0.8]': 2065471280.3999999,\n",
" 'Coverage[0.8]': 0.7854920468449573,\n",
" 'QuantileLoss[0.9]': 2048190745.2,\n",
" 'Coverage[0.9]': 0.8877315154693237,\n",
" 'RMSE': 20780.746799719527,\n",
" 'NRMSE': 7.180376421350624,\n",
" 'ND': 0.3618417236394574,\n",
" 'wQuantileLoss[0.1]': 0.10648548736066946,\n",
" 'wQuantileLoss[0.2]': 0.18279318407104878,\n",
" 'wQuantileLoss[0.3]': 0.24621885425299164,\n",
" 'wQuantileLoss[0.4]': 0.3045193497295365,\n",
" 'wQuantileLoss[0.5]': 0.3618417236394574,\n",
" 'wQuantileLoss[0.6]': 0.4123751568955217,\n",
" 'wQuantileLoss[0.7]': 0.46228975461233346,\n",
" 'wQuantileLoss[0.8]': 0.49899163535105145,\n",
" 'wQuantileLoss[0.9]': 0.49481687746358305,\n",
" 'mean_absolute_QuantileLoss': 1412110648.377778,\n",
" 'mean_wQuantileLoss': 0.3411480025973548,\n",
" 'MAE_Coverage': 0.08291091301054591,\n",
" 'OWA': nan}"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"agg_metrics"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "cc3f804d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB7cAAAXDCAYAAAC73rpsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeZwU9Zk/8E/Pfd/cN3KIIggqEQlKDPGAeKMxibuAR+KyiQchh7txdY1Z96eC4sYYd6OgSTRGBBQPlENEOeSUewYGmPue6Z6Zvru66vdHd/V0z/RR1V19zXzevni9sLuqq2aAnqe/z/d5Hp0kSRKIiIiIiIiIiIiIiIiIiIgSWEq8b4CIiIiIiIiIiIiIiIiIiCgUJreJiIiIiIiIiIiIiIiIiCjhMblNREREREREREREREREREQJj8ltIiIiIiIiIiIiIiIiIiJKeExuExERERERERERERERERFRwmNym4iIiIiIiIiIiIiIiIiIEh6T20RERERERERERERERERElPCY3CYiIiIiIiIiIiIiIiIiooTH5DYRERERERERERERERERESU8JreJiIiIiIiIiIiIiIiIiCjhMblNRJQEuru78eSTT+KSSy5BXl4eCgsLccUVV2DlypWw2+3xvj0iIiIiSkBmsxmffPIJnn76adx+++0YM2YMdDoddDodnnzyyXjfHhEREREluPb2dqxZswb33HMPLrroIuTm5iIzMxMjR47Erbfeig0bNsT7FoloANJJkiTF+yaIiCiw6upqzJs3D1VVVQCAnJwcOJ1O2Gw2AMCMGTOwbds2FBcXx/EuiYiIiCjR7NixA9/5znf8PvfEE08wwU1EREREQaWnp0MQBM//Z2VlITU1FSaTyfPYjTfeiHXr1iEnJycet0hEAxArt4mIEpggCLjppptQVVWFYcOGYcuWLTCZTDCbzfj73/+O/Px8HD58GPfcc0+8b5WIiIiIElBxcTG++93v4pe//CXefvttDB06NN63RERERERJQhAEzJo1C3/84x9x9uxZWCwWGI1GnD9/Hvfddx8A4JNPPsFPf/rTON8pEQ0krNwmIkpgr732Gu6//34AwO7duzF79myf599++2386Ec/AgBs3boV3/3ud2N+j0RERESUmJxOJ1JTU30eGzt2LKqrq1m5TUREREQhff755wE7AQHAgw8+iFdffRUAUFNTg1GjRsXq1ohoAGPlNhFRAnvjjTcAAN/5znf6JLYB4O6778a4ceMAAG+++WZM742IiIiIElvvxDYRERERkRrBEtsAPNXbAHDgwIFo3w4REQAmt4mIEpbZbMauXbsAuGbX+KPT6XDDDTcAAD777LOY3RsRERERERERERENbFlZWZ7fO53OON4JEQ0kTG4TESWoU6dOQRRFAMDUqVMDHic/19TUhI6OjpjcGxEREREREREREQ1sO3bs8Pz+kksuid+NENGAwuQ2EVGCamho8Px+xIgRAY/zfs77HCIiIiIiIiIiIqJoMBgMeOaZZwAAc+fOxeTJk+N8R0Q0UDC5TUSUoLq7uz2/z8nJCXic93Pe5xARERERERERERFpTRRF/NM//RMaGxuRlZWFP/zhD/G+JSIaQJjcJiIiIiIiIiIiIiIiIkUefvhhfPjhhwCAl19+GdOmTYvzHRHRQMLkNhFRgsrPz/f83mw2BzzO+znvc4iIiIiIiIiIiIi0tGLFCk+l9gsvvIB77703zndERAMNk9tERAlq+PDhnt/X19cHPM77Oe9ziIiIiIiIiIiIiLTyq1/9CitXrgQAPP/883jkkUfie0NENCAxuU1ElKCmTJmClBTX2/Tx48cDHic/N3ToUJSUlMTk3oiIiIiIiIiIiGjg+OUvf4nnnnsOAPDss8/iF7/4RZzviIgGKia3iYgSVE5ODubMmQMA2Lx5s99jJEnCp59+CgC47rrrYnZvRERERERERERENDCsWLECzz//PABXYvuXv/xlnO+IiAYyJreJiBLY4sWLAQCff/45vv766z7Pv/vuuzh37hwA4J//+Z9jem9ERERERERERETUv61YscKnFTkT20QUb0xuExElsMWLF+OSSy6BJEm44447sG3bNgCAKIp499138cADDwAAbrzxRnz3u9+N560SERERUQLS6/Voa2vz/BJFEQBgNpt9HjcajXG+UyIiIiJKNN4ztletWsVW5ESUEHSSJEnxvgkiIgqsqqoK3/nOd1BVVQXA1a5cFEVYrVYAwIwZM7Bt2zYUFxfH8S6JiIiIKBGNHTsW1dXVIY9bvHgx1q5dG/0bIiIiIqKkUFNTgzFjxgAAUlJSMGjQoKDHr1ixAitWrIjFrRHRAJcW7xsgIqLgxo4di6NHj+L555/H+vXrcf78eaSnp+Piiy/GD3/4Q/z85z9HRkZGvG+TiIiIiIiIiIiI+gm544/8++bm5qDHsxMQEcUKK7eJiIiIiIiIiIiIiIiIiCjhceY2ERERERERERERERERERElPCa3iYiIiIiIiIiIiIiIiIgo4TG5TURERERERERERERERERECY/JbSIiIiIiIiIiIiIiIiIiSnhMbhMRERERERERERERERERUcJjcpuIiIiIiIiIiIiIiIiIiBJeWrxvoD8SRRENDQ3Iz8+HTqeL9+0QERERKSJJErq7uzF8+HCkpHAPZLwwliQiIqJkxFgyMTCWJCIiomSkJpZkcjsKGhoaMGrUqHjfBhEREVFYamtrMXLkyHjfxoDFWJKIiIiSGWPJ+GIsSURERMlMSSzJ5HYU5OfnA3D9ARQUFMT5boiIiIiU6erqwqhRozyxDMUHY0kiIiJKRowlEwNjSSIiIkpGamJJJrejQG75U1BQwCCSiIiIkg7bF8YXY0kiIiJKZowl44uxJBERESUzJbEkB+AQEREREREREREREREREVHCY3KbiIiIiIiIiIiIiIiIiIgSHpPbRERERERERERERERERESU8JjcJiIiIiIiIiIiIiIiIiKihMfkNhERERERERERERERERERJTwmt4mIiIiIiIiIiIiIiIiIKOExuU1ERERERERERERERERERAmPyW0iIiIiIiIiIiIiIiIiIkp4TG4TEREREREREREREREREVHCY3KbiIiIiIiIiIiIiIiIiIgSHpPbRERERERERERERERERESU8JjcJiIiIiIiIiIiIiIiIiKihMfkNhERERERERERERERERERJTwmt4mIiIhUcIrOeN8CERERUUJgXERERERElDhESYTdaY/3bUQdk9tEREREKnTaOuN9C0REREQJgXEREREREVHiqOmsgcluivdtRB2T20REREQqGKyGeN8CERERUULQW/TxvgUiIiIiInKraKtg5TYRERER9RAlEV22rnjfBhEREVFC4KY/IiIiIqLEYBNsqO6shs1pi/etRB2T20REREQK2QQbzA5zvG+DiIiIKO6sghUWwRLv2yAiIiIiIgBn9Wc5c1tr8+bNg06nC/hr8+bNfs9bu3YtZs2ahby8PJSUlGDBggXYvXt30Gvt2rULCxYsQElJCfLy8jBr1iy8+eabQc+pq6vD0qVLMXz4cGRlZWHSpEl44oknYLVaw/6aiYiIqH+xO+2wOLiIS0RERGQVrLAKXDMhIiIiIkoEFW0VADAgkttpsb7gHXfcgby8vD6Pjxgxos9jjzzyCFavXo3s7Gxcd911sFqt2LJlCz777DOsW7cOt956a59z3nvvPfzgBz+AKIq4+uqrUVZWhm3btmHx4sU4evQonn/++T7nVFZWYvbs2Whra8PUqVMxd+5cHDhwAE899RS2bduGbdu2ITMzU5Ovn4iIiJKXzWljhRIRERERmNwmIiIiIkoUndZONJuaAbg6T/Z3MU9uP//88xg7dmzI47Zu3YrVq1ejtLQUe/bswcSJEwEAe/bswbx587B06VLMmzcPRUVFnnM6Ojpw7733wul04r333sPtt98OAGhubsa3v/1trFy5Et///vcxb948n2stWbIEbW1teOihh7B69WoAgCAIuOuuu7BhwwY888wzePLJJ7X48omIiCiJWQUr25ITERERAbA4LExuExERERElgNPtpz2/HwiV2wk7c3vVqlUAgN/+9reexDYAzJ49Gw8++CAMBgNee+01n3P+/Oc/o6urC7fccosnsQ0AQ4YMwbPPPgsAWLlypc85+/btw65duzB48GDPMQCQlpaGV155Benp6XjppZcgCILmXyMRERElF5tgY1tyIiIiIgAWgcltIiIiIqJE4J3ctjn7f+V2Qia3LRYLtm/fDgBYtGhRn+flxzZt2uTz+EcffRTwnIULFyIrKwtbt271maMtn3PTTTf1aT0+ZMgQzJ07F3q9Hl999VUEXxERERH1BzanDVbBCkmS4n0rRERERHHFtuRERERERPHX2N2Ibnu35/9ZuR0Fr732GpYtW4af/exneOmll1BTU9PnmIqKCthsNgwaNAgjR47s8/zMmTMBAEePHvV5/MiRIz7Pe8vIyMDUqVNhtVpx+vRpRecEuxYREVE8iZIY71sYkGyCDRIkLuQSERHRgGdxWCCIAgSRne6IiIiIiOLFu2obYHI7Kp5++mm88sorePnll/Hwww9jwoQJ+N3vfudzjJzw9pfYBoDc3FwUFRVBr9eju9u1G6GrqwudnZ1Bz5Mfr66uVnwtf+cQERHFmyiJcIrOeN/GgCO39bEIbE1OREREA5u82Y+b/ihZ7N+/H3fddReGDx+O9PR0FBUVYe7cuVizZo3fzkxOpxMvvPACLrnkEmRnZ2PQoEG46667cOrUqaDX2bRpE6655hoUFBSgoKAA8+bN83SODOTEiRO48847MWjQIGRnZ+OSSy7Biy++CFHkpmYiIiIKzCk6cVZ/1ucxm8C25Jq5+uqr8Ze//AVnz56F2WxGRUUFfv/73yMtLQ3/8R//gdWrV3uONRqNAICcnJyAr5ebmwsAnuS2fE6w83qfo+Ra/s7Line truncated
"text/plain": [
"<Figure size 2000x1500 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(20, 15))\n",
"date_formater = mdates.DateFormatter('%b, %d')\n",
"plt.rcParams.update({'font.size': 15})\n",
"\n",
"for idx, (forecast, ts) in islice(enumerate(zip(forecasts, tss)), 9):\n",
" ax = plt.subplot(3, 3, idx+1)\n",
"\n",
" plt.plot(ts[-4 * dataset.metadata.prediction_length:].to_timestamp(), label=\"target\", )\n",
" forecast.plot( color='g')\n",
" plt.xticks(rotation=60)\n",
" ax.xaxis.set_major_formatter(date_formater)\n",
" ax.set_title(forecast.item_id)\n",
"\n",
"plt.gcf().tight_layout()\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "6f03bfd2",
"metadata": {},
"outputs": [],
"source": [
"metrics = pd.read_csv(\"lightning_logs/version_86/metrics.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "8e76b769",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>train_perplexity</th>\n",
" <th>epoch</th>\n",
" <th>step</th>\n",
" <th>val_loss</th>\n",
" <th>train_loss</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2.042362</td>\n",
" <td>0</td>\n",
" <td>49</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2.050069</td>\n",
" <td>0</td>\n",
" <td>99</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2.743227</td>\n",
" <td>0</td>\n",
" <td>149</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2.440984</td>\n",
" <td>0</td>\n",
" <td>199</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>199</td>\n",
" <td>4.355846</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>295</th>\n",
" <td>80.659866</td>\n",
" <td>49</td>\n",
" <td>9899</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>296</th>\n",
" <td>82.568138</td>\n",
" <td>49</td>\n",
" <td>9949</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>297</th>\n",
" <td>81.211136</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>298</th>\n",
" <td>NaN</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>1.084462</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>299</th>\n",
" <td>NaN</td>\n",
" <td>49</td>\n",
" <td>9999</td>\n",
" <td>NaN</td>\n",
" <td>1.707654</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>300 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" train_perplexity epoch step val_loss train_loss\n",
"0 2.042362 0 49 NaN NaN\n",
"1 2.050069 0 99 NaN NaN\n",
"2 2.743227 0 149 NaN NaN\n",
"3 2.440984 0 199 NaN NaN\n",
"4 NaN 0 199 4.355846 NaN\n",
".. ... ... ... ... ...\n",
"295 80.659866 49 9899 NaN NaN\n",
"296 82.568138 49 9949 NaN NaN\n",
"297 81.211136 49 9999 NaN NaN\n",
"298 NaN 49 9999 1.084462 NaN\n",
"299 NaN 49 9999 NaN 1.707654\n",
"\n",
"[300 rows x 5 columns]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metrics"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "ad490889",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'perplexity')"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEQCAYAAACjnUNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABKoUlEQVR4nO2dd3ib5dW47yPJe8WOnb0XIWQBIewZ9mjpoIP2a4G20E1p+5VCy9fyle71a6FfKV1QKKVAgZYNYUNYCSRkbzvO8N6WbVnS8/vjfaXI8pJsLUvnvi5dtt6l82g85z3PWWKMQVEURVGGw5FsARRFUZSxgSoMRVEUJSJUYSiKoigRoQpDURRFiQhVGIqiKEpEuJItQKwpLy83s2bNSrYYiqIoY4p169Y1GGMqhjom7RTGrFmzWLt2bbLFUBRFGVOISNVwx+iSlKIoihIRqjAURVGUiFCFoSiKokSEKgxFURQlIlRhKIqiKBGhCkNRFEWJCFUYiqIoSkSowlAUJe3p9fm5540qujy+ZIsypkm7xD1FUTIDv9/Q1t3LuPzsAfcbY3h84yEeefcgR04u4tbnd9Hd6+Ozp85JsKTpgyoMRVHGJL9/aTc/f3o7k4pzOXrGOE6aO57l00u5/eXdnH/UJO5cU8m6qmYAVm+tBeD+tdV85pTZiEifazV3eijIcZHt0kWXoVCFoSjKmOJQaxdv7W3ir69VctSUYuZWFLK+uoUnN9WQ5RR6fYbH3ztEeWEOP/3QEtweHzc/uoUT5pTxxp4m1lU1s2JWWfB6HT1eTv3ZCwCcvqCCVUdO4OKlU1R5DIAqDEVRxhS/fnYH96/db/3/0WWcOt+ql3frczv5y2t7+X8fO5q6tm4uWDKZwhwXxhhOmDOe6WX5nPHzF7nl8a089IWTcDgsK2NDdQsdPV5OW1DBW5VNPL7xENtq2rnxwiOTNsZURVWooihjih21HQB87tTZnDKvPLj9K6vms+6753D6ggouWzGdwhzrflhEOHJyMYU5Lm68cCHrq1t4YF118Lx1Vc2IwK0fP5o3b1jFmUdU8Ph7hzDG9HndP768h4fe2Z+AEaYuqjCUIL0+P70+f7LFUJRB8fkN22vaufLkWXznokX9fBEBq2EwPnD0VI6bVcpPn9pOi9sDwDv7mlkwoYiSvCwcDuH8xZM40NLFlkNtwfMOtHTxk6e28aMntuGN8Deyq66D57fVRjnC1EYVhhLkh49v5bgfrualHfXJFkVRBqSysZOuXh+LJheP6HwR4eb3LabF7eEXz2zH7ze8U9XMMTPHBY85a+FEROC6f65nza4GAO5aU4nPb2jo6OHlnUP/Powx3L+2motvfYXP3LWW9u7efsf0eH2s2d0wojEkE1UYSpA39jTS4u7lir++xW9W78TvN8OfpChxxO83/PPtfXzn4Y384619PL25BoBFU0amMALnfurEWfz9zX386dU9tHV7OXHu4aWtiqIcfvSBJdS19/CX1yrp7PHyj7f2cd5RExlfkM2/3jnA5oOt3L+2mnVVTTR3eoLnuj1evvHABr714HuUF+ZgDGyvae/z+sYY/uvPb3H5H99k4/7WEY8jGajTWwHA4/Wzu76DK06aRVtXL79evYNd9R3c+vGjky2aksH8evUObn1+F3lZTv7+5j4AspzCvAmFo7rudecs4LH3DvKjJ7ZRnOvi3EUT++z/+MoZvL23iZd3NvDA2mrau71cc/pcxuVV88TGQ2w52Mbehs7g8ecumsgdn1rBz57azsPvHuDaVfO5bMU0TvnpC2w51NYnKuv+tdW8tbcJgNf3NLBkWklEMr+wrY7nt9XxkRXTIz4n1qiFoQCwp6GDXp/h6Bnj+OVHlnHlybN4dMPB4DqvEjtqWrv517r91Lf38KdX9tDa1X/JQrF4Y08jy6ePY/PN5/HiN8/gNx9bzu2fPJYcl3NU1y3Jy+L68xcCcOnRU8nN6n+9ZdPH0dDRw20v7OKYGeM4ZkYpZxxRQXuPl70NnXzjnAX85YoVnLVwAi9ur8fj9fPC9jrOOmIC152zgKnj8hiXn8XWEF+I2+Pll8/s4JgZ45hdXhBUHAH8fsPdr1fyrQc3UNvWHdze3Onhqrve5u43qvjqfe/S3ZucjHVVGAoA2w5ZZvORk4sREc6x77huf2kPNzy0EY9XneGx4pbHt/CNBzZw7X3vcsvjWzn7Vy/x2HsH2dvQyQ8e20JNazcPrttPXXv38BdLc/Y3dzGnogCHQ5hVXsD7l09l1ZEThz8xAj50zDRuuXQxXz5r3oD7l00fB0BDh4fPnGJlh588vxynQ3AIfPz4GZy1cCIfOHoqHp+fF7fXUdXo5iQ7cktEWDS5mC0HDyuMP7+yl7r2Hm688EiOn13GW3ub8IUs/T6x6RA3/Xsz96/dzzNbDjvMt9a0YQx8/vS57G3o5P9e2BWT9yBadElKAWBbTTtZTmF2eQEAy6aNwyFw+0u7ASjIdvLdixclU8S0YH+zmyc3Wevwa3Y3smJmKT1eP1++912yXQ48Xj/3vrmPrl4f2U4HHzxmKp89dTbzJhQlWfL+VDV2cs3d6/jjp1YwvSw/5tfv8fqoaetmemnsrw1WRNUnT5g56P4jJxeR5RQmFOVy3lGWkirOzeI0W2mUF+YAsGSqtTx0x8t7ADh53viQaxRzzxtV9Pr8tHb1cvtLuznvqImsmFXGviY3971dzc66dhZOsnwy9765j6nj8mh2e9hd1xG8TsAPctUpszjY0sUfXt7DR46bzjT7valr6yY/xxUMJY4XamEoAGw80MKCiUVkOa2vREGOK/glnlaax59e3cu6qr7m83v7Wzj1Z8/rslWEbDnYxlV3vo1DDk8yV50ym0e+dDLfu2QRS6aW8KUz5+L1+7nhgoV85LhpPPzuAc799cu8t78lucIPQCDBbbiooZFysKUbY4iLMoqEHJeTb5x7BP/7/qNwOQ9PlXd8agW//+SxweczyvLJz3aytqqZiqIcjph4WLkHbgje29/Cb5/bSbfXz7fspbDF9ncgsGS15WAba3Y3cvnxM5g/oZBdYQqjrCCbisIcvn3BQkTgx09uAywn+odvf50bHtoYvzfDJuEKQ0Q+JiLviEiHiBwQkb+JyJSwY0REbhSRahHpEpGXRWR5omXNFDxeP+uqmlk5u6zP9pWzy8hxOfjnNScypSSXGx/a1CdP4739rVQ3dfX5YsebZzbX8KdX9iTs9UZKTWt30Cnq8xv+8NJu3v+7V2lx9/LnTx/H9ecv5IQ5ZZy1cAJOh3DlybP51xdO4r/PW8jG75/HNafP5ZZLl/D8N8/Ab+D13Y0JH8OBli7uWlNJe3cvT27sn8j2sh1+velAfCJ9qpvcAEwvzYvL9SPh86fP7bcEluV0BG+swLJUnHY+yHcuPLJPbsiJc8cjAve8sY9739zHx46bztwKy2E/u7yAbKeDbTXteLx+/vvBDZQXZnP5yhnMreirMLbVtHPExCJEhCnj8vj86XN5/L1DvLW3if3NXexrcrN6Sy1ujzeeb0diFYaIvA/4B7AGeD9wPXAa8LiIhMrybeAm4KfAJUAHsFpEJiVS3kzhvf0tdPf6OX72+D7brztnAf/58ilMHZfHze9fzPbadv70yt7g/oBlUdfekzBZ71+7n9uStH4bKf9ef4Czf/USn/7LWwD8/Ont/PjJbaxaOJGnv3Yapy2o4JT55dx39YkDOltDt00dl8fE4px+oZmJ4Lerd/K9/2zmF09v5wt/f4c1IUqrs8cbLOy36UDbYJcYFdXNtsJIkoURDb/+6HK+fs4C3r+8z70v4/KzOWJiEQ+/e4DcLCfXnj0/uC/L6WDuhEK217Rz2wu72HywjR9+YAmlBdnMnVBITVs37d297Gt0s6O2nSMmHbZcrjltLlNKcvnfxzYHHeddvT5e2h7fHKpEWxiXA+8YY75sjHnOGHMP8FVgOXAEgIjkYimMHxtjbjPGrAYuAwzw5QTLmxG8sceaCI4PszBK8rKCX9JzFk3kvKMm8pvndgTv/JrdVnRPXVvinLOtXR5a3L0puQzm9ni5/sH3uPa+9Rhj2Nfk5kBLF397vZJLlk3h9588htKCgUtxD8URk4rZXptYhdHd6+OJTYcA+PeGgwD8+dXDNwuv7mqg12dYOq2E7fYdcqypbuoiyylMLM6N+bVjzdmLJvLVVfP7ZZ4DHD2jFIAffXAJE4r6jmXhpCLWVjbzuxd28cGjp3LeUdY9cSBs+JN/fovTf/ECPV5/n9DfvGwn11+wkE0H2vjGAxsoynExviCbJ2z/WLxItMLIAsLt1xb7b+CdPgkoBu4PHGCM6QQeBS6Is3wZR1t3L/9cW81RU4qHncy+/76jcIpw0783YYwJJiwl0sJosZVUZaM77q/1/LZa/r3+AK/vbmRPfcegiYyt7l5au3q5/l8buX9dNV86cy4//fBSAG55bAtuj48vnTl3wMkkEhZOKmJnXUfEJSliwYvb62jvtpY3Wty9OASe31bHLY9tocvj48mNhxiXn8VVJ8/G4/OzIw4KbX+zm6nj8nAOU+4j1fnWeUfw1yuO433LpvTbt3BSER09XioKc/jeJUcFty+aXIzTIRxs6eKrZ81nzbfPCkZfBXjfsimcfeQEAOZOKOQHly7ms6fMjutYEh0l9RfgERH5FPAIMAm4BXjeGLPFPmYh4AN2hp27FfhoguTMGH78xDYOtnTz66uXD3vs5JI8rjtnAbc8vpV1Vc00J2FJqsXOWahs6GS5HfYYD9bsauCqO9f22faFM+YGY/dDueLOtzAGdtS2c/nKGfz3eQvZaU+gT22uYdn0ccEAgpGwYGIRHq+fykb3qBPWIuXhdw9QXphDQY6TqkY3nzllNl29Pv706l6e2VJLY0cPFy2dzCw7qs4KAY5tMll9ew8TxoB1MRylBdmcuXDCgPtWzCrD5RB++uGllORnBbdPL8vnxW+ewcTi3EHLrIsIt3/yWO5cU8nLine truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = metrics.train_perplexity.dropna().plot(kind=\"line\")\n",
"ax.set_xlabel(\"training steps\")\n",
"ax.set_ylabel(\"perplexity\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "f1185a0f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'val neg. log likelihood')"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = metrics.val_loss.dropna().plot()\n",
"ax.set_xlabel(\"training steps\")\n",
"ax.set_ylabel(\"val neg. log likelihood\")"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "d887cb3b",
"metadata": {},
"outputs": [],
"source": [
"X = predictor.prediction_net.vq_vae.embed.cpu()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "ae16d4bd",
"metadata": {},
"outputs": [],
"source": [
"X_embedded = TSNE(n_components=2, learning_rate='auto', init='random').fit_transform(X)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "8feaef88",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f4eec421b20>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X_embedded[:,0], X_embedded[:,1], alpha=1.0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e8968e6f",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}