{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
\n", "

An introduction to Deep Learning with Pytorch

\n", "

\n", " Yifei Huang\n", "

\n", " MAFS6010U\n", "

\n", " HKUST\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prerequires " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Materials available on Piazza\n", " \n", "- Require a Python distribution with scientific packages (NumPy, SciPy, Scikit-Learn, Pandas, Pytorch)\n", "\n", "- One can refer to this Link to install Pytorch\n", "\n", "- One can refer to this Link to learn basic operation in Pytorch" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Outline\n", "\n", "* Preprocess data with Pytorch Dataloader\n", "* RNN and CNN\n", "* Generative Adversarial Network\n", "* Reinforcement Learning" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load some packages" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import torch\n", "from torch import nn, optim\n", "from torch.utils.data import DataLoader, Dataset\n", "import torch.nn.functional as F\n", "\n", "import os\n", "import argparse\n", "import pandas as pd\n", "import numpy as np\n", "\n", "os.environ[\"CUDA_VISIBLE_DEVICES\"] = '1' # indecate which gpu you want to use\n", "\n", "try:\n", " from mpl_finance import candlestick_ohlc\n", "except ImportError:\n", " ! pip install mpl_finance\n", " from mpl_finance import candlestick_ohlc\n", " \n", "import matplotlib.pyplot as plt\n", "import matplotlib.dates as mdates\n", "%matplotlib inline\n", "plt.style.use('ggplot')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Loading external data with pandas" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data = pd.read_csv('./okex_future_BTC_USD_this_week_1H.csv',\n", " parse_dates=['candle_begin_time'])" ] }, { "cell_type": "code", "execution_count": 3, "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", "
candle_begin_timeopenhighlowclosevolume
02018-05-15 00:00:008674.338761.768663.178696.66172152.0
12018-05-15 01:00:008694.668728.178662.178701.85122668.0
22018-05-15 02:00:008699.988741.048642.368673.34181228.0
32018-05-15 03:00:008673.198717.708638.958707.10193166.0
42018-05-15 04:00:008710.928737.368684.208699.16155912.0
\n", "
" ], "text/plain": [ " candle_begin_time open high low close volume\n", "0 2018-05-15 00:00:00 8674.33 8761.76 8663.17 8696.66 172152.0\n", "1 2018-05-15 01:00:00 8694.66 8728.17 8662.17 8701.85 122668.0\n", "2 2018-05-15 02:00:00 8699.98 8741.04 8642.36 8673.34 181228.0\n", "3 2018-05-15 03:00:00 8673.19 8717.70 8638.95 8707.10 193166.0\n", "4 2018-05-15 04:00:00 8710.92 8737.36 8684.20 8699.16 155912.0" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualization" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data['timestamp'] = data.candle_begin_time.apply(mdates.date2num)\n", "fig, ax = plt.subplots(1, 1, figsize=(40, 10))\n", "plt.title('OKEX-FUTURE_BTC-USD_1H', fontsize=30)\n", "candlestick_ohlc(ax,\n", " data[['timestamp', 'open', 'high', 'low', 'close']].values,\n", " width=.6,\n", " colorup='g',\n", " alpha=1)\n", "ax.xaxis_date()\n", "ax.xaxis.set_major_formatter(mdates.DateFormatter('%y-%m-%d'))\n", "ax.set_ylabel('Price', fontdict={'size': 30})\n", "ax.set_xlabel('Date', fontdict={'size': 30})\n", "data = data.drop(['timestamp'], axis=1)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "parse = argparse.ArgumentParser(description='Tutorial2MAFS6010U')\n", "\n", "parse.add_argument('--input_length', default=12, type=int)\n", "parse.add_argument('--input_dim', default=5, type=int)\n", "parse.add_argument('--training_ratio', default=0.8, type=float)\n", "parse.add_argument('--batch_size', default=64, type=int)\n", "parse.add_argument('--hidden_dim', default=128, type=int)\n", "parse.add_argument('--rnn_layers', default=1, type=int)\n", "parse.add_argument('--lr', default=1e-4, type=float)\n", "parse.add_argument('--epochs', default=10, type=int)\n", "\n", "parse.add_argument('--cnn_kernels',default=[2,3,4],type=list)\n", "parse.add_argument('--cnn_channels',default=64,type=int)\n", "\n", "config, _ = parse.parse_known_args()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# First Part" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## RNN and CNN\n", "### We want to build a Recurrent neural network and Convolutional neural network to predict the next close price" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### RNN:\n", "* Navie RNN\n", "* GRU\n", "* LSTM" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](https://drive.google.com/uc?id=1B9zjuzsSfSjxI_qL7ahaCMmibSSC0EHi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First of all, we need to write a dataloader to load our data based on our requirements" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "class FinDataset(Dataset):\n", " def __init__(self, input_length=12, training_ratio=.8, training=True):\n", " data = pd.read_csv('./okex_future_BTC_USD_this_week_1H.csv',\n", " parse_dates=['candle_begin_time'])\n", " data.index = data['candle_begin_time']\n", " data = data.drop(['candle_begin_time'], axis=1)\n", " training_size = int(len(data) * training_ratio)\n", " self.data = data[:training_size] if training else data[training_size:]\n", " self.input_length = input_length\n", "\n", " def __getitem__(self, idx):\n", " # input is the previous state\n", " # label is the next close price\n", " input_seq = self.data.values[idx:idx + self.input_length]\n", " label = self.data.close[idx + self.input_length]\n", " mean = np.mean(input_seq, axis=0, keepdims=True)\n", " std = np.std(input_seq, axis=0, keepdims=True)\n", " \n", " # do scaling for input\n", " input_seq = (input_seq - mean) / (std + 1e-8)\n", "\n", " close_price = self.data.close[idx:idx + self.input_length]\n", " self.mean = close_price.mean()\n", " self.std = close_price.std()\n", " \n", " # do scaling for label\n", " label = (label - self.mean) / (self.std + 1e-8)\n", " return input_seq, label\n", "\n", " def __len__(self):\n", " return len(self.data) - self.input_length" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "training_dataset = FinDataset(input_length=12,\n", " training_ratio=.8,\n", " training=True)\n", "val_dataset = FinDataset(input_length=12, training_ratio=.8, training=False)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training size: 5287, Val size: 1313\n" ] } ], "source": [ "print(f'Training size: {len(training_dataset)}, Val size: {len(val_dataset)}')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([[-1.37962864, 0.18147287, -0.59518499, -0.80949459, 0.40760911],\n", " [-0.56938742, -0.83929303, -0.63166397, -0.61047626, -0.66016787],\n", " [-0.35736168, -0.44818684, -1.3543126 , -1.70373495, 0.6034531 ],\n", " [-1.42506273, -1.15746567, -1.47870593, -0.40915714, 0.86105397],\n", " [ 0.07864614, -0.56001829, 0.171968 , -0.71362835, 0.0571787 ],\n", " [-0.45659929, -0.17590156, 0.18728917, -0.01342127, -0.25320251],\n", " [ 0.05074802, 0.91810179, 0.92854209, 0.53723445, 0.2370548 ],\n", " [ 0.845446 , 0.01463736, 1.11312574, 0.35777284, -1.17381598],\n", " [ 0.63979697, -0.85053696, -1.14820636, -0.00498504, 0.04125397],\n", " [ 0.23407854, -0.63963742, 0.40871659, -0.32671217, -1.22931518],\n", " [-0.14971993, 2.51200389, 0.60825663, 1.98366439, 2.37972958],\n", " [ 2.48904403, 1.04482385, 1.79017564, 1.71293811, -1.27083169]]),\n", " 1.4061453421112702)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "training_dataset[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Usually we need to use DataLoader in Pytorch to load our data, because it is faster than our implementation" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def get_loader(config):\n", " training_dataset = FinDataset(input_length=config.input_length,\n", " training_ratio=config.training_ratio,\n", " training=True)\n", " val_dataset = FinDataset(input_length=config.input_length,\n", " training_ratio=config.training_ratio,\n", " training=False)\n", " \n", " # one can tune the batch_size, not too small, not too large\n", " # here we define our dataloader to load training data and validation data\n", " # usually we need to shuffle the training data to increase generalization but not shuffle the val data\n", " # pin_memory should always set to be True to reduce the CPU memory use\n", " training_loader = DataLoader(training_dataset,\n", " config.batch_size,\n", " shuffle=True,\n", " num_workers=4,\n", " pin_memory=True)\n", " val_loader = DataLoader(val_dataset,\n", " config.batch_size,\n", " shuffle=False,\n", " num_workers=4,\n", " pin_memory=True)\n", "\n", " return {'train': training_loader, 'val': val_loader}" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "class RNNModel(nn.Module):\n", " def __init__(self, input_dim, hidden_dim, rnn_layers=1):\n", " super(RNNModel, self).__init__()\n", " self.input_dim = input_dim\n", " self.hidden_dim = hidden_dim\n", " \n", " # define our recurrent neural network\n", " self.gru = nn.GRU(input_dim, hidden_dim, rnn_layers, batch_first=True)\n", "\n", " # define our regressor because our problem is a regression problem\n", " self.regressor = nn.Sequential(nn.Linear(hidden_dim, hidden_dim // 2),\n", " nn.ReLU(inplace=True), nn.Dropout(.5),\n", " nn.Linear(hidden_dim // 2, 1))\n", "\n", " # here do the initialization for recurrent neural network\n", " for name, param in self.gru.named_parameters():\n", " if 'weight' in name:\n", " nn.init.orthogonal_(param)\n", " if 'bias' in name:\n", " bias_length = param.size()[0]\n", " start, end = bias_length // 4, bias_length // 2\n", " param.data[start:end].fill_(1.)\n", "\n", " def forward(self, s):\n", " # s: torch.tensor [batch_size, t, m]\n", " # where t is the sequence length, m is the feature length (how many features you have)\n", " output, hidden = self.gru(s)\n", " \n", " # output: torch.tensor [batch_size, t, hidden_dim]\n", " # usually we use the last output i.e. output[:, -1, :] as the later input\n", " output = self.regressor(output[:, -1, :])\n", " return output" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch: [0/10]\n", "iters: [0/83], training_loss: 4.6170\n", "iters: [80/83], training_loss: 4.1754\n", "val_loss: 4.9485\n", "Epoch: [1/10]\n", "iters: [0/83], training_loss: 4.2196\n", "iters: [80/83], training_loss: 3.8386\n", "val_loss: 4.5632\n", "Epoch: [2/10]\n", "iters: [0/83], training_loss: 2.0318\n", "iters: [80/83], training_loss: 3.3538\n", "val_loss: 4.1762\n", "Epoch: [3/10]\n", "iters: [0/83], training_loss: 9.0688\n", "iters: [80/83], training_loss: 3.1163\n", "val_loss: 4.0551\n", "Epoch: [4/10]\n", "iters: [0/83], training_loss: 1.7701\n", "iters: [80/83], training_loss: 3.0344\n", "val_loss: 3.9876\n", "Epoch: [5/10]\n", "iters: [0/83], training_loss: 3.3667\n", "iters: [80/83], training_loss: 2.9157\n", "val_loss: 3.9482\n", "Epoch: [6/10]\n", "iters: [0/83], training_loss: 0.7015\n", "iters: [80/83], training_loss: 2.9102\n", "val_loss: 3.9085\n", "Epoch: [7/10]\n", "iters: [0/83], training_loss: 0.9521\n", "iters: [80/83], training_loss: 2.6907\n", "val_loss: 3.8947\n", "Epoch: [8/10]\n", "iters: [0/83], training_loss: 2.2297\n", "iters: [80/83], training_loss: 2.8626\n", "val_loss: 3.8831\n", "Epoch: [9/10]\n", "iters: [0/83], training_loss: 2.0857\n", "iters: [80/83], training_loss: 2.8488\n", "val_loss: 3.8781\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "use_gpu = torch.cuda.is_available()\n", "loaders = get_loader(config)\n", "\n", "# initial our model\n", "model = RNNModel(config.input_dim, config.hidden_dim, config.rnn_layers)\n", "if use_gpu:\n", " model = model.cuda()\n", "\n", "# define our loss\n", "criterion = nn.MSELoss()\n", "# define our optimizer, usually we use adam or sgd\n", "# you should tune the lr usually from 0.1 to 1e-4\n", "optimizer = optim.Adam(model.parameters(), lr=config.lr, weight_decay=5e-7)\n", "\n", "losses = {'train': [], 'val': []}\n", "for epoch in range(config.epochs):\n", " print(f'Epoch: [{epoch}/{config.epochs}]')\n", " training_size, val_size = 0, 0\n", " training_loss, val_loss = 0, 0\n", " \n", " # before training, do not forget to set the model to be training mode\n", " model.train()\n", " \n", " # use loader to load our training data\n", " for i, (inputs, labels) in enumerate(loaders['train']):\n", " \n", " # float our inputs and labels\n", " inputs, labels = inputs.float(), labels.float()\n", " if use_gpu:\n", " inputs = inputs.cuda()\n", " labels = labels.cuda()\n", " outputs = model(inputs)\n", " loss = criterion(outputs.view(-1, ), labels)\n", "\n", " # after getting the loss, we need to do gradient desent by the following three lines\n", " optimizer.zero_grad()\n", " loss.backward()\n", " optimizer.step()\n", "\n", " training_size += inputs.size()[0]\n", " training_loss = training_loss + loss.item() * inputs.size()[0]\n", "\n", " if i % 80 == 0:\n", " print(\n", " f\"iters: [{i}/{len(loaders['train'])}], training_loss: {training_loss / training_size:.4f}\"\n", " )\n", "\n", " losses['train'].append(training_loss / training_size)\n", " \n", " # before do validation, do not forget to set the model to be eval mode,\n", " # because it will affect batch_normalization and dropout layers\n", " model.eval()\n", " \n", " # and set torch.no_grad() to save GPU memory and be faster\n", " with torch.no_grad():\n", " \n", " # load our validation data\n", " for i, (inputs, labels) in enumerate(loaders['val']):\n", " inputs, labels = inputs.float(), labels.float()\n", " if use_gpu:\n", " inputs = inputs.cuda()\n", " labels = labels.cuda()\n", " outputs = model(inputs)\n", " loss = criterion(outputs.view(-1, ), labels)\n", "\n", " val_size += inputs.size()[0]\n", " val_loss += loss.item() * inputs.size()[0]\n", "\n", " losses['val'].append(val_loss / val_size)\n", " print(f\"val_loss: {val_loss / val_size:.4f}\")\n", "\n", "# plot the training loss and val loss\n", "plt.title('loss')\n", "plt.plot(losses['train'], label='training_loss')\n", "plt.plot(losses['val'], label='val_loss')\n", "plt.legend()\n", "plt.show()\n", "\n", "# test our model on new data (here we simple use the validation data)\n", "close_real = []\n", "close_predict = []\n", "for i in range(10):\n", " val_input, label = val_dataset[i]\n", " close_real.append(label * (val_dataset.std + 1e-8) + val_dataset.mean)\n", " val_input = torch.tensor(val_input).float().unsqueeze(0)\n", " if use_gpu:\n", " val_input = val_input.cuda()\n", " val_output = model(val_input)\n", " close_predict.append(val_output.item() * (val_dataset.std + 1e-8) +\n", " val_dataset.mean)\n", "\n", "plt.title('RNN')\n", "plt.plot(close_real, label='real close')\n", "plt.plot(close_predict, label='predicted close')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Further Improvement\n", "* Adjust learning rate during epochs, eg, step wise or cosine decay\n", "* Use different inilization\n", "* Clip gradient norm of parameters in case of gradient blow up\n", "* Add more layers or use bidirection to enlarge model\n", "* More data\n", "* ...\n", "\n", "For more tricks on RNN, you can refer this [tricks](https://danijar.com/tips-for-training-recurrent-neural-networks/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### CNN (Time Series):\n", "* Text CNN" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](https://drive.google.com/uc?id=1GdNE4-llPnsDeCXp5cRHPZjZQWziiPLb)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "class TextCNN(nn.Module):\n", " def __init__(self, input_dim, kernels=[2, 3, 4], channels=64):\n", " super(TextCNN, self).__init__()\n", " self.input_dim = input_dim\n", " self.dropout = nn.Dropout(.5)\n", " self.kernels = kernels\n", " self.channels = channels\n", "\n", " # here we define our cnn layers\n", " self.convs = self._make_conv_layers(1, self.channels, self.kernels)\n", "\n", " hidden_dim = self.channels * len(self.kernels)\n", " self.regressor = nn.Sequential(nn.Linear(hidden_dim, hidden_dim // 2),\n", " nn.ReLU(inplace=True), nn.Dropout(.5),\n", " nn.Linear(hidden_dim // 2, 1))\n", "\n", " def forward(self, s):\n", " conv_feats = [\n", " conv(s.unsqueeze(1)).squeeze(3) for conv in self.convs\n", " ]\n", " conv_feats_max = torch.cat(\n", " [torch.max(feats, dim=2)[0] for feats in conv_feats], dim=1)\n", "\n", " output = self.regressor(conv_feats_max)\n", " return output\n", "\n", " def _make_conv_layers(self, input_channel, channels, kernels):\n", " convs = []\n", " for kernel in kernels:\n", " convs.append(\n", " nn.Sequential(\n", " nn.Conv2d(input_channel,\n", " channels, (kernel, self.input_dim),\n", " stride=1), nn.BatchNorm2d(channels),\n", " nn.ReLU(inplace=True)))\n", " return nn.ModuleList(convs)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch: [0/10]\n", "iters: [0/83], training_loss: 2.8204\n", "iters: [80/83], training_loss: 4.1512\n", "val_loss: 4.9487\n", "Epoch: [1/10]\n", "iters: [0/83], training_loss: 19.0332\n", "iters: [80/83], training_loss: 3.8837\n", "val_loss: 4.7732\n", "Epoch: [2/10]\n", "iters: [0/83], training_loss: 2.3307\n", "iters: [80/83], training_loss: 3.7391\n", "val_loss: 4.6696\n", "Epoch: [3/10]\n", "iters: [0/83], training_loss: 3.1343\n", "iters: [80/83], training_loss: 3.6378\n", "val_loss: 4.6036\n", "Epoch: [4/10]\n", "iters: [0/83], training_loss: 7.6225\n", "iters: [80/83], training_loss: 3.4913\n", "val_loss: 4.5464\n", "Epoch: [5/10]\n", "iters: [0/83], training_loss: 1.6343\n", "iters: [80/83], training_loss: 3.4901\n", "val_loss: 4.4952\n", "Epoch: [6/10]\n", "iters: [0/83], training_loss: 0.7859\n", "iters: [80/83], training_loss: 3.4487\n", "val_loss: 4.4516\n", "Epoch: [7/10]\n", "iters: [0/83], training_loss: 1.6998\n", "iters: [80/83], training_loss: 3.3861\n", "val_loss: 4.4020\n", "Epoch: [8/10]\n", "iters: [0/83], training_loss: 1.9916\n", "iters: [80/83], training_loss: 3.3331\n", "val_loss: 4.3623\n", "Epoch: [9/10]\n", "iters: [0/83], training_loss: 3.0594\n", "iters: [80/83], training_loss: 3.2131\n", "val_loss: 4.3253\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEJCAYAAACdePCvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd8FGX+wPHPs9n03iGE0Iu0UKRY6B17G7tgQ+84vcM7C+rv9PQ87/RO1Dv1RO8OLBwOdrFydFQQBBMERBJIIwRCCult9/n9sZsQIJBNssnsbJ7367Uvktkp3x028515vjPPI6SUKIqiKJ2PxegAFEVRFGOoBKAoitJJqQSgKIrSSakEoCiK0kmpBKAoitJJqQSgKIrSSakEoCiK0kmpBKCYlhBCNvPKcOO2/iiE+OkM7/USQiwRQmQIIaqFEDlCiM+FEBc3mmeLM6a7Tll2oHP6uc7fA5y/1wkhBp8y791CiDJ3fSZFUQlAMbOujV6XOaeNaTRtdHsHIIQYDewEhgO/BoYAM4DPgZeFEAGNZq8EnhBChLmw6hrgb24OV1FOohKAYlpSyrz6F1DonJzfaHo+gBDCTwjxlBAiUwhRKYT4UQhxa/16hBCTnWfccxpNm+mcNlUIcTfwCDCg0dXFQ0IIC/AmkAacJ6X8SEq5X0q5R0r5IjAUx4G83jtAnXNdzXkemC6EmN36PaQoZ2c1OgBF6QBvAP2B24ADwHnAq0KIGinl21LKdUKIp4GlQohkQDqX+YuUco0Q4htgAHAxMN65zlIcVxsDgGuklLZTNyqlPH7KpHIcB/9/CiH+KaU8eJaYd+BILn8VQnzV1PoVpa3UFYDi1YQQA4FrgauklGuklAellMuBvwP3NJr1cWAf8JbzlQY8BiClrMRx8LY1uroox5FUAPa0IKRlwG7gLy7M+zDQA7iruRkVpTXUFYDi7errALuEEI2nW3Ec1AGQUtqEEDcAewEbMFRKWdfMuutX6HKPilJKKYS4D1gvhLgAKDjLvLlCiGeBx4UQb7u6DUVxlboCULydBccBejSOQm39awinF4lHAQFAENDNhXXvc/47+KxznUJKuQH4AHiOE0nkTJ4FqoFHW7INRXGFSgCKt9uO4yDbTUqZdsrrQP1MQohE4F84mn2WAP8VQkQ0Wk8N4HPKur8DfgYWCSFOfQ8hRJizUNyU+3EkohvOFryUsgJH3eBeoPfZ5lWUllIJQPFqUsrdwHIcBd4bhBB9hBDDhRB3CCF+C+A8eL8NpABPA78FSoDXGq3qINBdCHGuECJGCBEopbQDtwD9gG+EEJcKIfoJIc4RQvwS2AX4nSGudOAfzm01500gFfhVy/eAopyZSgBKZzAXeAVHoXcvsBq4EUh3vv8oMAi4SUppl1JWAdcBFwkh5jvnWQl8DHwF5OO45x8p5VZgBI6D/T+AH4H/4bhj6BfOdZ3Jk0BFc8FLx6hN9wGBrn1cRXGNUCOCKYqidE7qCkBRFKWTUglAURSlk1IJQFEUpZNSCUBRFKWT8vQngVWFWlEUpXWae8jQ4xMAubm5rV42JiaGY8eOuTEa81L74mRqf5yg9sXJvGF/JCQkuDSfagJSFEXppFQCUBRF6aRUAlAURemkPL4GoChK+5JSUllZid1u55QuszulI0eOUF1dbXQYzZJSYrFYCAgIaPX/m0oAitLJFRYW4uvri9WqDgcAVqsVH5/TOnf1SHV1dVRVVREY2LpuolQTkKJ0cnV1dergb1JWqxW73d7q5VUCUBRFMbG2NNupBNAJyLxDVH273ugwFEXxMCoBdALy03c4/szDyB93GB2KorSL3/zmN6xatcqlebOzs5kyZUo7R2QOKgF0AjIjDQD70heRZSUGR6MoZyalbFObttIyKgF4OVlVAUcO4T9uEpSVYH/rZdQgQIonyc7OZuLEiSxatIiZM2eSm5vLhg0buOSSS5g5cybz58+nvLwcgMWLFzNnzhymTJnCAw880Ox3+eDBg1x77bVMmzaNmTNnkpGRcdL7VVVVLFy4kKlTpzJjxgy+/vprAPbt28dFF13E9OnTmTZtGgcOOIaPfu+99xqmP/DAA9hsNvfvkA6kSv/eLusgSEng1IuoSUhCvv8Gcut6xLjJRkemeCD7iteQ2Qfduk7RvReW6+486zzp6ek899xzPP300xQWFvLCCy/wzjvvEBQUxEsvvcSSJUtYuHAh8+bNY+HChQDcc889rF69mhkzZpxxvffccw8LFixg9uzZVFVVIaU8qZ+fpUuXArBmzRrS0tK4/vrr+fbbb3nzzTe5/fbbufLKK6mpqcFms7F//34+/vhjPvzwQ3x9fVm0aBHvv/8+11xzTdt3kkFUAvByMsvR/GPtMxCR1BeZuh25/FVkv8GI6DiDo1MUh8TEREaNGgXA999/z88//8xll10GQG1tbcN733zzDa+88gqVlZUUFxczYMCAMyaAsrIyDh8+zOzZswEICAg4bZ5t27Zx6623AtC3b18SExNJT09n1KhRvPjiiw3L9+7dm82bN7Nr1y7mzJkDOK4eYmJi3LsjOphKAN4uMx0iovCJjEYcO4bltt9g/8Ovsf/7eSy//SPColoBlROaO1NvL0FBQQ0/SymZMGECL7/88knzVFVV8fDDD/PZZ5/RrVs3/va3v531iV1XmjrPNM8VV1zBiBEjWLNmDTfeeCPPPvssUkquueYaFi1a5OKn8nzqr9/Lycx06NG34XcR2wVx/Z3w84/I/31kYGSK0rRRo0axbds2Dh50NEVVVlaSnp7ecLCPioqivLycTz/99KzrCQ0NpWvXrnzxxRcAVFdXU1lZedI8Y8eO5YMPPgAczVCHDh2ib9++ZGZm0qNHD26//XamT5/O3r17ufDCC1m1alVDE1JRURE5OTlu/ewdTV0BeDFZVQl5OYhzLzxpujh/KvKH75AfvIkcNAKR2NOYABWlCdHR0SxevJgFCxZQU1MDwAMPPECfPn244YYbmDZtGomJiSQnJze7rhdffJEHH3yQv/71r1itVl599VUsja56586dy0MPPcTUqVPx8fFh8eLF+Pv78/HHH/P+++9jtVqJi4tj4cKFREZG8sADD3D99dcjpcRqtfLUU0+RmJjYbvuivQkPvyNEqgFhWk/u34P9mYew/Or/iJ06+6R9IUuPY3/8HggNx/LIcwhfXwMj7Xid/bvRmM1mM03fNx3BarVSV1dndBguq6ioOKkJDRoGhGn2EWHVBOTFZOZ+xw89+pz2nggNxzL3HjiUifzorQ6OTFEUT6ASgDdzFoBFRFSTb4thoxETZiG/+hC578cODk5RFKOpBODFTi0AN0VccyvEdsH+78XIivIOikxRFE+gEoCXaigAJ53e/NOYCAjEcvt9UFyAXLGkg6JTFMUTqATgrbIdTwCLZq4AAETvAYg5GvLbdcjvv+6A4BRF8QQqAXgpmel4AripAnBTxEUa9OyH/c2XkcWF7RiZoiieQiUAb5WZDuFnLgCfSlitWG5fCLXV2Je9qDqMU0ytX79+AOTl5XHnnWd/uvm111477QGx5nzzzTfccsstLs9/9dVXk5KS0qJtdASVALyUzExz+ey/nuiSiLj6NvhxB3L95+0UmaK0Tmt63uzSpQuvvfbaWed5/fXXW5wAvIV6EtgLOQrAhxDnXtDiZcWk2ciUrch3/408Zxiii3mfclTMITs7mxtvvJERI0awe/duevXqxYsvvkhgYCBjx47luuuuY8OGDdx6660kJyfzyCOPUFBQQGBgIM8++yx9+/YlKyuLBQsWYLPZmDRp0knrnjt3LmvXrsVms/HUU0+xYcMGhBDccMMNSCk5cuQI11xzDZGRkbz77rusX7+ev/zlL9TU1NCjRw8WL15McHAw69at47HHHiMqKoqhQ4c2+Vma2sZtt9120jwffvghf//735FSMnXqVB555BFsNhu//e1vSU1NRQjBtddey/z588nIyGjy87qLSgDeKPsgSLtLBeBTCSGwzLsX++P3Yn/9OSwPPYNQA4Z3Gq9vP8LBoiq3rrNXZAB3nBt/1nnS09P529/+xujRo7nvvvtYtmwZd999NwD+/v58+OGHAGiaxp///Gd69+7Njh07WLRoEStXruT3v/89t9xyC9dcc01DF8+neuutt8jOzubLL7/EarVSVFREZGQkS5YsYeXKlURFRVFYWMjixYtP64r6F7/4Bffffz+6rtOrV6+G2FzZRmN5eXk89dRTfPHFF4SHh3P99dfzxRdfkJCQQF5eHmvXrgXg+PHjgKMLjKY+r7uoJiAv1NIC8KlERDSWmxdAZhryU92NkSlK0xISEhg9ejQAV155Jd99913De5deeikA5eXlfP/999x1111Mnz6dBx98kKNHjwKObp0vv/xyAK666qomt7F582ZuvvlmrM4TmsjIyNPmadwV9fTp01m5ciU5OTmkpaWRlJRE7969EUK0ehspKSmcd955REdHY7VaufLKK9myZQtJSUlkZWXx6KOPsm7dOkJDQ8/6ed1Fndp5o4YCcHSrVyFGnY84bzLyMx05ZCSiz0A3Bqh4qubO1NuLEOKMv9f3c2O32wkLC2P16tUureNUrnYPPWHCBF566aWTpv/444/Nrt+VbZzp/YiICFavXs369etZunQpn3zyCX/4wx/O+nndodkrAE3TAjRN+07TtBRN03ZrmvYH5/Qpmqbt0DTtR03TlmmaZnVOF5qmvahpWpqmaamapo1stK65mqbtd77mttun6uRaUwBuirhuPkTGOJ4SrnZvs4CiNHbo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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "use_gpu = torch.cuda.is_available()\n", "loaders = get_loader(config)\n", "model = TextCNN(config.input_dim, config.cnn_kernels, config.cnn_channels)\n", "if use_gpu:\n", " model = model.cuda()\n", "\n", "criterion = nn.MSELoss()\n", "optimizer = optim.Adam(model.parameters(), lr=config.lr, weight_decay=5e-7)\n", "\n", "losses = {'train': [], 'val': []}\n", "for epoch in range(config.epochs):\n", " print(f'Epoch: [{epoch}/{config.epochs}]')\n", " training_size, val_size = 0, 0\n", " training_loss, val_loss = 0, 0\n", "\n", " model.train()\n", " for i, (inputs, labels) in enumerate(loaders['train']):\n", " inputs, labels = inputs.float(), labels.float()\n", " if use_gpu:\n", " inputs = inputs.cuda()\n", " labels = labels.cuda()\n", " outputs = model(inputs)\n", " loss = criterion(outputs.view(-1, ), labels)\n", "\n", " optimizer.zero_grad()\n", " loss.backward()\n", " optimizer.step()\n", "\n", " training_size += inputs.size()[0]\n", " training_loss = training_loss + loss.item() * inputs.size()[0]\n", "\n", " if i % 80 == 0:\n", " print(\n", " f\"iters: [{i}/{len(loaders['train'])}], training_loss: {training_loss / training_size:.4f}\"\n", " )\n", " losses['train'].append(training_loss / training_size)\n", "\n", " model.eval()\n", " with torch.no_grad():\n", " for i, (inputs, labels) in enumerate(loaders['val']):\n", " inputs, labels = inputs.float(), labels.float()\n", " if use_gpu:\n", " inputs = inputs.cuda()\n", " labels = labels.cuda()\n", " outputs = model(inputs.float())\n", " loss = criterion(outputs.view(-1, ), labels.float())\n", "\n", " val_size += inputs.size()[0]\n", " val_loss += loss.item() * inputs.size()[0]\n", "\n", " losses['val'].append(val_loss / val_size)\n", " print(f\"val_loss: {losses['val'][-1]:.4f}\")\n", "\n", "plt.title('loss')\n", "plt.plot(losses['train'], label='training_loss')\n", "plt.plot(losses['val'], label='val_loss')\n", "plt.legend()\n", "plt.show()\n", "\n", "close_real = []\n", "close_predict = []\n", "for i in range(10):\n", " val_input, label = val_dataset[i]\n", " close_real.append(label * (val_dataset.std + 1e-8) + val_dataset.mean)\n", " val_input = torch.tensor(val_input).float().unsqueeze(0)\n", " if use_gpu:\n", " val_input = val_input.cuda()\n", " val_output = model(val_input)\n", " close_predict.append(val_output.item() * (val_dataset.std + 1e-8) +\n", " val_dataset.mean)\n", "\n", "plt.title('TextCNN')\n", "plt.plot(close_real, label='real close')\n", "plt.plot(close_predict, label='predicted close')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Further Improvement\n", "* Adjust learning rate during epochs, eg, step wise or cosine decay\n", "* Use different inilization\n", "* More cnn layers\n", "* Use more kernels and larger channels\n", "* Adjust dropout rate\n", "* More data\n", "* ...\n", "\n", "For more tricks on CNN, you can refer this [tricks](https://towardsdatascience.com/a-bunch-of-tips-and-tricks-for-training-deep-neural-networks-3ca24c31ddc8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Second Part" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## GAN\n", "### We want to build a GAN which can generate the next price based on previous market\n", "* Generator: RNN used to generate the next price\n", "* Discriminator: MLP or RNN used to classify whether the generated price is real or fake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](https://drive.google.com/uc?id=1H7hXQxXCB5K7clYOruIPcGne6PZ2Xu3K)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "class Generator(nn.Module):\n", " def __init__(self, model_type='rnn'):\n", " super(Generator, self).__init__()\n", " \n", " # we can choose different model based what we had writen above\n", " if model_type == 'rnn':\n", " self.g_model = RNNModel(config.input_dim, config.hidden_dim,\n", " config.rnn_layers)\n", " elif model_type == 'cnn':\n", " self.g_model = TextCNN(config.input_dim, config.cnn_kernels,\n", " config.cnn_channels)\n", "\n", " def forward(self, s):\n", " return self.g_model(s)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "class Discriminator(nn.Module):\n", " def __init__(self, model_type='rnn'):\n", " super(Discriminator, self).__init__()\n", " \n", " # the same as generator\n", " if model_type == 'rnn':\n", " self.d_model = RNNModel(1, config.hidden_dim,\n", " config.rnn_layers)\n", " elif model_type == 'cnn':\n", " self.d_model = TextCNN(1, config.cnn_kernels,\n", " config.cnn_channels)\n", "\n", " def forward(self, s):\n", " return self.d_model(s)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch: [0/10]\n", "iters: [0/83], training_g_loss: 0.6500 training_d_loss: 1.3865\n", "iters: [80/83], training_g_loss: 0.6651 training_d_loss: 1.3830\n", "val_g_loss: 0.6767 val_d_loss: 1.3791\n", "Epoch: [1/10]\n", "iters: [0/83], training_g_loss: 0.6757 training_d_loss: 1.3787\n", "iters: [80/83], training_g_loss: 0.6921 training_d_loss: 1.3684\n", "val_g_loss: 0.7320 val_d_loss: 1.3150\n", "Epoch: [2/10]\n", "iters: [0/83], training_g_loss: 0.7306 training_d_loss: 1.3015\n", "iters: [80/83], training_g_loss: 0.6980 training_d_loss: 1.3662\n", "val_g_loss: 0.7066 val_d_loss: 1.3852\n", "Epoch: [3/10]\n", "iters: [0/83], training_g_loss: 0.7081 training_d_loss: 1.3878\n", "iters: [80/83], training_g_loss: 0.7105 training_d_loss: 1.3841\n", "val_g_loss: 0.7091 val_d_loss: 1.3826\n", "Epoch: [4/10]\n", "iters: [0/83], training_g_loss: 0.7111 training_d_loss: 1.3781\n", "iters: [80/83], training_g_loss: 0.7034 training_d_loss: 1.3694\n", "val_g_loss: 0.6917 val_d_loss: 1.3434\n", "Epoch: [5/10]\n", "iters: [0/83], training_g_loss: 0.6957 training_d_loss: 1.3519\n", "iters: [80/83], training_g_loss: 0.7027 training_d_loss: 1.3515\n", "val_g_loss: 0.7111 val_d_loss: 1.3590\n", "Epoch: [6/10]\n", "iters: [0/83], training_g_loss: 0.7133 training_d_loss: 1.3684\n", "iters: [80/83], training_g_loss: 0.7003 training_d_loss: 1.3682\n", "val_g_loss: 0.6533 val_d_loss: 1.3407\n", "Epoch: [7/10]\n", "iters: [0/83], training_g_loss: 0.6468 training_d_loss: 1.3560\n", "iters: [80/83], training_g_loss: 0.6478 training_d_loss: 1.4676\n", "val_g_loss: 0.6987 val_d_loss: 1.4350\n", "Epoch: [8/10]\n", "iters: [0/83], training_g_loss: 0.6970 training_d_loss: 1.4223\n", "iters: [80/83], training_g_loss: 0.8546 training_d_loss: 1.2868\n", "val_g_loss: 0.7373 val_d_loss: 1.3527\n", "Epoch: [9/10]\n", "iters: [0/83], training_g_loss: 0.7254 training_d_loss: 1.3441\n", "iters: [80/83], training_g_loss: 0.6804 training_d_loss: 1.3892\n", "val_g_loss: 0.6439 val_d_loss: 1.4037\n" ] }, { "data": { "image/png": "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pD66kvrokJGRQXFxMS6XK9pFOSnYbDaCwWC0i9Fvbre72/+utc+9z74aOUJVCCFikIS7EELEIAl3IcSwamho4Kmnnhrw86666ioaGhp6Xea+++5j/fr1gyzZ0N100028/PLLUXv93sheFiFGEfO5/0EdLYzoOrUJk7F8/usnfLyxsZGnn36aq6++usv9oVCo15ErzzzzTJ+vfeutt/a7nKONhLsQYlj9/Oc/p6ioiE996lPY7XZcLhdZWVl8+OGHrFu3jmuvvZbS0lJ8Ph9f/epXufLKKwFYvHgxa9asoaWlhSuvvJJFixaxbds2srOzefLJJ4mPj+emm27i3HPP5eKLL2bx4sVcfvnlrF27lmAwyB//+EemTZtGTU0N3/nOd6irq2P+/Pm8/fbbvPbaa6Snp/dY3gcffJB//vOf5OTkkJ6ezty5c/nmN7/Z5/t85513+OlPf0ooFKKgoIBf/OIXOBwOfv7zn/PGG29gs9lYvnw5//3f/81LL73Egw8+iMViITk5meeffz6idQ4S7kKMKr21sIfLHXfcwf79+1m7di0bN27ky1/+Mm+//TZ5eXkA3H///aSlpeHxeFi9ejUXXXRRt+AtLCzkkUce4b777uMb3/gGr776Kpdddlm310pPT+f111/nqaee4tFHH+XXv/41DzzwAMuWLeP6669n/fr1vf4i2LVrF6+++iqvv/46oVCI888/n7lz5/b5Hr1eL9/73vf461//ytSpU7nhhht4+umn+dznPseaNWtYv349mqa1dzM99NBDPPvss4wbN67PrqfBkj53IcSImjdvXnuwAzz55JOce+65XHLJJZSWllJY2L3baMKECcyeHZ5xfO7cuRw9erTHdV944YXdltmyZQuXXnopAKtWrSI1NfWEZduyZQvnn38+8fHxJCYm8qlPfapf7+nQoUPk5eUxdepUAC6//HI2b95MUlISDoeD73//+7z66qvtBySdccYZfO973+PZZ58lFAr16zUGSsJdCDGiOo/b3rhxI++88w4vvfQSb775JrNnz+7xwB2Hw9F+3Wq1njAQ25brvMxAjuUZ7HE/J3qezWbjlVde4aKLLuK1117jS1/6EgC/+tWvuO222ygtLeW8886jtrZ2UK/bGwl3IcSwSkhIoLm5ucfHmpqaSElJIT4+noMHD7Jjx46Iv/6iRYt46aWXAFi3bh31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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEJCAYAAACdePCvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd8FGX+wPHPs9mQ3jeQBELvvSjFLgQBxfNQfMSKlfudHp7o4R2KoqLnqSec7c5TT8XuCNiwgQroHRZEmoQaamjpve88vz92E0Izm5Bktjzv12tfbmafmfnuuMx35pmnCKUUmqZpWuCxWR2ApmmaZg2dADRN0wKUTgCapmkBSicATdO0AKUTgKZpWoDSCUDTNC1A6QSgaZoWoHQC0DRACBEvhHhUCJEuhCgTQuQLIdYJIR4RQqQeUzZJCFEhhDgkhAg+wbZWCCGUEOKPxyzv7F5+Vkt/H03zhE4AWsBzn+DXAhJ4FBgJjABmAQnAn45Z5UbgEyAXuOQkmy0H5ggh4lsiZk1rDkL3BNYCnRDiY+A0oJdSqugEnwvl/ocihLABGcAfgd5AmlLqgmPKrwAygbOAD5VSf3Qv7wzsAs5WSv23pb6PpnlK3wFoAc19hX4h8MyJTv4A6uirpAuACOBT4HXgPCFE1xOsVgH8Bfi9EKJn80atac1DJwAt0HXH9e9gc/2FQohVQogS92tTvY9+B7yplKpRSh0EvgRuPtGGlVLvAD8Bf2+Z0DXt1OgEoAU6cZLlVwCDgRdwXfEjhEgGJgIL6pV7FbhBCGE/yXZmABOFEKObJVpNa0Y6AWiBbjtgAn3rL1RK7VNK7QDy6i2+CbADPwkhaoQQNcBbQBLwmxNtXCn1A/AOMA/9703zMvoHqQU0pVQe8BkwXQgRc7Jy7oe/NwN/xXVnUP/1BjDtV3bzF6AXcEMzha1pzeJkt62aFkhuBf4HrBVCPACsA0pwnbQnAk5gPNAR+LdSam/9lYUQrwDLhBCdlVK7j924UmqvEGIecFdLfglNayx9B6AFPPcJfQjwHq62/z8Am4Ange+AMbge/v5w7MnfbSWQzUkeBrs9ChQ2Y9iadsp0PwBN07QApe8ANE3TApROAJqmaQFKJwBN07QApROApmlagPL2ZqD6CbWmaVrTnKyXex1vTwAcOHCgyes6HA5ycnKaMRrfpY/F0fTxOEIfi6P5w/FISUnxqJyuAtI0TQtQOgFomqYFKJ0ANE3TApTXPwPQNK1lKaUoLy/HNE2EaPC5od87fPgwlZWVVofRIKUUNpuN0NDQJv9/0wlA0wJcXl4ewcHB2O36dABgt9sJCgqyOgyP1NTUUFFRQVhYWJPW11VAmhbgampq9MnfR9ntdkzTbPL6OgFomqb5sFOpttMJIACo3CwqflhpdRiapnkZnQACgPneyxT+bRbm54usDkXTWsQdd9zBkiVLPCq7b98+Ro/WUzSDTgB+T5lO2LweERqGWrQAc/knVoekaSellDqlOm2tcXQC8He7d0BZKVG/mwmDR6De+jfm/76yOipNq7Nv3z7OPfdcZs2axbhx4zhw4AArV67k4osvZty4cUybNo3S0lIA5s+fz4UXXsjo0aO5++67aWhCq127dnHFFVeQlpbGuHHj2L1791GfV1RUMGPGDMaMGcMFF1zA//73PwC2bt3KRRddxNixY0lLS2Pnzp0ALFq0qG753XffjdPpbP4D0or0o38/p9LXghCEDB2JrdcgzGcfRi14BrNNG2ynn211eJqXMd95EbVvV7NuU6R2wTblll8tk5GRwbx583j00UfJy8vjqaee4t133yU8PJznnnuOF154gRkzZnD99dczY8YMAKZPn86yZcu44IILTrrd6dOnc9tttzFhwgQqKipQSh01zs+rr74KwFdffcWOHTu48sor+e6773j99de56aabuPTSS6mqqsLpdLJ9+3Y++ugjPvjgA4KDg5k1axaLFy/m8ssvP/WDZBGdAPyc2rQOOnbDFh2LqKrBdus9mE/NQf1nHqpNCGLQcKtD1DQ6dOjAsGHDAFizZg3btm3jkksuAaC6urrus1WrVvGvf/2L8vJyCgoK6NWr10kTQElJCQcPHmTChAkAhIaGHldm9erV3HDDDQB0796dDh06kJGRwbBhw3j66afr1u/atSv//e9/2bhxIxdeeCHguntwOBzNeyBamU4AfkyVl8HOLYjxl9UtEyEh2Kbfj/nkbMznH8M2/T5E38EWRql5k4au1FtKeHh43XulFOeccw7//Oc/jypTUVHBPffcw6effkr79u158sknf7XHrifznZ+szKRJkxgyZAhfffUVV199NU888QRKKS6//HJmzZrl4bfyfvoZgD/bsgFME9F3yFGLRVg4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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "use_gpu = torch.cuda.is_available()\n", "loaders = get_loader(config)\n", "\n", "# initial generator and discriminator\n", "# you can try different model type\n", "generator = Generator(model_type='rnn')\n", "discriminator = Discriminator(model_type='rnn')\n", "if use_gpu:\n", " generator = generator.cuda()\n", " discriminator = discriminator.cuda()\n", "\n", "# the loss is different from before because here we want to do classification \n", "# whether the generated sequence is real or fake\n", "criterion = nn.BCEWithLogitsLoss()\n", "optimizer_g = optim.Adam(generator.parameters(),\n", " lr=config.lr,\n", " weight_decay=5e-7)\n", "optimizer_d = optim.Adam(discriminator.parameters(),\n", " lr=config.lr,\n", " weight_decay=5e-7)\n", "\n", "losses = {'train_g': [], 'train_d': [], 'val_g': [], 'val_d': []}\n", "for epoch in range(config.epochs):\n", " print(f'Epoch: [{epoch}/{config.epochs}]')\n", " training_size, val_size = 0, 0\n", " training_g_loss, val_g_loss = 0, 0\n", " training_d_loss, val_d_loss = 0, 0\n", "\n", " generator.train()\n", " discriminator.train()\n", " for i, (inputs, labels) in enumerate(loaders['train']):\n", " inputs, labels = inputs.float(), labels.float()\n", " if use_gpu:\n", " inputs = inputs.cuda()\n", " labels = labels.cuda()\n", " fakes = generator(inputs)\n", " \n", " # generator tries to make the generated sequence real in discriminator\n", " output_g = discriminator(\n", " torch.cat([inputs[:, :, 3], fakes], dim=1).unsqueeze(2))\n", " # so the label should be 1\n", " loss_g = criterion(output_g, torch.ones_like(output_g))\n", "\n", " optimizer_g.zero_grad()\n", " loss_g.backward()\n", " optimizer_g.step()\n", "\n", " # however, the discriminator tries to make the generated sequence by generator to be fake\n", " # while the true sequence to be real\n", " output_real = discriminator(\n", " torch.cat([inputs[:, :, 3], labels.unsqueeze(1)],\n", " dim=1).unsqueeze(2))\n", " output_fake = discriminator(\n", " torch.cat([inputs[:, :, 3], fakes.detach()], dim=1).unsqueeze(2))\n", " \n", " # real sequence should be real, so the label is 1\n", " loss_d_real = criterion(output_real, torch.ones_like(output_real))\n", " # generated seq should be fake, so the label is 0\n", " loss_d_fake = criterion(output_fake, torch.zeros_like(output_fake))\n", " loss_d = loss_d_real + loss_d_fake\n", "\n", " optimizer_d.zero_grad()\n", " loss_d.backward()\n", " optimizer_d.step()\n", "\n", " training_size += inputs.size()[0]\n", " training_g_loss = training_g_loss + loss_g.item() * inputs.size()[0]\n", " training_d_loss = training_d_loss + loss_d.item() * inputs.size()[0]\n", "\n", " if i % 80 == 0:\n", " print(\n", " f\"iters: [{i}/{len(loaders['train'])}], training_g_loss: {training_g_loss/training_size:.4f} \"\n", " f\"training_d_loss: {training_d_loss/training_size:.4f}\")\n", "\n", " losses['train_g'].append(training_g_loss / training_size)\n", " losses['train_d'].append(training_d_loss / training_size)\n", "\n", " generator.eval()\n", " discriminator.eval()\n", " with torch.no_grad():\n", " for i, (inputs, labels) in enumerate(loaders['val']):\n", " inputs, labels = inputs.float(), labels.float()\n", " if use_gpu:\n", " inputs = inputs.cuda()\n", " labels = labels.cuda()\n", " fakes = generator(inputs)\n", " output_g = discriminator(\n", " torch.cat([inputs[:, :, 3], fakes], dim=1).unsqueeze(2))\n", " loss_g = criterion(output_g, torch.ones_like(output_g))\n", "\n", " output_real = discriminator(\n", " torch.cat(\n", " [inputs[:, :, 3], labels.unsqueeze(1)],\n", " dim=1).unsqueeze(2))\n", " output_fake = discriminator(\n", " torch.cat([inputs[:, :, 3], fakes.detach()],\n", " dim=1).unsqueeze(2))\n", " loss_d_real = criterion(output_real, torch.ones_like(output_real))\n", " loss_d_fake = criterion(output_fake, torch.zeros_like(output_fake))\n", " loss_d = loss_d_real + loss_d_fake\n", "\n", " val_size += inputs.size()[0]\n", " val_g_loss = val_g_loss + loss_g.item() * inputs.size()[0]\n", " val_d_loss = val_d_loss + loss_d.item() * inputs.size()[0]\n", "\n", " losses['val_g'].append(val_g_loss / val_size)\n", " losses['val_d'].append(val_d_loss / val_size)\n", " print(\n", " f\"val_g_loss: {val_g_loss/val_size:.4f} val_d_loss: {val_d_loss/val_size:.4f}\"\n", " )\n", "\n", "plt.title('loss')\n", "plt.plot(losses['train_g'], label='training_g_loss')\n", "plt.plot(losses['train_d'], label='training_d_loss')\n", "plt.plot(losses['val_g'], label='val_g_loss')\n", "plt.plot(losses['val_d'], label='val_d_loss')\n", "plt.legend()\n", "plt.show()\n", "\n", "close_real = []\n", "close_predict = []\n", "for i in range(10):\n", " val_input, label = val_dataset[i]\n", " close_real.append(label * (val_dataset.std + 1e-8) + val_dataset.mean)\n", " val_input = torch.tensor(val_input).float().unsqueeze(0)\n", " if use_gpu:\n", " val_input = val_input.cuda()\n", " val_output = generator(val_input)\n", " close_predict.append(val_output.item() * (val_dataset.std + 1e-8) +\n", " val_dataset.mean)\n", "\n", "plt.title('GAN')\n", "plt.plot(close_real, label='real close')\n", "plt.plot(close_predict, label='predicted close')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Further Improvement\n", "You can refer this [GAN Tricks](https://github.com/soumith/ganhacks)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Thrid Part" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reinforcement Learning\n", "* Deep QLearning\n", "* Policy Gradient\n", "* DDPG\n", "* A3C" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](https://drive.google.com/uc?id=1lcj8jH1xEoYV_yGGH7sa2FXRQO5XvONU)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "class net(nn.Module):\n", " def __init__(self, input_size, output_size):\n", " super(net, self).__init__()\n", " self.fc1 = nn.Linear(input_size, 10)\n", " self.fc2 = nn.Linear(10, output_size)\n", " self.fc21 = nn.Linear(10, 1)\n", "\n", " def forward(self, s):\n", " if len(s.size()) == 1:\n", " s = s.unsqueeze(0)\n", " s = self.fc1(s)\n", " s = F.relu(s, inplace=True)\n", " logits = self.fc2(s)\n", " values = self.fc21(s)\n", " return logits, values\n", "\n", "class RL_pg:\n", " def __init__(self, n_actions, observation_shape, lr=0.01, reward_decay=0.9):\n", " self.n_actions = n_actions\n", " self.observation_shape = observation_shape\n", " self.lr = lr\n", " self.gama = reward_decay\n", "\n", " self.s = []\n", " self.a = []\n", " self.r = []\n", " self.p = []\n", " self.v = []\n", "\n", " self.eval = net(self.observation_shape, self.n_actions)\n", " \n", " if torch.cuda.is_available():\n", " self.eval=self.eval.cuda()\n", "\n", " def store_transition(self, s, a, r):\n", " # store the states for further learning\n", " self.s.append(s)\n", " self.a.append(a)\n", " self.r.append(r)\n", "\n", " def choose_action(self, s):\n", " # choose action based on the state\n", " s = torch.tensor(s).float()\n", " if torch.cuda.is_available():\n", " s=s.cuda()\n", "\n", " p, v = self.eval.forward(s)\n", " self.p.append(F.softmax(p, -1))\n", " self.v.append(v)\n", " prob_actions = self.p[-1].cpu().data.numpy()\n", " action = np.random.choice(prob_actions.shape[1], p=prob_actions.reshape(-1, ))\n", " return action\n", "\n", " def learn(self):\n", " # before learning, the reward should be normalized\n", " normed_r = self.norm_reward()\n", "\n", " normed_r = torch.FloatTensor(normed_r)\n", "\n", " optimizer = optim.Adam(self.eval.parameters(), lr=self.lr)\n", "\n", " m = Categorical(torch.cat(self.p))\n", " a = torch.tensor(self.a).long()\n", " v = torch.tensor(self.v)\n", " \n", " if torch.cuda.is_available():\n", " a=a.cuda()\n", " v=v.cuda()\n", " normed_r=normed_r.cuda()\n", " \n", " # policy gradient loss\n", " loss = torch.mean(torch.mul(-m.log_prob(a), normed_r - v.data)) + \\\n", " F.smooth_l1_loss(v, normed_r)\n", " optimizer.zero_grad()\n", " loss.backward()\n", " optimizer.step()\n", "\n", " # after learning, we should set the transition to empty for future learning\n", " self.s = []\n", " self.a = []\n", " self.r = []\n", " self.p = []\n", " self.v = []\n", " return normed_r.cpu().data.numpy()\n", "\n", " def norm_reward(self):\n", " normed_r = np.zeros_like(self.r)\n", "\n", " add = 0\n", " for i in reversed(range(0, len(self.r))):\n", " add = add * self.gama + self.r[i]\n", " normed_r[i] = add\n", "\n", " normed_r -= np.mean(normed_r)\n", " normed_r = normed_r / np.std(normed_r) if np.std(normed_r) != 0 else normed_r\n", "\n", " return normed_r" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting gym\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/7b/57/e2fc4123ff2b4e3d61ae9b3d08c6878aecf2d5ec69b585ed53bc2400607f/gym-0.12.1.tar.gz (1.5MB)\n", "\u001b[K 100% |████████████████████████████████| 1.5MB 6.7MB/s eta 0:00:01\n", "\u001b[?25hRequirement already satisfied: scipy in /home/yhuangcc/anaconda3/envs/mafs6010u/lib/python3.7/site-packages (from gym) (1.1.0)\n", "Requirement already satisfied: numpy>=1.10.4 in /home/yhuangcc/anaconda3/envs/mafs6010u/lib/python3.7/site-packages (from gym) (1.15.4)\n", "Requirement already satisfied: requests>=2.0 in /home/yhuangcc/anaconda3/envs/mafs6010u/lib/python3.7/site-packages (from gym) (2.21.0)\n", "Requirement already satisfied: six in /home/yhuangcc/anaconda3/envs/mafs6010u/lib/python3.7/site-packages (from gym) (1.12.0)\n", "Collecting pyglet>=1.2.0 (from gym)\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/1c/fc/dad5eaaab68f0c21e2f906a94ddb98175662cc5a654eee404d59554ce0fa/pyglet-1.3.2-py2.py3-none-any.whl (1.0MB)\n", "\u001b[K 100% |████████████████████████████████| 1.0MB 8.4MB/s eta 0:00:01\n", "\u001b[?25hRequirement already satisfied: urllib3<1.25,>=1.21.1 in /home/yhuangcc/anaconda3/envs/mafs6010u/lib/python3.7/site-packages (from requests>=2.0->gym) (1.24.1)\n", "Requirement already satisfied: certifi>=2017.4.17 in /home/yhuangcc/anaconda3/envs/mafs6010u/lib/python3.7/site-packages (from requests>=2.0->gym) (2018.11.29)\n", "Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/yhuangcc/anaconda3/envs/mafs6010u/lib/python3.7/site-packages (from requests>=2.0->gym) (3.0.4)\n", "Requirement already satisfied: idna<2.9,>=2.5 in /home/yhuangcc/anaconda3/envs/mafs6010u/lib/python3.7/site-packages (from requests>=2.0->gym) (2.8)\n", "Collecting future (from pyglet>=1.2.0->gym)\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/90/52/e20466b85000a181e1e144fd8305caf2cf475e2f9674e797b222f8105f5f/future-0.17.1.tar.gz (829kB)\n", "\u001b[K 100% |████████████████████████████████| 829kB 8.4MB/s eta 0:00:01\n", "\u001b[?25hBuilding wheels for collected packages: gym, future\n", " Running setup.py bdist_wheel for gym ... \u001b[?25ldone\n", "\u001b[?25h Stored in directory: /home/yhuangcc/.cache/pip/wheels/57/b0/13/4153e1acab826fbe612c95b1336a63a3fa6416902a8d74a1b7\n", " Running setup.py bdist_wheel for future ... \u001b[?25ldone\n", "\u001b[?25h Stored in directory: /home/yhuangcc/.cache/pip/wheels/0c/61/d2/d6b7317325828fbb39ee6ad559dbe4664d0896da4721bf379e\n", "Successfully built gym future\n", "Installing collected packages: future, pyglet, gym\n", "Successfully installed future-0.17.1 gym-0.12.1 pyglet-1.3.2\n", "episode: 0, reward: 21.0, running_reward: 0.21\n", "episode: 1, reward: 13.0, running_reward: 0.34\n", "episode: 2, reward: 18.0, running_reward: 0.51\n", "episode: 3, reward: 13.0, running_reward: 0.64\n", "episode: 4, reward: 9.0, running_reward: 0.72\n", "episode: 5, reward: 11.0, running_reward: 0.83\n", "episode: 6, reward: 13.0, running_reward: 0.95\n", "episode: 7, reward: 11.0, running_reward: 1.05\n", "episode: 8, reward: 14.0, running_reward: 1.18\n", "episode: 9, reward: 15.0, running_reward: 1.32\n", "episode: 10, reward: 23.0, running_reward: 1.53\n", "episode: 11, reward: 25.0, running_reward: 1.77\n", "episode: 12, reward: 10.0, running_reward: 1.85\n", "episode: 13, reward: 16.0, running_reward: 1.99\n", "episode: 14, reward: 14.0, running_reward: 2.11\n", "episode: 15, reward: 33.0, running_reward: 2.42\n", "episode: 16, reward: 28.0, running_reward: 2.68\n", "episode: 17, reward: 14.0, running_reward: 2.79\n", "episode: 18, reward: 14.0, running_reward: 2.90\n", "episode: 19, reward: 14.0, running_reward: 3.01\n", "episode: 20, reward: 13.0, running_reward: 3.11\n", "episode: 21, reward: 15.0, running_reward: 3.23\n", "episode: 22, reward: 11.0, running_reward: 3.31\n", "episode: 23, reward: 11.0, running_reward: 3.39\n", "episode: 24, reward: 19.0, running_reward: 3.54\n", "episode: 25, reward: 10.0, running_reward: 3.61\n", "episode: 26, reward: 12.0, running_reward: 3.69\n", "episode: 27, reward: 33.0, running_reward: 3.98\n", "episode: 28, reward: 18.0, running_reward: 4.12\n", "episode: 29, reward: 19.0, running_reward: 4.27\n", "episode: 30, reward: 8.0, running_reward: 4.31\n", "episode: 31, reward: 25.0, running_reward: 4.52\n", "episode: 32, reward: 16.0, running_reward: 4.63\n", "episode: 33, reward: 17.0, running_reward: 4.75\n", "episode: 34, reward: 10.0, running_reward: 4.81\n", "episode: 35, reward: 13.0, running_reward: 4.89\n", "episode: 36, reward: 12.0, running_reward: 4.96\n", "episode: 37, reward: 15.0, running_reward: 5.06\n", "episode: 38, reward: 16.0, running_reward: 5.17\n", "episode: 39, reward: 18.0, running_reward: 5.30\n", "episode: 40, reward: 18.0, running_reward: 5.43\n", "episode: 41, reward: 10.0, running_reward: 5.47\n", "episode: 42, reward: 13.0, running_reward: 5.55\n", "episode: 43, reward: 11.0, running_reward: 5.60\n", "episode: 44, reward: 14.0, running_reward: 5.69\n", "episode: 45, reward: 13.0, running_reward: 5.76\n", "episode: 46, reward: 21.0, running_reward: 5.91\n", "episode: 47, reward: 10.0, running_reward: 5.95\n", "episode: 48, reward: 22.0, running_reward: 6.11\n", "episode: 49, reward: 12.0, running_reward: 6.17\n", "episode: 50, reward: 27.0, running_reward: 6.38\n", "episode: 51, reward: 16.0, running_reward: 6.48\n", "episode: 52, reward: 14.0, running_reward: 6.55\n", "episode: 53, reward: 14.0, running_reward: 6.63\n", "episode: 54, reward: 20.0, running_reward: 6.76\n", "episode: 55, reward: 14.0, running_reward: 6.83\n", "episode: 56, reward: 16.0, running_reward: 6.92\n", "episode: 57, reward: 10.0, running_reward: 6.95\n", "episode: 58, reward: 14.0, running_reward: 7.02\n", "episode: 59, reward: 12.0, running_reward: 7.07\n", "episode: 60, reward: 15.0, running_reward: 7.15\n", "episode: 61, reward: 14.0, running_reward: 7.22\n", "episode: 62, reward: 61.0, running_reward: 7.76\n", "episode: 63, reward: 9.0, running_reward: 7.77\n", "episode: 64, reward: 14.0, running_reward: 7.83\n", "episode: 65, reward: 26.0, running_reward: 8.02\n", "episode: 66, reward: 34.0, running_reward: 8.28\n", "episode: 67, reward: 25.0, running_reward: 8.44\n", "episode: 68, reward: 17.0, running_reward: 8.53\n", "episode: 69, reward: 18.0, running_reward: 8.62\n", "episode: 70, reward: 14.0, running_reward: 8.68\n", "episode: 71, reward: 19.0, running_reward: 8.78\n", "episode: 72, reward: 16.0, running_reward: 8.85\n", "episode: 73, reward: 13.0, running_reward: 8.89\n", "episode: 74, reward: 13.0, running_reward: 8.93\n", "episode: 75, reward: 19.0, running_reward: 9.04\n", "episode: 76, reward: 15.0, running_reward: 9.10\n", "episode: 77, reward: 14.0, running_reward: 9.14\n", "episode: 78, reward: 13.0, running_reward: 9.18\n", "episode: 79, reward: 14.0, running_reward: 9.23\n", "episode: 80, reward: 17.0, running_reward: 9.31\n", "episode: 81, reward: 25.0, running_reward: 9.47\n", "episode: 82, reward: 10.0, running_reward: 9.47\n", "episode: 83, reward: 30.0, running_reward: 9.68\n", "episode: 84, reward: 20.0, running_reward: 9.78\n", "episode: 85, reward: 16.0, running_reward: 9.84\n", "episode: 86, reward: 36.0, running_reward: 10.10\n", "episode: 87, reward: 16.0, running_reward: 10.16\n", "episode: 88, reward: 26.0, running_reward: 10.32\n", "episode: 89, reward: 17.0, running_reward: 10.39\n", "episode: 90, reward: 14.0, running_reward: 10.42\n", "episode: 91, reward: 29.0, running_reward: 10.61\n", "episode: 92, reward: 27.0, running_reward: 10.77\n", "episode: 93, reward: 11.0, running_reward: 10.78\n", "episode: 94, reward: 12.0, running_reward: 10.79\n", "episode: 95, reward: 42.0, running_reward: 11.10\n", "episode: 96, reward: 12.0, running_reward: 11.11\n", "episode: 97, reward: 23.0, running_reward: 11.23\n", "episode: 98, reward: 16.0, running_reward: 11.28\n", "episode: 99, reward: 13.0, running_reward: 11.29\n", "episode: 100, reward: 19.0, running_reward: 11.37\n", "episode: 101, reward: 29.0, running_reward: 11.55\n", "episode: 102, reward: 84.0, running_reward: 12.27\n", "episode: 103, reward: 23.0, running_reward: 12.38\n", "episode: 104, reward: 25.0, running_reward: 12.50\n", "episode: 105, reward: 9.0, running_reward: 12.47\n", "episode: 106, reward: 28.0, running_reward: 12.62\n", "episode: 107, reward: 16.0, running_reward: 12.66\n", "episode: 108, reward: 17.0, running_reward: 12.70\n", "episode: 109, reward: 22.0, running_reward: 12.79\n", "episode: 110, reward: 36.0, running_reward: 13.03\n", "episode: 111, reward: 20.0, running_reward: 13.10\n", "episode: 112, reward: 19.0, running_reward: 13.16\n", "episode: 113, reward: 23.0, running_reward: 13.25\n", "episode: 114, reward: 22.0, running_reward: 13.34\n", "episode: 115, reward: 29.0, running_reward: 13.50\n", "episode: 116, reward: 15.0, running_reward: 13.51\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "episode: 117, reward: 15.0, running_reward: 13.53\n", "episode: 118, reward: 29.0, running_reward: 13.68\n", "episode: 119, reward: 22.0, running_reward: 13.77\n", "episode: 120, reward: 38.0, running_reward: 14.01\n", "episode: 121, reward: 27.0, running_reward: 14.14\n", "episode: 122, reward: 14.0, running_reward: 14.14\n", "episode: 123, reward: 25.0, running_reward: 14.25\n", "episode: 124, reward: 33.0, running_reward: 14.43\n", "episode: 125, reward: 36.0, running_reward: 14.65\n", "episode: 126, reward: 13.0, running_reward: 14.63\n", "episode: 127, reward: 25.0, running_reward: 14.74\n", "episode: 128, reward: 33.0, running_reward: 14.92\n", "episode: 129, reward: 55.0, running_reward: 15.32\n", "episode: 130, reward: 26.0, running_reward: 15.43\n", "episode: 131, reward: 23.0, running_reward: 15.50\n", "episode: 132, reward: 34.0, running_reward: 15.69\n", "episode: 133, reward: 25.0, running_reward: 15.78\n", "episode: 134, reward: 18.0, running_reward: 15.80\n", "episode: 135, reward: 42.0, running_reward: 16.06\n", "episode: 136, reward: 23.0, running_reward: 16.13\n", "episode: 137, reward: 37.0, running_reward: 16.34\n", "episode: 138, reward: 52.0, running_reward: 16.70\n", "episode: 139, reward: 21.0, running_reward: 16.74\n", "episode: 140, reward: 15.0, running_reward: 16.72\n", "episode: 141, reward: 32.0, running_reward: 16.88\n", "episode: 142, reward: 23.0, running_reward: 16.94\n", "episode: 143, reward: 40.0, running_reward: 17.17\n", "episode: 144, reward: 39.0, running_reward: 17.39\n", "episode: 145, reward: 16.0, running_reward: 17.37\n", "episode: 146, reward: 90.0, running_reward: 18.10\n", "episode: 147, reward: 24.0, running_reward: 18.16\n", "episode: 148, reward: 55.0, running_reward: 18.53\n", "episode: 149, reward: 30.0, running_reward: 18.64\n", "episode: 150, reward: 23.0, running_reward: 18.69\n", "episode: 151, reward: 47.0, running_reward: 18.97\n", "episode: 152, reward: 23.0, running_reward: 19.01\n", "episode: 153, reward: 27.0, running_reward: 19.09\n", "episode: 154, reward: 37.0, running_reward: 19.27\n", "episode: 155, reward: 65.0, running_reward: 19.73\n", "episode: 156, reward: 32.0, running_reward: 19.85\n", "episode: 157, reward: 61.0, running_reward: 20.26\n", "episode: 158, reward: 76.0, running_reward: 20.82\n", "episode: 159, reward: 144.0, running_reward: 22.05\n", "episode: 160, reward: 44.0, running_reward: 22.27\n", "episode: 161, reward: 62.0, running_reward: 22.67\n", "episode: 162, reward: 30.0, running_reward: 22.74\n", "episode: 163, reward: 54.0, running_reward: 23.05\n", "episode: 164, reward: 15.0, running_reward: 22.97\n", "episode: 165, reward: 43.0, running_reward: 23.17\n", "episode: 166, reward: 26.0, running_reward: 23.20\n", "episode: 167, reward: 19.0, running_reward: 23.16\n", "episode: 168, reward: 105.0, running_reward: 23.98\n", "episode: 169, reward: 26.0, running_reward: 24.00\n", "episode: 170, reward: 70.0, running_reward: 24.46\n", "episode: 171, reward: 58.0, running_reward: 24.79\n", "episode: 172, reward: 16.0, running_reward: 24.70\n", "episode: 173, reward: 50.0, running_reward: 24.96\n", "episode: 174, reward: 74.0, running_reward: 25.45\n", "episode: 175, reward: 73.0, running_reward: 25.92\n", "episode: 176, reward: 74.0, running_reward: 26.40\n", "episode: 177, reward: 30.0, running_reward: 26.44\n", "episode: 178, reward: 115.0, running_reward: 27.32\n", "episode: 179, reward: 55.0, running_reward: 27.60\n", "episode: 180, reward: 64.0, running_reward: 27.97\n", "episode: 181, reward: 91.0, running_reward: 28.60\n", "episode: 182, reward: 43.0, running_reward: 28.74\n", "episode: 183, reward: 31.0, running_reward: 28.76\n", "episode: 184, reward: 70.0, running_reward: 29.17\n", "episode: 185, reward: 96.0, running_reward: 29.84\n", "episode: 186, reward: 93.0, running_reward: 30.47\n", "episode: 187, reward: 34.0, running_reward: 30.51\n", "episode: 188, reward: 29.0, running_reward: 30.49\n", "episode: 189, reward: 75.0, running_reward: 30.94\n", "episode: 190, reward: 19.0, running_reward: 30.82\n", "episode: 191, reward: 84.0, running_reward: 31.35\n", "episode: 192, reward: 29.0, running_reward: 31.33\n", "episode: 193, reward: 43.0, running_reward: 31.45\n", "episode: 194, reward: 90.0, running_reward: 32.03\n", "episode: 195, reward: 46.0, running_reward: 32.17\n", "episode: 196, reward: 59.0, running_reward: 32.44\n", "episode: 197, reward: 87.0, running_reward: 32.98\n", "episode: 198, reward: 24.0, running_reward: 32.89\n", "episode: 199, reward: 88.0, running_reward: 33.45\n", "episode: 200, reward: 64.0, running_reward: 33.75\n", "episode: 201, reward: 60.0, running_reward: 34.01\n", "episode: 202, reward: 33.0, running_reward: 34.00\n", "episode: 203, reward: 92.0, running_reward: 34.58\n", "episode: 204, reward: 141.0, running_reward: 35.65\n", "episode: 205, reward: 101.0, running_reward: 36.30\n", "episode: 206, reward: 157.0, running_reward: 37.51\n", "episode: 207, reward: 95.0, running_reward: 38.08\n", "episode: 208, reward: 66.0, running_reward: 38.36\n", "episode: 209, reward: 140.0, running_reward: 39.38\n", "episode: 210, reward: 237.0, running_reward: 41.36\n", "episode: 211, reward: 29.0, running_reward: 41.23\n", "episode: 212, reward: 17.0, running_reward: 40.99\n", "episode: 213, reward: 25.0, running_reward: 40.83\n", "episode: 214, reward: 16.0, running_reward: 40.58\n", "episode: 215, reward: 22.0, running_reward: 40.40\n", "episode: 216, reward: 44.0, running_reward: 40.43\n", "episode: 217, reward: 23.0, running_reward: 40.26\n", "episode: 218, reward: 63.0, running_reward: 40.48\n", "episode: 219, reward: 16.0, running_reward: 40.24\n", "episode: 220, reward: 124.0, running_reward: 41.08\n", "episode: 221, reward: 82.0, running_reward: 41.49\n", "episode: 222, reward: 70.0, running_reward: 41.77\n", "episode: 223, reward: 57.0, running_reward: 41.92\n", "episode: 224, reward: 68.0, running_reward: 42.18\n", "episode: 225, reward: 56.0, running_reward: 42.32\n", "episode: 226, reward: 27.0, running_reward: 42.17\n", "episode: 227, reward: 69.0, running_reward: 42.44\n", "episode: 228, reward: 31.0, running_reward: 42.32\n", "episode: 229, reward: 161.0, running_reward: 43.51\n", "episode: 230, reward: 22.0, running_reward: 43.30\n", "episode: 231, reward: 49.0, running_reward: 43.35\n", "episode: 232, reward: 337.0, running_reward: 46.29\n", "episode: 233, reward: 152.0, running_reward: 47.35\n", "episode: 234, reward: 152.0, running_reward: 48.39\n", "episode: 235, reward: 153.0, running_reward: 49.44\n", "episode: 236, reward: 131.0, running_reward: 50.25\n", "episode: 237, reward: 164.0, running_reward: 51.39\n", "episode: 238, reward: 69.0, running_reward: 51.57\n", "episode: 239, reward: 120.0, running_reward: 52.25\n", "episode: 240, reward: 40.0, running_reward: 52.13\n", "episode: 241, reward: 171.0, running_reward: 53.32\n", "episode: 242, reward: 39.0, running_reward: 53.17\n", "episode: 243, reward: 137.0, running_reward: 54.01\n", "episode: 244, reward: 209.0, running_reward: 55.56\n", "episode: 245, reward: 97.0, running_reward: 55.98\n", "episode: 246, reward: 163.0, running_reward: 57.05\n", "episode: 247, reward: 135.0, running_reward: 57.83\n", "episode: 248, reward: 111.0, running_reward: 58.36\n", "episode: 249, reward: 118.0, running_reward: 58.96\n", "episode: 250, reward: 93.0, running_reward: 59.30\n", "episode: 251, reward: 70.0, running_reward: 59.40\n", "episode: 252, reward: 194.0, running_reward: 60.75\n", "episode: 253, reward: 65.0, running_reward: 60.79\n", "episode: 254, reward: 142.0, running_reward: 61.60\n", "episode: 255, reward: 154.0, running_reward: 62.53\n", "episode: 256, reward: 222.0, running_reward: 64.12\n", "episode: 257, reward: 248.0, running_reward: 65.96\n", "episode: 258, reward: 252.0, running_reward: 67.82\n", "episode: 259, reward: 295.0, running_reward: 70.09\n", "episode: 260, reward: 288.0, running_reward: 72.27\n", "episode: 261, reward: 230.0, running_reward: 73.85\n", "episode: 262, reward: 81.0, running_reward: 73.92\n", "episode: 263, reward: 261.0, running_reward: 75.79\n", "episode: 264, reward: 119.0, running_reward: 76.22\n", "episode: 265, reward: 85.0, running_reward: 76.31\n", "episode: 266, reward: 112.0, running_reward: 76.67\n", "episode: 267, reward: 109.0, running_reward: 76.99\n", "episode: 268, reward: 64.0, running_reward: 76.86\n", "episode: 269, reward: 376.0, running_reward: 79.85\n", "episode: 270, reward: 347.0, running_reward: 82.52\n", "episode: 271, reward: 76.0, running_reward: 82.46\n", "episode: 272, reward: 191.0, running_reward: 83.54\n", "episode: 273, reward: 173.0, running_reward: 84.44\n", "episode: 274, reward: 152.0, running_reward: 85.11\n", "episode: 275, reward: 299.0, running_reward: 87.25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "episode: 276, reward: 169.0, running_reward: 88.07\n", "episode: 277, reward: 241.0, running_reward: 89.60\n", "episode: 278, reward: 241.0, running_reward: 91.11\n", "episode: 279, reward: 231.0, running_reward: 92.51\n", "episode: 280, reward: 174.0, running_reward: 93.33\n", "episode: 281, reward: 427.0, running_reward: 96.66\n", "episode: 282, reward: 119.0, running_reward: 96.89\n", "episode: 283, reward: 284.0, running_reward: 98.76\n", "episode: 284, reward: 98.0, running_reward: 98.75\n", "episode: 285, reward: 424.0, running_reward: 102.00\n", "episode: 286, reward: 186.0, running_reward: 102.84\n", "episode: 287, reward: 576.0, running_reward: 107.58\n", "episode: 288, reward: 183.0, running_reward: 108.33\n", "episode: 289, reward: 249.0, running_reward: 109.74\n", "episode: 290, reward: 188.0, running_reward: 110.52\n", "episode: 291, reward: 272.0, running_reward: 112.13\n", "episode: 292, reward: 225.0, running_reward: 113.26\n", "episode: 293, reward: 341.0, running_reward: 115.54\n", "episode: 294, reward: 230.0, running_reward: 116.68\n", "episode: 295, reward: 265.0, running_reward: 118.17\n", "episode: 296, reward: 275.0, running_reward: 119.74\n", "episode: 297, reward: 131.0, running_reward: 119.85\n", "episode: 298, reward: 166.0, running_reward: 120.31\n", "episode: 299, reward: 266.0, running_reward: 121.77\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# we use gym for reinforcement learning\n", "try:\n", " import gym\n", "except:\n", " ! pip install gym\n", " import gym\n", "\n", "from torch.distributions import Categorical\n", "\n", "# use the game cartpole\n", "env = gym.make('CartPole-v0')\n", "env = env.unwrapped\n", "\n", "# initial our policy gradient agent\n", "rl_pg = RL_pg(\n", " n_actions = env.action_space.n,\n", " observation_shape = env.observation_space.shape[0],\n", " lr = 0.01,\n", " reward_decay = 0.99\n", ")\n", "\n", "rewards = []\n", "cumulated_reward=0\n", "for i_episode in range(300):\n", "\n", " # reset the env to get the initial observation\n", " observation = env.reset()\n", "\n", " while True:\n", " # env.render()\n", " \n", " # choose action by agent based on the current observation\n", " action = rl_pg.choose_action(observation)\n", "\n", " # give the action to env to get the reward and the next observation\n", " observation_, reward, done, info = env.step(action)\n", "\n", " # store the state\n", " rl_pg.store_transition(observation, action, reward)\n", "\n", " if done:\n", " r_sum = sum(rl_pg.r)\n", " cumulated_reward = cumulated_reward * 0.99 + r_sum * 0.01\n", " rewards.append(cumulated_reward)\n", "\n", " print(f\"episode: {i_episode}, reward: {r_sum}, running_reward: {cumulated_reward:.2f}\")\n", " \n", " # after the game done, the agent should learn\n", " vt = rl_pg.learn()\n", " break\n", "\n", " # set the observation to the new observation\n", " observation = observation_\n", " \n", "plt.title('Cumulated Reward')\n", "plt.plot(rewards)\n", "plt.xlabel('episode')\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }