{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Goal of this notebook: implement some basic RNN/LSTM/GRU to _forecast_ trajectories based on VIRAT and/or the custom _hof_ dataset." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import torch\n", "import matplotlib.pyplot as plt # Visualization \n", "import torch.nn as nn\n", "import pandas_helper_calc # noqa # provides df.calc.derivative()\n", "import pandas as pd\n", "import cv2\n", "import pathlib\n", "from tqdm.autonotebook import tqdm" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "FPS = 12\n", "# SRC_CSV = \"EXPERIMENTS/hofext-maskrcnn/all.txt\"\n", "# SRC_CSV = \"EXPERIMENTS/raw/generated/train/tracks.txt\"\n", "SRC_CSV = \"EXPERIMENTS/raw/hof-meter-maskrcnn2/train/tracks.txt\"\n", "SRC_CSV = \"EXPERIMENTS/20240426-hof-yolo/train/tracked.txt\"\n", "SRC_CSV = \"EXPERIMENTS/raw/hof2/train/tracked.txt\"\n", "# SRC_H = \"../DATASETS/hof/webcam20231103-2-homography.txt\"\n", "SRC_H = None\n", "CACHE_DIR = \"EXPERIMENTS/cache/hof2/\"\n", "# SMOOTHING = True # hof-yolo is already smoothed, hof2 isn't\n", "# SMOOTHING_WINDOW=3 #2" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "in_fields = ['x', 'y', 'vx', 'vy', 'ax', 'ay'] #, 'dt'] (WARNING: dt column contains NaN)\n", "# out_fields = ['v', 'heading']\n", "# velocity cannot be negative, and heading is circular (modulo), this makes it harder to optimise than a linear space, so try to use components\n", "# an we can use simple MSE loss (I guess?)\n", "out_fields = ['dx', 'dy']\n", "SAMPLE_STEP = 5 # 1/5, for 12fps leads to effectively 12/5=2.4fps\n", "GRID_SIZE = 2 # round items on a grid of 2 points per meter (None to disable rounding)\n", "window = 8 #int(FPS*1.5 / SAMPLE_STEP)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cuda\n" ] } ], "source": [ "# Set device\n", "device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n", "print(device)\n", "\n", "# Hyperparameters\n", "input_size = len(in_fields) #in_d\n", "hidden_size = 64 # hidden_d\n", "num_layers = 1 # num_hidden\n", "output_size = len(out_fields) # out_d\n", "learning_rate = 0.005 #0.01 #0.005\n", "batch_size = 512\n", "num_epochs = 1000\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "cache_path = pathlib.Path(CACHE_DIR)\n", "cache_path.mkdir(parents=True, exist_ok=True)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "337124it [07:27, 753.54it/s] \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Running smoother\n", "smooth x\n", "smooth y\n", "Samping 1/5, of 423077 items\n", "Done sampling kept 85961 items\n" ] } ], "source": [ "from pathlib import Path\n", "from trap.tools import load_tracks_from_csv\n", "from trap.tools import filter_short_tracks, normalise_position\n", "\n", "data= load_tracks_from_csv(Path(SRC_CSV), FPS, GRID_SIZE, SAMPLE_STEP )" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# create x-norm, y_norm columns\n", "data, mu, std = normalise_position(data)\n", "data = filter_short_tracks(data, window+1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The dataset is a bit crappy because it has different frame step: ranging from predominantly 1 and 2 to sometimes have 3 and 4 as well. This inevitabily leads to difference in speed caluclations" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1660 training tracks, 415 test tracks\n" ] } ], "source": [ "track_ids = data.index.unique('track_id').to_numpy()\n", "np.random.shuffle(track_ids)\n", "test_offset_idx = int(len(track_ids) * .8)\n", "training_ids, test_ids = track_ids[:test_offset_idx], track_ids[test_offset_idx:]\n", "print(f\"{len(training_ids)} training tracks, {len(test_ids)} test tracks\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "here, draw out a sample track to see if it looks alright. **unfortunately the imate isn't mapped properly**." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2254\n" ] }, { "data": { "image/png": "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EEKInJFA5E2oqamJm2++mXHjxuH3+xk/fjx33303yWQy16f2pvXFL36RpUuXEggECIfDuT6dN6V7772XhoYGfD4fixcv5pVXXsn1Kb1prVmzhre97W1UVVWhlOKRRx7J9Sm9qX3pS19i4cKFhEIhysrKuPrqq9m9e/cpO74EIm9Cu3btwrZtfvjDH/Laa6/xzW9+kx/84Ad89rOfzfWpvWklk0muu+46PvKRj+T6VN6UHnjgAe644w7uvvtuNm7cyOzZs7n00kvp7OzM9am9KUUiEWbPns29996b61MRwOrVq/noRz/KunXrWLlyJalUiksuuYRIJHJKji/DdwUAX/3qV/n+97/PgQMHcn0qb2o//elP+fjHP05/f3+uT+VNZfHixSxcuJDvfve7gDPPVW1tLbfddhuf/vSnc3x2b25KKX7/+99z9dVX5/pUREZXVxdlZWWsXr2a8847728+nrSICAAGBgYoKirK9WkIccYlk0k2bNjAxRdfnF1mGAYXX3wxa9euzeGZCTE2DQwMAJyyvxkSiAj27dvHPffcw6233prrUxHijOvu7sayLMrLy0ctLy8vp729PUdnJcTYZNs2H//4xzn77LOZMWPGKTmmBCL/QD796U+jlHrdn127do3ap7W1lcsuu4zrrruOW265JUdn/o/p//J+CCHEWPbRj36U7du3c//995+yY7pO2ZFEzt15553cdNNNr7tNY2Nj9v9Hjhxh2bJlLF26lB/96Een+ezefP7a90PkRklJCaZp0tHRMWp5R0cHFRUVOTorIcaej33sYzz++OOsWbOGmpqaU3ZcCUT+gZSWllJaWvqGtm1tbWXZsmXMnz+f++67D8OQxrFT7a95P0TueDwe5s+fzzPPPJNNiLRtm2eeeYaPfexjuT05IcYArTW33XYbv//973nuuecYN27cKT2+BCJvQq2trVxwwQXU19fzta99ja6uruw6+QaYG4cPH6a3t5fDhw9jWRabN28GYMKECQSDwdye3JvAHXfcwY033siCBQtYtGgR3/rWt4hEIrz//e/P9am9KQ0PD7Nv377s44MHD7J582aKioqoq6vL4Zm9OX30ox/l17/+NX/4wx8IhULZ3KmCggL8fv/f/gRavOncd999Gjjhj8iNG2+88YTvx6pVq3J9am8a99xzj66rq9Mej0cvWrRIr1u3Lten9Ka1atWqE/4+3Hjjjbk+tTelk/29uO+++07J8aWOiBBCCCFyRhIDhBBCCJEzEogIIYQQImckEBFCCCFEzkggIoQQQoickUBECCGEEDkjgYgQQgghckYCESGEEELkjAQiQgghhMgZCUSEEEIIkTMSiAghhBAiZyQQEUIIIUTOSCAihBBCiJz5/wGBeFVYyhYNpQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import random\n", "# if H:\n", "# img_src = \"../DATASETS/hof/webcam20231103-2.png\"\n", "# # dst = cv2.warpPerspective(img_src,H,(2500,1920))\n", "# src_img = cv2.imread(img_src)\n", "# print(src_img.shape)\n", "# h1,w1 = src_img.shape[:2]\n", "# corners = np.float32([[0,0], [w1, 0], [0, h1], [w1, h1]])\n", "\n", "# print(corners)\n", "# corners_projected = cv2.perspectiveTransform(corners.reshape((-1,4,2)), H)[0]\n", "# print(corners_projected)\n", "# [xmin, ymin] = np.int32(corners_projected.min(axis=0).ravel() - 0.5)\n", "# [xmax, ymax] = np.int32(corners_projected.max(axis=0).ravel() + 0.5)\n", "# print(xmin, xmax, ymin, ymax)\n", "\n", "# dst = cv2.warpPerspective(src_img,H, (xmax, ymax))\n", "# def plot_track(track_id: int):\n", "# plt.gca().invert_yaxis()\n", "\n", "# plt.imshow(dst, origin='lower', extent=[xmin/100-mean_x, xmax/100-mean_x, ymin/100-mean_y, ymax/100-mean_y])\n", "# # plot scatter plot with x and y data \n", " \n", "# ax = plt.scatter(\n", "# filtered_data.loc[track_id,:]['proj_x'],\n", "# filtered_data.loc[track_id,:]['proj_y'],\n", "# marker=\"*\") \n", "# ax.axes.invert_yaxis()\n", "# plt.plot(\n", "# filtered_data.loc[track_id,:]['proj_x'],\n", "# filtered_data.loc[track_id,:]['proj_y']\n", "# )\n", "# else:\n", "def plot_track(track_id: int):\n", " ax = plt.scatter(\n", " data.loc[track_id,:]['x_norm'],\n", " data.loc[track_id,:]['y_norm'],\n", " marker=\"*\") \n", " plt.plot(\n", " data.loc[track_id,:]['x_norm'],\n", " data.loc[track_id,:]['y_norm']\n", " )\n", "\n", "# print(filtered_data.loc[track_id,:]['proj_x'])\n", "# _track_id = 2188\n", "_track_id = random.choice(track_ids)\n", "print(_track_id)\n", "plot_track(_track_id)\n", "\n", "for track_id in random.choices(track_ids, k=100):\n", " plot_track(track_id)\n", " \n", "# print(mean_x, mean_y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now make the dataset:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ltwhxystatediffx_rawy_raw...vxvyaxayvaheadingd_headingx_normy_norm
track_idframe_id
1342.01393.7365720.00000067.613647121.39115113.2444082.4143392.0NaN13.52.5...6.143418e-011.389160-1.422342e+000.4532131.5189410.14209766.1430885.536579e+010.353449-1.768217
347.01393.84484912.69123886.482910156.26478613.5003842.9931562.05.013.53.0...6.143418e-011.389160-1.422342e+000.4532131.5189410.14209766.1430885.536579e+010.414443-1.574517
352.01405.27343836.67590390.329956176.46197513.5094253.6506562.05.013.53.5...2.169933e-021.577999-1.422342e+000.4532131.5781490.14209789.2121665.536579e+010.416598-1.354485
357.01421.21569876.26125391.465088181.13368213.5002214.2822792.05.013.54.5...-2.209058e-021.515896-1.050958e-01-0.1490491.516057-0.14902090.8348913.894540e+000.414404-1.143113
362.01438.374268115.36254984.298584172.14361613.4996584.7437872.05.013.54.5...-1.349331e-031.1076184.977900e-02-0.9798661.107619-0.98025090.069799-1.836220e+000.414270-0.988670
.....................................................................
503032702.01705.054635749.467887132.149004182.10504214.00000010.4952611.05.014.010.5...1.654143e-12-0.0291454.967546e-110.6571710.029145-0.657171270.0000001.644812e-080.5334920.936057
32707.01703.756025749.703112131.216670181.96191414.00000010.4996091.05.014.010.5...7.418066e-130.010435-2.189608e-120.0949920.010435-0.04490590.000000-4.320000e+020.5334920.937512
32712.01702.457415749.938337130.284337181.81878714.00000010.5001651.05.014.010.5...-4.263256e-140.001334-1.882654e-12-0.0218410.001334-0.02184190.0000001.416898e-080.5334920.937698
32717.01701.158805750.173562129.352003181.67565914.00000010.5000191.05.014.010.5...-2.984279e-14-0.0003503.069545e-14-0.0040420.000350-0.002362270.0000004.320000e+020.5334920.937649
32722.01702.384766750.754517123.435425180.94561814.00000010.4999852.05.014.010.5...0.000000e+00-0.0000827.162271e-140.0006440.000082-0.000644270.0000001.172430e-080.5334920.937638
\n", "

80035 rows × 24 columns

\n", "
" ], "text/plain": [ " l t w h x \\\n", "track_id frame_id \n", "1 342.0 1393.736572 0.000000 67.613647 121.391151 13.244408 \n", " 347.0 1393.844849 12.691238 86.482910 156.264786 13.500384 \n", " 352.0 1405.273438 36.675903 90.329956 176.461975 13.509425 \n", " 357.0 1421.215698 76.261253 91.465088 181.133682 13.500221 \n", " 362.0 1438.374268 115.362549 84.298584 172.143616 13.499658 \n", "... ... ... ... ... ... \n", "5030 32702.0 1705.054635 749.467887 132.149004 182.105042 14.000000 \n", " 32707.0 1703.756025 749.703112 131.216670 181.961914 14.000000 \n", " 32712.0 1702.457415 749.938337 130.284337 181.818787 14.000000 \n", " 32717.0 1701.158805 750.173562 129.352003 181.675659 14.000000 \n", " 32722.0 1702.384766 750.754517 123.435425 180.945618 14.000000 \n", "\n", " y state diff x_raw y_raw ... vx \\\n", "track_id frame_id ... \n", "1 342.0 2.414339 2.0 NaN 13.5 2.5 ... 6.143418e-01 \n", " 347.0 2.993156 2.0 5.0 13.5 3.0 ... 6.143418e-01 \n", " 352.0 3.650656 2.0 5.0 13.5 3.5 ... 2.169933e-02 \n", " 357.0 4.282279 2.0 5.0 13.5 4.5 ... -2.209058e-02 \n", " 362.0 4.743787 2.0 5.0 13.5 4.5 ... -1.349331e-03 \n", "... ... ... ... ... ... ... ... \n", "5030 32702.0 10.495261 1.0 5.0 14.0 10.5 ... 1.654143e-12 \n", " 32707.0 10.499609 1.0 5.0 14.0 10.5 ... 7.418066e-13 \n", " 32712.0 10.500165 1.0 5.0 14.0 10.5 ... -4.263256e-14 \n", " 32717.0 10.500019 1.0 5.0 14.0 10.5 ... -2.984279e-14 \n", " 32722.0 10.499985 2.0 5.0 14.0 10.5 ... 0.000000e+00 \n", "\n", " vy ax ay v a \\\n", "track_id frame_id \n", "1 342.0 1.389160 -1.422342e+00 0.453213 1.518941 0.142097 \n", " 347.0 1.389160 -1.422342e+00 0.453213 1.518941 0.142097 \n", " 352.0 1.577999 -1.422342e+00 0.453213 1.578149 0.142097 \n", " 357.0 1.515896 -1.050958e-01 -0.149049 1.516057 -0.149020 \n", " 362.0 1.107618 4.977900e-02 -0.979866 1.107619 -0.980250 \n", "... ... ... ... ... ... \n", "5030 32702.0 -0.029145 4.967546e-11 0.657171 0.029145 -0.657171 \n", " 32707.0 0.010435 -2.189608e-12 0.094992 0.010435 -0.044905 \n", " 32712.0 0.001334 -1.882654e-12 -0.021841 0.001334 -0.021841 \n", " 32717.0 -0.000350 3.069545e-14 -0.004042 0.000350 -0.002362 \n", " 32722.0 -0.000082 7.162271e-14 0.000644 0.000082 -0.000644 \n", "\n", " heading d_heading x_norm y_norm \n", "track_id frame_id \n", "1 342.0 66.143088 5.536579e+01 0.353449 -1.768217 \n", " 347.0 66.143088 5.536579e+01 0.414443 -1.574517 \n", " 352.0 89.212166 5.536579e+01 0.416598 -1.354485 \n", " 357.0 90.834891 3.894540e+00 0.414404 -1.143113 \n", " 362.0 90.069799 -1.836220e+00 0.414270 -0.988670 \n", "... ... ... ... ... \n", "5030 32702.0 270.000000 1.644812e-08 0.533492 0.936057 \n", " 32707.0 90.000000 -4.320000e+02 0.533492 0.937512 \n", " 32712.0 90.000000 1.416898e-08 0.533492 0.937698 \n", " 32717.0 270.000000 4.320000e+02 0.533492 0.937649 \n", " 32722.0 270.000000 1.172430e-08 0.533492 0.937638 \n", "\n", "[80035 rows x 24 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# a=filtered_data.loc[1]\n", "# min(a.index.tolist())\n", "data" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x False\n", "y False\n", "vx False\n", "vy False\n", "ax False\n", "ay False\n", "dx False\n", "dy False\n" ] } ], "source": [ "for field in in_fields + out_fields:\n", " print(field, data[field].isnull().values.any())" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " 0%| | 0/1606 [00:00 The only constraint on the latent vector representation for traditional autoencoders is that latent vectors should be easily decodable back into the original image. As a result, the latent space $Z$ can become disjoint and non-continuous. Variational autoencoders try to solve this problem. [Alexander van de Kleut](https://avandekleut.github.io/vae/)\n", "\n", "For LSTM based generative VAE: https://github.com/Khamies/LSTM-Variational-AutoEncoder/blob/main/model.py\n", "\n", "http://web.archive.org/web/20210119121802/https://towardsdatascience.com/time-series-generation-with-vae-lstm-5a6426365a1c?gi=29d8b029a386\n", "\n", "https://youtu.be/qJeaCHQ1k2w?si=30aAdqqwvz0DpR-x&t=687 VAE generate mu and sigma of a Normal distribution. Thus, they don't map the input to a single point, but a gausian distribution." ] }, { "cell_type": "code", "execution_count": 328, "metadata": {}, "outputs": [], "source": [ "class LSTMModel(nn.Module):\n", " # input_size : number of features in input at each time step\n", " # hidden_size : Number of LSTM units \n", " # num_layers : number of LSTM layers \n", " def __init__(self, input_size, hidden_size, num_layers): \n", " super(LSTMModel, self).__init__() #initializes the parent class nn.Module\n", " # We _could_ train the h0: https://discuss.pytorch.org/t/learn-initial-hidden-state-h0-for-rnn/10013 \n", " # self.lin1 = nn.Linear(input_size, hidden_size)\n", " self.num_layers = num_layers\n", " self.hidden_size = hidden_size\n", " self.lstm = nn.LSTM(input_size, hidden_size, num_layers, batch_first=True)\n", " self.linear = nn.Linear(hidden_size, output_size)\n", " # self.activation_v = nn.LeakyReLU(.01)\n", " # self.activation_heading = torch.remainder()\n", "\n", " \n", " def get_hidden_state(self, batch_size, device):\n", " h = torch.zeros(self.num_layers, batch_size, self.hidden_size).to(device)\n", " c = torch.zeros(self.num_layers, batch_size, self.hidden_size).to(device)\n", " return (h, c)\n", "\n", " def forward(self, x, hidden_state): # defines forward pass of the neural network\n", " # out = self.lin1(x)\n", " \n", " out, hidden_state = self.lstm(x, hidden_state)\n", " # extract only the last time step, see https://machinelearningmastery.com/lstm-for-time-series-prediction-in-pytorch/\n", " # print(out.shape)\n", " # TODO)) Might want to remove this below: as it might improve training\n", " # out = out[:, -1,:]\n", " # print(out.shape)\n", " out = self.linear(out)\n", " \n", " # torch.remainder(out[1], 360)\n", " # print('o',out.shape)\n", " return out, hidden_state\n", "\n", "lstm = LSTMModel(input_size, hidden_size, num_layers).to(device)\n" ] }, { "cell_type": "code", "execution_count": 329, "metadata": {}, "outputs": [], "source": [ "# model = rnn\n", "model = lstm\n" ] }, { "cell_type": "code", "execution_count": 330, "metadata": {}, "outputs": [], "source": [ "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)\n", "loss_fn = nn.MSELoss()" ] }, { "cell_type": "code", "execution_count": 331, "metadata": {}, "outputs": [], "source": [ "def evaluate():\n", " # toggle evaluation mode\n", " model.eval()\n", " with torch.no_grad():\n", " batch_size, seq_len, feature_dim = X_train.shape\n", " y_pred, _ = model(\n", " X_train.to(device=device),\n", " model.get_hidden_state(batch_size, device)\n", " )\n", " train_rmse = torch.sqrt(loss_fn(y_pred, y_train))\n", " # print(y_pred)\n", "\n", " batch_size, seq_len, feature_dim = X_test.shape\n", " y_pred, _ = model(\n", " X_test.to(device=device),\n", " model.get_hidden_state(batch_size, device)\n", " )\n", " # print(loss_fn(y_pred, y_test))\n", " test_rmse = torch.sqrt(loss_fn(y_pred, y_test))\n", " print(\"Epoch ??: train RMSE %.4f, test RMSE %.4f\" % ( train_rmse, test_rmse))\n", "\n", "def load_most_recent():\n", " paths = list(cache_path.glob(f\"checkpoint-{model._get_name()}_*.pt\"))\n", " if len(paths) < 1:\n", " print('Nothing found to load')\n", " return None, None\n", " paths.sort()\n", "\n", " print(f\"Loading {paths[-1]}\")\n", " return load_cache(path=paths[-1])\n", "\n", "def load_cache(epoch=None, path=None):\n", " if path is None:\n", " if epoch is None:\n", " raise RuntimeError(\"Either path or epoch must be given\")\n", " path = cache_path / f\"checkpoint-{model._get_name()}_{epoch:05d}.pt\"\n", " else:\n", " print (path.stem)\n", " epoch = int(path.stem[-5:])\n", "\n", " cached = torch.load(path)\n", " \n", " optimizer.load_state_dict(cached['optimizer_state_dict'])\n", " model.load_state_dict(cached['model_state_dict'])\n", " return epoch, cached['loss']\n", " \n", "\n", "def cache(epoch, loss):\n", " path = cache_path / f\"checkpoint-{model._get_name()}_{epoch:05d}.pt\"\n", " print(f\"Cache to {path}\")\n", " torch.save({\n", " 'epoch': epoch,\n", " 'model_state_dict': model.state_dict(),\n", " 'optimizer_state_dict': optimizer.state_dict(),\n", " 'loss': loss,\n", " }, path)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "TODO)) See [this notebook](https://www.cs.toronto.edu/~lczhang/aps360_20191/lec/w08/rnn.html) For initialization (with random or not) and the use of GRU" ] }, { "cell_type": "code", "execution_count": 332, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading EXPERIMENTS/cache/hof2/checkpoint-LSTMModel_01000.pt\n", "checkpoint-LSTMModel_01000\n", "starting from epoch 1000 (loss: 0.014368701726198196)\n", "Epoch ??: train RMSE 0.0849, test RMSE 0.0866\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "0it [00:00, ?it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch ??: train RMSE 0.0849, test RMSE 0.0866\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "start_epoch, loss = load_most_recent()\n", "if start_epoch is None:\n", " start_epoch = 0\n", "else:\n", " print(f\"starting from epoch {start_epoch} (loss: {loss})\")\n", " evaluate()\n", "\n", "loss_log = []\n", "# Train Network\n", "for epoch in tqdm(range(start_epoch+1,num_epochs+1)):\n", " # toggle train mode\n", " model.train()\n", " for batch_idx, (x, targets) in enumerate(loader_train):\n", " # Get x to cuda if possible\n", " x = x.to(device=device).squeeze(1)\n", " targets = targets.to(device=device)\n", "\n", " # forward\n", " scores, _ = model(\n", " x,\n", " torch.zeros(num_layers, x.shape[2], hidden_size, dtype=torch.float).to(device=device),\n", " torch.zeros(num_layers, x.shape[2], hidden_size, dtype=torch.float).to(device=device)\n", " )\n", " # print(scores)\n", " loss = loss_fn(scores, targets)\n", "\n", " # backward\n", " optimizer.zero_grad()\n", " loss.backward()\n", "\n", " # gradient descent update step/adam step\n", " optimizer.step()\n", "\n", " loss_log.append(loss.item())\n", "\n", " if epoch % 5 != 0:\n", " continue\n", "\n", " cache(epoch, loss)\n", " evaluate()\n", "\n", "evaluate()" ] }, { "cell_type": "code", "execution_count": 333, "metadata": {}, "outputs": [], "source": [ "# print(loss)\n", "# print(len(loss_log))\n", "# plt.plot(loss_log)\n", "# plt.ylabel('Loss')\n", "# plt.xlabel('iteration')\n", "# plt.show()" ] }, { "cell_type": "code", "execution_count": 335, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([49999, 9, 2]) torch.Size([49999, 9, 2])\n" ] } ], "source": [ "model.eval()\n", "\n", "with torch.no_grad():\n", " y_pred, _ = model(X_train.to(device=device),\n", " model.get_hidden_state(X_train.shape[0], device))\n", " \n", " print(y_pred.shape, y_train.shape)\n", "# y_train, y_pred" ] }, { "cell_type": "code", "execution_count": 336, "metadata": {}, "outputs": [], "source": [ "import scipy\n", "\n", "def ceil_away_from_0(a):\n", " return np.sign(a) * np.ceil(np.abs(a))\n" ] }, { "cell_type": "code", "execution_count": 343, "metadata": {}, "outputs": [], "source": [ "def predict_and_plot(model, feature, steps = 50):\n", " lenght = feature.shape[0]\n", "\n", " dt = (1/ FPS) * SAMPLE_STEP\n", "\n", " trajectory = feature\n", "\n", " # feature = filtered_data.loc[_track_id,:].iloc[:5][in_fields].values\n", " # nxt = filtered_data.loc[_track_id,:].iloc[5][out_fields]\n", " with torch.no_grad():\n", " # h = torch.zeros(num_layers, window+1, hidden_size, dtype=torch.float).to(device=device)\n", " # c = torch.zeros(num_layers, window+1, hidden_size, dtype=torch.float).to(device=device)\n", " h = torch.zeros(num_layers, 1, hidden_size, dtype=torch.float).to(device=device)\n", " c = torch.zeros(num_layers, 1, hidden_size, dtype=torch.float).to(device=device)\n", " hidden_state = (h, c)\n", " # X = torch.tensor([feature], dtype=torch.float).to(device)\n", " # y, (h, c) = model(X, h, c)\n", " for i in range(steps):\n", " # predict_f = scipy.ndimage.uniform_filter(feature)\n", " # predict_f = scipy.interpolate.splrep(feature[:][0], feature[:][1],)\n", " # predict_f = scipy.signal.spline_feature(feature, lmbda=.1)\n", " # bathc size of one, so feature as single item in array\n", " # print(X.shape)\n", " X = torch.tensor([feature], dtype=torch.float).to(device)\n", " # print(type(model))\n", " y, hidden_state, *_ = model(X, hidden_state)\n", " # print(hidden_state.shape)\n", "\n", " s = y[-1][-1].cpu()\n", "\n", " # proj_x proj_y v heading a d_heading\n", " # next_step = feature\n", "\n", " dx, dy = s\n", " \n", " dx = (dx * GRID_SIZE).round() / GRID_SIZE\n", " dy = (dy * GRID_SIZE).round() / GRID_SIZE\n", " vx, vy = dx / dt, dy / dt\n", "\n", " v = np.sqrt(s[0]**2 + s[1]**2)\n", " heading = (np.arctan2(s[1], s[0]) * 180 / np.pi) % 360\n", " # a = (v - feature[-1][2]) / dt\n", " ax = (vx - feature[-1][2]) / dt\n", " ay = (vx - feature[-1][3]) / dt\n", " # d_heading = (heading - feature[-1][5])\n", " # print(s)\n", " # ['x', 'y', 'vx', 'vy', 'ax', 'ay'] \n", " x = feature[-1][0] + dx\n", " y = feature[-1][1] + dy\n", " if GRID_SIZE is not None:\n", " # put points back on grid\n", " x = (x*GRID_SIZE).round() / GRID_SIZE\n", " y = (y*GRID_SIZE).round() / GRID_SIZE\n", "\n", " feature = [[x, y, vx, vy, ax, ay]]\n", " \n", " trajectory = np.append(trajectory, feature, axis=0)\n", " # f = [feature[-1][0] + s[0]*dt, feature[-1][1] + s[1]*dt, v, heading, a, d_heading ]\n", " # feature = np.append(feature, [feature], axis=0)\n", " \n", " # print(next_step, nxt)\n", " # print(trajectory)\n", " plt.plot(trajectory[:lenght,0], trajectory[:lenght,1], c='orange')\n", " plt.plot(trajectory[lenght-1:,0], trajectory[lenght-1:,1], c='red')\n", " plt.scatter(trajectory[lenght:,0], trajectory[lenght:,1], c='red', marker='x')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1301\n", "(10, 6) (10, 6)\n" ] }, { "data": { "image/png": "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LYQQuOaaa3D//ffjd7/7HZYuXTrlY/i+j02bNmH+/PkNOMPGKRaLeOONN8Y971a9p/u788470d3djYsuumhK+7XqfV26dCl6e3vr7l0+n8czzzwz7r07mPf8bBEGHlu2bMEjjzyCzs7OKR/jQO+F2eqtt97C4ODguOfdyvc1dPvtt2P58uU45ZRTprzvbLmvB/qcWb58OQzDqLtPmzdvxvbt28e9TwfzPj+YE2+6e+65R1iWJdasWSP+9Kc/ic9//vMinU6L3bt3CyGE+PSnPy2+/vWvy+2feOIJoeu6+Nd//Vfx6quvihtuuEEYhiE2bdo0E6c/aV/60pdEKpUS69atE7t27ZJf5XJZbrP/td54443i4YcfFm+88YbYsGGD+MQnPiEikYh45ZVXZuISJu2rX/2qWLdundi6dat44oknxKpVq0RXV5fYs2ePEGLu3NORfN8XixcvFtdff/2o77XyfS0UCuL5558Xzz//vAAgvvvd74rnn39ezvC4+eabRTqdFg888IB46aWXxCWXXCKWLl0qKpWKPMY555wjvv/978vHB3rPz5SJrtVxHHHxxReLhQsXihdeeKHuPWzbtjzG/td6oPfCTJnoWguFgvja174mnnrqKbF161bxyCOPiNNOO0284x3vENVqVR5jLtzXUC6XE7FYTNxyyy1jHqNV7utkPme++MUvisWLF4vf/e534o9//KNYuXKlWLlyZd1xjj32WPGLX/xCPp7M+/xQzEjwIYQQ3//+98XixYuFaZrijDPOEE8//bT83vve9z5xxRVX1G1/7733imOOOUaYpilOOOEE8eCDDzb5jKcOwJhfd955p9xm/2u97rrr5L9LT0+P+OAHPyg2btzY/JOfoo9//ONi/vz5wjRNsWDBAvHxj39cvP766/L7c+WejvTwww8LAGLz5s2jvtfK9/Wxxx4b8+c2vJ4gCMQ3v/lN0dPTIyzLEueee+6of4MlS5aIG264oe65id7zM2Wia926deu47+HHHntMHmP/az3Qe2GmTHSt5XJZnHfeeWLevHnCMAyxZMkS8bnPfW5UEDEX7mvo1ltvFdFoVGSz2TGP0Sr3dTKfM5VKRXz5y18W7e3tIhaLiQ9/+MNi165do44zcp/JvM8PhTL8okRERERNwbVdiIiIqKkYfBAREVFTMfggIiKipmLwQURERE3F4IOIiIiaisEHERERNRWDDyIiImoqBh9ERETUVAw+iIiIqKkYfBAREVFTMfggIiKipmLwQURERE31/wFwRYUJ3YTkmwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "# print(filtered_data.loc[track_id,:]['proj_x'])\n", "_track_id = 8701 # random.choice(track_ids)\n", "_track_id = 3880 # random.choice(track_ids)\n", "\n", "# _track_id = 2780\n", "\n", "for batch_idx in range(100):\n", " _track_id = random.choice(track_ids)\n", " plt.plot(\n", " data.loc[_track_id,:]['x'],\n", " data.loc[_track_id,:]['y'],\n", " c='grey', alpha=.2\n", " )\n", "\n", "_track_id = random.choice(track_ids)\n", "# _track_id = 1096\n", "_track_id = 1301\n", "print(_track_id)\n", "ax = plt.scatter(\n", " data.loc[_track_id,:]['x'],\n", " data.loc[_track_id,:]['y'],\n", " marker=\"*\") \n", "plt.plot(\n", " data.loc[_track_id,:]['x'],\n", " data.loc[_track_id,:]['y']\n", ")\n", "\n", "X = data.loc[_track_id,:].iloc[:][in_fields].values\n", "# Adding randomness might be a cheat to get multiple features from current position\n", "rnd = np.random.random_sample(X.shape) / 10\n", "# print(rnd)\n", "\n", "print(X[:10].shape, (X[:10] + rnd[:10]).shape)\n", "\n", "# predict_and_plot(data.loc[_track_id,:].iloc[:5][in_fields].values)\n", "# predict_and_plot(model, data.loc[_track_id,:].iloc[:5][in_fields].values, 50)\n", "# predict_and_plot(model, data.loc[_track_id,:].iloc[:10][in_fields].values, 50)\n", "# predict_and_plot(model, data.loc[_track_id,:].iloc[:20][in_fields].values)\n", "# predict_and_plot(model, data.loc[_track_id,:].iloc[:30][in_fields].values)\n", "predict_and_plot(model, X[:12])\n", "predict_and_plot(model, X[:12] + rnd[:12])\n", "predict_and_plot(model, data.loc[_track_id,:].iloc[:][in_fields].values)\n", "# predict_and_plot(filtered_data.loc[_track_id,:].iloc[:70][in_fields].values)\n", "# predict_and_plot(filtered_data.loc[_track_id,:].iloc[:115][in_fields].values)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## VAE" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# From https://github.com/CUN-bjy/lstm-vae-torch/blob/main/src/models.py (MIT)\n", "\n", "from typing import Optional\n", "\n", "\n", "class Encoder(nn.Module):\n", " def __init__(self, input_size=4096, hidden_size=1024, num_layers=2):\n", " super(Encoder, self).__init__()\n", " self.hidden_size = hidden_size\n", " self.num_layers = num_layers\n", " self.lstm = nn.LSTM(\n", " input_size,\n", " hidden_size,\n", " num_layers,\n", " batch_first=True,\n", " bidirectional=False,\n", " )\n", "\n", " def get_hidden_state(self, batch_size, device):\n", " h = torch.zeros(self.num_layers, batch_size, self.hidden_size).to(device)\n", " c = torch.zeros(self.num_layers, batch_size, self.hidden_size).to(device)\n", " return (h, c)\n", "\n", " def forward(self, x, hidden_state):\n", " # x: tensor of shape (batch_size, seq_length, hidden_size)\n", " outputs, (hidden, cell) = self.lstm(x, hidden_state)\n", " return outputs, (hidden, cell)\n", "\n", "\n", "class Decoder(nn.Module):\n", " def __init__(\n", " self, input_size=4096, hidden_size=1024, output_size=4096, num_layers=2\n", " ):\n", " super(Decoder, self).__init__()\n", " self.hidden_size = hidden_size\n", " self.output_size = output_size\n", " self.num_layers = num_layers\n", " self.lstm = nn.LSTM(\n", " input_size,\n", " hidden_size,\n", " num_layers,\n", " batch_first=True,\n", " bidirectional=False,\n", " )\n", " self.fc = nn.Linear(hidden_size, output_size)\n", " \n", " def get_hidden_state(self, batch_size, device):\n", " h = torch.zeros(self.num_layers, batch_size, self.hidden_size).to(device)\n", " c = torch.zeros(self.num_layers, batch_size, self.hidden_size).to(device)\n", " return (h, c)\n", "\n", " def forward(self, x, hidden):\n", " # x: tensor of shape (batch_size, seq_length, hidden_size)\n", " output, (hidden, cell) = self.lstm(x, hidden)\n", " prediction = self.fc(output)\n", " return prediction, (hidden, cell)\n", "\n", "\n", "class LSTMVAE(nn.Module):\n", " \"\"\"LSTM-based Variational Auto Encoder\"\"\"\n", "\n", " def __init__(\n", " self, input_size, output_size, hidden_size, latent_size, device=torch.device(\"cuda\")\n", " ):\n", " \"\"\"\n", " input_size: int, batch_size x sequence_length x input_dim\n", " hidden_size: int, output size of LSTM AE\n", " latent_size: int, latent z-layer size\n", " num_lstm_layer: int, number of layers in LSTM\n", " \"\"\"\n", " super(LSTMVAE, self).__init__()\n", " self.device = device\n", "\n", " # dimensions\n", " self.input_size = input_size\n", " self.hidden_size = hidden_size\n", " self.latent_size = latent_size\n", " self.num_layers = 1\n", "\n", " # lstm ae\n", " self.lstm_enc = Encoder(\n", " input_size=input_size, hidden_size=hidden_size, num_layers=self.num_layers\n", " )\n", " self.lstm_dec = Decoder(\n", " input_size=latent_size,\n", " output_size=output_size,\n", " hidden_size=hidden_size,\n", " num_layers=self.num_layers,\n", " )\n", "\n", " self.fc21 = nn.Linear(self.hidden_size, self.latent_size)\n", " self.fc22 = nn.Linear(self.hidden_size, self.latent_size)\n", " self.fc3 = nn.Linear(self.latent_size, self.hidden_size)\n", "\n", " def reparametize(self, mu, logvar):\n", " std = torch.exp(0.5 * logvar)\n", " noise = torch.randn_like(std).to(self.device)\n", "\n", " z = mu + noise * std\n", " return z\n", "\n", " def forward(self, x, hidden_state_encoder: Optional[tuple]=None):\n", " batch_size, seq_len, feature_dim = x.shape\n", "\n", " if hidden_state_encoder is None:\n", " hidden_state_encoder = self.lstm_enc.get_hidden_state(batch_size, self.device)\n", "\n", " # encode input space to hidden space\n", " prediction, hidden_state = self.lstm_enc(x, hidden_state_encoder)\n", " enc_h = hidden_state[0].view(batch_size, self.hidden_size).to(self.device)\n", "\n", " # extract latent variable z(hidden space to latent space)\n", " mean = self.fc21(enc_h)\n", " logvar = self.fc22(enc_h)\n", " z = self.reparametize(mean, logvar) # batch_size x latent_size\n", "\n", " # initialize hidden state as inputs\n", " h_ = self.fc3(z)\n", " \n", " # decode latent space to input space\n", " z = z.repeat(1, seq_len, 1)\n", " z = z.view(batch_size, seq_len, self.latent_size).to(self.device)\n", "\n", " # initialize hidden state\n", " hidden = (h_.contiguous(), h_.contiguous())\n", " # TODO)) the above is not the right dimensions, but this changes architecture\n", " hidden = self.lstm_dec.get_hidden_state(batch_size, self.device)\n", " reconstruct_output, hidden = self.lstm_dec(z, hidden)\n", "\n", " x_hat = reconstruct_output\n", " \n", " return x_hat, hidden_state, mean, logvar\n", "\n", " def loss_function(self, *args, **kwargs) -> dict:\n", " \"\"\"\n", " Computes the VAE loss function.\n", " KL(N(\\mu, \\sigma), N(0, 1)) = \\log \\frac{1}{\\sigma} + \\frac{\\sigma^2 + \\mu^2}{2} - \\frac{1}{2}\n", " :param args:\n", " :param kwargs:\n", " :return:\n", " \"\"\"\n", " predicted = args[0]\n", " target = args[1]\n", " mu = args[2]\n", " log_var = args[3]\n", "\n", " kld_weight = 0.00025 # Account for the minibatch samples from the dataset\n", " recons_loss = torch.nn.functional.mse_loss(predicted, target=target)\n", "\n", " kld_loss = torch.mean(\n", " -0.5 * torch.sum(1 + log_var - mu**2 - log_var.exp(), dim=1), dim=0\n", " )\n", "\n", " loss = recons_loss + kld_weight * kld_loss\n", " return {\n", " \"loss\": loss,\n", " \"Reconstruction_Loss\": recons_loss.detach(),\n", " \"KLD\": -kld_loss.detach(),\n", " }\n" ] }, { "cell_type": "code", "execution_count": 303, "metadata": {}, "outputs": [], "source": [ "vae = LSTMVAE(input_size, output_size, hidden_size, 1024, device=device)\n", "vae.to(device)\n", "vae_optimizer = torch.optim.Adam(vae.parameters(), lr=learning_rate)" ] }, { "cell_type": "code", "execution_count": 304, "metadata": {}, "outputs": [], "source": [ "def train_vae(model, train_loader, test_loader, max_iter, learning_rate):\n", " # optimizer\n", " optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)\n", "\n", " ## interation setup\n", " epochs = tqdm(range(max_iter // len(train_loader) + 1))\n", " epochs = tqdm(range(max_iter))\n", "\n", " ## training\n", " count = 0\n", " for epoch in epochs:\n", " model.train()\n", " optimizer.zero_grad()\n", " train_iterator = tqdm(\n", " enumerate(train_loader), total=len(train_loader), desc=\"training\"\n", " )\n", "\n", " # if count > max_iter:\n", " # print(\"max!\")\n", " # return model\n", "\n", " for batch_idx, (x, targets) in train_iterator:\n", " count += 1\n", "\n", " # future_data, past_data = batch_data\n", "\n", " ## reshape\n", " batch_size = x.size(0)\n", " example_size = x.size(1)\n", " # image_size = past_data.size(2), past_data.size(3)\n", " # past_data = (\n", " # past_data.view(batch_size, example_size, -1).float().to(args.device) # flattens image, we don't need this\n", " # )\n", " # future_data = future_data.view(batch_size, example_size, -1).float().to(args.device)\n", "\n", " y, hidden_state, mean, logvar = model(x)\n", "\n", " # calculate vae loss\n", " # print(y.shape, targets.shape)\n", " losses = model.loss_function(y, targets, mean, logvar)\n", " mloss, recon_loss, kld_loss = (\n", " losses[\"loss\"],\n", " losses[\"Reconstruction_Loss\"],\n", " losses[\"KLD\"],\n", " )\n", "\n", " # Backward and optimize\n", " optimizer.zero_grad()\n", " mloss.mean().backward()\n", " optimizer.step()\n", "\n", " train_iterator.set_postfix({\"train_loss\": float(mloss.mean())})\n", " print(\"train_loss\", float(mloss.mean()), epoch)\n", "\n", " model.eval()\n", " eval_loss = 0\n", " test_iterator = tqdm(\n", " enumerate(test_loader), total=len(test_loader), desc=\"testing\"\n", " )\n", "\n", " with torch.no_grad():\n", " for batch_idx, (x, targets) in test_iterator:\n", " # future_data, past_data = batch_data\n", "\n", " ## reshape\n", " batch_size = x.size(0)\n", " example_size = x.size(1)\n", " # past_data = (\n", " # past_data.view(batch_size, example_size, -1).float().to(args.device)\n", " # )\n", " # future_data = future_data.view(batch_size, example_size, -1).float().to(args.device)\n", "\n", " y, hidden_state, mean, logvar = model(x)\n", "\n", " # calculate vae loss\n", " losses = model.loss_function(y, targets, mean, logvar)\n", " mloss, recon_loss, kld_loss = (\n", " losses[\"loss\"],\n", " losses[\"Reconstruction_Loss\"],\n", " losses[\"KLD\"],\n", " )\n", "\n", " eval_loss += mloss.mean().item()\n", "\n", " test_iterator.set_postfix({\"eval_loss\": float(mloss.mean())})\n", "\n", " # if batch_idx == 0:\n", " # nhw_orig = past_data[0].view(example_size, image_size[0], -1)\n", " # nhw_recon = recon_x[0].view(example_size, image_size[0], -1)\n", " # imshow(nhw_orig.cpu(), f\"orig{epoch}\")\n", " # imshow(nhw_recon.cpu(), f\"recon{epoch}\")\n", " # writer.add_images(f\"original{i}\", nchw_orig, epoch)\n", " # writer.add_images(f\"reconstructed{i}\", nchw_recon, epoch)\n", "\n", " eval_loss = eval_loss / len(test_loader)\n", " # writer.add_scalar(\"eval_loss\", float(eval_loss), epoch)\n", " print(\"Evaluation Score : [{}]\".format(eval_loss))\n", "\n", " print(\"Done :-)\")\n", " return model" ] }, { "cell_type": "code", "execution_count": 305, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " 0%| | 0/11 [00:00 1\u001b[0m \u001b[43mtrain_vae\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvae\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mloader_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mloader_test\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_epochs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlearning_rate\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m)\u001b[49m\n", "Cell \u001b[0;32mIn[304], line 36\u001b[0m, in \u001b[0;36mtrain_vae\u001b[0;34m(model, train_loader, test_loader, max_iter, learning_rate)\u001b[0m\n\u001b[1;32m 29\u001b[0m example_size \u001b[38;5;241m=\u001b[39m x\u001b[38;5;241m.\u001b[39msize(\u001b[38;5;241m1\u001b[39m)\n\u001b[1;32m 30\u001b[0m \u001b[38;5;66;03m# image_size = past_data.size(2), past_data.size(3)\u001b[39;00m\n\u001b[1;32m 31\u001b[0m \u001b[38;5;66;03m# past_data = (\u001b[39;00m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;66;03m# past_data.view(batch_size, example_size, -1).float().to(args.device) # flattens image, we don't need this\u001b[39;00m\n\u001b[1;32m 33\u001b[0m \u001b[38;5;66;03m# )\u001b[39;00m\n\u001b[1;32m 34\u001b[0m \u001b[38;5;66;03m# future_data = future_data.view(batch_size, example_size, -1).float().to(args.device)\u001b[39;00m\n\u001b[0;32m---> 36\u001b[0m y, hidden_state, mean, logvar \u001b[38;5;241m=\u001b[39m \u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 38\u001b[0m \u001b[38;5;66;03m# calculate vae loss\u001b[39;00m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;66;03m# print(y.shape, targets.shape)\u001b[39;00m\n\u001b[1;32m 40\u001b[0m losses \u001b[38;5;241m=\u001b[39m model\u001b[38;5;241m.\u001b[39mloss_function(y, targets, mean, logvar)\n", "File \u001b[0;32m~/suspicion/trap/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1130\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 1126\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1127\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1128\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1129\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1130\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1131\u001b[0m \u001b[38;5;66;03m# Do not call functions when jit is used\u001b[39;00m\n\u001b[1;32m 1132\u001b[0m full_backward_hooks, non_full_backward_hooks \u001b[38;5;241m=\u001b[39m [], []\n", "Cell \u001b[0;32mIn[302], line 128\u001b[0m, in \u001b[0;36mLSTMVAE.forward\u001b[0;34m(self, x, hidden_state_encoder)\u001b[0m\n\u001b[1;32m 125\u001b[0m hidden \u001b[38;5;241m=\u001b[39m (h_\u001b[38;5;241m.\u001b[39mcontiguous(), h_\u001b[38;5;241m.\u001b[39mcontiguous())\n\u001b[1;32m 126\u001b[0m \u001b[38;5;66;03m# TODO)) the above is not the right dimensions, but this changes architecture\u001b[39;00m\n\u001b[1;32m 127\u001b[0m \u001b[38;5;66;03m# hidden = self.lstm_dec.get_hidden_state(batch_size, self.device)\u001b[39;00m\n\u001b[0;32m--> 128\u001b[0m reconstruct_output, hidden \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlstm_dec\u001b[49m\u001b[43m(\u001b[49m\u001b[43mz\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhidden\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 130\u001b[0m x_hat \u001b[38;5;241m=\u001b[39m reconstruct_output\n\u001b[1;32m 132\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m x_hat, hidden_state, mean, logvar\n", "File \u001b[0;32m~/suspicion/trap/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1130\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 1126\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1127\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1128\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1129\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1130\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1131\u001b[0m \u001b[38;5;66;03m# Do not call functions when jit is used\u001b[39;00m\n\u001b[1;32m 1132\u001b[0m full_backward_hooks, non_full_backward_hooks \u001b[38;5;241m=\u001b[39m [], []\n", "Cell \u001b[0;32mIn[302], line 54\u001b[0m, in \u001b[0;36mDecoder.forward\u001b[0;34m(self, x, hidden)\u001b[0m\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, x, hidden):\n\u001b[1;32m 53\u001b[0m \u001b[38;5;66;03m# x: tensor of shape (batch_size, seq_length, hidden_size)\u001b[39;00m\n\u001b[0;32m---> 54\u001b[0m output, (hidden, cell) \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlstm\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhidden\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 55\u001b[0m prediction \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfc(output)\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m prediction, (hidden, cell)\n", "File \u001b[0;32m~/suspicion/trap/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1130\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 1126\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[1;32m 1127\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[1;32m 1128\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[1;32m 1129\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[0;32m-> 1130\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1131\u001b[0m \u001b[38;5;66;03m# Do not call functions when jit is used\u001b[39;00m\n\u001b[1;32m 1132\u001b[0m full_backward_hooks, non_full_backward_hooks \u001b[38;5;241m=\u001b[39m [], []\n", "File \u001b[0;32m~/suspicion/trap/.venv/lib/python3.10/site-packages/torch/nn/modules/rnn.py:755\u001b[0m, in \u001b[0;36mLSTM.forward\u001b[0;34m(self, input, hx)\u001b[0m\n\u001b[1;32m 752\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (hx[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mdim() \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m3\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m hx[\u001b[38;5;241m1\u001b[39m]\u001b[38;5;241m.\u001b[39mdim() \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m3\u001b[39m):\n\u001b[1;32m 753\u001b[0m msg \u001b[38;5;241m=\u001b[39m (\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFor batched 3-D input, hx and cx should \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 754\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124malso be 3-D but got (\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mhx[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mdim()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m-D, \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mhx[\u001b[38;5;241m1\u001b[39m]\u001b[38;5;241m.\u001b[39mdim()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m-D) tensors\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 755\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(msg)\n\u001b[1;32m 756\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 757\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m hx[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mdim() \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m hx[\u001b[38;5;241m1\u001b[39m]\u001b[38;5;241m.\u001b[39mdim() \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m2\u001b[39m:\n", "\u001b[0;31mRuntimeError\u001b[0m: For batched 3-D input, hx and cx should also be 3-D but got (2-D, 2-D) tensors" ] } ], "source": [ "train_vae(vae, loader_train, loader_test, num_epochs, learning_rate*10)" ] }, { "cell_type": "code", "execution_count": 300, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1301\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# VAE Predict and plot\n", "_track_id = 8701 # random.choice(track_ids)\n", "_track_id = 3880 # random.choice(track_ids)\n", "\n", "# _track_id = 2780\n", "\n", "for batch_idx in range(100):\n", " _track_id = random.choice(track_ids)\n", " plt.plot(\n", " data.loc[_track_id,:]['x'],\n", " data.loc[_track_id,:]['y'],\n", " c='grey', alpha=.2\n", " )\n", "\n", "_track_id = random.choice(track_ids)\n", "# _track_id = 1096\n", "_track_id = 1301\n", "print(_track_id)\n", "ax = plt.scatter(\n", " data.loc[_track_id,:]['x'],\n", " data.loc[_track_id,:]['y'],\n", " marker=\"*\") \n", "plt.plot(\n", " data.loc[_track_id,:]['x'],\n", " data.loc[_track_id,:]['y']\n", ")\n", "\n", "# predict_and_plot(data.loc[_track_id,:].iloc[:5][in_fields].values)\n", "predict_and_plot(vae, data.loc[_track_id,:].iloc[:5][in_fields].values, 50)\n", "# predict_and_plot(vae, data.loc[_track_id,:].iloc[:10][in_fields].values, 50)\n", "# predict_and_plot(vae, data.loc[_track_id,:].iloc[:20][in_fields].values)\n", "# predict_and_plot(vae, data.loc[_track_id,:].iloc[:30][in_fields].values)\n", "# predict_and_plot(filtered_data.loc[_track_id,:].iloc[:70][in_fields].values)\n", "# predict_and_plot(filtered_data.loc[_track_id,:].iloc[:115][in_fields].values)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'LSTM_VAE' object has no attribute 'embed_size'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[103], line 268\u001b[0m\n\u001b[1;32m 261\u001b[0m \u001b[38;5;66;03m# Statistics.\u001b[39;00m\n\u001b[1;32m 262\u001b[0m \u001b[38;5;66;03m# if batch_num % 20 ==0:\u001b[39;00m\n\u001b[1;32m 263\u001b[0m \u001b[38;5;66;03m# print('| epoch {:3d} | elbo_loss {:5.6f} | kl_loss {:5.6f} | recons_loss {:5.6f} '.format(\u001b[39;00m\n\u001b[1;32m 264\u001b[0m \u001b[38;5;66;03m# epoch, mloss.item(), KL_loss.item(), recon_loss.item()))\u001b[39;00m\n\u001b[1;32m 266\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m test_losses\n\u001b[0;32m--> 268\u001b[0m vae \u001b[38;5;241m=\u001b[39m \u001b[43mLSTM_VAE\u001b[49m\u001b[43m(\u001b[49m\u001b[43minput_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moutput_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhidden_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m16\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdevice\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mto(device)\n\u001b[1;32m 270\u001b[0m vae_loss \u001b[38;5;241m=\u001b[39m VAE_Loss()\n\u001b[1;32m 271\u001b[0m optimizer \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39moptim\u001b[38;5;241m.\u001b[39mAdam(vae\u001b[38;5;241m.\u001b[39mparameters(), lr\u001b[38;5;241m=\u001b[39m learning_rate)\n", "Cell \u001b[0;32mIn[103], line 73\u001b[0m, in \u001b[0;36mLSTM_VAE.__init__\u001b[0;34m(self, input_size, output_size, hidden_size, latent_size, num_layers, device)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[38;5;66;03m# Decoder Part\u001b[39;00m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minit_hidden_decoder \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mLinear(in_features\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlatent_size, out_features\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhidden_size \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlstm_factor)\n\u001b[0;32m---> 73\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdecoder_lstm \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mLSTM(input_size\u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43membed_size\u001b[49m, hidden_size\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhidden_size, batch_first \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m, num_layers \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnum_layers)\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moutput \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mnn\u001b[38;5;241m.\u001b[39mLinear(in_features\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhidden_size \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlstm_factor, out_features\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moutput_size)\n", "File \u001b[0;32m~/suspicion/trap/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py:1207\u001b[0m, in \u001b[0;36mModule.__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 1205\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m name \u001b[38;5;129;01min\u001b[39;00m modules:\n\u001b[1;32m 1206\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m modules[name]\n\u001b[0;32m-> 1207\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m object has no attribute \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(\n\u001b[1;32m 1208\u001b[0m \u001b[38;5;28mtype\u001b[39m(\u001b[38;5;28mself\u001b[39m)\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m, name))\n", "\u001b[0;31mAttributeError\u001b[0m: 'LSTM_VAE' object has no attribute 'embed_size'" ] } ], "source": [ "# import torch\n", "\n", "class VAE_Loss(torch.nn.Module):\n", " \"\"\"\n", " Adapted from https://github.com/Khamies/LSTM-Variational-AutoEncoder/blob/main/model.py\n", " \"\"\"\n", " def __init__(self):\n", " super(VAE_Loss, self).__init__()\n", " self.nlloss = torch.nn.NLLLoss()\n", " \n", " def KL_loss (self, mu, log_var, z):\n", " kl = -0.5 * torch.sum(1 + log_var - mu.pow(2) - log_var.exp())\n", " kl = kl.sum(-1) # to go from multi-dimensional z to single dimensional z : (batch_size x latent_size) ---> (batch_size) \n", " # i.e Z = [ [z1_1, z1_2 , ...., z1_lt] ] ------> z = [ z1] \n", " # [ [z2_1, z2_2, ....., z2_lt] ] [ z2]\n", " # . [ . ]\n", " # . [ . ]\n", " # [[zn_1, zn_2, ....., zn_lt] ] [ zn]\n", " \n", " # lt=latent_size \n", " kl = kl.mean()\n", " \n", " return kl\n", "\n", " def reconstruction_loss(self, x_hat_param, x):\n", "\n", " x = x.view(-1).contiguous()\n", " x_hat_param = x_hat_param.view(-1, x_hat_param.size(2))\n", "\n", " recon = self.nlloss(x_hat_param, x)\n", "\n", " return recon\n", " \n", "\n", " def forward(self, mu, log_var,z, x_hat_param, x):\n", " kl_loss = self.KL_loss(mu, log_var, z)\n", " recon_loss = self.reconstruction_loss(x_hat_param, x)\n", "\n", "\n", " elbo = kl_loss + recon_loss # we use + because recon loss is a NLLoss (cross entropy) and it's negative in its own, and in the ELBO equation we have\n", " # elbo = KL_loss - recon_loss, therefore, ELBO = KL_loss - (NLLoss) = KL_loss + NLLoss\n", "\n", " return elbo, kl_loss, recon_loss\n", " \n", "class LSTM_VAE(torch.nn.Module):\n", " \"\"\"\n", " Adapted from https://github.com/Khamies/LSTM-Variational-AutoEncoder/blob/main/model.py\n", " \"\"\"\n", " def __init__(self, input_size, output_size, hidden_size, latent_size, num_layers=1, device=\"cuda\"):\n", " super(LSTM_VAE, self).__init__()\n", "\n", " self.device = device\n", " \n", " # Variables\n", " self.num_layers = num_layers\n", " self.lstm_factor = num_layers\n", " self.input_size = input_size\n", " self.hidden_size = hidden_size\n", " self.latent_size = latent_size\n", " self.output_size = output_size\n", "\n", " # X: bsz * seq_len * vocab_size \n", " # X: bsz * seq_len * embed_size\n", "\n", " # Encoder Part\n", " self.encoder_lstm = torch.nn.LSTM(input_size= input_size,hidden_size= self.hidden_size, batch_first=True, num_layers= self.num_layers)\n", " self.mean = torch.nn.Linear(in_features= self.hidden_size * self.lstm_factor, out_features= self.latent_size)\n", " self.log_variance = torch.nn.Linear(in_features= self.hidden_size * self.lstm_factor, out_features= self.latent_size)\n", "\n", " # Decoder Part\n", " \n", " self.hidden_decoder_linear = torch.nn.Linear(in_features= self.latent_size, out_features= self.hidden_size * self.lstm_factor)\n", " self.decoder_lstm = torch.nn.LSTM(input_size= self.embed_size, hidden_size= self.hidden_size, batch_first = True, num_layers = self.num_layers)\n", " self.output = torch.nn.Linear(in_features= self.hidden_size * self.lstm_factor, out_features= self.output_size)\n", " # self.log_softmax = torch.nn.LogSoftmax(dim=2)\n", "\n", " def get_hidden_state(self, batch_size):\n", " h = torch.zeros(self.num_layers, batch_size, self.hidden_size).to(self.device)\n", " c = torch.zeros(self.num_layers, batch_size, self.hidden_size).to(self.device)\n", " return (h, c)\n", "\n", "\n", " def encoder(self, x, hidden_state):\n", "\n", " # pad the packed input.\n", "\n", " out, (h,c) = self.encoder_lstm(x, hidden_state)\n", " # output_encoder, _ = torch.nn.utils.rnn.pad_packed_sequence(packed_output_encoder, batch_first=True, total_length= total_padding_length)\n", "\n", " # Extimate the mean and the variance of q(z|x)\n", " mean = self.mean(h)\n", " log_var = self.log_variance(h)\n", " std = torch.exp(0.5 * log_var) # e^(0.5 log_var) = var^0.5\n", " \n", " # Generate a unit gaussian noise.\n", " # batch_size = output_encoder.size(0)\n", " # seq_len = output_encoder.size(1)\n", " # noise = torch.randn(batch_size, self.latent_size).to(self.device)\n", " noise = torch.randn(self.latent_size).to(self.device)\n", " \n", " z = noise * std + mean\n", "\n", " return z, mean, log_var, (h,c)\n", "\n", "\n", " def decoder(self, z, x):\n", "\n", " hidden_decoder = self.hidden_decoder_linear(z)\n", " hidden_decoder = (hidden_decoder, hidden_decoder)\n", "\n", " # pad the packed input.\n", " packed_output_decoder, hidden_decoder = self.decoder_lstm(packed_x_embed,hidden_decoder) \n", " output_decoder, _ = torch.nn.utils.rnn.pad_packed_sequence(packed_output_decoder, batch_first=True, total_length= total_padding_length)\n", "\n", "\n", " x_hat = self.output(output_decoder)\n", " \n", " # x_hat = self.log_softmax(x_hat)\n", "\n", "\n", " return x_hat\n", "\n", " \n", "\n", " def forward(self, x, hidden_state):\n", " \n", " \"\"\"\n", " x : bsz * seq_len\n", " \n", " hidden_encoder: ( num_lstm_layers * bsz * hidden_size, num_lstm_layers * bsz * hidden_size)\n", "\n", " \"\"\"\n", " # Get Embeddings\n", " # x_embed, maximum_padding_length = self.get_embedding(x)\n", "\n", " # Packing the input\n", " # packed_x_embed = torch.nn.utils.rnn.pack_padded_sequence(input= x_embed, lengths= sentences_length, batch_first=True, enforce_sorted=False)\n", "\n", "\n", " # Encoder\n", " z, mean, log_var, hidden_encoder = self.encoder(x, maximum_padding_length, hidden_encoder)\n", "\n", " # Decoder\n", " x_hat = self.decoder(z, packed_x_embed, maximum_padding_length)\n", " \n", " return x_hat, mean, log_var, z, hidden_encoder\n", "\n", " \n", "\n", " def inference(self, n_samples, x, z):\n", "\n", " # generate random z \n", " batch_size = 1\n", " seq_len = 1\n", " idx_sample = []\n", "\n", "\n", " hidden = self.hidden_decoder_linear(z)\n", " hidden = (hidden, hidden)\n", " \n", " for i in range(n_samples):\n", " \n", " output,hidden = self.decoder_lstm(x, hidden)\n", " output = self.output(output)\n", " # output = self.log_softmax(output)\n", " # output = output.exp()\n", " _, s = torch.topk(output, 1)\n", " idx_sample.append(s.item())\n", " x = s.squeeze(0)\n", "\n", " w_sample = [self.dictionary.get_i2w()[str(idx)] for idx in idx_sample]\n", " w_sample = \" \".join(w_sample)\n", "\n", " return w_sample\n", "\n", "\n", "\n", "def get_batch(batch):\n", " sentences = batch[\"input\"]\n", " target = batch[\"target\"]\n", " sentences_length = batch[\"length\"]\n", "\n", " return sentences, target, sentences_length\n", "\n", "class Trainer:\n", "\n", " def __init__(self, train_loader, test_loader, model, loss, optimizer) -> None:\n", " self.train_loader = train_loader\n", " self.test_loader = test_loader\n", " self.model = model\n", " self.loss = loss\n", " self.optimizer = optimizer\n", " self.device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n", " self.interval = 200\n", "\n", "\n", " def train(self, train_losses, epoch, batch_size, clip) -> list: \n", " # Initialization of RNN hidden, and cell states.\n", " states = self.model.init_hidden(batch_size) \n", "\n", " for batch_idx, (x, targets) in enumerate(self.train_loader):\n", " # Get x to cuda if possible\n", " x = x.to(device=device).squeeze(1)\n", " targets = targets.to(device=device)\n", "\n", " # for batch_num, batch in enumerate(self.train_loader): # loop over the data, and jump with step = bptt.\n", " # get the labels\n", " source, target, source_lengths = get_batch(batch)\n", " source = source.to(self.device)\n", " target = target.to(self.device)\n", "\n", "\n", " x_hat_param, mu, log_var, z, states = self.model(source,source_lengths, states)\n", "\n", " # detach hidden states\n", " states = states[0].detach(), states[1].detach()\n", "\n", " # compute the loss\n", " mloss, KL_loss, recon_loss = self.loss(mu = mu, log_var = log_var, z = z, x_hat_param = x_hat_param , x = target)\n", "\n", " train_losses.append((mloss , KL_loss.item(), recon_loss.item()))\n", "\n", " mloss.backward()\n", "\n", " torch.nn.utils.clip_grad_norm_(self.model.parameters(), clip)\n", "\n", " self.optimizer.step()\n", "\n", " self.optimizer.zero_grad()\n", "\n", "\n", " if batch_num % self.interval == 0 and batch_num > 0:\n", " \n", " print('| epoch {:3d} | elbo_loss {:5.6f} | kl_loss {:5.6f} | recons_loss {:5.6f} '.format(\n", " epoch, mloss.item(), KL_loss.item(), recon_loss.item()))\n", "\n", " return train_losses\n", "\n", " def test(self, test_losses, epoch, batch_size) -> list:\n", "\n", " with torch.no_grad():\n", "\n", " states = self.model.init_hidden(batch_size) \n", "\n", " for batch_num, batch in enumerate(self.test_loader): # loop over the data, and jump with step = bptt.\n", " # get the labels\n", " source, target, source_lengths = get_batch(batch)\n", " source = source.to(self.device)\n", " target = target.to(self.device)\n", "\n", "\n", " x_hat_param, mu, log_var, z, states = self.model(source,source_lengths, states)\n", "\n", " # detach hidden states\n", " states = states[0].detach(), states[1].detach()\n", "\n", " # compute the loss\n", " mloss, KL_loss, recon_loss = self.loss(mu = mu, log_var = log_var, z = z, x_hat_param = x_hat_param , x = target)\n", "\n", " test_losses.append((mloss , KL_loss.item(), recon_loss.item()))\n", "\n", " # Statistics.\n", " # if batch_num % 20 ==0:\n", " # print('| epoch {:3d} | elbo_loss {:5.6f} | kl_loss {:5.6f} | recons_loss {:5.6f} '.format(\n", " # epoch, mloss.item(), KL_loss.item(), recon_loss.item()))\n", "\n", " return test_losses\n", "\n", "vae = LSTM_VAE(input_size, output_size, hidden_size, 16, 1, device).to(device)\n", "\n", "vae_loss = VAE_Loss()\n", "optimizer = torch.optim.Adam(vae.parameters(), lr= learning_rate)\n", "\n", "trainer = Trainer(loader_train, loader_test, vae, vae_loss, optimizer)\n", "\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }