mirror of
https://github.com/wassname/pytorch-transformer-ts.git
synced 2026-10-03 12:51:38 +08:00
added xformer notebooks
This commit is contained in:
1 parent
7dc68d9e7d
commit
85069e930f
5 files changed
+3292
No files matched your search
@@ -0,0 +1,645 @@
|
||||
{
|
||||
"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 XformerEstimator"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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 = XformerEstimator(\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",
|
||||
" embedding_dimension=[5],\n",
|
||||
" \n",
|
||||
" nhead=2,\n",
|
||||
" num_encoder_layers=4,\n",
|
||||
" num_decoder_layers=2,\n",
|
||||
" hidden_layer_multiplier=1,\n",
|
||||
" activation=\"gelu\",\n",
|
||||
"\n",
|
||||
"# # longformer\n",
|
||||
"# attention_args={\"name\": \"global\",},\n",
|
||||
"# reversible=True, \n",
|
||||
" \n",
|
||||
" # favor/performer\n",
|
||||
" attention_args={\"name\": \"favor\", \"iter_before_redraw\": 2},\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": 8,
|
||||
"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",
|
||||
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/callbacks/model_checkpoint.py:606: UserWarning: Checkpoint directory ./lightning_logs/version_14/checkpoints exists and is not empty.\n",
|
||||
" rank_zero_warn(f\"Checkpoint directory {dirpath} exists and is not empty.\")\n",
|
||||
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n",
|
||||
"\n",
|
||||
" | Name | Type | Params\n",
|
||||
"---------------------------------------\n",
|
||||
"0 | model | XformerModel | 124 K \n",
|
||||
"---------------------------------------\n",
|
||||
"124 K Trainable params\n",
|
||||
"0 Non-trainable params\n",
|
||||
"124 K Total params\n",
|
||||
"0.498 Total estimated model params size (MB)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "24cf544b925042d28232709c1f8e92a9",
|
||||
"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 7.03882 (best 7.03882), saving model to './lightning_logs/version_14/checkpoints/epoch=0-step=100.ckpt' as top 1\n",
|
||||
"Epoch 1, global step 200: 'train_loss' reached 6.94857 (best 6.94857), saving model to './lightning_logs/version_14/checkpoints/epoch=1-step=200.ckpt' as top 1\n",
|
||||
"Epoch 2, global step 300: 'train_loss' reached 6.82695 (best 6.82695), saving model to './lightning_logs/version_14/checkpoints/epoch=2-step=300.ckpt' as top 1\n",
|
||||
"Epoch 3, global step 400: 'train_loss' reached 6.64785 (best 6.64785), saving model to './lightning_logs/version_14/checkpoints/epoch=3-step=400-v1.ckpt' as top 1\n",
|
||||
"Epoch 4, global step 500: 'train_loss' reached 6.37397 (best 6.37397), saving model to './lightning_logs/version_14/checkpoints/epoch=4-step=500.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": 9,
|
||||
"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": 10,
|
||||
"id": "5fdc12da",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"forecasts = list(forecast_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"id": "4b7d3409",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"tss = list(ts_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "9b154bde",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"evaluator = Evaluator()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"id": "0fdec8a7",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"Running evaluation: 2247it [00:00, 3399.98it/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": 14,
|
||||
"id": "7f28f4d3",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'MSE': 10018107.873432416,\n",
|
||||
" 'abs_error': 26035099.499095917,\n",
|
||||
" 'abs_target_sum': 128632956.0,\n",
|
||||
" 'abs_target_mean': 2385.272140631954,\n",
|
||||
" 'seasonal_error': 189.49338196116761,\n",
|
||||
" 'MASE': 2.4701614804361784,\n",
|
||||
" 'MAPE': 0.25477670689181103,\n",
|
||||
" 'sMAPE': 0.24819572961811426,\n",
|
||||
" 'MSIS': 20.209983280943216,\n",
|
||||
" 'QuantileLoss[0.1]': 11107718.37581723,\n",
|
||||
" 'Coverage[0.1]': 0.1886774959204866,\n",
|
||||
" 'QuantileLoss[0.2]': 17534385.729109436,\n",
|
||||
" 'Coverage[0.2]': 0.2506860999851654,\n",
|
||||
" 'QuantileLoss[0.3]': 21799774.12036043,\n",
|
||||
" 'Coverage[0.3]': 0.29637665034861294,\n",
|
||||
" 'QuantileLoss[0.4]': 24542475.651297044,\n",
|
||||
" 'Coverage[0.4]': 0.3366525738021065,\n",
|
||||
" 'QuantileLoss[0.5]': 26035099.4930306,\n",
|
||||
" 'Coverage[0.5]': 0.37475893784305,\n",
|
||||
" 'QuantileLoss[0.6]': 26299950.11746931,\n",
|
||||
" 'Coverage[0.6]': 0.4088785046728972,\n",
|
||||
" 'QuantileLoss[0.7]': 24979193.32426689,\n",
|
||||
" 'Coverage[0.7]': 0.4523809523809524,\n",
|
||||
" 'QuantileLoss[0.8]': 21707479.345738567,\n",
|
||||
" 'Coverage[0.8]': 0.5081590268506158,\n",
|
||||
" 'QuantileLoss[0.9]': 15351255.969729993,\n",
|
||||
" 'Coverage[0.9]': 0.6027110221035455,\n",
|
||||
" 'RMSE': 3165.1394714028665,\n",
|
||||
" 'NRMSE': 1.3269510918633773,\n",
|
||||
" 'ND': 0.20239836126517932,\n",
|
||||
" 'wQuantileLoss[0.1]': 0.08635204166354717,\n",
|
||||
" 'wQuantileLoss[0.2]': 0.13631332338432334,\n",
|
||||
" 'wQuantileLoss[0.3]': 0.16947269811913854,\n",
|
||||
" 'wQuantileLoss[0.4]': 0.19079461760403799,\n",
|
||||
" 'wQuantileLoss[0.5]': 0.2023983612180272,\n",
|
||||
" 'wQuantileLoss[0.6]': 0.2044573252088626,\n",
|
||||
" 'wQuantileLoss[0.7]': 0.1941896859174012,\n",
|
||||
" 'wQuantileLoss[0.8]': 0.16875519323165183,\n",
|
||||
" 'wQuantileLoss[0.9]': 0.11934154704281222,\n",
|
||||
" 'mean_absolute_QuantileLoss': 21039703.56964661,\n",
|
||||
" 'mean_wQuantileLoss': 0.1635638659322002,\n",
|
||||
" 'MAE_Coverage': 0.15104954754487465,\n",
|
||||
" 'OWA': nan}"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"id": "cc3f804d",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB7kAAAXCCAYAAABuS1l6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeZhcdZk2/ruqurqq9y3pbJ2NBAIREgISCCCEgL4MiAKCv3GZSVB0GEdfGUEc3sFZUF98RVRmlJEZEVAHHIhsISZsSUggG9nXTjq971vt26nlnN8fp87p6u5au2s5VXV/rquvJLX1t6srtZznez+PTpIkCURERERERERERERERERERHlAn+sFEBERERERERERERERERERJYtFbiIiIiIiIiIiIiIiIiIiyhsschMRERERERERERERERERUd5gkZuIiIiIiIiIiIiIiIiIiPIGi9xERERERERERERERERERJQ3WOQmIiIiIiIiIiIiIiIiIqK8wSI3ERERERERERERERERERHlDRa5iYiIiIiIiIiIiIiIiIgob7DITUREREREREREREREREREeYNFbiIiIiIiIiIiIiIiIiIiyhsschMR5YDT6cS//Mu/4JJLLkFlZSVqampwxRVX4IknnoDf78/18oiIiIgoD3g8HmzZsgU//OEPceedd2LhwoXQ6XTQ6XT4l3/5l1wvj4iIiIjyxOjoKJ599ll8+ctfxvLly1FRUQGTyYSmpibcfvvtePXVV3O9RCKiSXSSJEm5XgQRUTHp7OzE2rVr0dHRAQAoLy9HKBSCIAgAgFWrVuG9995DXV1dDldJRERERFq3Y8cO3HDDDVHP++d//mcWuomIiIgoKUajEcFgUP232WyGwWCA2+1WT/uLv/gLbNy4EeXl5blYIhHRJExyExFlUTAYxG233YaOjg7MmTMH77zzDtxuNzweD/74xz+iqqoKhw8fxpe//OVcL5WIiIiI8kBdXR1uvPFGfPe738WLL76I2bNn53pJRERERJRngsEgVq9ejaeeegqtra3wer1wuVxob2/HV7/6VQDAli1b8Dd/8zc5XikR0RgmuYmIsuiZZ57BvffeCwDYvXs31qxZM+78F198EV/84hcBAO+++y5uvPHGrK+RiIiIiPJDKBSCwWAYd9qiRYvQ2dnJJDcRERERJW379u0xOwQBwH333Yenn34aANDV1YX58+dna2lERDExyU1ElEXPP/88AOCGG26YVOAGgL/8y7/E4sWLAQC/+93vsro2IiIiIsovEwvcRERERERTEa/ADUBNcwPAgQMHMr0cIqKksMhNRJQlHo8HH374IQB5hk00Op0ON998MwDg7bffztraiIiIiIiIiIiIiKIxm83q30OhUA5XQkQ0hkVuIqIsOX36NERRBABcfPHFMS+nnDcwMACLxZKVtRERERERERERERFFs2PHDvXvl1xySe4WQkQUgUVuIqIs6evrU/8+b968mJeLPC/yOkRERERERERERETZZLPZ8NhjjwEAPvGJT2DZsmU5XhERkYxFbiKiLHE6nerfy8vLY14u8rzI6xARERERERERERFliyiK+Ku/+iv09/fDbDbjl7/8Za6XRESkYpGbiIiIiIiIiIiIiIiIxvn2t7+NN998EwDwq1/9CitWrMjxioiIxrDITUSUJVVVVerfPR5PzMtFnhd5HSIiIiIiIiIiIqJsePDBB9Xk9s9//nN85StfyfGKiIjGY5GbiChL5s6dq/69t7c35uUiz4u8DhEREREREREREVGmPfTQQ3jiiScAAD/96U9x//3353ZBRERRsMhNRJQlF110EfR6+Wn3xIkTMS+nnDd79mzU19dnZW1ERERERERERERE3/3ud/H4448DAH7yk5/ggQceyPGKiIiiY5GbiChLysvLcc011wAAtm7dGvUykiThrbfeAgB86lOfytraiIiIiIiIiIiIqLg9+OCD+OlPfwpALnB/97vfzfGKiIhiY5GbiCiL1q9fDwDYvn079u3bN+n8l19+GW1tbQCAv/7rv87q2oiIiIiIiIiIiKg4Pfjgg+NalLPATURaxyI3EVEWrV+/HpdccgkkScLnPvc5vPfeewAAURTx8ssv42tf+xoA4C/+4i9w44035nKpRERERJQHrFYrRkZG1C9RFAEAHo9n3OkulyvHKyUiIiIirYqcwf2zn/2MLcqJKC/oJEmScr0IIqJi0tHRgRtuuAEdHR0A5DbmoijC5/MBAFatWoX33nsPdXV1OVwlEREREeWDRYsWobOzM+Hl1q9fj+eeey7zCyIiIiKivNLV1YWFCxcCAPR6PWbOnBn38g8++CAefPDBbCyNiCiuklwvgIio2CxatAjHjh3DT3/6U7zyyitob2+H0WjExz72MXzhC1/At771LZSWluZ6mURERERERERERFTglE5Ayt8HBwfjXp4dgohIK5jkJiIiIiIiIiIiIiIiIiKivMGZ3ERERERERERERERERERElDdY5CYiIiIiIiIiIiIiIiIiorzBIjcREREREREREREREREREeUNFrmJiIiIiIiIiIiIiIiIiChvsMhNRERERERERERERERERER5oyTXC9ACURTR19eHqqoq6HS6XC+HiIiIKCskSYLT6cTcuXOh13PvYzrwfSUREREVI76vTD++ryQiIqJilMr7Sha5AfT19WH+/Pm5XgYRERFRTnR3d6OpqSnXyygIfF9JRERExYzvK9OH7yuJiIiomCXzvpJFbgBVVVUA5Dusuro6x6shIiIiyg6Hw4H58+er74Vo+vi+koiIiIoR31emH99XEhERUTFK5X0li9yA2vKnurqabxqJiIio6LD9YfrwfSUREREVM76vTB++ryQiIqJilsz7Sg7JISIiIiIiIiIiIiIiIiKivMEiNxERERERERERERERERER5Q0WuYmIiIiIiIiIiIiIiIiIKG+wyE1ERERERERERERERERERHmDRW4iIiIiIiIiIiIiIiIiIsobLHITEREREREREREREREREVHeYJGbiIiIiIiIiIiIKMLBgwfx4x//GHfeeSeampqg0+mg0+lSuo2bbrpJvV5PT0+GVkpERERUnEpyvQAiIiIiIiIiIiIiLfnBD36A119/fcrXf+655/Dee+9Bp9NBkqQ0royIiIiIABa5iYiIiIiIiIiIiMZZs2YNVqxYgSuuuAJXXHEFFi1aBEEQkrru8PAwHnjgAXzqU5/CmTNn0NnZmeHVEhERERUfFrmJiIiIiIiIiIiIInzve9+b8nXvv/9+eDwePPXUU7jxxhvTuCoiIiIiUnAmNxEREREREREREVEabN26FS+88AL+8R//EUuWLMn1coiIiIgKFovcRERERERERERERNPkdrvxt3/7t7jwwgvx0EMP5Xo5RERERAWNRW4iIiIiIiIiymtbjvfjuy8fhRAM5XopRFTE/umf/gkdHR349a9/jdLS0pSuKwgCHA7HuC/KvWM9NvzvFw+jx+rJ9VKIiIhoAha5iYiIiJIQFIO5XgIRERHF8O/bzuHlgz3Y327J9VKIqEgdOnQITz75JNavX4/rr78+5es/9thjqKmpUb/mz5+fgVVSqn63pxNvHO3DG0f7cr0UIiIimoBFbiIiIqIkWLw8aE5ERKRVvoCc4LZ5AjleCREVo1AohHvvvRe1tbX46U9/OqXbePjhh2G329Wv7u7uNK+SpkJ5XXH6uOmZiIhIa0pyvQAiIiKifGDxWtBY0ZjrZRAREVEUQlAEADh8LHITUfb94he/wOHDh/HMM89gxowZU7oNk8kEk8mU5pXRdCmvK26BRW4iIiKtYZGbiIiIKAFREmH32XO9DCIiIorBH5KL3EzaEVEubNq0CTqdDs8//zx+97vfjTtvYGAAAHD33XfDZDLhH/7hH3DzzTfnYpk0BcrrilsI5XglRERENBGL3EREREQJCEEB7oA718sgIiKiGPxKktvLJDcR5YYkSdi5c2fM8/fu3QsA2LBhQ5ZWROmgvK54/NxERUREpDUschMREREl4Av64Al4cr0MIiIiikEpcjPJTUS5sGPHjpjnLVq0CJ2dneju7kZTU1P2FkVp4Qy3K3exXTkREZHm6HO9ACIiIiKtE0IC3H4muYmIiLRKaVfOmdxERJQuoijBGS5ue/xsV05ERKQ1THITERERJcAkNxERkXaFRAkhUQLAduVElD6bN2/GD37wA/Xffr8fAHDVVVepp33/+9/HrbfemvW1UXa4/UFIUvjvTHITERFpDovcRERERAkIQQFCSEBIDMGgN+R6OURERBRBaVUOsF05EaXP8PAw9u3bN+n0yNOGh4ezuSTKMkfEa4qbM7mJiIg0h0VuIiIiogSEkAAA8AQ8qDJV5Xg1REREFCmyyM125USULhs2bMCGDRumfTsdHR3Tvg3KDWfEa4pHYLtyIiIireFMbiIiojzjD/lzvYSi4wv6AADuAOdyExERaY0QGis8MMlNRETp4vCOvaa42K6ciIhIc1jkJiIiyjNt1rZcL6HoqEVuP4vcREREWhMISerfOZObiIjSJTLJLQRFBENinEsTERFRtrHITURElGfOjp7N9RKKjhAca1dORERE2hLZrtztD7EIQUREaTFxBIbbz5blREREWsIiNxERUZ4Zdg/D6rXmehlFJXImNxEREWlLZJEbYEtZIiJKj4kjMDx+vr4QERFpCYvcREREeSQoBhEQA+hx9OR6KUWFM7mJiIi0a2KRm3O5iYgoHSaOwHALTHITERFpCYvcREREeURJErPInV1sV05ERKRd/tD4ooOdc7mJiCgNJm6acrNTCBERkaawyE1ERJRHlCJrv6sfkiTleDXFQ01y+5nkJiIi0hqBSW4iIsqAyTO5+fpCRESkJSxyExER5RGlyOoP+THkHsrxaoqDKIkIiPLBDSa5iYiItGdiu/KJRQkiIqKpcExKcrNdORERkZawyE1ERJRHIousbFmLine 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": "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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
|
||||
}
|
||||
@@ -0,0 +1,665 @@
|
||||
{
|
||||
"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 XformerEstimator"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "fc889c9f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"dataset = get_dataset(\"exchange_rate\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "1717d0d2",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"estimator = XformerEstimator(\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",
|
||||
" embedding_dimension=[3],\n",
|
||||
" \n",
|
||||
" nhead=2,\n",
|
||||
" num_encoder_layers=4,\n",
|
||||
" num_decoder_layers=2,\n",
|
||||
" hidden_layer_multiplier=1,\n",
|
||||
" activation=\"gelu\",\n",
|
||||
"\n",
|
||||
"# # longformer\n",
|
||||
"# attention_args={\"name\": \"global\",},\n",
|
||||
"# reversible=True, \n",
|
||||
" \n",
|
||||
" # favor/performer\n",
|
||||
" attention_args={\"name\": \"favor\", \"iter_before_redraw\": 2},\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": 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 | XformerModel | 12.5 K\n",
|
||||
"---------------------------------------\n",
|
||||
"12.5 K Trainable params\n",
|
||||
"0 Non-trainable params\n",
|
||||
"12.5 K Total params\n",
|
||||
"0.050 Total estimated model params size (MB)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "2a5e1be364fb48bc9d1857ae688d41a4",
|
||||
"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.39553 (best -2.39553), saving model to './lightning_logs/version_7/checkpoints/epoch=0-step=200.ckpt' as top 1\n",
|
||||
"Epoch 1, global step 400: 'train_loss' reached -2.64429 (best -2.64429), saving model to './lightning_logs/version_7/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' reached -2.73290 (best -2.73290), saving model to './lightning_logs/version_7/checkpoints/epoch=3-step=800.ckpt' as top 1\n",
|
||||
"Epoch 4, global step 1000: 'train_loss' reached -2.94340 (best -2.94340), saving model to './lightning_logs/version_7/checkpoints/epoch=4-step=1000.ckpt' as top 1\n",
|
||||
"Epoch 5, global step 1200: 'train_loss' reached -2.98574 (best -2.98574), saving model to './lightning_logs/version_7/checkpoints/epoch=5-step=1200.ckpt' as top 1\n",
|
||||
"Epoch 6, global step 1400: 'train_loss' reached -3.14744 (best -3.14744), saving model to './lightning_logs/version_7/checkpoints/epoch=6-step=1400.ckpt' as top 1\n",
|
||||
"Epoch 7, global step 1600: 'train_loss' reached -3.21059 (best -3.21059), saving model to './lightning_logs/version_7/checkpoints/epoch=7-step=1600.ckpt' as top 1\n",
|
||||
"Epoch 8, global step 1800: 'train_loss' was not in top 1\n",
|
||||
"Epoch 9, global step 2000: 'train_loss' reached -3.37968 (best -3.37968), saving model to './lightning_logs/version_7/checkpoints/epoch=9-step=2000.ckpt' as top 1\n",
|
||||
"Epoch 10, global step 2200: 'train_loss' reached -3.39475 (best -3.39475), saving model to './lightning_logs/version_7/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' reached -3.52554 (best -3.52554), saving model to './lightning_logs/version_7/checkpoints/epoch=12-step=2600.ckpt' as top 1\n",
|
||||
"Epoch 13, global step 2800: 'train_loss' was not in top 1\n",
|
||||
"Epoch 14, global step 3000: 'train_loss' reached -3.59532 (best -3.59532), saving model to './lightning_logs/version_7/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 -3.68972 (best -3.68972), saving model to './lightning_logs/version_7/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 -3.73288 (best -3.73288), saving model to './lightning_logs/version_7/checkpoints/epoch=18-step=3800.ckpt' as top 1\n",
|
||||
"Epoch 19, global step 4000: 'train_loss' reached -3.79674 (best -3.79674), saving model to './lightning_logs/version_7/checkpoints/epoch=19-step=4000.ckpt' as top 1\n",
|
||||
"Epoch 20, global step 4200: 'train_loss' was not in top 1\n",
|
||||
"Epoch 21, global step 4400: 'train_loss' reached -3.92366 (best -3.92366), saving model to './lightning_logs/version_7/checkpoints/epoch=21-step=4400.ckpt' as top 1\n",
|
||||
"Epoch 22, global step 4600: 'train_loss' was not in top 1\n",
|
||||
"Epoch 23, global step 4800: 'train_loss' reached -3.92517 (best -3.92517), saving model to './lightning_logs/version_7/checkpoints/epoch=23-step=4800.ckpt' as top 1\n",
|
||||
"Epoch 24, global step 5000: 'train_loss' reached -4.07193 (best -4.07193), saving model to './lightning_logs/version_7/checkpoints/epoch=24-step=5000.ckpt' as top 1\n",
|
||||
"Epoch 25, global step 5200: 'train_loss' was not in top 1\n",
|
||||
"Epoch 26, global step 5400: 'train_loss' reached -4.11676 (best -4.11676), saving model to './lightning_logs/version_7/checkpoints/epoch=26-step=5400.ckpt' as top 1\n",
|
||||
"Epoch 27, global step 5600: 'train_loss' reached -4.27184 (best -4.27184), saving model to './lightning_logs/version_7/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' was not in top 1\n",
|
||||
"`Trainer.fit` stopped: `max_epochs=30` 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: 40it [00:00, 74.56it/s]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "4adbf8d9",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'MSE': 0.005701744938111234,\n",
|
||||
" 'abs_error': 68.61437417939305,\n",
|
||||
" 'abs_target_sum': 975.9766580164433,\n",
|
||||
" 'abs_target_mean': 0.8133138816803693,\n",
|
||||
" 'seasonal_error': 0.006515919403041842,\n",
|
||||
" 'MASE': 8.963247523737747,\n",
|
||||
" 'MAPE': 0.0699259030725807,\n",
|
||||
" 'sMAPE': 0.06655537533263366,\n",
|
||||
" 'MSIS': 206.49225239258152,\n",
|
||||
" 'QuantileLoss[0.1]': 86.57541626133025,\n",
|
||||
" 'Coverage[0.1]': 0.865,\n",
|
||||
" 'QuantileLoss[0.2]': 87.95176725685596,\n",
|
||||
" 'Coverage[0.2]': 0.8733333333333334,\n",
|
||||
" 'QuantileLoss[0.3]': 84.04697430413216,\n",
|
||||
" 'Coverage[0.3]': 0.8866666666666667,\n",
|
||||
" 'QuantileLoss[0.4]': 77.30092919878662,\n",
|
||||
" 'Coverage[0.4]': 0.9091666666666667,\n",
|
||||
" 'QuantileLoss[0.5]': 68.61437537427992,\n",
|
||||
" 'Coverage[0.5]': 0.9316666666666666,\n",
|
||||
" 'QuantileLoss[0.6]': 57.978374324738986,\n",
|
||||
" 'Coverage[0.6]': 0.9533333333333334,\n",
|
||||
" 'QuantileLoss[0.7]': 46.30905397608877,\n",
|
||||
" 'Coverage[0.7]': 0.9758333333333333,\n",
|
||||
" 'QuantileLoss[0.8]': 33.131346242129794,\n",
|
||||
" 'Coverage[0.8]': 0.9949999999999999,\n",
|
||||
" 'QuantileLoss[0.9]': 18.169621344842014,\n",
|
||||
" 'Coverage[0.9]': 1.0,\n",
|
||||
" 'RMSE': 0.07550989960337144,\n",
|
||||
" 'NRMSE': 0.0928422609083742,\n",
|
||||
" 'ND': 0.07030329425997096,\n",
|
||||
" 'wQuantileLoss[0.1]': 0.08870644144019234,\n",
|
||||
" 'wQuantileLoss[0.2]': 0.09011667085932924,\n",
|
||||
" 'wQuantileLoss[0.3]': 0.08611576272218197,\n",
|
||||
" 'wQuantileLoss[0.4]': 0.07920366595231036,\n",
|
||||
" 'wQuantileLoss[0.5]': 0.07030329548426957,\n",
|
||||
" 'wQuantileLoss[0.6]': 0.05940549279382681,\n",
|
||||
" 'wQuantileLoss[0.7]': 0.04744893599218492,\n",
|
||||
" 'wQuantileLoss[0.8]': 0.033946863349647444,\n",
|
||||
" 'wQuantileLoss[0.9]': 0.01861686055255626,\n",
|
||||
" 'mean_absolute_QuantileLoss': 62.23087314257604,\n",
|
||||
" 'mean_wQuantileLoss': 0.06376266546072211,\n",
|
||||
" 'MAE_Coverage': 0.43222222222222223,\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": "iVBORw0KGgoAAAANSUhEUgAAB8QAAAXCCAYAAABt/FdSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXhb5Zk3/q8kS7LlfYvtxGtiZyUJSRNICJStJEAIULYy0y1l3vnNTIc2kGFpZoY2ado3vNCWAinte70MQ2fowhoCBEhCSMKaBLKvdrxvki3J2nedc35/eCyiWLYlWZvl7+e6fI11zvM85xbJNT0597nvRyZJkgQiIiIiIiIiIiIiIiIiIqI0I092AERERERERERERERERERERPHAhDgREREREREREREREREREaUlJsSJiIiIiIiIiIiIiIiIiCgtMSFORERERERERERERERERERpiQlxIiIiIiIiIiIiIiIiIiJKS0yIExERERERERERERERERFRWmJCnIiIiIiIiIiIiIiIiIiI0hIT4kRERERERERERERERERElJaYECciIiIiIiIiIiIiIiIiorTEhDgREREREREREREREREREaUlJsSJiFKMzWbDxo0bMX/+fOTk5CA/Px9Lly7Fr3/9a3i93mSHR0REREQTlNPpxHvvvYdf/OIXuOOOO1BTUwOZTAaZTIaNGzcmOzwiIiIimuCMRiP+8z//E9/5zncwd+5cZGdnQ61Wo7KyErfffju2bduW7BCJaJKSSZIkJTsIIiIa1NHRgWuuuQbt7e0AAI1GA0EQ4PF4AACLFi3Cnj17UFhYmMQoiYiIiGgi2rdvH6699tqQ5372s58xKU5ERERE46JUKuH3+wOfMzMzoVAo4HA4AsduuukmvPbaa9BoNMkIkYgmKVaIExGlCL/fjzVr1qC9vR0VFRXYvXs3HA4HnE4n/vrXvyI3NxdHjx7Fd77znWSHSkREREQTVGFhIa6//no8/PDD+Mtf/oLy8vJkh0REREREacLv9+Oyyy7Dc889h5aWFrhcLtjtdrS1teHv/u7vAADvvfce/uEf/iHJkRLRZMMKcSKiFPEf//Ef+F//638BAD777DMsX7486Pxf/vIX/O3f/i0A4IMPPsD111+f8BiJiIiIaOISBAEKhSLoWG1tLTo6OlghTkRERETjtnfv3hE7EgHAP/7jP+L//t//CwDo7OxEVVVVokIjokmOFeJERCnij3/8IwDg2muvHZYMB4B7770XdXV1AID/+q//SmhsRERERDTxXZwMJyIiIiKKpdGS4QACVeIA8OWXX8Y7HCKiACbEiYhSgNPpxKeffgpgcB+dUGQyGW688UYAwK5duxIWGxEREREREREREdF4ZWZmBn4XBCGJkRDRZMOEOBFRCjh79ixEUQQAXHLJJSOOGzqn0+kwMDCQkNiIiIiIiIiIiIiIxmvfvn2B3+fPn5+8QIho0mFCnIgoBfT29gZ+nzZt2ojjLjx34RwiIiIiIiIiIiKiVGU2m7FlyxYAwFVXXYVZs2YlOSIimkyYECciSgE2my3wu0ajGXHchecunENERERERERERESUikRRxHe/+11otVpkZmZi69atyQ6JiCYZJsSJiIiIiIiIiIiIiIgoLtatW4d33nkHAPC73/0OCxYsSHJERDTZMCFORJQCcnNzA787nc4Rx1147sI5RERERERERERERKnmoYceClSEP/XUU7jvvvuSHBERTUZMiBMRpYCpU6cGfu/p6Rlx3IXnLpxDRERERERERERElEoeeeQR/PrXvwYA/OpXv8IDDzyQ3ICIaNJiQpyIKAXMmTMHcvng/0s+derUiOOGzpWXl6OoqCghsRERERERERERERFF4uGHH8aTTz4JAHjiiSfwL//yL0mOiIgmMybEiYhSgEajwYoVKwAA77//fsgxkiRh586dAICVK1cmLDYiIiIiIiIiIiKicD300EP41a9+BWAwGf7www8nOSIimuyYECciShHf//73AQB79+7FwYMHh51/9dVX0draCgD43ve+l9DYiIiIiIiIiIiIiMby0EMPBbVJZzKciFIBE+JERCni+9//PubPnw9JknDnnXdiz549AABRFPHqq6/i7//+7wEAN910E66//vpkhkpEREREE5TJZILBYAj8iKIIAHA6nUHH7XZ7kiMlIiIioonmwj3Df/Ob37BNOhGlDJkkSVKygyAiokHt7e249tpr0d7eDmCwlbooinC73QCARYsWYc+ePSgsLExilEREREQ0UdXW1qKjo2PMcd///vfx4osvxj8gIiIiIkoLnZ2dqKmpAQDI5XKUlpaOOv6hhx7CQw89lIjQiIiQkewAiIjoK7W1tThx4gR+9atf4Y033kBbWxuUSiXmzZuHv/mbv8GPfvQjqFSqZIdJREREREREREREFDDUeWjo976+vlHHsyMRESUSK8SJiIiIiIiIiIiIiIiIiCgtcQ9xIiIiIiIiIiIiIiIiIiJKS0yIExERERERERERERERERFRWmJCnIiIiIiIiIiIiIiIiIiI0hIT4kRERERERERERERERERElJaYECciIiIiIiIiIiIiIiIiorSUkewAJipRFNHb24vc3FzIZLJkh0NEREQUEUmSYLPZMHXqVMjlfEcyFfF+k4iIiCYy3m+mPt5vEhER0UQWyf0mE+JR6u3tRVVVVbLDICIiIhqXrq4uVFZWJjsMCoH3m0RERJQOeL+Zuni/SUREROkgnPtNJsSjlJubC2DwP3JeXl6SoyEiIiKKjNVqRVVVVeCehlIP7zeJiIhoIuP9Zurj/SYRERFNZJHcbzIhHqWhNkJ5eXm8YSQiIqIJi60RUxfvN4mIiCgd8H4zdfF+k4iIiNJBOPeb3MCHiIiIiIiIiIiIiIiIiIjSEhPiRERERERERERERERERESUlpgQJyIiIiIiIiIiIiIiIiKitMSEOBERERERERERERERERERpSUmxImIiIiIiIiIiIiIiIiIKC0xIU5ERERERERERERERERERGmJCXEiIiIiIiIiIiIiIiIiIkpLTIgTEREREREREREREREREVFaYkKciIiIiIiIiIiIiIiIiIjSEhPiRERERERERERERERERESUlpgQJyIiIiIiIiIiIiIiIiKitMSEOBERERERERERERERERERpSUmxImIiIiIiIiIiIiIiIiIKC0xIU5ERESUYvrsfckOgYiIiIjSmN6hT3YIRERERJTGnD5nskMIwoQ4ERERUQppGWjBoZ5DyQ6DiIiIiNJUh7kDX/Z+mewwiIiIiCiNNRoakx1CECbEiYiIiFJEj7UHe9r2QIKU7FCIiIiIKA0NuAbwQesHvN8kIiIiorgxOo0wOA3JDiMIE+JEREREMdJkbIp6rsFpwM6WnRAlMYYRERERERENcvvdeO/8e/CJvmSHQkRERERp7KzhbLJDGIYJcSIiIqIYMDqN+Kjjo6j2x7F5bHj3/LvwCt44REZEREREk50oidjVsgs2ry3ZoRARERFRGhNEAeeN55MdxjBMiBMRERHFwDnDOfhFP47pjkU0z+Vz4Z2md6JKpBMRERERhePjjo/Ra+tNdhgp4/Dhw3j88cdxxx13oLKyEjKZDDKZLKq19u/fj02bNmH16tUoLS2FTCZDbW3tqHPWrl0buGaonz/84Q8jzn377bdx9dVXIy8vD3l5ebjmmmuwY8eOqGInIiIiirV2czs8gifZYQyTkewAiIiIiCY6URJxfmDwzccz+jNYVL4IWcqsMef5BB/ePf8uLB5LvEMkIiIioknqZN/JlGxbmUybN2/G9u3bY7LWunXrcPz48ajmrlq1CuXl5cOOz5o1K+T43/72t3jwwQeRkZGBb3zjG1Cr1di1axduueUWPPvss7j//vujioOIiIgoVlL1vpMJcSIiIqJxaje3w+13A0CgSnx51fJR5wy1rdQ79YkIkYiIiIjSmN1rR44qZ9jxbms3Puv6LAkRpbbly5djwYIFWLp0KZYuXYra2lp4PNFVMq1cuRJ33303li5disrKSsybNy/suT/5yU9wzTXXhDW2sbERDz30ENRqNfbu3Yvlywf/vdHU1IQrrrgCDz74IG688UbU19dH8zWIiIiIxs3msaHb2p3sMEJiQpyIiIhonM7qg998PK0/jUvLLx21Snxf+z50WbviHRoRERERTQKfd32OuaVzMS1vWuCYxW3B7pbdkCAlMbLU9Oijj8ZsrSeeeCLwu06ni9m6F3v66achCALuv//+QDIcAGbOnIl/+7d/w/r16/H000/j2WefjVsMRERERKNpNDYmO4QRcQ9xIiIionFweB3D3nz0i3683fQ23jj7Bv5y8i/4y8m/4LjuOHyCD8DgA8smY1MywiUiIiKiNGTxWPBB6wdweB0AAI/fg3fPv5uS+zdSdIb2Cb/rrruGnRs69vbbbyc0JiIiIqIhkiSh0ZC6CXFWiBMRERGNQ6OxMWTVzYBrIOjz592f47D2MKblTkObuS1R4RERERFRAnj8HnRZu1BflJx21TaPDR7Bg50tO3HrrFuxu3U3LB5LUmKh8L3xxht4/fXXIQgC6urqsGbNGsyePXvYOLPZjM7OTgDAokWLhp2vqqpCSUkJOjo6YLVakZeXF/fYiYiIiC7UY+uBzWtLdhgjYkKciIiIaBwiqfT2Cl4mw4mIiIjSiNamxVnDWbQMtECURNQW1CJDntjHbV7BG6gE73f04+VTL6f0w0j6ysXtzR999FH80z/9E55++mlkZHz192goGV5YWIjs7OyQa1VWVsJgMKCjowPz588POcbj8QTtlW61Wsf7FYiIiIgADN9SMtWwZToRERFRlAZcAzC7zckOg/7H4cOH8fjjj+OOO+5AZWUlZDIZZDJZ1Ovt3r0bq1evRmlpKZRKJYqLi7Fy5Ups27ZtxDkulws//elPMXPmTGRmZmLq1Km477770NPTE3UcRERElFrcfjeLine 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
|
||||
}
|
||||
@@ -0,0 +1,645 @@
|
||||
{
|
||||
"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",
|
||||
"\n",
|
||||
"from pytorch_lightning.loggers import CSVLogger\n",
|
||||
"\n",
|
||||
"from estimator import XformerEstimator"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "fc889c9f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"dataset = get_dataset(\"solar-energy\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"id": "1717d0d2",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"estimator = XformerEstimator(\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",
|
||||
" embedding_dimension=[5],\n",
|
||||
" \n",
|
||||
" nhead=2,\n",
|
||||
" num_encoder_layers=4,\n",
|
||||
" num_decoder_layers=2,\n",
|
||||
" hidden_layer_multiplier=1,\n",
|
||||
" activation=\"gelu\",\n",
|
||||
"\n",
|
||||
"# # longformer\n",
|
||||
"# attention_args={\"name\": \"global\",},\n",
|
||||
"# reversible=True, \n",
|
||||
" \n",
|
||||
" # favor/performer\n",
|
||||
" attention_args={\"name\": \"favor\", \"iter_before_redraw\": 2},\n",
|
||||
" \n",
|
||||
" batch_size=256,\n",
|
||||
" num_batches_per_epoch=200,\n",
|
||||
" trainer_kwargs=dict(gpus=\"1\", max_epochs=30, logger=CSVLogger(\".\", \"lightning_logs/\")),\n",
|
||||
" )"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 23,
|
||||
"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",
|
||||
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/callbacks/model_checkpoint.py:606: UserWarning: Checkpoint directory ./lightning_logs/version_9/checkpoints exists and is not empty.\n",
|
||||
" rank_zero_warn(f\"Checkpoint directory {dirpath} exists and is not empty.\")\n",
|
||||
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n",
|
||||
"\n",
|
||||
" | Name | Type | Params\n",
|
||||
"---------------------------------------\n",
|
||||
"0 | model | XformerModel | 123 K \n",
|
||||
"---------------------------------------\n",
|
||||
"123 K Trainable params\n",
|
||||
"0 Non-trainable params\n",
|
||||
"123 K Total params\n",
|
||||
"0.495 Total estimated model params size (MB)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "b3ddab94653b4f14a1deaf5b1684131c",
|
||||
"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 3.49064 (best 3.49064), saving model to './lightning_logs/version_9/checkpoints/epoch=0-step=200-v1.ckpt' as top 1\n",
|
||||
"Epoch 1, global step 400: 'train_loss' reached 2.57859 (best 2.57859), saving model to './lightning_logs/version_9/checkpoints/epoch=1-step=400.ckpt' as top 1\n",
|
||||
"Epoch 2, global step 600: 'train_loss' reached 2.14566 (best 2.14566), saving model to './lightning_logs/version_9/checkpoints/epoch=2-step=600.ckpt' as top 1\n",
|
||||
"Epoch 3, global step 800: 'train_loss' reached 1.96949 (best 1.96949), saving model to './lightning_logs/version_9/checkpoints/epoch=3-step=800.ckpt' as top 1\n",
|
||||
"Epoch 4, global step 1000: 'train_loss' was not in top 1\n",
|
||||
"Epoch 5, global step 1200: 'train_loss' reached 1.80546 (best 1.80546), saving model to './lightning_logs/version_9/checkpoints/epoch=5-step=1200.ckpt' as top 1\n",
|
||||
"Epoch 6, global step 1400: 'train_loss' reached 1.69331 (best 1.69331), saving model to './lightning_logs/version_9/checkpoints/epoch=6-step=1400.ckpt' as top 1\n",
|
||||
"Epoch 7, global step 1600: 'train_loss' was not in 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": 24,
|
||||
"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": 25,
|
||||
"id": "5fdc12da",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"forecasts = list(forecast_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 26,
|
||||
"id": "4b7d3409",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"tss = list(ts_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 27,
|
||||
"id": "9b154bde",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"evaluator = Evaluator()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 28,
|
||||
"id": "0fdec8a7",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"Running evaluation: 959it [00:00, 1667.73it/s]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 29,
|
||||
"id": "7f28f4d3",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'MSE': 1379.289396427222,\n",
|
||||
" 'abs_error': 444114.4719467163,\n",
|
||||
" 'abs_target_sum': 708873.5020904541,\n",
|
||||
" 'abs_target_mean': 30.799161543728452,\n",
|
||||
" 'seasonal_error': 13.175128459742648,\n",
|
||||
" 'MASE': 1.4748632101388923,\n",
|
||||
" 'MAPE': 2.158936064568722,\n",
|
||||
" 'sMAPE': 1.466070511045247,\n",
|
||||
" 'MSIS': 6.29417238682465,\n",
|
||||
" 'QuantileLoss[0.1]': 139654.56242386083,\n",
|
||||
" 'Coverage[0.1]': 0.036887382690302395,\n",
|
||||
" 'QuantileLoss[0.2]': 253651.9117652831,\n",
|
||||
" 'Coverage[0.2]': 0.08076989920055613,\n",
|
||||
" 'QuantileLoss[0.3]': 344094.60765115963,\n",
|
||||
" 'Coverage[0.3]': 0.12252346193952034,\n",
|
||||
" 'QuantileLoss[0.4]': 408625.40701114474,\n",
|
||||
" 'Coverage[0.4]': 0.15758602711157454,\n",
|
||||
" 'QuantileLoss[0.5]': 444114.4717718512,\n",
|
||||
" 'Coverage[0.5]': 0.1845238095238095,\n",
|
||||
" 'QuantileLoss[0.6]': 451366.60866870545,\n",
|
||||
" 'Coverage[0.6]': 0.2059436913451512,\n",
|
||||
" 'QuantileLoss[0.7]': 420415.6582007169,\n",
|
||||
" 'Coverage[0.7]': 0.2363138686131387,\n",
|
||||
" 'QuantileLoss[0.8]': 345888.19658309105,\n",
|
||||
" 'Coverage[0.8]': 0.4738008342022941,\n",
|
||||
" 'QuantileLoss[0.9]': 208994.82873768808,\n",
|
||||
" 'Coverage[0.9]': 0.8630083420229405,\n",
|
||||
" 'RMSE': 37.13878560786852,\n",
|
||||
" 'NRMSE': 1.2058375535690837,\n",
|
||||
" 'ND': 0.6265073678689236,\n",
|
||||
" 'wQuantileLoss[0.1]': 0.1970091448079555,\n",
|
||||
" 'wQuantileLoss[0.2]': 0.35782394322438144,\n",
|
||||
" 'wQuantileLoss[0.3]': 0.4854104528331661,\n",
|
||||
" 'wQuantileLoss[0.4]': 0.5764433369368673,\n",
|
||||
" 'wQuantileLoss[0.5]': 0.6265073676222433,\n",
|
||||
" 'wQuantileLoss[0.6]': 0.6367378768392867,\n",
|
||||
" 'wQuantileLoss[0.7]': 0.5930757137358349,\n",
|
||||
" 'wQuantileLoss[0.8]': 0.4879406488789234,\n",
|
||||
" 'wQuantileLoss[0.9]': 0.29482669068792444,\n",
|
||||
" 'mean_absolute_QuantileLoss': 335200.6947570557,\n",
|
||||
" 'mean_wQuantileLoss': 0.47286390839628706,\n",
|
||||
" 'MAE_Coverage': 0.23762696481674583,\n",
|
||||
" 'OWA': nan}"
|
||||
]
|
||||
},
|
||||
"execution_count": 29,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 30,
|
||||
"id": "cc3f804d",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB7cAAAXCCAYAAABwgmnJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9e5gU9Zk//L+rzzPdPWdgkOEkIIZVVAxGRQ0S46rE1S+azUbJggmbr9nVjSvGw17xWr9qHn1c3MTd6O/ns4lxNdF9EkDdiEc0BCOCovGAiCCHYTjNsafPx6p6/qiu6u7pw0zPVFV3z7xf1zVXpLurpyYM3Z/+3PW+b0GWZRlERERERERERERERERERERVzFLpEyAiIiIiIiIiIiIiIiIiIhoOi9tERERERERERERERERERFT1WNwmIiIiIiIiIiIiIiIiIqKqx+I2ERERERERERERERERERFVPRa3iYiIiIiIiIiIiIiIiIio6rG4TUREREREREREREREREREVY/FbSIiIiIiIiIiIiIiIiIiqnosbhMRERERERERERERERERUdVjcZuIiIiIiIiIiIiIiIiIiKoei9tERERERERERERERERERFT1WNwmIjJZMBjEPffcg9NPPx0ejweNjY1YvHgxHn74YSQSiUqfHhERERFVoUgkgpdffhn3338/VqxYgZkzZ0IQBAiCgHvuuafSp0dEREREVay/vx+/+tWvsHLlSixYsAButxtOpxMdHR24+uqr8dxzz1X6FImIRkyQZVmu9EkQEU0UnZ2dWLp0KQ4dOgQAqK+vhyiKiMfjAICzzjoLb7zxBpqbmyt4lkRERERUbbZs2YKLL7644H3/8i//wgI3ERERERVlt9uRSqW0P7tcLlitVoTDYe22yy+/HOvXr0d9fX0lTpGIaMSY3CYiMkkqlcKVV16JQ4cOYerUqXj99dcRDocRiUTw3//93/B6vfjzn/+MlStXVvpUiYiIiKgKNTc342tf+xp+9KMf4dlnn0V7e3ulT4mIiIiIakAqlcI555yDxx57DPv370c0GkUoFMLBgwfxve99DwDw8ssv43//7/9d4TMlIhoek9tERCb55S9/iTVr1gAAtm3bhvPOOy/n/meffRbXXXcdAGDz5s342te+Zvo5EhEREVF1EkURVqs157ZZs2ahs7OTyW0iIiIiKukPf/hD0S5AAHDjjTfi8ccfBwAcPnwY06dPN+vUiIjKxuQ2EZFJ/uu//gsAcPHFF+cVtgHgb/7mbzB79mwAwFNPPWXquRERERFRdRta2CYiIiIiGqlShW0AWnobAHbu3Gn06RARjQmL20REJohEInj77bcBKPNrChEEAZdddhkA4LXXXjPt3IiIiIiIiIiIiGjicrlc2n+LoljBMyEiGh6L20REJvjss88gSRIA4LTTTiv6OPW+EydOYGBgwJRzIyIiIiIiIiIioolry5Yt2n+ffvrplTsRIqIRYHGbiMgEx44d0/572rRpRR+XfV/2MURERERERERERER6GxwcxAMPPAAAuPDCCzF//vwKnxERUWksbhMRmSAYDGr/XV9fX/Rx2fdlH0NERERERERERESkJ0mS8J3vfAfHjx+Hy+XCz3/+80qfEhHRsFjcJiIiIiIiIiIiIiIimmB++MMf4sUXXwQAPProo1i4cGGFz4iIaHgsbhMRmcDr9Wr/HYlEij4u+77sY4iIiIiIiIiIiIj0ctttt2lJ7Z/+9Kf47ne/W+EzIiIaGRa3iYhMcNJJJ2n/ffTo0aKPy74v+xgiIiIiIiIiIiIiPdx+++14+OGHAQDr1q3DLbfcUtkTIiIqA4vbREQm+NKXvgSLRXnJ3bVrV9HHqfe1t7ejpaXFlHMjIiIiIiIiIiKiieFHP/oR/vVf/xUA8NBDD2Ht2rUVPiMiovKwuE1EZIL6+nosWbIEAPDKK68UfIwsy3j11VcBAJdeeqlp50ZERERERERERETj32233YZ169YBUArbP/rRjyp8RkRE5WNxm4jIJKtWrQIA/OEPf8COHTvy7v/d736HAwcOAAD+9m//1tRzIyIiIiIiIiIiovHrtttuy2lFzsI2EdUqFreJiEyyatUqnH766ZBlGddccw3eeOMNAIAkSfjd736Hv/u7vwMAXH755fja175WyVMlIiIioirk8/nQ19enfUmSBACIRCI5t4dCoQqfKRERERFVk+wZ2//2b//GVuREVNMEWZblSp8EEdFEcejQIVx88cU4dOgQAKVduSRJiMViAICzzjoLb7zxBpqbmyt4lkRERERUjWbNmoXOzs5hH7dq1So8+eSTxp8QEREREVW9w4cPY+bMmQAAi8WCSZMmlXz8bbfdhttuu82MUyMiGhVbpU+AiGgimTVrFj7++GOsW7cOGzduxMGDB2G32/EXf/EX+Pa3v42bb74ZDoej0qdJRERERERERERE44Da7Uf97+7u7pKPZxcgIqp2TG4TEREREREREREREREREVHV48xtIiIiIiIiIiIiIiIiIiKqeixuExERERERERERERERERFR1WNxm4iIiIiIiIiIiIiIiIiIqh6L20REREREREREREREREREVPVY3CYiIiIiIiIiIiIiIiIioqpnq/QJmEWSJBw7dgxerxeCIFT6dIiIiIiqjizLCAaDOOmkk2Cx8BrIobieJCIiIiqOa8nSuJYkIiIiKq6cteSEKW4fO3YM06dPr/RpEBEREVW9rq4udHR0VPo0qg7Xk0RERETD41qyMK4liYiIiIY3krXkhClue71eAMr/KQ0NDRU+GyIiIqLqEwgEMH36dG3dRLm4niQiIiIqjmvJ0riWJCIiIiqunLXkhCluq+1+GhoauIAkIiIiKoFtEgvjepKIiIhoeFxLFsa1JBEREdHwRrKW5AAcIiIiIiIiIiIiIiIiIiKqeixuExERERERERERERERERFR1WNxm4iIiIiIiIiIiIiIiIiIqh6L20REREREREREREREREREVPVY3CYiIiIiIiIiIiIiIiIioqrH4jYREREREREREREREREREVU9FreJiIiIiIiIiIiIiIiIiKjqsbhNRERERERERERERERERERVj8VtIiIiIiIiIiIiIiIiIiKqeixuExERERERERERERERERFR1WNxm4iIiIiIiIiIiIiIiIiIqh6L20REREREREREREREREREVPVY3CYiIiIiIiIiopqz66gfb3/RV+nTICKiKhCOp/Db97pwwh+r9KkQEZHBWNwmIiIiXUmyVOlTICIiIqJxTpZlrP7Ve1j5yx349Ji/0qdDREQV9psdnbh9w8f4+k//iA3vH4Esy5U+JSIiMgiL20RERKSrnnBPpU+BiIiIiMa53mAcfaE4ZBn4zY7DlT4dIiKqsEP9EQBAMJbC2t99hO8//T56g/EKnxURERmBxW0iIiLS1bHgsUqfAhERERGNcwf6wtp/v/DnowjFUxU8GyIiqjS1kH3OrBbYrQJe392NS3/6R2z6+HiFz4yIiPTG4jYRERHpqj/Sj3iKV0cTERERkXEOZhW3wwkRz//5aAXPhoiIKq0nXdxec+Fs/M9NF2DB1Ab4Ikn8wzMf4Nbffsg25URE4wiL20RERKSrUCKEQDxQ6dMgIiIionHsULq43eCyAVBak7NwQUQ0cfWli9uTvE58aWoDnv+HJfjHr82D1SJg4wdHsbPTV+EzJCIivbC4TURERLpicZuIiIiIjKa2JV9z4clw2iz47HgAf+4arOxJERFRRciyrLUln9zgAgA4bBbc+vVTsPSUSQCAz45zn4KIaLxgcZuIiIh0I8kSIskIi9tEREREZCi1LfmZ05tw5RknAQB+s/1wJU+JiIgqxB9NIiFKAIA2jyPnvvntXgDAnhNB08+LiIiMweI2ERER6SacCEOGjGCCHxqJiIiIyBiiJONwfwQAMLvNjeu/MgMA8OLHxzAYSVTy1IiIqALUedtN9XY4bdac+9Ti9ucsbhMRjRssbhMREZFu1KI2k9tEREREZJRjg1EkRAkOqwUnNdXhzOlNWDC1AfGUhA0fHK306RERkcnUluSTPM68+9Ti9t4TQciybOp5ERGRMVjcJiIiIt2EEiEAQDDOK6KJiIiIyBjqvO2ZrfWwWgQIgoDrz1XS27/Z0cniBRHRBNMTjAEAJjfkF7dPbvPAZhEQjKdwzB8z+9SIiMgALG4TERGRbtSidjDBK6KJiIiIyBiH0sXtWW1u7barzpwGt8OKA71hbD8wUKlTIyKiCiiV3HbYLJgzyQMA+PwEu8wREY0HLG4TERGRbtTktiRLCCfDFT4bIiIiIhqPDqaL2ydnFbc9ThuuPmsaAODXOzorcl5ERFQZPQGluD25wVXw/lPSrcn3cO42EdG4wOI2ERER6UYtbgOcu01ERERExlDbks/OKm4DwPVfmQkAeHXXCS3Fp0pJKRwPHjfnBImIyFS9oeLJbQA4NWvuNhER1T4Wt4mIiEg3wUTmgyKL21TI+++/jwcffBArVqxAR0cHBEGZk1nMPffcoz2m0Nedd95Z9Ni3334bV1xxBVpaWuDxeHDOOefgqaeeMuLHIiIiIp2IkjjsYwq1JQeABSc14KwZTUhJMn67syvnvg+Of4CecI9+J0pERFVDTW5P8hYubs+fwuQ2EdF4Yqv0CRAREdH4kZ3cVudvj4Y/5kejq1GPU6Iqc9999+GFF14o+7glS5Zg7ty5ebefffbZBR+/YcMGfOtb34IkSbjooovQ1taGN954A6tWrcLHH3+MdevWlX0OREREZDxfzAeH1YEGZ0PB++MpEUd8EQC5bclVf7N4Ov58eBCbP+vGP1ysrB38MT8+PPEhTp98unEnTkREFaMmtycXK26nk9v7e0NIihLsVmb+iIhqGYvbREREpItYKoaUlNL+PNrkdkJM4MW9L+Jbp30LNguXKuPNeeedh4ULF2Lx4sVYvHgxZs2ahXg8Puxxa9aswerVq0fLine 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": "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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
|
||||
}
|
||||
@@ -0,0 +1,650 @@
|
||||
{
|
||||
"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 XformerEstimator"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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 = XformerEstimator(\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",
|
||||
" embedding_dimension=[5],\n",
|
||||
" \n",
|
||||
" nhead=2,\n",
|
||||
" num_encoder_layers=4,\n",
|
||||
" num_decoder_layers=2,\n",
|
||||
" hidden_layer_multiplier=1,\n",
|
||||
" activation=\"gelu\",\n",
|
||||
"\n",
|
||||
"# # longformer\n",
|
||||
"# attention_args={\"name\": \"global\",},\n",
|
||||
"# reversible=True, \n",
|
||||
" \n",
|
||||
" # favor/performer\n",
|
||||
" attention_args={\"name\": \"favor\", \"iter_before_redraw\": 2},\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": null,
|
||||
"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 | XformerModel | 111 K \n",
|
||||
"---------------------------------------\n",
|
||||
"111 K Trainable params\n",
|
||||
"0 Non-trainable params\n",
|
||||
"111 K Total params\n",
|
||||
"0.444 Total estimated model params size (MB)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "617fc617360143f2a78cefbd4360e01e",
|
||||
"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.95539 (best 2.95539), saving model to './lightning_logs/version_16/checkpoints/epoch=0-step=200.ckpt' as top 1\n",
|
||||
"Epoch 1, global step 400: 'train_loss' reached 2.52597 (best 2.52597), saving model to './lightning_logs/version_16/checkpoints/epoch=1-step=400.ckpt' as top 1\n",
|
||||
"Epoch 2, global step 600: 'train_loss' reached 2.45693 (best 2.45693), saving model to './lightning_logs/version_16/checkpoints/epoch=2-step=600.ckpt' as top 1\n",
|
||||
"Epoch 3, global step 800: 'train_loss' reached 2.44256 (best 2.44256), saving model to './lightning_logs/version_16/checkpoints/epoch=3-step=800.ckpt' as top 1\n",
|
||||
"Epoch 4, global step 1000: 'train_loss' reached 2.41771 (best 2.41771), saving model to './lightning_logs/version_16/checkpoints/epoch=4-step=1000.ckpt' as top 1\n",
|
||||
"Epoch 5, global step 1200: 'train_loss' reached 2.40807 (best 2.40807), saving model to './lightning_logs/version_16/checkpoints/epoch=5-step=1200.ckpt' as top 1\n",
|
||||
"Epoch 6, global step 1400: 'train_loss' reached 2.40486 (best 2.40486), saving model to './lightning_logs/version_16/checkpoints/epoch=6-step=1400.ckpt' as top 1\n",
|
||||
"Epoch 7, global step 1600: 'train_loss' reached 2.39711 (best 2.39711), saving model to './lightning_logs/version_16/checkpoints/epoch=7-step=1600.ckpt' as top 1\n",
|
||||
"Epoch 8, global step 1800: 'train_loss' reached 2.39174 (best 2.39174), saving model to './lightning_logs/version_16/checkpoints/epoch=8-step=1800.ckpt' as top 1\n",
|
||||
"Epoch 9, global step 2000: 'train_loss' reached 2.38368 (best 2.38368), saving model to './lightning_logs/version_16/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.38167 (best 2.38167), saving model to './lightning_logs/version_16/checkpoints/epoch=11-step=2400.ckpt' as top 1\n",
|
||||
"Epoch 12, global step 2600: 'train_loss' reached 2.37585 (best 2.37585), saving model to './lightning_logs/version_16/checkpoints/epoch=12-step=2600.ckpt' as top 1\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": 9,
|
||||
"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": 10,
|
||||
"id": "5fdc12da",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"forecasts = list(forecast_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"id": "4b7d3409",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"tss = list(ts_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "9b154bde",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"evaluator = Evaluator()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"id": "0fdec8a7",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Running evaluation: 67984it [00:00, 89942.23it/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": 14,
|
||||
"id": "7f28f4d3",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'MSE': 24.821328658678677,\n",
|
||||
" 'abs_error': 5891525.767235756,\n",
|
||||
" 'abs_target_sum': 12453360.0,\n",
|
||||
" 'abs_target_mean': 7.632531183807954,\n",
|
||||
" 'seasonal_error': 3.785588038176638,\n",
|
||||
" 'MASE': 0.9371793284749673,\n",
|
||||
" 'MAPE': 0.7571669609714461,\n",
|
||||
" 'sMAPE': 0.9056588321368071,\n",
|
||||
" 'MSIS': 7.404080678399944,\n",
|
||||
" 'QuantileLoss[0.1]': 2436153.938409472,\n",
|
||||
" 'Coverage[0.1]': 0.003928007570408723,\n",
|
||||
" 'QuantileLoss[0.2]': 4312512.754141427,\n",
|
||||
" 'Coverage[0.2]': 0.027130770965717418,\n",
|
||||
" 'QuantileLoss[0.3]': 5326780.419596064,\n",
|
||||
" 'Coverage[0.3]': 0.09433163195261629,\n",
|
||||
" 'QuantileLoss[0.4]': 5729656.827878237,\n",
|
||||
" 'Coverage[0.4]': 0.19791605377735935,\n",
|
||||
" 'QuantileLoss[0.5]': 5891525.768194556,\n",
|
||||
" 'Coverage[0.5]': 0.32243248411390923,\n",
|
||||
" 'QuantileLoss[0.6]': 5924657.336539339,\n",
|
||||
" 'Coverage[0.6]': 0.45426436122224834,\n",
|
||||
" 'QuantileLoss[0.7]': 5763157.157319665,\n",
|
||||
" 'Coverage[0.7]': 0.6152587373499648,\n",
|
||||
" 'QuantileLoss[0.8]': 5273264.270186209,\n",
|
||||
" 'Coverage[0.8]': 0.7686545118459245,\n",
|
||||
" 'QuantileLoss[0.9]': 3990219.069879973,\n",
|
||||
" 'Coverage[0.9]': 0.9016662008707932,\n",
|
||||
" 'RMSE': 4.982100827831435,\n",
|
||||
" 'NRMSE': 0.6527455581708885,\n",
|
||||
" 'ND': 0.4730872445055596,\n",
|
||||
" 'wQuantileLoss[0.1]': 0.19562222070264346,\n",
|
||||
" 'wQuantileLoss[0.2]': 0.3462931091802876,\n",
|
||||
" 'wQuantileLoss[0.3]': 0.4277384111272832,\n",
|
||||
" 'wQuantileLoss[0.4]': 0.46008923116959893,\n",
|
||||
" 'wQuantileLoss[0.5]': 0.4730872445825509,\n",
|
||||
" 'wQuantileLoss[0.6]': 0.47574769672918304,\n",
|
||||
" 'wQuantileLoss[0.7]': 0.46277929468992024,\n",
|
||||
" 'wQuantileLoss[0.8]': 0.42344108499121597,\n",
|
||||
" 'wQuantileLoss[0.9]': 0.32041305076541376,\n",
|
||||
" 'mean_absolute_QuantileLoss': 4960880.838016104,\n",
|
||||
" 'mean_wQuantileLoss': 0.3983568159931219,\n",
|
||||
" 'MAE_Coverage': 0.12419440467473825,\n",
|
||||
" 'OWA': nan}"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"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": 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": "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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
|
||||
}
|
||||
@@ -0,0 +1,687 @@
|
||||
{
|
||||
"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 XformerEstimator"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "fc889c9f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"dataset = get_dataset(\"traffic\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "1717d0d2",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"estimator = XformerEstimator(\n",
|
||||
" freq=dataset.metadata.freq,\n",
|
||||
" prediction_length=dataset.metadata.prediction_length,\n",
|
||||
" context_length=dataset.metadata.prediction_length*6,\n",
|
||||
" \n",
|
||||
" scaling=False,\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",
|
||||
" embedding_dimension=[5],\n",
|
||||
" \n",
|
||||
" nhead=2,\n",
|
||||
" num_encoder_layers=4,\n",
|
||||
" num_decoder_layers=2,\n",
|
||||
" hidden_layer_multiplier=1,\n",
|
||||
" activation=\"gelu\",\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# # longformer\n",
|
||||
"# attention_args={\"name\": \"global\",},\n",
|
||||
"# reversible=True, \n",
|
||||
" \n",
|
||||
" # favor/performer\n",
|
||||
" attention_args={\"name\": \"favor\", \"iter_before_redraw\": 2},\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": 8,
|
||||
"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 | XformerModel | 127 K \n",
|
||||
"---------------------------------------\n",
|
||||
"127 K Trainable params\n",
|
||||
"0 Non-trainable params\n",
|
||||
"127 K Total params\n",
|
||||
"0.509 Total estimated model params size (MB)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "4678ea7fc046406099ee58e1f7438dc2",
|
||||
"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 -0.93902 (best -0.93902), saving model to './lightning_logs/version_15/checkpoints/epoch=0-step=100.ckpt' as top 1\n",
|
||||
"Epoch 1, global step 200: 'train_loss' reached -1.67943 (best -1.67943), saving model to './lightning_logs/version_15/checkpoints/epoch=1-step=200.ckpt' as top 1\n",
|
||||
"Epoch 2, global step 300: 'train_loss' reached -1.68429 (best -1.68429), saving model to './lightning_logs/version_15/checkpoints/epoch=2-step=300.ckpt' as top 1\n",
|
||||
"Epoch 3, global step 400: 'train_loss' was not in top 1\n",
|
||||
"Epoch 4, global step 500: 'train_loss' reached -1.74993 (best -1.74993), saving model to './lightning_logs/version_15/checkpoints/epoch=4-step=500.ckpt' as top 1\n",
|
||||
"Epoch 5, global step 600: 'train_loss' reached -1.91368 (best -1.91368), saving model to './lightning_logs/version_15/checkpoints/epoch=5-step=600.ckpt' as top 1\n",
|
||||
"Epoch 6, global step 700: 'train_loss' reached -2.16452 (best -2.16452), saving model to './lightning_logs/version_15/checkpoints/epoch=6-step=700.ckpt' as top 1\n",
|
||||
"Epoch 7, global step 800: 'train_loss' reached -2.32227 (best -2.32227), saving model to './lightning_logs/version_15/checkpoints/epoch=7-step=800.ckpt' as top 1\n",
|
||||
"Epoch 8, global step 900: 'train_loss' reached -2.43302 (best -2.43302), saving model to './lightning_logs/version_15/checkpoints/epoch=8-step=900.ckpt' as top 1\n",
|
||||
"Epoch 9, global step 1000: 'train_loss' reached -2.63199 (best -2.63199), saving model to './lightning_logs/version_15/checkpoints/epoch=9-step=1000.ckpt' as top 1\n",
|
||||
"Epoch 10, global step 1100: 'train_loss' reached -2.73448 (best -2.73448), saving model to './lightning_logs/version_15/checkpoints/epoch=10-step=1100.ckpt' as top 1\n",
|
||||
"Epoch 11, global step 1200: 'train_loss' was not in top 1\n",
|
||||
"Epoch 12, global step 1300: 'train_loss' reached -2.87297 (best -2.87297), saving model to './lightning_logs/version_15/checkpoints/epoch=12-step=1300.ckpt' as top 1\n",
|
||||
"Epoch 13, global step 1400: 'train_loss' reached -2.96149 (best -2.96149), saving model to './lightning_logs/version_15/checkpoints/epoch=13-step=1400.ckpt' as top 1\n",
|
||||
"Epoch 14, global step 1500: 'train_loss' reached -3.00713 (best -3.00713), saving model to './lightning_logs/version_15/checkpoints/epoch=14-step=1500.ckpt' as top 1\n",
|
||||
"Epoch 15, global step 1600: 'train_loss' reached -3.03477 (best -3.03477), saving model to './lightning_logs/version_15/checkpoints/epoch=15-step=1600.ckpt' as top 1\n",
|
||||
"Epoch 16, global step 1700: 'train_loss' reached -3.08436 (best -3.08436), saving model to './lightning_logs/version_15/checkpoints/epoch=16-step=1700.ckpt' as top 1\n",
|
||||
"Epoch 17, global step 1800: 'train_loss' reached -3.09780 (best -3.09780), saving model to './lightning_logs/version_15/checkpoints/epoch=17-step=1800.ckpt' as top 1\n",
|
||||
"Epoch 18, global step 1900: 'train_loss' reached -3.16051 (best -3.16051), saving model to './lightning_logs/version_15/checkpoints/epoch=18-step=1900.ckpt' as top 1\n",
|
||||
"Epoch 19, global step 2000: 'train_loss' was not in top 1\n",
|
||||
"Epoch 20, global step 2100: 'train_loss' was not in top 1\n",
|
||||
"Epoch 21, global step 2200: 'train_loss' was not in top 1\n",
|
||||
"Epoch 22, global step 2300: 'train_loss' reached -3.21842 (best -3.21842), saving model to './lightning_logs/version_15/checkpoints/epoch=22-step=2300.ckpt' as top 1\n",
|
||||
"Epoch 23, global step 2400: 'train_loss' reached -3.23368 (best -3.23368), saving model to './lightning_logs/version_15/checkpoints/epoch=23-step=2400.ckpt' as top 1\n",
|
||||
"Epoch 24, global step 2500: 'train_loss' reached -3.24709 (best -3.24709), saving model to './lightning_logs/version_15/checkpoints/epoch=24-step=2500.ckpt' as top 1\n",
|
||||
"Epoch 25, global step 2600: 'train_loss' reached -3.26580 (best -3.26580), saving model to './lightning_logs/version_15/checkpoints/epoch=25-step=2600.ckpt' as top 1\n",
|
||||
"Epoch 26, global step 2700: 'train_loss' reached -3.27649 (best -3.27649), saving model to './lightning_logs/version_15/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 -3.31534 (best -3.31534), saving model to './lightning_logs/version_15/checkpoints/epoch=28-step=2900.ckpt' as top 1\n",
|
||||
"Epoch 29, global step 3000: 'train_loss' reached -3.31984 (best -3.31984), saving model to './lightning_logs/version_15/checkpoints/epoch=29-step=3000.ckpt' as top 1\n",
|
||||
"Epoch 30, global step 3100: 'train_loss' reached -3.32881 (best -3.32881), saving model to './lightning_logs/version_15/checkpoints/epoch=30-step=3100.ckpt' as top 1\n",
|
||||
"Epoch 31, global step 3200: 'train_loss' reached -3.33686 (best -3.33686), saving model to './lightning_logs/version_15/checkpoints/epoch=31-step=3200.ckpt' as top 1\n",
|
||||
"Epoch 32, global step 3300: 'train_loss' reached -3.34693 (best -3.34693), saving model to './lightning_logs/version_15/checkpoints/epoch=32-step=3300.ckpt' as top 1\n",
|
||||
"Epoch 33, global step 3400: 'train_loss' reached -3.36960 (best -3.36960), saving model to './lightning_logs/version_15/checkpoints/epoch=33-step=3400.ckpt' as top 1\n",
|
||||
"Epoch 34, global step 3500: 'train_loss' reached -3.37445 (best -3.37445), saving model to './lightning_logs/version_15/checkpoints/epoch=34-step=3500.ckpt' as top 1\n",
|
||||
"Epoch 35, global step 3600: 'train_loss' reached -3.37509 (best -3.37509), saving model to './lightning_logs/version_15/checkpoints/epoch=35-step=3600.ckpt' as top 1\n",
|
||||
"Epoch 36, global step 3700: 'train_loss' reached -3.38325 (best -3.38325), saving model to './lightning_logs/version_15/checkpoints/epoch=36-step=3700.ckpt' as top 1\n",
|
||||
"Epoch 37, global step 3800: 'train_loss' reached -3.41608 (best -3.41608), saving model to './lightning_logs/version_15/checkpoints/epoch=37-step=3800.ckpt' as top 1\n",
|
||||
"Epoch 38, global step 3900: 'train_loss' was not in top 1\n",
|
||||
"Epoch 39, global step 4000: 'train_loss' reached -3.42627 (best -3.42627), saving model to './lightning_logs/version_15/checkpoints/epoch=39-step=4000.ckpt' as top 1\n",
|
||||
"Epoch 40, global step 4100: 'train_loss' reached -3.43081 (best -3.43081), saving model to './lightning_logs/version_15/checkpoints/epoch=40-step=4100.ckpt' as top 1\n",
|
||||
"Epoch 41, global step 4200: 'train_loss' reached -3.44400 (best -3.44400), saving model to './lightning_logs/version_15/checkpoints/epoch=41-step=4200.ckpt' as top 1\n",
|
||||
"Epoch 42, global step 4300: 'train_loss' was not in top 1\n",
|
||||
"Epoch 43, global step 4400: 'train_loss' was not in top 1\n",
|
||||
"Epoch 44, global step 4500: 'train_loss' reached -3.45942 (best -3.45942), saving model to './lightning_logs/version_15/checkpoints/epoch=44-step=4500.ckpt' as top 1\n",
|
||||
"Epoch 45, global step 4600: 'train_loss' reached -3.47720 (best -3.47720), saving model to './lightning_logs/version_15/checkpoints/epoch=45-step=4600.ckpt' as top 1\n",
|
||||
"Epoch 46, global step 4700: 'train_loss' reached -3.49378 (best -3.49378), saving model to './lightning_logs/version_15/checkpoints/epoch=46-step=4700.ckpt' as 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' reached -3.50458 (best -3.50458), saving model to './lightning_logs/version_15/checkpoints/epoch=49-step=5000.ckpt' as 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": 9,
|
||||
"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": 10,
|
||||
"id": "5fdc12da",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"forecasts = list(forecast_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"id": "4b7d3409",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"tss = list(ts_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "9b154bde",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"evaluator = Evaluator()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"id": "0fdec8a7",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Running evaluation: 6034it [00:00, 7848.96it/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": 14,
|
||||
"id": "7f28f4d3",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'MSE': 0.0014884492825415015,\n",
|
||||
" 'abs_error': 3489.6872186511755,\n",
|
||||
" 'abs_target_sum': 8672.5710073933,\n",
|
||||
" 'abs_target_mean': 0.0598868288545002,\n",
|
||||
" 'seasonal_error': 0.015220711169889631,\n",
|
||||
" 'MASE': 1.7367804017769097,\n",
|
||||
" 'MAPE': 1.8036790094063162,\n",
|
||||
" 'sMAPE': 0.48321168668137615,\n",
|
||||
" 'MSIS': 15.43336088549797,\n",
|
||||
" 'QuantileLoss[0.1]': 2102.362598977348,\n",
|
||||
" 'Coverage[0.1]': 0.49730692741133575,\n",
|
||||
" 'QuantileLoss[0.2]': 2944.689517981373,\n",
|
||||
" 'Coverage[0.2]': 0.622666003756491,\n",
|
||||
" 'QuantileLoss[0.3]': 3339.608104540617,\n",
|
||||
" 'Coverage[0.3]': 0.696918848745995,\n",
|
||||
" 'QuantileLoss[0.4]': 3499.79163506208,\n",
|
||||
" 'Coverage[0.4]': 0.7535217103082532,\n",
|
||||
" 'QuantileLoss[0.5]': 3489.6872209194116,\n",
|
||||
" 'Coverage[0.5]': 0.7996630206607005,\n",
|
||||
" 'QuantileLoss[0.6]': 3312.9295594591645,\n",
|
||||
" 'Coverage[0.6]': 0.8358744890067397,\n",
|
||||
" 'QuantileLoss[0.7]': 3001.631030415837,\n",
|
||||
" 'Coverage[0.7]': 0.8742127941663904,\n",
|
||||
" 'QuantileLoss[0.8]': 2518.387865707278,\n",
|
||||
" 'Coverage[0.8]': 0.909706109822119,\n",
|
||||
" 'QuantileLoss[0.9]': 1774.8182888661509,\n",
|
||||
" 'Coverage[0.9]': 0.9460694950834163,\n",
|
||||
" 'RMSE': 0.038580426158111594,\n",
|
||||
" 'NRMSE': 0.6442222254219838,\n",
|
||||
" 'ND': 0.4023820866587594,\n",
|
||||
" 'wQuantileLoss[0.1]': 0.24241514969264594,\n",
|
||||
" 'wQuantileLoss[0.2]': 0.3395405486413484,\n",
|
||||
" 'wQuantileLoss[0.3]': 0.38507705520008156,\n",
|
||||
" 'wQuantileLoss[0.4]': 0.4035471871119342,\n",
|
||||
" 'wQuantileLoss[0.5]': 0.4023820869203008,\n",
|
||||
" 'wQuantileLoss[0.6]': 0.38200085725846666,\n",
|
||||
" 'wQuantileLoss[0.7]': 0.3461062501370089,\n",
|
||||
" 'wQuantileLoss[0.8]': 0.29038538439874073,\n",
|
||||
" 'wQuantileLoss[0.9]': 0.2046473055513909,\n",
|
||||
" 'mean_absolute_QuantileLoss': 2887.1006468810288,\n",
|
||||
" 'mean_wQuantileLoss': 0.3329002027679909,\n",
|
||||
" 'MAE_Coverage': 0.27065993321793785,\n",
|
||||
" 'OWA': nan}"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"id": "cc3f804d",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB6kAAAXCCAYAAABJ5diSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eZhU5bkucN81dA0909AMzdBMzSCTgIqG41ZwxyEcxDgl2ZkI2edLohg8mLjD57BROYfECG7dYNzf9oBJjEZBcQCnqIAKgsg8Qzc90mN1V9c8rrW+P1av6q6uqq6hq7qqu+/fdfV1wVqr1nqLofut93mf51FJkiSBiIiIiIiIiIiIiIiIiIioD6jTPQAiIiIiIiIiIiIiIiIiIho8GKQmIiIiIiIiIiIiIiIiIqI+wyA1ERERERERERERERERERH1GQapiYiIiIiIiIiIiIiIiIiozzBITUREREREREREREREREREfYZBaiIiIiIiIiIiIiIiIiIi6jMMUhMRERERERERERERERERUZ9hkJqIiIiIiIiIiIiIiIiIiPoMg9RERERERERERERERERERNRnGKQmIiIiIiIiIiIiIiIiIqI+wyA1EVEa2Gw2rF27FrNmzUJubi4KCgpw9dVXY8OGDfB6vekeHhERERFlAKfTiQ8++ADr1q3DnXfeidLSUqhUKqhUKqxduzbdwyMiIiKiDNLa2oqtW7fiRz/6Ea644grk5ORAr9djzJgxuOOOO7Bjx450D5GIKIhKkiQp3YMgIhpMqqurceONN6KqqgoAkJ2dDUEQ4PF4AABz587Fp59+iiFDhqRxlERERESUbnv27MGiRYvCnvv3f/93BqqJiIiIKCArKwt+vz/we4PBAI1GA4fDETh22223Yfv27cjOzk7HEImIgjCTmoioD/n9fixduhRVVVUYNWoU/vGPf8DhcMDpdOLvf/878vLycPToUfzoRz9K91CJiIiIKAMMGTIEN910E37729/itddew8iRI9M9JCIiIiLKQH6/H9dccw1eeOEFVFRUwOVywW63o7KyEj//+c8BAB988AF+8YtfpHmkREQyZlITEfWh//f//h/+9V//FQCwf/9+XHfddUHnX3vtNfzLv/wLAOCTTz7BTTfd1OdjJCIiIqLMIAgCNBpN0LHx48ejurqamdREREREFGT37t0Rq/AAwC9/+Uv813/9FwCgpqYGY8eO7auhERGFxUxqIqI+9Oc//xkAsGjRopAANQB8//vfx4QJEwAAf/nLX/p0bERERESUWboHqImIiIiIIukpQA0gkE0NAN98802qh0NEFBWD1EREfcTpdGLfvn0A5P4v4ahUKtx6660AgI8//rjPxkZEREREREREREQDl8FgCPxaEIQ0joSISMYgNRFRHzl79ixEUQQAzJw5M+J1yrnGxka0tbX1ydiIiIiIiIiIiIho4NqzZ0/g17NmzUrfQIiIOjBITUTUR+rr6wO/Hj16dMTrup7r+hoiIiIiIiIiIiKieLW3t2P9+vUAgOuvvx5Tp05N84iIiBikJiLqMzabLfDr7OzsiNd1Pdf1NURERERERERERETxEEURP/7xj9HQ0ACDwYBNmzale0hERAAYpCYiIiIiIiIiIiIiIhqQVq1ahZ07dwIANm/ejNmzZ6d5REREMgapiYj6SF5eXuDXTqcz4nVdz3V9DREREREREREREVGsfvOb3wQyp5999lmsWLEizSMiIurEIDURUR8pKSkJ/Pry5csRr+t6rutriIiIiIiIiIiIiGLx8MMPY8OGDQCAZ555Bg8++GB6B0RE1A2D1EREfWT69OlQq+Vvu6dOnYp4nXJu5MiRKCoq6pOxERERERERERER0cDw29/+Fn/84x8BAE8//TQeeuihNI+IiCgUg9RERH0kOzsbCxcuBAB8+OGHYa+RJAkfffQRAODmm2/us7ERERERERERERFR//eb3/wGzzzzDAA5QP3b3/42zSMiIgqPQWoioj7005/+FACwe/duHDx4MOT8tm3bcOnSJQDAT37ykz4dGxEREREREREREfVfv/nNb4JKfDNATUSZjEFqIqI+9NOf/hSzZs2CJEm466678OmnnwIARFHEtm3b8L/+1/8CANx222246aab0jlUIiIiIsoAZrMZJpMp8CWKIgDA6XQGHbfb7WkeKRERERGlU9ce1Bs3bmSJbyLKeCpJkqR0D4KIaDCpqqrCokWLUFVVBUAuAy6KItxuNwBg7ty5+PTTTzFkyJA0jpKIiIiIMsH48eNRXV0d9bqf/vSnePnll1M/ICIiIiLKODU1NSgtLQUAqNVqFBcX93j9b37zG/zmN7/pi6EREUWkTfcAiIgGm/Hjx+PEiRN45pln8NZbb6GyshJZWVmYMWMGfvCDH+CBBx6ATqdL9zCJiIiIiIiIiIioH1Cq7Si/bmpq6vF6VuEhokzATGoiIiIiIiIiIiIiIiIiIuoz7ElNRERERERERERERERERER9hkFqIiIiIiIiIiIiIiIiIiLqMwxSExERERERERERERERERFRn2GQmoiIiIiIiIiIiIiIiIiI+gyD1ERERERERERERERERERE1Ge06R5AJhBFEfX19cjLy4NKpUr3cIiIiIhSTpIk2Gw2lJSUQK3mvsV4cO5IREREgw3njonj3JGIiIgGm1jnjgxSA6ivr8fYsWPTPQwiIiKiPldbW4sxY8akexj9CueORERENFhx7hg/zh2JiIhosIo2d2SQGkBeXh4A+Q8rPz8/zaMhIiIiSj2r1YqxY8cG5kEUO84diYiIaLDh3DFxnDsSERHRYBPr3JFBaiBQaic/P5+TRSIiIhpUWHIwfpw7EhER0WDFuWP8OHckIiKiwSra3JFNZIiIiIiIiIiIiIiIiIiIqM8wSE1ERERERERERERERERERH2GQWoiIiIiIiIiIiIiIiIiIuozDFITEREREREREREREREREVGfYZCaiIiIiIiIiIiIiIiIiIj6DIPURERERERERERERERERETUZxikJiIiIiIiIiIiIiIiIiKiPsMgNRERERERERERERERERER9RkGqYmIiIiIiIiIiIiIiIiIqM8wSE1ERERERERERERERERERH2GQWoiIiIiIiIiIiIiIiIiIuozDFITEREREREREREREREREVGfYZCaiIiIiIiIiIiIiIiIiIj6DIPURERElDIunwuSJKV7GERERESUYURJTPcQiIiIiIhSwit40z2EfoFBaiIiIkqZqvYqmN3mdA+DiIiIiDKM1WNN9xAoQ7lcLjz++OOYMmUKDAYDSkpKsGLFCly+fDnme/j9fqxduxZLlizBxIkTkZeXB4PBgLKyMtx3332orq4O+7rly5dDpVJF/HrxxReT9TaJiIiolzI1McYv+lFvq0/3MPoFbboHQERERANXtaUaKpUKRcaidA+FiIiIiDKIxW1BoaEw3cOgDON2u7F48WIcOHAAo0aNwrJly1BVVYWtW7di586dOHDgACZOnBjTfZ544gnk5uZi9uzZmD9/PrxeL44dO4Y//elP+Nvf/oZPP/0UV111VdjX33LLLRg5cmTI8alTp/b6PRIREVFytDhbMDxneLqHEcLqscLkNGF84fh0DyXjMUhNREREKSGIAuqsdcjOysa0YdPSPRwiIiIiyiAWjyXdQ6AMtG7dOhw4cADXXXcdPv74Y+Tm5gIANm7ciIceeggrVqzAnj17ot7HYDDgyy+/xIIFC6DVdi5/CoKARx99FL///e/xy1/+Et98803Y1//ud7/DjTfemIy3RERERClSZ63LyCC1zWNDq7M13cPoF1jum4iIiFKi3lYPv+hHk70p3UMhIiIiogwiiAIcXke6h0EZxuv1YtOmTQCAzZs3BwLUALB69WrMnj0be/fuxeHDh6PeS6vVYuHChUEBagDQaDR46qmnYDAYcPjwYVgs3CxBRETUX9Xb6iFKYrqHEcLmtcHkNKV7GP0Cg9RERESUEjWWGgBAm6sNftGf5tEQERERUabwCl64/K50D4MyzL59+2CxWDBp0iTMnTs35Pzdd98NAHjvvfd69RyVSgWNRgOVSgWdTterexEREVH62Dw2tLvb0z2MEDaPDTavDV7Bm+6hZDyW+yYiIqKUqLZUAwAkSGh2NKMkryTNIyIiIiKiTOAVvHD5GKSmYMePHwcAzJs3L+x55fiJEycSfoYkSfjDH/4Ah8OBxYsXw2g0hr3urbfewptvvglBEDBhwgQsXboU06axhREREVEmcfldMLvMKDIWpXsoQWxeGwCg1dmKUXmj0jyazMYgNRERESWdxW2B1WMN/J5BaiIiIiJSeAUv3H53uodBGaamRq7ENGbMmLDnlePV1dVx3fff/u3f0NTUBKvVihMnTqCiogLTp0/HSy+9FPE1//mf/xlyj1/96ld47rnnQkqId+fxeODxeAK/t1qtPVxNREREifCLfngFL1pdrZiESekeThCbRw5Sm5wmBqmjYJCaiIiIkk7JolawLzURERERKVjum8Kx2+0AgOzs7LDnc3JyAAA2my2u+7755puoqKgI/H727Nl45ZVXMGHChJBr586di+uuuw6LFy/GmDFj0NjYiA8++ACPPvooXnjhBeh0Ojz77LM9Pm/9+vV44okn4hojERERxUepytPmakvzSEIpiTutrtY0jyTzsSc1ERERJV11e3CQutnRnKaREBEREVGmYblv6kvl5eWQJAktLS348MMPkZWVhfnz5+PPf/5zyLWrVq3CL37xC5SVlcFoNGLChAm477778MUXX0Cn02HTpk2ora3t8Xlr1qyBxWIJfEW7noiIiOLn8DkAZF6Q2if44BHkiiompynNo8l8DFITERFRUvkEHxrsDUHHHD4HHF5HmkZERERERJnEK3ghSAJ8gi/dQ6EMkpubCwBwOp1hzzsc8ueJvLy8hO4/bNgw3HLLLfj0008xcuRI/OpXv4o5gDxjxgzLine 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": "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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
|
||||
}
|
||||
Reference in new issue
Block a user