diff --git a/README.md b/README.md index c669b53..0a5d57f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ ## Recipe for building and executing your workflow with `s2spy` suite. This repo provides several tutorial notebooks showing how [`s2spy`](https://github.com/AI4S2S/s2spy) and [`lilio`](https://github.com/AI4S2S/lilio) can faciliate your data-driven (sub)seasonal (S2S) forecasts workflow. +usecase + ## Basic workflow Here is an example of a basic data-driven S2S forecasts workflow for regression modelling with [`s2spy`](https://github.com/AI4S2S/s2spy) and [`lilio`](https://github.com/AI4S2S/lilio). @@ -25,11 +27,9 @@ This workflow is illustrated below: Similarly, you can adapt this recipe to your deep learning workflow with a few changes. You can find several examples in the next section. -## install dependencies - ## Tutorial notebooks -The tutorial notebooks include a case study in which we attempt to predict surface temperature over US using the SST over Pacific. We use processed ERA5 fields to perform data-driven forecasts. More details about the data can be found in this [README.md](./data/README.md). +The tutorial notebooks include a case study in which we attempt to predict surface temperature over US using the SST over Pacific. We use processed ERA5 fields to perform data-driven forecasts. More details about the data can be found in this [README.md](./data/README.md). Before playing with these notebooks, please make sure that you have all the dependent packages installed. You can simply install the dependencies by go to this repo and run the following command: ```sh @@ -43,3 +43,4 @@ Predict surface temperature over US with SST over Pacific with [`s2spy`](https:/ - [Data-driven S2S forecasts using LSTM network](./workflow/pred_temperature_LSTM.ipynb) - [Data-driven S2S forecasts using autoencoder network](./workflow/pred_temperature_autoencoder.ipynb) - [Data-driven S2S forecasts using transformer with multi-head attention](./workflow/pred_temperature_transformer.ipynb) +- [Data-driven S2S forecasts using LSTM network with linear regression as baseline](./workflow/comp_pred_ridge_and_LSTM.ipynb) diff --git a/assets/concept_test_case.png b/assets/concept_test_case.png new file mode 100644 index 0000000..9cf8b4c Binary files /dev/null and b/assets/concept_test_case.png differ diff --git a/workflow/comp_pred_ridge_and_LSTM.ipynb b/workflow/comp_pred_ridge_and_LSTM.ipynb new file mode 100644 index 0000000..afcdc2f --- /dev/null +++ b/workflow/comp_pred_ridge_and_LSTM.ipynb @@ -0,0 +1,2503 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Predict 2 meter temperature with sea surface temperature using deep learning and evaluate the predictions with linear regression results\n", + "This notebook shows how to build a workflow of data driven forecasting using machine learning with `s2spy` & `lilio` packages. It highlights how these packages could facilitate (sub)seasonal forecasts with deep learning and creating baseline forecasts for evaluation.
\n", + "\n", + "We will predict temperature in US at seasonal time scales using ERA5 dataset with a LSTM network and evaluate the forecasts against those from linear regression (Ridge).
\n", + "\n", + "\"usecase\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This recipe includes the following steps:\n", + "- Define a calendar (`lilio`)\n", + "- Download/load input data (test data, accessible via `era5cli`)\n", + "- Map the calendar to the data (`lilio`)\n", + "- Train-validate-test split (60%/20%/20%)\n", + "- Preprocessing based on the training set (`s2spy`)\n", + "- Resample data to the calendar (`lilio`)\n", + "- Create LSTM model (`torch`)\n", + "- Specify hyper-parameters (`wandb`)\n", + "- Train LSTM model (`torch`)\n", + "- Linear regression model training (incl. cross-validation) (`lilio` & `scikit-learn`)\n", + "- Evaludate forecasts with baseline" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import lilio\n", + "import numpy as np\n", + "import time as tt\n", + "import wandb\n", + "import xarray as xr\n", + "from pathlib import Path\n", + "from s2spy import preprocess\n", + "import torch\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "\n", + "# for reproducibility \n", + "np.random.seed(1)\n", + "torch.manual_seed(2)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 1. Prepare data for data-driven forecasting\n", + "\n", + "In this section, we build a data pipeline to preprocess and resample data with `s2spy` & `lilio`.
\n", + "We will see how `lilio` can help us manage and aggregate data with a user-defined `calendar`. Simple data preprocessing will be achieved using `s2spy`.
\n", + "By following these steps, the raw input data will be ready for your data-driven forecasting, including a deep learning recipe and a regression-based workflow." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Define a calendar with `lilio` to specify time range for targets and precursors." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# create custom calendar based on the time of interest\n", + "calendar = lilio.Calendar(anchor=\"08-01\", allow_overlap=True)\n", + "# add target periods\n", + "calendar.add_intervals(\"target\", length=\"30d\")\n", + "# add precursor periods\n", + "periods_of_interest = 8\n", + "calendar.add_intervals(\"precursor\", \"1M\", gap=\"1M\", n=periods_of_interest)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Calendar(\n", + " anchor='08-01',\n", + " allow_overlap=True,\n", + " mapping=None,\n", + " intervals=[\n", + " Interval(role='target', length='30d', gap='0d'),\n", + " Interval(role='precursor', length='1M', gap='1M'),\n", + " Interval(role='precursor', length='1M', gap='1M'),\n", + " Interval(role='precursor', length='1M', gap='1M'),\n", + " Interval(role='precursor', length='1M', gap='1M'),\n", + " Interval(role='precursor', length='1M', gap='1M'),\n", + " Interval(role='precursor', length='1M', gap='1M'),\n", + " Interval(role='precursor', length='1M', gap='1M'),\n", + " Interval(role='precursor', length='1M', gap='1M')\n", + " ]\n", + ")" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# check calendar\n", + "calendar" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Load test data SST and (clustered) T2M\n", + "For the sake of batch size, we use 61 years (1961-2021) of data." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# load data\n", + "precursor_field = xr.open_dataset('../data/sst_daily_1959-2021_5deg_Pacific_175_240E_25_50N.nc')\n", + "precursor_field = precursor_field.sel(time=slice(\"19610101\",\"20211231\"))\n", + "target_field = xr.open_dataset('../data/t2m_daily_1959-2021_2deg_clustered_226_300E_30_70N.nc')\n", + "target_field = target_field.sel(time=slice(\"19610101\",\"20211231\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# Convert Kelvin to Celcius\n", + "precursor_field[\"sst\"] = precursor_field[\"sst\"] - 273.15\n", + "target_field[\"t2m\"] = target_field[\"t2m\"] - 273.15" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Map the calendar to the data\n", + "After mapping the calendar to the field, we can visualize our calendar by calling the `visualize` method." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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e4bLly/D3NwcFSpUMGzSRERERESUJaMWJytWpA8BaNy4sdbz69atQ+/evQEAixYtgomJCfz8/KBSqeDr64vly18tkbhr1y48e/YMmzZtwqZNm6TnS5QogbCwMOlx9erVpf8PCQnBli1bMu1DRERERETGY/RhXe9jaWmJZcuWYdmyZVlunzZtGqZNm5YnsYiIiIiIyHhks1oXERERERF93FicEBERERGRLLA4ISIiIiIiWWBxQkREREREssDihIiIiIiIZIHFCRERERERyQKLEyIiIiIikgUWJ0REREREJAssToiIiIiISBZYnBARERERkSywOCEiIiIiIllgcUJERERERLLA4oSIiIiIiGSBxQkREREREckCixMiIiIiIpIFFidERERERCQLLE6IiIiIiEgWWJwQEREREZEssDghIiIiIiJZYHFCRERERESywOKEiIiIiIhkgcUJERERERHJAosTIiIiIiKSBRYnREREREQkCyxOiIiIiIhIFlicEBERERGRLLA4ISIiIiIiWTAzdgOIiEi+0lJT8nS/d9GoVUjN5n65YaicsptPxr65Ibef04eWT8Z+uaFSa/J0P6IPFYsTIiJ6qzPLJxos1vG5Aw0Sx1A5GSof4MP7OX1o+QDAF6svGSQOUX7H4oSIiLLkXdTOYLGqOisNEsdQORkqH+DD+zl9aPkAANxr6/4atTrv20GUDyiEEMLYjcgP4uLi4ODggNjYWNjb2xu7OUREeiOEgEqV8yEsFhYWUCgUsoqVX+IYMpahfk4fWj66xMpNnLi4OBQuXJifO+ijwysnRESkRaFQwNLS8oOK9aHF+RBjfWj55DZOSkru59MQ5UdcrYuIiIiIiGSBxQkREREREckCixMiIiIiIpIFFidERERERCQLLE6IiIiIiEgWWJwQEREREZEssDghIiIiIiJZYHFCRERERESywOKEiIiIiIhkgcUJERERERHJgk7FSWpqKjZu3IjIyEh9tYeIiIiIiD5SOhUnZmZmGDRoEJKTk/XVHiIiIiIi+kjpPKyrdu3auHz5sh6aQkREREREHzMzXV8wZMgQjBkzBo8ePUKNGjVgY2Ojtb1KlSp51jiij50QAiqVKsevt7CwgEKh+GDiGDIWc9J/HEPGMmRORESUcwohhNDlBSYmmS+2KBQKCCGgUCiQlpaWZ42Tk7i4ODg4OCA2Nhb2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QHrnsTghIiIioqw0adIEK1asgLm5Odzc3DJNOrex0b7BakJCAmrUqIHNmzfjTc7OzjAxeff06Yztry/C9La5Em/GnjZtGnr06IEDBw7g4MGDmDp1KrZt24bOnTu/M+a7jpldb05SVygUmS4IvC4hIQFA+uf0OnXqaG3LKJTe1iZzc3N8+umn2LJlCz777DNs2bIF3bt3l342Z86cgb+/PwICAuDr6wsHBwds27Yt0xybvKJzcTJz5kx8//33mDBhwvt3JiIiIiL6HxsbG5QpUybb+3t7e2P79u1wcXF56zf1Hh4eCAwMRJMmTTJtyxgCFR4ejurVqwOATvfiKFu2LMqWLYvRo0fj888/x7p169C5c2d4eXllmtcSHByMsmXLZioG8lrGlaW0tFf3YipcuDDc3Nxw7949+Pv763xMf39/tGjRAtevX8fRo0cxc+ZMadvp06dRokQJTJr06oa+Dx48yEUG76bzal3//fcfunbtqo+2EBERERFJ/P39UahQIXTs2BEnT57E/fv3ERQUhBEjRuDx48cA0q9wLFiwAEuXLsW///6Lixcv4ocffgCQPuG+bt26mDNnDm7evInjx49rzZ94m6SkJAwbNgxBQUF48OABgoOD8ffff8PLywsAMHbsWAQGBmLGjBm4ffs2NmzYgB9//BHjxo3TX2f8j4uLC6ysrHDo0CFERkYiNjYWABAQEIDZs2dj6dKluH37Nq5evYp169Zh4cKF7z1mw4YN4erqCn9/f5QsWVLr6ounpycePnyIbdu24e7du1i6dKnWfJS8pnNx0rVrV/z111/v35GIiIiIKBesra1x4sQJFC9eHF26dIGXlxe++uorJCcnS1dSevXqhcWLF2P58uWoWLEi2rVrh3///Vc6xs8//4zU1FTUqFEDo0aN0roq8DampqZ48eIFevbsibJly6Jbt25o3bo1AgICAKRf0dmxYwe2bduGSpUqYcqUKZg+fbrWZHh9MTMzw9KlS7Fq1Sq4ublJc1/69euHNWvWYN26dahcuTIaNWqE9evXS0sPv4tCocDnn3+O0NDQTFdeOnTogNGjR2PYsGGoVq0aTp8+LS0EoA/ZGta1dOlS6f/LlCmDyZMn4+zZs6hcuXKmMXEjRozI2xYSERERUbboetd2Q1q/fn2Otru6ukp3ln+bgQMHYuDAgVlu8/LywunTp7Wee30OSuPGjTPdGNzc3Bxbt259Z0w/Pz/4+fm9dfub92J5m4z7rbzrdW8ORevXrx/69euXab8ePXqgR48eWcbx8PB45w3Q586di7lz52a5bd68eZg3b57Wc6/fmyW7N0XPjmwVJ4sWLdJ6bGtri+PHj+P48eNazysUChYnRERERESUI9kqTu7fv6/vdhARERER0UdO5zknRERERERE+qBzceLn55fleLR58+ZxFS8iIiIiIsoxnYuTEydOoE2bNpmeb926NU6cOJEnjSIiIiIioo+PzsVJQkKCdPOX1ymVSsTFxeVJo4iIiIjo3d618hKRnOhyrupcnFSuXBnbt2/P9Py2bdtQoUIFXQ9HRERERDrIuI3Dy5cvjdwSouzJOFffvAVJVrK1WtfrJk+ejC5duuDu3bto2rQpACAwMBBbt27Fzp07dT0cEREREenA1NQUjo6OiIqKApB+o0KFQmHkVhFlJoTAy5cvERUVBUdHR5iamr73NToXJ+3bt8fevXsxa9Ys7Nq1C1ZWVqhSpQqOHDmCRo0a5ajhRERERJR9rq6uACAVKERy5ujoKJ2z76NzcQIAbdu2Rdu2bXPyUiIiIiLKJYVCgSJFisDFxQVqtdrYzSF6K6VSma0rJhlyVJwAQEpKCqKioqDRaLSeL168eE4PSUREREQ6MDU11emDH5Hc6Vyc/Pvvv+jbty9Onz6t9bwQAgqFAmlpaXnWOCIiIiIi+njoXJz07t0bZmZm2L9/P4oUKcIJWERERERElCd0Lk4uX76MkJAQlC9fXh/tISIiIiKij5TO9zmpUKECnj9/ro+2EBERERHRR0zn4mTu3LkYP348goKC8OLFC8TFxWn9IyIiIiIiygmdh3U1b94cANCsWTOt5zkhnoiIiIiIckPn4uTYsWP6aAcREREREX3kdC5O3nUX+GvXruWqMURERERE9PHK8U0YM8THx2Pr1q1Ys2YNQkJCOKyLSE/SUlPydL+30ahVSM3mfrmhSzuZU2Zyyym3+QCGy0ml1rx/Jx32IyKivJPj4uTEiRNYu3Ytfv31V7i5uaFLly5YtmxZXraNiF5zZvlEg8Q5PnegQeIYKh+AOeXGh5jTF6svGSQOERHpTqfiJCIiAuvXr8fatWsRFxeHbt26QaVSYe/evahQoYK+2kj00fMuameQOFWdlQaJY6h8AOaUGx9iTnCvbZg4RESUIwohhMjOju3bt8eJEyfQtm1b+Pv7o1WrVjA1NYVSqURoaOgHX5zExcXBwcEBsbGxsLe3N3Zz6CMhhIBKlfMhLBYWFlAoFB9MHEPGYk76j2PIWIbMiSgv8HMHfayyfeXk4MGDGDFiBAYPHgxPT099tomI/kehUMDS0pJxZByLOeWPWIbMiYiIci7bN2E8deoU4uPjUaNGDdSpUwc//vgj7xRPRERERER5JtvFSd26dfHTTz8hPDwcAwcOxLZt2+Dm5gaNRoPDhw8jPj5en+0kIiIiIqIPXLbnnGTl1q1bWLt2LX755RfExMSgRYsW+O233/KyfbLBsZ9ERERkKPzcQR+rbF85yUq5cuUwb948PH78GFu3bs2rNhERERER0UcoV1dOPib8BoOIiIgMhZ876GOVqysnREREREREeYXFCRERERERyQKLEyIiIiIikgUWJ0REREREJAssToiIiIiISBZYnBARERERkSywOCEiIiIiIllgcUJERERERLJgZuwG5DfJyckwNzfX6TUWFhZQKBTZ2lcIAZVKlZOm6RQrt3EMGetDy+lDPB/kFoeIiIjyJxYnOurZsyeUSqVOr9m5cycsLS2zta9KpULXrl1z0jSdYuU2jiFjfWg5fYjng9ziEBERUf7E4kRHoeEJMDHNfrd5F7XLWZxnap1fU9VZt6IJAC4+idf5NUDO8mJOOcsHyFlOcv4Z4dF53V/jXlv31xAREVG+wuJER7X7TYOlXYH37peWmoIzyyfmKlajCatgorR4734atQrH5w7McRyfIbNhapa9oWq5zetjzSm3+QDZzym//Iw2DagOC+X7p72p1Bp8sfpSjuMQERFR/sHiREemZkqYmr//g1teMFFawMz8/UNYUnMZx9TMnDnlQnZyym0+gOFyMtTPyEJpAkulaS6PQkRERB8SrtZFRERERESywOKEiIiIiIhkgcUJERERERHJAosTIiIiIiKSBRYnREREREQkCyxOiIiIiIhIFlicEBERERGRLLA4ISIiIiIiWWBxQkREREREssDihIiIiIiIZIHFCRERERERyQKLEyIiIiIikgUWJ0REREREJAssToiIiIiISBZYnBARERERkSywOCEiIiIiIllgcUJERERERLLA4oSIiIiIiGSBxQkREREREckCixMiIiIiIpIFFidERERERCQLLE6IiIiIiEgWWJwQ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W7bsrfsEBQW98xiFChXCmTNndG0eEREREREZkCwmxBMREREREbE4ISIiIiIiWWBxQkREREREssDihIiIiIiIZIHFCRERERERyQKLEyIiIiIikgUWJ0REREREJAssToiIiIiISBZYnBARERERkSywOCEiIiIiIllgcUJERERERLLA4oSIiIiIiGSBxQkREREREckCixMiIiIiIpIFFidERERERCQLLE6IiIiIiEgWWJwQEREREZEssDghIiIiIiJZYHFCRERERESywOKEiIiIiIhkgcUJERERERHJAosTIiIiIiKSBRYnREREREQkCyxOiIiIiIhIFlicEBERERGRLLA4ISIiIiIiWWBxQkREREREsmBm7AbkN2mpaqSlqLKxX0quY2nUKqRmc7/c0KWtuc3rY80pt/kA2W9nfvkZqdSaPN2PiIiI8j8WJzo6v2YaTEwN023H5w40SJwzyycaJA7AnHLDUDkZKp8vVl8ySBwiIiLKP1ic6KhqEVsolUr9x3HWfwwA8C5qZ5A4AHPKDUPlZKh84F7bMHGIiIgoX1EIIYSxG5EfxMXFwcHBAZGRkbC3t9fptRYWFlAoFNnaVwgBlSrnw2WyGyu3cQwZ60PL6UM8H+QWh4gov8v43BEbG6vz5w6i/IxXTnRkaWkJS0tLvR1foVDo9fiGjmPIWMyJcYiIiCh/42pdREREREQkCyxOiIiIiIhIFlicEBERERGRLLA4ISIiIiIiWWBxQkREREREssDVurIpY8XluLg4I7eEiIiIPnQZnzd4xwf62LA4yab4+HgAgLu7u5FbQkRERB+L+Ph4ODg4GLsZRAbDmzBmk0ajwdOnT2FnZ8ebwOkgLi4O7u7uePToEW8ilYfYr/rDvtUf9q1+sF/1x5h9K4RAfHw83NzcYGLCUfj08eCVk2wyMTFBsWLFjN2MfMve3p5/NPWA/ao/7Fv9Yd/qB/tVf4zVt7xiQh8jluJERERERCQLLE6IiIiIiEgWWJyQXllYWGDq1KmwsLAwdlM+KOxX/WHf6g/7Vj/Yr/rDviUyPE6IJyIiIiIiWeCVEyIiIiIikgUWJ0REREREJAssToiIiIiISBZYnBARERERkSywOCEiIiIiIllgcUK58uTJE6jVamM344PFxfSIKAPfD4joY8DihHIkPDwcnTt3Rt++fXHmzBljN+eDERMTg7Zt2+L/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# map calendar to data\n", + "calendar.map_to_data(precursor_field)\n", + "calendar.visualize(show_length=True)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Also, we can get a list of all intervals by running the following line. There, you will find the intervals `-1` and `1`, which corresponds to the creation of a precursor interval (negative integer(s)) and a target interval (positive integer(s)), respectively.
\n", + "\n", + "For more information about the definition of intervals, and how `lilio` works, please check the [README](https://github.com/AI4S2S/lilio) of `lilio`." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "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", + "
i_interval-8-7-6-5-4-3-2-11
anchor_year
2021[2020-04-01, 2020-05-01)[2020-06-01, 2020-07-01)[2020-08-01, 2020-09-01)[2020-10-01, 2020-11-01)[2020-12-01, 2021-01-01)[2021-02-01, 2021-03-01)[2021-04-01, 2021-05-01)[2021-06-01, 2021-07-01)[2021-08-01, 2021-08-31)
2020[2019-04-01, 2019-05-01)[2019-06-01, 2019-07-01)[2019-08-01, 2019-09-01)[2019-10-01, 2019-11-01)[2019-12-01, 2020-01-01)[2020-02-01, 2020-03-01)[2020-04-01, 2020-05-01)[2020-06-01, 2020-07-01)[2020-08-01, 2020-08-31)
2019[2018-04-01, 2018-05-01)[2018-06-01, 2018-07-01)[2018-08-01, 2018-09-01)[2018-10-01, 2018-11-01)[2018-12-01, 2019-01-01)[2019-02-01, 2019-03-01)[2019-04-01, 2019-05-01)[2019-06-01, 2019-07-01)[2019-08-01, 2019-08-31)
\n", + "
" + ], + "text/plain": [ + "i_interval -8 -7 \\\n", + "anchor_year \n", + "2021 [2020-04-01, 2020-05-01) [2020-06-01, 2020-07-01) \n", + "2020 [2019-04-01, 2019-05-01) [2019-06-01, 2019-07-01) \n", + "2019 [2018-04-01, 2018-05-01) [2018-06-01, 2018-07-01) \n", + "\n", + "i_interval -6 -5 \\\n", + "anchor_year \n", + "2021 [2020-08-01, 2020-09-01) [2020-10-01, 2020-11-01) \n", + "2020 [2019-08-01, 2019-09-01) [2019-10-01, 2019-11-01) \n", + "2019 [2018-08-01, 2018-09-01) [2018-10-01, 2018-11-01) \n", + "\n", + "i_interval -4 -3 \\\n", + "anchor_year \n", + "2021 [2020-12-01, 2021-01-01) [2021-02-01, 2021-03-01) \n", + "2020 [2019-12-01, 2020-01-01) [2020-02-01, 2020-03-01) \n", + "2019 [2018-12-01, 2019-01-01) [2019-02-01, 2019-03-01) \n", + "\n", + "i_interval -2 -1 \\\n", + "anchor_year \n", + "2021 [2021-04-01, 2021-05-01) [2021-06-01, 2021-07-01) \n", + "2020 [2020-04-01, 2020-05-01) [2020-06-01, 2020-07-01) \n", + "2019 [2019-04-01, 2019-05-01) [2019-06-01, 2019-07-01) \n", + "\n", + "i_interval 1 \n", + "anchor_year \n", + "2021 [2021-08-01, 2021-08-31) \n", + "2020 [2020-08-01, 2020-08-31) \n", + "2019 [2019-08-01, 2019-08-31) " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "calendar.show()[:3]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Train-validate-test split based on the anchor years (60%/20%/20% split)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# get 70% of instance as training\n", + "years = sorted(calendar.get_intervals().index)\n", + "train_samples = round(len(years) * 0.6)\n", + "test_samples = round(len(years) * 0.2)\n", + "start_year = years[0]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Fit preprocessor with training samples and preprocess data\n", + "In this step, we remove the trend and compute anomalies for the precursor field. Note that here we use raw daily data for detrending and computing anomalies.
\n", + "\n", + "In general, there are many \"flavors\" of preprocessing, like when to perform this operation, and in which order do we want to preprocess the data. To improve the transparency and reproducibility of our work, we think it is necessary to standardize these steps. To stick to the best practices, we suggest to preprocess your data in the following way." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# create preprocessor\n", + "preprocessor = preprocess.Preprocessor(\n", + " rolling_window_size=25,\n", + " detrend=\"linear\",\n", + " subtract_climatology=True,\n", + ")\n", + "\n", + "# fit preprocessor with training data\n", + "preprocessor.fit(\n", + " precursor_field.sel(\n", + " time=slice(str(start_year), str(start_year + train_samples - 1))\n", + " )\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# preprocess the whole precursor field\n", + "precursor_field_prep = preprocessor.transform(precursor_field)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Resample data to the calendar" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "precursor_field_resample = lilio.resample(calendar, precursor_field_prep)\n", + "target_field_resample = lilio.resample(calendar, target_field)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# select variables and intervals\n", + "precursor_field_sel = precursor_field_resample['sst']\n", + "target_series_sel = target_field_resample['t2m'].sel(cluster=3)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2. Build workflow to train a LSTM network for forecasting\n", + "In this section, we will start building a LSTM network using pytorch and train our neural network to forecast 2 meter temperture with sea surface temperature." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To begin with, We need to convert our data to `torch.Tensor`." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# slice and reshape input desired by transformer\n", + "sequence_precursor = len(precursor_field_sel.i_interval) - 1 # we only take precursor parts of i intervals\n", + "lat_precursor = len(precursor_field_sel.latitude)\n", + "lon_precursor = len(precursor_field_sel.longitude)\n", + "\n", + "X_torch = torch.from_numpy(precursor_field_sel[:,:-1,:,:].data).type(torch.FloatTensor)\n", + "y_torch = torch.from_numpy(target_series_sel[:,-1].data).type(torch.FloatTensor)\n", + "\n", + "X_torch = X_torch.view(-1, sequence_precursor, lat_precursor*lon_precursor)\n", + "\n", + "# turn nan to 0.0\n", + "X_torch = torch.nan_to_num(X_torch, 0.0)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We split our data into train/cross-validate/test sets." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# train/validate/test split and use pytorch dataloader\n", + "train_X_torch = X_torch[:train_samples]\n", + "train_y_torch = y_torch[:train_samples]\n", + "\n", + "valid_X_torch = X_torch[train_samples:train_samples + test_samples]\n", + "valid_y_torch = y_torch[train_samples:train_samples + test_samples]\n", + "\n", + "test_X_torch = X_torch[-test_samples:]\n", + "test_y_torch = y_torch[-test_samples:]\n", + "\n", + "# pytorch train and test sets\n", + "train_set = torch.utils.data.TensorDataset(train_X_torch, train_y_torch)\n", + "valid_set = torch.utils.data.TensorDataset(valid_X_torch, valid_y_torch)\n", + "test_set = torch.utils.data.TensorDataset(test_X_torch, test_y_torch)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Build LSTM model\n", + "Build a LSTM model with `nn.LSTM` module." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "class LSTM(nn.Module):\n", + " def __init__(self, input_dim, hidden_dim, output_dim=1,\n", + " batch_size=1, num_layers=1):\n", + " \"\"\"\n", + " Initialize the LSTM model in Pytorch and specify the basic model structure.\n", + " Expected input timeseries dimension [batch_size, sequence, channels]\n", + " \"\"\"\n", + " super().__init__()\n", + " self.hidden_dim = hidden_dim\n", + " self.batch_size = batch_size\n", + " self.num_layers = num_layers\n", + " # Define the LSTM layer\n", + " self.lstm = nn.LSTM(input_size = input_dim, hidden_size = hidden_dim,\n", + " num_layers = num_layers, batch_first = True)\n", + "\n", + " # Define the output layer\n", + " self.linear = nn.Linear(hidden_dim, output_dim)\n", + " \n", + " def init_hidden(self):\n", + " \"\"\"Initialize hidden state with random values.\"\"\"\n", + " return (torch.randn(self.num_layers, self.batch_size, self.hidden_dim),\n", + " torch.randn(self.num_layers, self.batch_size, self.hidden_dim))\n", + " \n", + " def forward(self, input):\n", + " (h_0, c_0) = self.init_hidden()\n", + " x, _ = self.lstm(input, (h_0, c_0))\n", + " x = self.linear(x)\n", + " \n", + " return x" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Hyper-parameter tuning with W&B\n", + "We use Weight&Biases to monitor the training process. It is very simple to integrate it into your workflow and more information about how to set it up can be found at https://docs.wandb.ai/quickstart.
" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's first take a look at the system information." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pytorch version 2.0.1+cu117\n", + "Is CUDA available? False\n", + "Device to be used for computation: cpu\n" + ] + } + ], + "source": [ + "print (\"Pytorch version {}\".format(torch.__version__))\n", + "use_cuda = torch.cuda.is_available()\n", + "print(\"Is CUDA available? {}\".format(use_cuda))\n", + "# use GPU if possible\n", + "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n", + "print(\"Device to be used for computation: {}\".format(device))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Define hyperparameters, initialize config for wandb and syncronize training information with W&B server." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to detect the name of this notebook, you can set it manually with the WANDB_NOTEBOOK_NAME environment variable to enable code saving.\n", + "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mgit-yang\u001b[0m (\u001b[33mai4s2s\u001b[0m). Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n" + ] + } + ], + "source": [ + "# call weights & biases service\n", + "wandb.login()\n", + "\n", + "# define hyperparameters and the \n", + "hyperparameters = dict(\n", + " epoch = 150,\n", + " input_dim = lat_precursor*lon_precursor,\n", + " hidden_dim = lat_precursor*lon_precursor*2,\n", + " output_dim = 1,\n", + " batch_size = 4, \n", + " num_layers = 2,\n", + " learning_rate = 0.02,\n", + " dataset = 'Weather',\n", + " architecture = 'LSTM'\n", + ")\n", + "\n", + "# initialize weights & biases service\n", + "#mode = 'online'\n", + "mode = 'disabled'\n", + "wandb.init(config=hyperparameters, project='test-LSTM-ridge', entity='ai4s2s', mode=mode)\n", + "config = wandb.config" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create data loaders with chosen batch size. " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# create data loader and use batch \n", + "train_loader = torch.utils.data.DataLoader(train_set, batch_size = config.batch_size, shuffle = False)\n", + "valid_loader = torch.utils.data.DataLoader(valid_set, batch_size = config.batch_size, shuffle = False)\n", + "test_loader = torch.utils.data.DataLoader(test_set, batch_size = config.batch_size, shuffle = False)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Initialize and train model\n", + "Create model using specified hyperparameter. Initialize model and choose loss function and optimizer." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model details:\n", + " LSTM(\n", + " (lstm): LSTM(65, 130, num_layers=2, batch_first=True)\n", + " (linear): Linear(in_features=130, out_features=1, bias=True)\n", + ")\n", + "Optimizer details:\n", + " Adam (\n", + "Parameter Group 0\n", + " amsgrad: False\n", + " betas: (0.9, 0.999)\n", + " capturable: False\n", + " differentiable: False\n", + " eps: 1e-08\n", + " foreach: None\n", + " fused: None\n", + " lr: 0.02\n", + " maximize: False\n", + " weight_decay: 0\n", + ")\n" + ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Initialize model\n", + "model = LSTM(input_dim = config[\"input_dim\"],\n", + " hidden_dim = config[\"hidden_dim\"],\n", + " output_dim = config[\"output_dim\"], \n", + " batch_size = config[\"batch_size\"], \n", + " num_layers = config[\"num_layers\"]\n", + ")\n", + "# Specify loss function\n", + "criterion = nn.MSELoss()\n", + "# Choose optimizer\n", + "optimizer = torch.optim.Adam(model.parameters(), lr=config.learning_rate)\n", + "# Print model and optimizer details\n", + "print('Model details:\\n', model)\n", + "print('Optimizer details:\\n',optimizer)\n", + "wandb.watch(model)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Start the training and cross validation loop." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 0 [0/36(0%)]\tLoss: 505.868927\n", + "Epoch : 0 [4/36(11%)]\tLoss: 452.809204\n", + "Epoch : 0 [8/36(22%)]\tLoss: 345.182434\n", + "Epoch : 0 [12/36(33%)]\tLoss: 244.612686\n", + "Epoch : 0 [16/36(44%)]\tLoss: 194.716461\n", + "Epoch : 0 [20/36(56%)]\tLoss: 144.448227\n", + "Epoch : 0 [24/36(67%)]\tLoss: 92.115929\n", + "Epoch : 0 [28/36(78%)]\tLoss: 186.740005\n", + "Epoch : 0 [32/36(89%)]\tLoss: 28.873085\n", + "Epoch : 1 [0/36(0%)]\tLoss: 7.791169\n", + "Epoch : 1 [4/36(11%)]\tLoss: 1.433643\n", + "Epoch : 1 [8/36(22%)]\tLoss: 0.459206\n", + "Epoch : 1 [12/36(33%)]\tLoss: 4.517264\n", + "Epoch : 1 [16/36(44%)]\tLoss: 8.117401\n", + "Epoch : 1 [20/36(56%)]\tLoss: 12.550220\n", + "Epoch : 1 [24/36(67%)]\tLoss: 19.369085\n", + "Epoch : 1 [28/36(78%)]\tLoss: 144.784576\n", + "Epoch : 1 [32/36(89%)]\tLoss: 26.871742\n", + "Epoch : 2 [0/36(0%)]\tLoss: 30.213608\n", + "Epoch : 2 [4/36(11%)]\tLoss: 28.394127\n", + "Epoch : 2 [8/36(22%)]\tLoss: 18.885115\n", + "Epoch : 2 [12/36(33%)]\tLoss: 16.847855\n", + "Epoch : 2 [16/36(44%)]\tLoss: 8.829281\n", + "Epoch : 2 [20/36(56%)]\tLoss: 5.078614\n", + "Epoch : 2 [24/36(67%)]\tLoss: 3.114647\n", + "Epoch : 2 [28/36(78%)]\tLoss: 2.412072\n", + "Epoch : 2 [32/36(89%)]\tLoss: 1.749253\n", + "Epoch : 3 [0/36(0%)]\tLoss: 0.249646\n", + "Epoch : 3 [4/36(11%)]\tLoss: 0.985059\n", + "Epoch : 3 [8/36(22%)]\tLoss: 2.914584\n", + "Epoch : 3 [12/36(33%)]\tLoss: 3.061846\n", + "Epoch : 3 [16/36(44%)]\tLoss: 6.956815\n", + "Epoch : 3 [20/36(56%)]\tLoss: 9.961458\n", + "Epoch : 3 [24/36(67%)]\tLoss: 8.052092\n", + "Epoch : 3 [28/36(78%)]\tLoss: 5.547617\n", + "Epoch : 3 [32/36(89%)]\tLoss: 5.837566\n", + "Epoch : 4 [0/36(0%)]\tLoss: 1.796307\n", + "Epoch : 4 [4/36(11%)]\tLoss: 1.487273\n", + "Epoch : 4 [8/36(22%)]\tLoss: 1.592918\n", + "Epoch : 4 [12/36(33%)]\tLoss: 0.505678\n", + "Epoch : 4 [16/36(44%)]\tLoss: 1.177660\n", + "Epoch : 4 [20/36(56%)]\tLoss: 1.934569\n", + "Epoch : 4 [24/36(67%)]\tLoss: 1.162263\n", + "Epoch : 4 [28/36(78%)]\tLoss: 1.891203\n", + "Epoch : 4 [32/36(89%)]\tLoss: 2.384902\n", + "Epoch : 5 [0/36(0%)]\tLoss: 2.416747\n", + "Epoch : 5 [4/36(11%)]\tLoss: 3.250417\n", + "Epoch : 5 [8/36(22%)]\tLoss: 1.535215\n", + "Epoch : 5 [12/36(33%)]\tLoss: 2.102344\n", + "Epoch : 5 [16/36(44%)]\tLoss: 1.213885\n", + "Epoch : 5 [20/36(56%)]\tLoss: 1.698686\n", + "Epoch : 5 [24/36(67%)]\tLoss: 1.289840\n", + "Epoch : 5 [28/36(78%)]\tLoss: 1.650280\n", + "Epoch : 5 [32/36(89%)]\tLoss: 1.773039\n", + "Epoch : 6 [0/36(0%)]\tLoss: 0.523278\n", + "Epoch : 6 [4/36(11%)]\tLoss: 0.844665\n", + "Epoch : 6 [8/36(22%)]\tLoss: 0.505700\n", + "Epoch : 6 [12/36(33%)]\tLoss: 0.361074\n", + "Epoch : 6 [16/36(44%)]\tLoss: 1.487744\n", + "Epoch : 6 [20/36(56%)]\tLoss: 3.001874\n", + "Epoch : 6 [24/36(67%)]\tLoss: 1.919618\n", + "Epoch : 6 [28/36(78%)]\tLoss: 1.523617\n", + "Epoch : 6 [32/36(89%)]\tLoss: 2.033085\n", + "Epoch : 7 [0/36(0%)]\tLoss: 0.230014\n", + "Epoch : 7 [4/36(11%)]\tLoss: 0.715810\n", + "Epoch : 7 [8/36(22%)]\tLoss: 0.483225\n", + "Epoch : 7 [12/36(33%)]\tLoss: 0.356363\n", + "Epoch : 7 [16/36(44%)]\tLoss: 0.918716\n", + "Epoch : 7 [20/36(56%)]\tLoss: 1.929919\n", + "Epoch : 7 [24/36(67%)]\tLoss: 1.174172\n", + "Epoch : 7 [28/36(78%)]\tLoss: 1.430676\n", + "Epoch : 7 [32/36(89%)]\tLoss: 1.769604\n", + "Epoch : 8 [0/36(0%)]\tLoss: 0.697093\n", + "Epoch : 8 [4/36(11%)]\tLoss: 1.082502\n", + "Epoch : 8 [8/36(22%)]\tLoss: 0.394569\n", + "Epoch : 8 [12/36(33%)]\tLoss: 0.468086\n", + "Epoch : 8 [16/36(44%)]\tLoss: 0.700455\n", + "Epoch : 8 [20/36(56%)]\tLoss: 1.946148\n", + "Epoch : 8 [24/36(67%)]\tLoss: 1.086986\n", + "Epoch : 8 [28/36(78%)]\tLoss: 1.324211\n", + "Epoch : 8 [32/36(89%)]\tLoss: 1.727469\n", + "Epoch : 9 [0/36(0%)]\tLoss: 0.425495\n", + "Epoch : 9 [4/36(11%)]\tLoss: 0.902846\n", + "Epoch : 9 [8/36(22%)]\tLoss: 0.346853\n", + "Epoch : 9 [12/36(33%)]\tLoss: 0.572478\n", + "Epoch : 9 [16/36(44%)]\tLoss: 0.836403\n", + "Epoch : 9 [20/36(56%)]\tLoss: 1.921503\n", + "Epoch : 9 [24/36(67%)]\tLoss: 1.088817\n", + "Epoch : 9 [28/36(78%)]\tLoss: 1.317592\n", + "Epoch : 9 [32/36(89%)]\tLoss: 1.723617\n", + "Epoch : 10 [0/36(0%)]\tLoss: 0.496810\n", + "Epoch : 10 [4/36(11%)]\tLoss: 0.982382\n", + "Epoch : 10 [8/36(22%)]\tLoss: 0.404747\n", + "Epoch : 10 [12/36(33%)]\tLoss: 0.400887\n", + "Epoch : 10 [16/36(44%)]\tLoss: 0.923654\n", + "Epoch : 10 [20/36(56%)]\tLoss: 2.071748\n", + "Epoch : 10 [24/36(67%)]\tLoss: 1.272049\n", + "Epoch : 10 [28/36(78%)]\tLoss: 1.324446\n", + "Epoch : 10 [32/36(89%)]\tLoss: 1.728342\n", + "Epoch : 11 [0/36(0%)]\tLoss: 0.289029\n", + "Epoch : 11 [4/36(11%)]\tLoss: 0.946272\n", + "Epoch : 11 [8/36(22%)]\tLoss: 0.405571\n", + "Epoch : 11 [12/36(33%)]\tLoss: 0.404457\n", + "Epoch : 11 [16/36(44%)]\tLoss: 0.908659\n", + "Epoch : 11 [20/36(56%)]\tLoss: 2.022605\n", + "Epoch : 11 [24/36(67%)]\tLoss: 1.239774\n", + "Epoch : 11 [28/36(78%)]\tLoss: 1.336871\n", + "Epoch : 11 [32/36(89%)]\tLoss: 1.723972\n", + "Epoch : 12 [0/36(0%)]\tLoss: 0.501567\n", + "Epoch : 12 [4/36(11%)]\tLoss: 0.994994\n", + "Epoch : 12 [8/36(22%)]\tLoss: 0.403743\n", + "Epoch : 12 [12/36(33%)]\tLoss: 0.408175\n", + "Epoch : 12 [16/36(44%)]\tLoss: 0.915480\n", + "Epoch : 12 [20/36(56%)]\tLoss: 2.054635\n", + "Epoch : 12 [24/36(67%)]\tLoss: 1.247475\n", + "Epoch : 12 [28/36(78%)]\tLoss: 1.327676\n", + "Epoch : 12 [32/36(89%)]\tLoss: 1.726546\n", + "Epoch : 13 [0/36(0%)]\tLoss: 0.460873\n", + "Epoch : 13 [4/36(11%)]\tLoss: 0.954353\n", + "Epoch : 13 [8/36(22%)]\tLoss: 0.406351\n", + "Epoch : 13 [12/36(33%)]\tLoss: 0.398019\n", + "Epoch : 13 [16/36(44%)]\tLoss: 0.857349\n", + "Epoch : 13 [20/36(56%)]\tLoss: 1.935332\n", + "Epoch : 13 [24/36(67%)]\tLoss: 1.157066\n", + "Epoch : 13 [28/36(78%)]\tLoss: 1.321208\n", + "Epoch : 13 [32/36(89%)]\tLoss: 1.693309\n", + "Epoch : 14 [0/36(0%)]\tLoss: 0.514711\n", + "Epoch : 14 [4/36(11%)]\tLoss: 1.021664\n", + "Epoch : 14 [8/36(22%)]\tLoss: 0.401726\n", + "Epoch : 14 [12/36(33%)]\tLoss: 0.434902\n", + "Epoch : 14 [16/36(44%)]\tLoss: 0.871525\n", + "Epoch : 14 [20/36(56%)]\tLoss: 2.085438\n", + "Epoch : 14 [24/36(67%)]\tLoss: 1.166548\n", + "Epoch : 14 [28/36(78%)]\tLoss: 1.319055\n", + "Epoch : 14 [32/36(89%)]\tLoss: 1.731804\n", + "Epoch : 15 [0/36(0%)]\tLoss: 0.419262\n", + "Epoch : 15 [4/36(11%)]\tLoss: 0.914709\n", + "Epoch : 15 [8/36(22%)]\tLoss: 0.401154\n", + "Epoch : 15 [12/36(33%)]\tLoss: 0.452206\n", + "Epoch : 15 [16/36(44%)]\tLoss: 0.791090\n", + "Epoch : 15 [20/36(56%)]\tLoss: 1.858875\n", + "Epoch : 15 [24/36(67%)]\tLoss: 1.051510\n", + "Epoch : 15 [28/36(78%)]\tLoss: 1.324856\n", + "Epoch : 15 [32/36(89%)]\tLoss: 1.724734\n", + "Epoch : 16 [0/36(0%)]\tLoss: 0.444260\n", + "Epoch : 16 [4/36(11%)]\tLoss: 0.947594\n", + "Epoch : 16 [8/36(22%)]\tLoss: 0.404545\n", + "Epoch : 16 [12/36(33%)]\tLoss: 0.410441\n", + "Epoch : 16 [16/36(44%)]\tLoss: 0.746452\n", + "Epoch : 16 [20/36(56%)]\tLoss: 1.754496\n", + "Epoch : 16 [24/36(67%)]\tLoss: 1.008835\n", + "Epoch : 16 [28/36(78%)]\tLoss: 1.331563\n", + "Epoch : 16 [32/36(89%)]\tLoss: 1.721272\n", + "Epoch : 17 [0/36(0%)]\tLoss: 0.442310\n", + "Epoch : 17 [4/36(11%)]\tLoss: 0.909099\n", + "Epoch : 17 [8/36(22%)]\tLoss: 0.372034\n", + "Epoch : 17 [12/36(33%)]\tLoss: 0.562995\n", + "Epoch : 17 [16/36(44%)]\tLoss: 0.773436\n", + "Epoch : 17 [20/36(56%)]\tLoss: 1.889671\n", + "Epoch : 17 [24/36(67%)]\tLoss: 1.137831\n", + "Epoch : 17 [28/36(78%)]\tLoss: 1.318743\n", + "Epoch : 17 [32/36(89%)]\tLoss: 1.508154\n", + "Epoch : 18 [0/36(0%)]\tLoss: 0.291329\n", + "Epoch : 18 [4/36(11%)]\tLoss: 0.788357\n", + "Epoch : 18 [8/36(22%)]\tLoss: 0.376943\n", + "Epoch : 18 [12/36(33%)]\tLoss: 0.493650\n", + "Epoch : 18 [16/36(44%)]\tLoss: 0.798847\n", + "Epoch : 18 [20/36(56%)]\tLoss: 1.850037\n", + "Epoch : 18 [24/36(67%)]\tLoss: 0.982550\n", + "Epoch : 18 [28/36(78%)]\tLoss: 1.331565\n", + "Epoch : 18 [32/36(89%)]\tLoss: 1.737868\n", + "Epoch : 19 [0/36(0%)]\tLoss: 0.351521\n", + "Epoch : 19 [4/36(11%)]\tLoss: 0.829106\n", + "Epoch : 19 [8/36(22%)]\tLoss: 0.299537\n", + "Epoch : 19 [12/36(33%)]\tLoss: 0.527907\n", + "Epoch : 19 [16/36(44%)]\tLoss: 0.645568\n", + "Epoch : 19 [20/36(56%)]\tLoss: 1.474883\n", + "Epoch : 19 [24/36(67%)]\tLoss: 0.836616\n", + "Epoch : 19 [28/36(78%)]\tLoss: 1.319750\n", + "Epoch : 19 [32/36(89%)]\tLoss: 1.736887\n", + "Epoch : 20 [0/36(0%)]\tLoss: 0.411557\n", + "Epoch : 20 [4/36(11%)]\tLoss: 0.903745\n", + "Epoch : 20 [8/36(22%)]\tLoss: 0.415566\n", + "Epoch : 20 [12/36(33%)]\tLoss: 0.373183\n", + "Epoch : 20 [16/36(44%)]\tLoss: 0.604230\n", + "Epoch : 20 [20/36(56%)]\tLoss: 2.122118\n", + "Epoch : 20 [24/36(67%)]\tLoss: 0.991165\n", + "Epoch : 20 [28/36(78%)]\tLoss: 1.328638\n", + "Epoch : 20 [32/36(89%)]\tLoss: 1.724847\n", + "Epoch : 21 [0/36(0%)]\tLoss: 0.499272\n", + "Epoch : 21 [4/36(11%)]\tLoss: 0.994358\n", + "Epoch : 21 [8/36(22%)]\tLoss: 0.404339\n", + "Epoch : 21 [12/36(33%)]\tLoss: 0.397249\n", + "Epoch : 21 [16/36(44%)]\tLoss: 1.111414\n", + "Epoch : 21 [20/36(56%)]\tLoss: 1.322230\n", + "Epoch : 21 [24/36(67%)]\tLoss: 0.753772\n", + "Epoch : 21 [28/36(78%)]\tLoss: 1.319483\n", + "Epoch : 21 [32/36(89%)]\tLoss: 1.747594\n", + "Epoch : 22 [0/36(0%)]\tLoss: 0.364894\n", + "Epoch : 22 [4/36(11%)]\tLoss: 0.799397\n", + "Epoch : 22 [8/36(22%)]\tLoss: 0.377647\n", + "Epoch : 22 [12/36(33%)]\tLoss: 0.505742\n", + "Epoch : 22 [16/36(44%)]\tLoss: 1.191379\n", + "Epoch : 22 [20/36(56%)]\tLoss: 1.385556\n", + "Epoch : 22 [24/36(67%)]\tLoss: 0.749409\n", + "Epoch : 22 [28/36(78%)]\tLoss: 1.322767\n", + "Epoch : 22 [32/36(89%)]\tLoss: 1.754161\n", + "Epoch : 23 [0/36(0%)]\tLoss: 0.374667\n", + "Epoch : 23 [4/36(11%)]\tLoss: 0.843083\n", + "Epoch : 23 [8/36(22%)]\tLoss: 0.403863\n", + "Epoch : 23 [12/36(33%)]\tLoss: 0.372814\n", + "Epoch : 23 [16/36(44%)]\tLoss: 0.691475\n", + "Epoch : 23 [20/36(56%)]\tLoss: 1.230959\n", + "Epoch : 23 [24/36(67%)]\tLoss: 0.690859\n", + "Epoch : 23 [28/36(78%)]\tLoss: 1.319582\n", + "Epoch : 23 [32/36(89%)]\tLoss: 1.744133\n", + "Epoch : 24 [0/36(0%)]\tLoss: 0.376114\n", + "Epoch : 24 [4/36(11%)]\tLoss: 0.820050\n", + "Epoch : 24 [8/36(22%)]\tLoss: 0.238674\n", + "Epoch : 24 [12/36(33%)]\tLoss: 0.348286\n", + "Epoch : 24 [16/36(44%)]\tLoss: 0.720515\n", + "Epoch : 24 [20/36(56%)]\tLoss: 1.298939\n", + "Epoch : 24 [24/36(67%)]\tLoss: 0.689298\n", + "Epoch : 24 [28/36(78%)]\tLoss: 1.332487\n", + "Epoch : 24 [32/36(89%)]\tLoss: 1.672423\n", + "Epoch : 25 [0/36(0%)]\tLoss: 0.331695\n", + "Epoch : 25 [4/36(11%)]\tLoss: 0.800276\n", + "Epoch : 25 [8/36(22%)]\tLoss: 0.453014\n", + "Epoch : 25 [12/36(33%)]\tLoss: 0.941776\n", + "Epoch : 25 [16/36(44%)]\tLoss: 0.660891\n", + "Epoch : 25 [20/36(56%)]\tLoss: 1.754490\n", + "Epoch : 25 [24/36(67%)]\tLoss: 1.167154\n", + "Epoch : 25 [28/36(78%)]\tLoss: 0.773134\n", + "Epoch : 25 [32/36(89%)]\tLoss: 1.473746\n", + "Epoch : 26 [0/36(0%)]\tLoss: 0.294903\n", + "Epoch : 26 [4/36(11%)]\tLoss: 0.925039\n", + "Epoch : 26 [8/36(22%)]\tLoss: 0.407648\n", + "Epoch : 26 [12/36(33%)]\tLoss: 0.393006\n", + "Epoch : 26 [16/36(44%)]\tLoss: 0.919096\n", + "Epoch : 26 [20/36(56%)]\tLoss: 2.053365\n", + "Epoch : 26 [24/36(67%)]\tLoss: 1.228329\n", + "Epoch : 26 [28/36(78%)]\tLoss: 0.735094\n", + "Epoch : 26 [32/36(89%)]\tLoss: 1.355983\n", + "Epoch : 27 [0/36(0%)]\tLoss: 0.551441\n", + "Epoch : 27 [4/36(11%)]\tLoss: 0.726935\n", + "Epoch : 27 [8/36(22%)]\tLoss: 0.381791\n", + "Epoch : 27 [12/36(33%)]\tLoss: 0.769962\n", + "Epoch : 27 [16/36(44%)]\tLoss: 0.580929\n", + "Epoch : 27 [20/36(56%)]\tLoss: 1.460432\n", + "Epoch : 27 [24/36(67%)]\tLoss: 0.705546\n", + "Epoch : 27 [28/36(78%)]\tLoss: 1.406020\n", + "Epoch : 27 [32/36(89%)]\tLoss: 1.862664\n", + "Epoch : 28 [0/36(0%)]\tLoss: 0.102308\n", + "Epoch : 28 [4/36(11%)]\tLoss: 0.857084\n", + "Epoch : 28 [8/36(22%)]\tLoss: 0.406836\n", + "Epoch : 28 [12/36(33%)]\tLoss: 0.443350\n", + "Epoch : 28 [16/36(44%)]\tLoss: 0.715727\n", + "Epoch : 28 [20/36(56%)]\tLoss: 0.965979\n", + "Epoch : 28 [24/36(67%)]\tLoss: 0.611315\n", + "Epoch : 28 [28/36(78%)]\tLoss: 1.344794\n", + "Epoch : 28 [32/36(89%)]\tLoss: 1.726779\n", + "Epoch : 29 [0/36(0%)]\tLoss: 0.406132\n", + "Epoch : 29 [4/36(11%)]\tLoss: 0.838300\n", + "Epoch : 29 [8/36(22%)]\tLoss: 0.466561\n", + "Epoch : 29 [12/36(33%)]\tLoss: 0.339639\n", + "Epoch : 29 [16/36(44%)]\tLoss: 0.659391\n", + "Epoch : 29 [20/36(56%)]\tLoss: 1.273315\n", + "Epoch : 29 [24/36(67%)]\tLoss: 0.486871\n", + "Epoch : 29 [28/36(78%)]\tLoss: 1.342458\n", + "Epoch : 29 [32/36(89%)]\tLoss: 1.792928\n", + "Epoch : 30 [0/36(0%)]\tLoss: 0.351461\n", + "Epoch : 30 [4/36(11%)]\tLoss: 0.850593\n", + "Epoch : 30 [8/36(22%)]\tLoss: 0.318539\n", + "Epoch : 30 [12/36(33%)]\tLoss: 0.372448\n", + "Epoch : 30 [16/36(44%)]\tLoss: 1.063122\n", + "Epoch : 30 [20/36(56%)]\tLoss: 1.984210\n", + "Epoch : 30 [24/36(67%)]\tLoss: 0.457488\n", + "Epoch : 30 [28/36(78%)]\tLoss: 1.319440\n", + "Epoch : 30 [32/36(89%)]\tLoss: 1.747633\n", + "Epoch : 31 [0/36(0%)]\tLoss: 0.374386\n", + "Epoch : 31 [4/36(11%)]\tLoss: 0.854999\n", + "Epoch : 31 [8/36(22%)]\tLoss: 0.308031\n", + "Epoch : 31 [12/36(33%)]\tLoss: 0.345826\n", + "Epoch : 31 [16/36(44%)]\tLoss: 0.294435\n", + "Epoch : 31 [20/36(56%)]\tLoss: 2.092935\n", + "Epoch : 31 [24/36(67%)]\tLoss: 0.426296\n", + "Epoch : 31 [28/36(78%)]\tLoss: 1.333133\n", + "Epoch : 31 [32/36(89%)]\tLoss: 1.784763\n", + "Epoch : 32 [0/36(0%)]\tLoss: 0.330256\n", + "Epoch : 32 [4/36(11%)]\tLoss: 0.832680\n", + "Epoch : 32 [8/36(22%)]\tLoss: 0.433625\n", + "Epoch : 32 [12/36(33%)]\tLoss: 0.362315\n", + "Epoch : 32 [16/36(44%)]\tLoss: 1.032565\n", + "Epoch : 32 [20/36(56%)]\tLoss: 0.699036\n", + "Epoch : 32 [24/36(67%)]\tLoss: 0.473904\n", + "Epoch : 32 [28/36(78%)]\tLoss: 1.320336\n", + "Epoch : 32 [32/36(89%)]\tLoss: 1.749421\n", + "Epoch : 33 [0/36(0%)]\tLoss: 0.609454\n", + "Epoch : 33 [4/36(11%)]\tLoss: 0.873893\n", + "Epoch : 33 [8/36(22%)]\tLoss: 0.416253\n", + "Epoch : 33 [12/36(33%)]\tLoss: 0.384187\n", + "Epoch : 33 [16/36(44%)]\tLoss: 0.445767\n", + "Epoch : 33 [20/36(56%)]\tLoss: 2.047354\n", + "Epoch : 33 [24/36(67%)]\tLoss: 0.597016\n", + "Epoch : 33 [28/36(78%)]\tLoss: 1.354282\n", + "Epoch : 33 [32/36(89%)]\tLoss: 1.727368\n", + "Epoch : 34 [0/36(0%)]\tLoss: 0.490947\n", + "Epoch : 34 [4/36(11%)]\tLoss: 1.028034\n", + "Epoch : 34 [8/36(22%)]\tLoss: 0.301150\n", + "Epoch : 34 [12/36(33%)]\tLoss: 0.361445\n", + "Epoch : 34 [16/36(44%)]\tLoss: 0.359778\n", + "Epoch : 34 [20/36(56%)]\tLoss: 0.780309\n", + "Epoch : 34 [24/36(67%)]\tLoss: 0.527170\n", + "Epoch : 34 [28/36(78%)]\tLoss: 1.387970\n", + "Epoch : 34 [32/36(89%)]\tLoss: 1.895122\n", + "Epoch : 35 [0/36(0%)]\tLoss: 0.255002\n", + "Epoch : 35 [4/36(11%)]\tLoss: 0.724450\n", + "Epoch : 35 [8/36(22%)]\tLoss: 0.282094\n", + "Epoch : 35 [12/36(33%)]\tLoss: 0.345860\n", + "Epoch : 35 [16/36(44%)]\tLoss: 0.551627\n", + "Epoch : 35 [20/36(56%)]\tLoss: 0.907181\n", + "Epoch : 35 [24/36(67%)]\tLoss: 0.427955\n", + "Epoch : 35 [28/36(78%)]\tLoss: 1.334642\n", + "Epoch : 35 [32/36(89%)]\tLoss: 1.800251\n", + "Epoch : 36 [0/36(0%)]\tLoss: 0.861659\n", + "Epoch : 36 [4/36(11%)]\tLoss: 0.740438\n", + "Epoch : 36 [8/36(22%)]\tLoss: 0.579319\n", + "Epoch : 36 [12/36(33%)]\tLoss: 0.355685\n", + "Epoch : 36 [16/36(44%)]\tLoss: 0.347218\n", + "Epoch : 36 [20/36(56%)]\tLoss: 0.934110\n", + "Epoch : 36 [24/36(67%)]\tLoss: 0.393477\n", + "Epoch : 36 [28/36(78%)]\tLoss: 1.323416\n", + "Epoch : 36 [32/36(89%)]\tLoss: 1.745268\n", + "Epoch : 37 [0/36(0%)]\tLoss: 0.274721\n", + "Epoch : 37 [4/36(11%)]\tLoss: 0.960473\n", + "Epoch : 37 [8/36(22%)]\tLoss: 0.373123\n", + "Epoch : 37 [12/36(33%)]\tLoss: 0.947425\n", + "Epoch : 37 [16/36(44%)]\tLoss: 0.161654\n", + "Epoch : 37 [20/36(56%)]\tLoss: 0.619886\n", + "Epoch : 37 [24/36(67%)]\tLoss: 0.380159\n", + "Epoch : 37 [28/36(78%)]\tLoss: 1.377837\n", + "Epoch : 37 [32/36(89%)]\tLoss: 1.933404\n", + "Epoch : 38 [0/36(0%)]\tLoss: 0.233311\n", + "Epoch : 38 [4/36(11%)]\tLoss: 0.600754\n", + "Epoch : 38 [8/36(22%)]\tLoss: 0.343902\n", + "Epoch : 38 [12/36(33%)]\tLoss: 0.736654\n", + "Epoch : 38 [16/36(44%)]\tLoss: 0.751583\n", + "Epoch : 38 [20/36(56%)]\tLoss: 0.684011\n", + "Epoch : 38 [24/36(67%)]\tLoss: 0.351800\n", + "Epoch : 38 [28/36(78%)]\tLoss: 1.391128\n", + "Epoch : 38 [32/36(89%)]\tLoss: 1.869545\n", + "Epoch : 39 [0/36(0%)]\tLoss: 0.280096\n", + "Epoch : 39 [4/36(11%)]\tLoss: 0.789606\n", + "Epoch : 39 [8/36(22%)]\tLoss: 0.314445\n", + "Epoch : 39 [12/36(33%)]\tLoss: 0.878178\n", + "Epoch : 39 [16/36(44%)]\tLoss: 0.588050\n", + "Epoch : 39 [20/36(56%)]\tLoss: 0.609332\n", + "Epoch : 39 [24/36(67%)]\tLoss: 0.347360\n", + "Epoch : 39 [28/36(78%)]\tLoss: 1.456646\n", + "Epoch : 39 [32/36(89%)]\tLoss: 2.049901\n", + "Epoch : 40 [0/36(0%)]\tLoss: 0.132291\n", + "Epoch : 40 [4/36(11%)]\tLoss: 0.693695\n", + "Epoch : 40 [8/36(22%)]\tLoss: 0.294127\n", + "Epoch : 40 [12/36(33%)]\tLoss: 0.794719\n", + "Epoch : 40 [16/36(44%)]\tLoss: 0.170253\n", + "Epoch : 40 [20/36(56%)]\tLoss: 0.822204\n", + "Epoch : 40 [24/36(67%)]\tLoss: 0.477801\n", + "Epoch : 40 [28/36(78%)]\tLoss: 1.321665\n", + "Epoch : 40 [32/36(89%)]\tLoss: 1.759653\n", + "Epoch : 41 [0/36(0%)]\tLoss: 0.339392\n", + "Epoch : 41 [4/36(11%)]\tLoss: 0.808571\n", + "Epoch : 41 [8/36(22%)]\tLoss: 0.285708\n", + "Epoch : 41 [12/36(33%)]\tLoss: 0.348385\n", + "Epoch : 41 [16/36(44%)]\tLoss: 0.335499\n", + "Epoch : 41 [20/36(56%)]\tLoss: 0.546088\n", + "Epoch : 41 [24/36(67%)]\tLoss: 0.370891\n", + "Epoch : 41 [28/36(78%)]\tLoss: 1.363673\n", + "Epoch : 41 [32/36(89%)]\tLoss: 1.854724\n", + "Epoch : 42 [0/36(0%)]\tLoss: 0.273581\n", + "Epoch : 42 [4/36(11%)]\tLoss: 0.719452\n", + "Epoch : 42 [8/36(22%)]\tLoss: 0.476761\n", + "Epoch : 42 [12/36(33%)]\tLoss: 0.343598\n", + "Epoch : 42 [16/36(44%)]\tLoss: 1.035865\n", + "Epoch : 42 [20/36(56%)]\tLoss: 0.429626\n", + "Epoch : 42 [24/36(67%)]\tLoss: 0.525539\n", + "Epoch : 42 [28/36(78%)]\tLoss: 1.320490\n", + "Epoch : 42 [32/36(89%)]\tLoss: 1.750692\n", + "Epoch : 43 [0/36(0%)]\tLoss: 0.345155\n", + "Epoch : 43 [4/36(11%)]\tLoss: 0.803219\n", + "Epoch : 43 [8/36(22%)]\tLoss: 0.479028\n", + "Epoch : 43 [12/36(33%)]\tLoss: 0.339847\n", + "Epoch : 43 [16/36(44%)]\tLoss: 1.121274\n", + "Epoch : 43 [20/36(56%)]\tLoss: 0.487049\n", + "Epoch : 43 [24/36(67%)]\tLoss: 0.388805\n", + "Epoch : 43 [28/36(78%)]\tLoss: 1.319610\n", + "Epoch : 43 [32/36(89%)]\tLoss: 1.747554\n", + "Epoch : 44 [0/36(0%)]\tLoss: 0.395405\n", + "Epoch : 44 [4/36(11%)]\tLoss: 0.885347\n", + "Epoch : 44 [8/36(22%)]\tLoss: 0.426154\n", + "Epoch : 44 [12/36(33%)]\tLoss: 0.357707\n", + "Epoch : 44 [16/36(44%)]\tLoss: 0.104895\n", + "Epoch : 44 [20/36(56%)]\tLoss: 0.379792\n", + "Epoch : 44 [24/36(67%)]\tLoss: 0.348632\n", + "Epoch : 44 [28/36(78%)]\tLoss: 1.348185\n", + "Epoch : 44 [32/36(89%)]\tLoss: 1.836718\n", + "Epoch : 45 [0/36(0%)]\tLoss: 0.280525\n", + "Epoch : 45 [4/36(11%)]\tLoss: 0.753140\n", + "Epoch : 45 [8/36(22%)]\tLoss: 0.431213\n", + "Epoch : 45 [12/36(33%)]\tLoss: 0.380724\n", + "Epoch : 45 [16/36(44%)]\tLoss: 0.114018\n", + "Epoch : 45 [20/36(56%)]\tLoss: 0.395712\n", + "Epoch : 45 [24/36(67%)]\tLoss: 0.336151\n", + "Epoch : 45 [28/36(78%)]\tLoss: 1.300567\n", + "Epoch : 45 [32/36(89%)]\tLoss: 1.749476\n", + "Epoch : 46 [0/36(0%)]\tLoss: 0.272692\n", + "Epoch : 46 [4/36(11%)]\tLoss: 0.675420\n", + "Epoch : 46 [8/36(22%)]\tLoss: 0.440002\n", + "Epoch : 46 [12/36(33%)]\tLoss: 0.362591\n", + "Epoch : 46 [16/36(44%)]\tLoss: 0.102963\n", + "Epoch : 46 [20/36(56%)]\tLoss: 0.277533\n", + "Epoch : 46 [24/36(67%)]\tLoss: 0.471455\n", + "Epoch : 46 [28/36(78%)]\tLoss: 1.344404\n", + "Epoch : 46 [32/36(89%)]\tLoss: 1.842715\n", + "Epoch : 47 [0/36(0%)]\tLoss: 0.265941\n", + "Epoch : 47 [4/36(11%)]\tLoss: 0.749575\n", + "Epoch : 47 [8/36(22%)]\tLoss: 0.496735\n", + "Epoch : 47 [12/36(33%)]\tLoss: 0.341810\n", + "Epoch : 47 [16/36(44%)]\tLoss: 0.101833\n", + "Epoch : 47 [20/36(56%)]\tLoss: 0.733381\n", + "Epoch : 47 [24/36(67%)]\tLoss: 0.515509\n", + "Epoch : 47 [28/36(78%)]\tLoss: 1.323838\n", + "Epoch : 47 [32/36(89%)]\tLoss: 1.793728\n", + "Epoch : 48 [0/36(0%)]\tLoss: 0.293635\n", + "Epoch : 48 [4/36(11%)]\tLoss: 0.763050\n", + "Epoch : 48 [8/36(22%)]\tLoss: 0.501461\n", + "Epoch : 48 [12/36(33%)]\tLoss: 0.339749\n", + "Epoch : 48 [16/36(44%)]\tLoss: 1.089632\n", + "Epoch : 48 [20/36(56%)]\tLoss: 0.411788\n", + "Epoch : 48 [24/36(67%)]\tLoss: 0.544856\n", + "Epoch : 48 [28/36(78%)]\tLoss: 1.321003\n", + "Epoch : 48 [32/36(89%)]\tLoss: 1.774300\n", + "Epoch : 49 [0/36(0%)]\tLoss: 0.312707\n", + "Epoch : 49 [4/36(11%)]\tLoss: 0.777943\n", + "Epoch : 49 [8/36(22%)]\tLoss: 0.494007\n", + "Epoch : 49 [12/36(33%)]\tLoss: 0.339702\n", + "Epoch : 49 [16/36(44%)]\tLoss: 0.124814\n", + "Epoch : 49 [20/36(56%)]\tLoss: 0.362475\n", + "Epoch : 49 [24/36(67%)]\tLoss: 0.582134\n", + "Epoch : 49 [28/36(78%)]\tLoss: 1.342342\n", + "Epoch : 49 [32/36(89%)]\tLoss: 1.824891\n", + "Epoch : 50 [0/36(0%)]\tLoss: 0.285838\n", + "Epoch : 50 [4/36(11%)]\tLoss: 0.776064\n", + "Epoch : 50 [8/36(22%)]\tLoss: 0.472203\n", + "Epoch : 50 [12/36(33%)]\tLoss: 0.346010\n", + "Epoch : 50 [16/36(44%)]\tLoss: 0.096625\n", + "Epoch : 50 [20/36(56%)]\tLoss: 0.340138\n", + "Epoch : 50 [24/36(67%)]\tLoss: 0.471772\n", + "Epoch : 50 [28/36(78%)]\tLoss: 1.338768\n", + "Epoch : 50 [32/36(89%)]\tLoss: 1.850932\n", + "Epoch : 51 [0/36(0%)]\tLoss: 0.250305\n", + "Epoch : 51 [4/36(11%)]\tLoss: 0.727430\n", + "Epoch : 51 [8/36(22%)]\tLoss: 0.534012\n", + "Epoch : 51 [12/36(33%)]\tLoss: 0.339628\n", + "Epoch : 51 [16/36(44%)]\tLoss: 0.260193\n", + "Epoch : 51 [20/36(56%)]\tLoss: 0.329007\n", + "Epoch : 51 [24/36(67%)]\tLoss: 0.505994\n", + "Epoch : 51 [28/36(78%)]\tLoss: 1.322017\n", + "Epoch : 51 [32/36(89%)]\tLoss: 1.783618\n", + "Epoch : 52 [0/36(0%)]\tLoss: 0.303167\n", + "Epoch : 52 [4/36(11%)]\tLoss: 0.768677\n", + "Epoch : 52 [8/36(22%)]\tLoss: 0.500960\n", + "Epoch : 52 [12/36(33%)]\tLoss: 0.339651\n", + "Epoch : 52 [16/36(44%)]\tLoss: 1.045214\n", + "Epoch : 52 [20/36(56%)]\tLoss: 0.501765\n", + "Epoch : 52 [24/36(67%)]\tLoss: 0.464626\n", + "Epoch : 52 [28/36(78%)]\tLoss: 1.321990\n", + "Epoch : 52 [32/36(89%)]\tLoss: 1.734326\n", + "Epoch : 53 [0/36(0%)]\tLoss: 0.416521\n", + "Epoch : 53 [4/36(11%)]\tLoss: 0.878101\n", + "Epoch : 53 [8/36(22%)]\tLoss: 0.442674\n", + "Epoch : 53 [12/36(33%)]\tLoss: 0.343617\n", + "Epoch : 53 [16/36(44%)]\tLoss: 0.102305\n", + "Epoch : 53 [20/36(56%)]\tLoss: 0.335679\n", + "Epoch : 53 [24/36(67%)]\tLoss: 0.394986\n", + "Epoch : 53 [28/36(78%)]\tLoss: 1.411011\n", + "Epoch : 53 [32/36(89%)]\tLoss: 1.968452\n", + "Epoch : 54 [0/36(0%)]\tLoss: 0.234290\n", + "Epoch : 54 [4/36(11%)]\tLoss: 0.715282\n", + "Epoch : 54 [8/36(22%)]\tLoss: 0.091444\n", + "Epoch : 54 [12/36(33%)]\tLoss: 0.339681\n", + "Epoch : 54 [16/36(44%)]\tLoss: 1.149960\n", + "Epoch : 54 [20/36(56%)]\tLoss: 0.441373\n", + "Epoch : 54 [24/36(67%)]\tLoss: 0.360616\n", + "Epoch : 54 [28/36(78%)]\tLoss: 1.476308\n", + "Epoch : 54 [32/36(89%)]\tLoss: 2.077668\n", + "Epoch : 55 [0/36(0%)]\tLoss: 0.228152\n", + "Epoch : 55 [4/36(11%)]\tLoss: 0.611676\n", + "Epoch : 55 [8/36(22%)]\tLoss: 0.521463\n", + "Epoch : 55 [12/36(33%)]\tLoss: 0.259324\n", + "Epoch : 55 [16/36(44%)]\tLoss: 0.212808\n", + "Epoch : 55 [20/36(56%)]\tLoss: 0.430828\n", + "Epoch : 55 [24/36(67%)]\tLoss: 0.321434\n", + "Epoch : 55 [28/36(78%)]\tLoss: 1.448545\n", + "Epoch : 55 [32/36(89%)]\tLoss: 1.936255\n", + "Epoch : 56 [0/36(0%)]\tLoss: 0.263300\n", + "Epoch : 56 [4/36(11%)]\tLoss: 0.752485\n", + "Epoch : 56 [8/36(22%)]\tLoss: 0.261454\n", + "Epoch : 56 [12/36(33%)]\tLoss: 0.230997\n", + "Epoch : 56 [16/36(44%)]\tLoss: 1.206819\n", + "Epoch : 56 [20/36(56%)]\tLoss: 0.326768\n", + "Epoch : 56 [24/36(67%)]\tLoss: 0.358422\n", + "Epoch : 56 [28/36(78%)]\tLoss: 1.494289\n", + "Epoch : 56 [32/36(89%)]\tLoss: 2.136947\n", + "Epoch : 57 [0/36(0%)]\tLoss: 0.233501\n", + "Epoch : 57 [4/36(11%)]\tLoss: 0.562453\n", + "Epoch : 57 [8/36(22%)]\tLoss: 0.061266\n", + "Epoch : 57 [12/36(33%)]\tLoss: 0.570469\n", + "Epoch : 57 [16/36(44%)]\tLoss: 0.479584\n", + "Epoch : 57 [20/36(56%)]\tLoss: 0.557943\n", + "Epoch : 57 [24/36(67%)]\tLoss: 0.734816\n", + "Epoch : 57 [28/36(78%)]\tLoss: 1.656065\n", + "Epoch : 57 [32/36(89%)]\tLoss: 2.192225\n", + "Epoch : 58 [0/36(0%)]\tLoss: 0.227400\n", + "Epoch : 58 [4/36(11%)]\tLoss: 0.733153\n", + "Epoch : 58 [8/36(22%)]\tLoss: 0.439279\n", + "Epoch : 58 [12/36(33%)]\tLoss: 0.417969\n", + "Epoch : 58 [16/36(44%)]\tLoss: 0.766179\n", + "Epoch : 58 [20/36(56%)]\tLoss: 0.445223\n", + "Epoch : 58 [24/36(67%)]\tLoss: 1.078274\n", + "Epoch : 58 [28/36(78%)]\tLoss: 1.392294\n", + "Epoch : 58 [32/36(89%)]\tLoss: 1.726504\n", + "Epoch : 59 [0/36(0%)]\tLoss: 0.331944\n", + "Epoch : 59 [4/36(11%)]\tLoss: 0.726690\n", + "Epoch : 59 [8/36(22%)]\tLoss: 0.666322\n", + "Epoch : 59 [12/36(33%)]\tLoss: 0.405058\n", + "Epoch : 59 [16/36(44%)]\tLoss: 0.247288\n", + "Epoch : 59 [20/36(56%)]\tLoss: 0.801042\n", + "Epoch : 59 [24/36(67%)]\tLoss: 0.379412\n", + "Epoch : 59 [28/36(78%)]\tLoss: 1.333986\n", + "Epoch : 59 [32/36(89%)]\tLoss: 1.759605\n", + "Epoch : 60 [0/36(0%)]\tLoss: 0.419672\n", + "Epoch : 60 [4/36(11%)]\tLoss: 0.949145\n", + "Epoch : 60 [8/36(22%)]\tLoss: 0.408957\n", + "Epoch : 60 [12/36(33%)]\tLoss: 0.381782\n", + "Epoch : 60 [16/36(44%)]\tLoss: 0.095300\n", + "Epoch : 60 [20/36(56%)]\tLoss: 0.542523\n", + "Epoch : 60 [24/36(67%)]\tLoss: 0.230977\n", + "Epoch : 60 [28/36(78%)]\tLoss: 1.338652\n", + "Epoch : 60 [32/36(89%)]\tLoss: 1.822799\n", + "Epoch : 61 [0/36(0%)]\tLoss: 0.286688\n", + "Epoch : 61 [4/36(11%)]\tLoss: 0.772019\n", + "Epoch : 61 [8/36(22%)]\tLoss: 0.481909\n", + "Epoch : 61 [12/36(33%)]\tLoss: 0.343274\n", + "Epoch : 61 [16/36(44%)]\tLoss: 0.093202\n", + "Epoch : 61 [20/36(56%)]\tLoss: 0.510063\n", + "Epoch : 61 [24/36(67%)]\tLoss: 0.432082\n", + "Epoch : 61 [28/36(78%)]\tLoss: 1.323312\n", + "Epoch : 61 [32/36(89%)]\tLoss: 1.788890\n", + "Epoch : 62 [0/36(0%)]\tLoss: 0.300590\n", + "Epoch : 62 [4/36(11%)]\tLoss: 0.761825\n", + "Epoch : 62 [8/36(22%)]\tLoss: 0.499046\n", + "Epoch : 62 [12/36(33%)]\tLoss: 0.339719\n", + "Epoch : 62 [16/36(44%)]\tLoss: 0.158962\n", + "Epoch : 62 [20/36(56%)]\tLoss: 0.525118\n", + "Epoch : 62 [24/36(67%)]\tLoss: 0.240851\n", + "Epoch : 62 [28/36(78%)]\tLoss: 1.320245\n", + "Epoch : 62 [32/36(89%)]\tLoss: 1.747907\n", + "Epoch : 63 [0/36(0%)]\tLoss: 0.399078\n", + "Epoch : 63 [4/36(11%)]\tLoss: 0.813433\n", + "Epoch : 63 [8/36(22%)]\tLoss: 0.457930\n", + "Epoch : 63 [12/36(33%)]\tLoss: 0.340610\n", + "Epoch : 63 [16/36(44%)]\tLoss: 0.022204\n", + "Epoch : 63 [20/36(56%)]\tLoss: 0.596082\n", + "Epoch : 63 [24/36(67%)]\tLoss: 0.186337\n", + "Epoch : 63 [28/36(78%)]\tLoss: 1.371887\n", + "Epoch : 63 [32/36(89%)]\tLoss: 1.846977\n", + "Epoch : 64 [0/36(0%)]\tLoss: 0.297797\n", + "Epoch : 64 [4/36(11%)]\tLoss: 0.776962\n", + "Epoch : 64 [8/36(22%)]\tLoss: 0.453006\n", + "Epoch : 64 [12/36(33%)]\tLoss: 0.349292\n", + "Epoch : 64 [16/36(44%)]\tLoss: 0.053277\n", + "Epoch : 64 [20/36(56%)]\tLoss: 0.478318\n", + "Epoch : 64 [24/36(67%)]\tLoss: 0.192861\n", + "Epoch : 64 [28/36(78%)]\tLoss: 1.350552\n", + "Epoch : 64 [32/36(89%)]\tLoss: 1.844639\n", + "Epoch : 65 [0/36(0%)]\tLoss: 0.277386\n", + "Epoch : 65 [4/36(11%)]\tLoss: 0.706085\n", + "Epoch : 65 [8/36(22%)]\tLoss: 0.500749\n", + "Epoch : 65 [12/36(33%)]\tLoss: 0.339769\n", + "Epoch : 65 [16/36(44%)]\tLoss: 0.030301\n", + "Epoch : 65 [20/36(56%)]\tLoss: 0.514067\n", + "Epoch : 65 [24/36(67%)]\tLoss: 0.190480\n", + "Epoch : 65 [28/36(78%)]\tLoss: 1.342904\n", + "Epoch : 65 [32/36(89%)]\tLoss: 1.814551\n", + "Epoch : 66 [0/36(0%)]\tLoss: 0.290288\n", + "Epoch : 66 [4/36(11%)]\tLoss: 0.763758\n", + "Epoch : 66 [8/36(22%)]\tLoss: 0.476402\n", + "Epoch : 66 [12/36(33%)]\tLoss: 0.340716\n", + "Epoch : 66 [16/36(44%)]\tLoss: 0.340393\n", + "Epoch : 66 [20/36(56%)]\tLoss: 0.490211\n", + "Epoch : 66 [24/36(67%)]\tLoss: 0.173064\n", + "Epoch : 66 [28/36(78%)]\tLoss: 1.363891\n", + "Epoch : 66 [32/36(89%)]\tLoss: 1.852997\n", + "Epoch : 67 [0/36(0%)]\tLoss: 0.284121\n", + "Epoch : 67 [4/36(11%)]\tLoss: 0.735974\n", + "Epoch : 67 [8/36(22%)]\tLoss: 0.477211\n", + "Epoch : 67 [12/36(33%)]\tLoss: 0.342463\n", + "Epoch : 67 [16/36(44%)]\tLoss: 0.083201\n", + "Epoch : 67 [20/36(56%)]\tLoss: 0.427549\n", + "Epoch : 67 [24/36(67%)]\tLoss: 0.215755\n", + "Epoch : 67 [28/36(78%)]\tLoss: 1.330377\n", + "Epoch : 67 [32/36(89%)]\tLoss: 1.801526\n", + "Epoch : 68 [0/36(0%)]\tLoss: 0.307043\n", + "Epoch : 68 [4/36(11%)]\tLoss: 0.733463\n", + "Epoch : 68 [8/36(22%)]\tLoss: 0.498010\n", + "Epoch : 68 [12/36(33%)]\tLoss: 0.339699\n", + "Epoch : 68 [16/36(44%)]\tLoss: 0.018530\n", + "Epoch : 68 [20/36(56%)]\tLoss: 0.486948\n", + "Epoch : 68 [24/36(67%)]\tLoss: 0.169463\n", + "Epoch : 68 [28/36(78%)]\tLoss: 1.362717\n", + "Epoch : 68 [32/36(89%)]\tLoss: 1.842225\n", + "Epoch : 69 [0/36(0%)]\tLoss: 0.295624\n", + "Epoch : 69 [4/36(11%)]\tLoss: 0.791121\n", + "Epoch : 69 [8/36(22%)]\tLoss: 0.449493\n", + "Epoch : 69 [12/36(33%)]\tLoss: 0.356063\n", + "Epoch : 69 [16/36(44%)]\tLoss: 0.056747\n", + "Epoch : 69 [20/36(56%)]\tLoss: 0.389450\n", + "Epoch : 69 [24/36(67%)]\tLoss: 0.217806\n", + "Epoch : 69 [28/36(78%)]\tLoss: 1.341950\n", + "Epoch : 69 [32/36(89%)]\tLoss: 1.846552\n", + "Epoch : 70 [0/36(0%)]\tLoss: 0.155576\n", + "Epoch : 70 [4/36(11%)]\tLoss: 0.687550\n", + "Epoch : 70 [8/36(22%)]\tLoss: 0.515612\n", + "Epoch : 70 [12/36(33%)]\tLoss: 0.339632\n", + "Epoch : 70 [16/36(44%)]\tLoss: 0.041704\n", + "Epoch : 70 [20/36(56%)]\tLoss: 0.436559\n", + "Epoch : 70 [24/36(67%)]\tLoss: 0.184901\n", + "Epoch : 70 [28/36(78%)]\tLoss: 1.352539\n", + "Epoch : 70 [32/36(89%)]\tLoss: 1.835621\n", + "Epoch : 71 [0/36(0%)]\tLoss: 0.291150\n", + "Epoch : 71 [4/36(11%)]\tLoss: 0.746810\n", + "Epoch : 71 [8/36(22%)]\tLoss: 0.487235\n", + "Epoch : 71 [12/36(33%)]\tLoss: 0.340164\n", + "Epoch : 71 [16/36(44%)]\tLoss: 0.040555\n", + "Epoch : 71 [20/36(56%)]\tLoss: 0.440026\n", + "Epoch : 71 [24/36(67%)]\tLoss: 0.175046\n", + "Epoch : 71 [28/36(78%)]\tLoss: 1.366766\n", + "Epoch : 71 [32/36(89%)]\tLoss: 1.857727\n", + "Epoch : 72 [0/36(0%)]\tLoss: 0.278999\n", + "Epoch : 72 [4/36(11%)]\tLoss: 0.735098\n", + "Epoch : 72 [8/36(22%)]\tLoss: 0.486831\n", + "Epoch : 72 [12/36(33%)]\tLoss: 0.340959\n", + "Epoch : 72 [16/36(44%)]\tLoss: 0.050514\n", + "Epoch : 72 [20/36(56%)]\tLoss: 0.421593\n", + "Epoch : 72 [24/36(67%)]\tLoss: 0.181140\n", + "Epoch : 72 [28/36(78%)]\tLoss: 1.361365\n", + "Epoch : 72 [32/36(89%)]\tLoss: 1.860167\n", + "Epoch : 73 [0/36(0%)]\tLoss: 0.096435\n", + "Epoch : 73 [4/36(11%)]\tLoss: 0.761748\n", + "Epoch : 73 [8/36(22%)]\tLoss: 0.459607\n", + "Epoch : 73 [12/36(33%)]\tLoss: 0.349717\n", + "Epoch : 73 [16/36(44%)]\tLoss: 0.088762\n", + "Epoch : 73 [20/36(56%)]\tLoss: 0.394844\n", + "Epoch : 73 [24/36(67%)]\tLoss: 0.187770\n", + "Epoch : 73 [28/36(78%)]\tLoss: 1.444084\n", + "Epoch : 73 [32/36(89%)]\tLoss: 1.884095\n", + "Epoch : 74 [0/36(0%)]\tLoss: 0.260504\n", + "Epoch : 74 [4/36(11%)]\tLoss: 0.682250\n", + "Epoch : 74 [8/36(22%)]\tLoss: 0.514732\n", + "Epoch : 74 [12/36(33%)]\tLoss: 0.339715\n", + "Epoch : 74 [16/36(44%)]\tLoss: 0.051906\n", + "Epoch : 74 [20/36(56%)]\tLoss: 0.411870\n", + "Epoch : 74 [24/36(67%)]\tLoss: 0.191557\n", + "Epoch : 74 [28/36(78%)]\tLoss: 1.353456\n", + "Epoch : 74 [32/36(89%)]\tLoss: 1.840459\n", + "Epoch : 75 [0/36(0%)]\tLoss: 0.286271\n", + "Epoch : 75 [4/36(11%)]\tLoss: 0.731543\n", + "Epoch : 75 [8/36(22%)]\tLoss: 0.496514\n", + "Epoch : 75 [12/36(33%)]\tLoss: 0.339752\n", + "Epoch : 75 [16/36(44%)]\tLoss: 0.043434\n", + "Epoch : 75 [20/36(56%)]\tLoss: 0.434196\n", + "Epoch : 75 [24/36(67%)]\tLoss: 0.172854\n", + "Epoch : 75 [28/36(78%)]\tLoss: 1.367064\n", + "Epoch : 75 [32/36(89%)]\tLoss: 1.861606\n", + "Epoch : 76 [0/36(0%)]\tLoss: 0.280985\n", + "Epoch : 76 [4/36(11%)]\tLoss: 0.737206\n", + "Epoch : 76 [8/36(22%)]\tLoss: 0.484154\n", + "Epoch : 76 [12/36(33%)]\tLoss: 0.341322\n", + "Epoch : 76 [16/36(44%)]\tLoss: 0.054471\n", + "Epoch : 76 [20/36(56%)]\tLoss: 0.415148\n", + "Epoch : 76 [24/36(67%)]\tLoss: 0.179682\n", + "Epoch : 76 [28/36(78%)]\tLoss: 1.365909\n", + "Epoch : 76 [32/36(89%)]\tLoss: 1.868003\n", + "Epoch : 77 [0/36(0%)]\tLoss: 0.273324\n", + "Epoch : 77 [4/36(11%)]\tLoss: 0.712269\n", + "Epoch : 77 [8/36(22%)]\tLoss: 0.495818\n", + "Epoch : 77 [12/36(33%)]\tLoss: 0.340381\n", + "Epoch : 77 [16/36(44%)]\tLoss: 0.229853\n", + "Epoch : 77 [20/36(56%)]\tLoss: 0.379780\n", + "Epoch : 77 [24/36(67%)]\tLoss: 0.237157\n", + "Epoch : 77 [28/36(78%)]\tLoss: 1.327940\n", + "Epoch : 77 [32/36(89%)]\tLoss: 1.795770\n", + "Epoch : 78 [0/36(0%)]\tLoss: 0.311732\n", + "Epoch : 78 [4/36(11%)]\tLoss: 0.744039\n", + "Epoch : 78 [8/36(22%)]\tLoss: 0.411218\n", + "Epoch : 78 [12/36(33%)]\tLoss: 0.343051\n", + "Epoch : 78 [16/36(44%)]\tLoss: 0.491373\n", + "Epoch : 78 [20/36(56%)]\tLoss: 0.542632\n", + "Epoch : 78 [24/36(67%)]\tLoss: 0.435091\n", + "Epoch : 78 [28/36(78%)]\tLoss: 1.536235\n", + "Epoch : 78 [32/36(89%)]\tLoss: 2.103830\n", + "Epoch : 79 [0/36(0%)]\tLoss: 0.131391\n", + "Epoch : 79 [4/36(11%)]\tLoss: 0.760100\n", + "Epoch : 79 [8/36(22%)]\tLoss: 0.279053\n", + "Epoch : 79 [12/36(33%)]\tLoss: 0.408707\n", + "Epoch : 79 [16/36(44%)]\tLoss: 0.169290\n", + "Epoch : 79 [20/36(56%)]\tLoss: 0.185491\n", + "Epoch : 79 [24/36(67%)]\tLoss: 0.275192\n", + "Epoch : 79 [28/36(78%)]\tLoss: 1.344708\n", + "Epoch : 79 [32/36(89%)]\tLoss: 1.914532\n", + "Epoch : 80 [0/36(0%)]\tLoss: 0.232785\n", + "Epoch : 80 [4/36(11%)]\tLoss: 0.696696\n", + "Epoch : 80 [8/36(22%)]\tLoss: 0.607709\n", + "Epoch : 80 [12/36(33%)]\tLoss: 0.341712\n", + "Epoch : 80 [16/36(44%)]\tLoss: 0.096961\n", + "Epoch : 80 [20/36(56%)]\tLoss: 0.206790\n", + "Epoch : 80 [24/36(67%)]\tLoss: 0.257552\n", + "Epoch : 80 [28/36(78%)]\tLoss: 1.325853\n", + "Epoch : 80 [32/36(89%)]\tLoss: 1.808537\n", + "Epoch : 81 [0/36(0%)]\tLoss: 0.287414\n", + "Epoch : 81 [4/36(11%)]\tLoss: 0.757018\n", + "Epoch : 81 [8/36(22%)]\tLoss: 0.517869\n", + "Epoch : 81 [12/36(33%)]\tLoss: 0.339620\n", + "Epoch : 81 [16/36(44%)]\tLoss: 0.095812\n", + "Epoch : 81 [20/36(56%)]\tLoss: 0.169370\n", + "Epoch : 81 [24/36(67%)]\tLoss: 0.202106\n", + "Epoch : 81 [28/36(78%)]\tLoss: 1.346745\n", + "Epoch : 81 [32/36(89%)]\tLoss: 1.838780\n", + "Epoch : 82 [0/36(0%)]\tLoss: 0.283566\n", + "Epoch : 82 [4/36(11%)]\tLoss: 0.773400\n", + "Epoch : 82 [8/36(22%)]\tLoss: 0.482525\n", + "Epoch : 82 [12/36(33%)]\tLoss: 0.344099\n", + "Epoch : 82 [16/36(44%)]\tLoss: 0.099332\n", + "Epoch : 82 [20/36(56%)]\tLoss: 0.203964\n", + "Epoch : 82 [24/36(67%)]\tLoss: 0.196728\n", + "Epoch : 82 [28/36(78%)]\tLoss: 1.369475\n", + "Epoch : 82 [32/36(89%)]\tLoss: 1.908694\n", + "Epoch : 83 [0/36(0%)]\tLoss: 0.247910\n", + "Epoch : 83 [4/36(11%)]\tLoss: 0.733551\n", + "Epoch : 83 [8/36(22%)]\tLoss: 0.509942\n", + "Epoch : 83 [12/36(33%)]\tLoss: 0.343572\n", + "Epoch : 83 [16/36(44%)]\tLoss: 0.105263\n", + "Epoch : 83 [20/36(56%)]\tLoss: 0.216924\n", + "Epoch : 83 [24/36(67%)]\tLoss: 0.233656\n", + "Epoch : 83 [28/36(78%)]\tLoss: 1.346812\n", + "Epoch : 83 [32/36(89%)]\tLoss: 1.878143\n", + "Epoch : 84 [0/36(0%)]\tLoss: 0.250888\n", + "Epoch : 84 [4/36(11%)]\tLoss: 0.726206\n", + "Epoch : 84 [8/36(22%)]\tLoss: 0.536519\n", + "Epoch : 84 [12/36(33%)]\tLoss: 0.339895\n", + "Epoch : 84 [16/36(44%)]\tLoss: 0.099461\n", + "Epoch : 84 [20/36(56%)]\tLoss: 0.207723\n", + "Epoch : 84 [24/36(67%)]\tLoss: 0.225708\n", + "Epoch : 84 [28/36(78%)]\tLoss: 1.345168\n", + "Epoch : 84 [32/36(89%)]\tLoss: 1.862167\n", + "Epoch : 85 [0/36(0%)]\tLoss: 0.260846\n", + "Epoch : 85 [4/36(11%)]\tLoss: 0.740270\n", + "Epoch : 85 [8/36(22%)]\tLoss: 0.518094\n", + "Epoch : 85 [12/36(33%)]\tLoss: 0.340486\n", + "Epoch : 85 [16/36(44%)]\tLoss: 0.099620\n", + "Epoch : 85 [20/36(56%)]\tLoss: 0.202651\n", + "Epoch : 85 [24/36(67%)]\tLoss: 0.213885\n", + "Epoch : 85 [28/36(78%)]\tLoss: 1.353786\n", + "Epoch : 85 [32/36(89%)]\tLoss: 1.878349\n", + "Epoch : 86 [0/36(0%)]\tLoss: 0.256532\n", + "Epoch : 86 [4/36(11%)]\tLoss: 0.739117\n", + "Epoch : 86 [8/36(22%)]\tLoss: 0.513680\n", + "Epoch : 86 [12/36(33%)]\tLoss: 0.341592\n", + "Epoch : 86 [16/36(44%)]\tLoss: 0.101862\n", + "Epoch : 86 [20/36(56%)]\tLoss: 0.204423\n", + "Epoch : 86 [24/36(67%)]\tLoss: 0.217721\n", + "Epoch : 86 [28/36(78%)]\tLoss: 1.351982\n", + "Epoch : 86 [32/36(89%)]\tLoss: 1.868376\n", + "Epoch : 87 [0/36(0%)]\tLoss: 0.162241\n", + "Epoch : 87 [4/36(11%)]\tLoss: 0.688119\n", + "Epoch : 87 [8/36(22%)]\tLoss: 0.596935\n", + "Epoch : 87 [12/36(33%)]\tLoss: 0.340751\n", + "Epoch : 87 [16/36(44%)]\tLoss: 0.117953\n", + "Epoch : 87 [20/36(56%)]\tLoss: 0.237344\n", + "Epoch : 87 [24/36(67%)]\tLoss: 0.334768\n", + "Epoch : 87 [28/36(78%)]\tLoss: 1.320325\n", + "Epoch : 87 [32/36(89%)]\tLoss: 1.803904\n", + "Epoch : 88 [0/36(0%)]\tLoss: 0.269173\n", + "Epoch : 88 [4/36(11%)]\tLoss: 0.764383\n", + "Epoch : 88 [8/36(22%)]\tLoss: 0.581742\n", + "Epoch : 88 [12/36(33%)]\tLoss: 0.344554\n", + "Epoch : 88 [16/36(44%)]\tLoss: 0.098826\n", + "Epoch : 88 [20/36(56%)]\tLoss: 0.392660\n", + "Epoch : 88 [24/36(67%)]\tLoss: 0.249078\n", + "Epoch : 88 [28/36(78%)]\tLoss: 1.319670\n", + "Epoch : 88 [32/36(89%)]\tLoss: 1.758652\n", + "Epoch : 89 [0/36(0%)]\tLoss: 0.365540\n", + "Epoch : 89 [4/36(11%)]\tLoss: 0.829773\n", + "Epoch : 89 [8/36(22%)]\tLoss: 0.475792\n", + "Epoch : 89 [12/36(33%)]\tLoss: 0.340042\n", + "Epoch : 89 [16/36(44%)]\tLoss: 0.099603\n", + "Epoch : 89 [20/36(56%)]\tLoss: 0.439212\n", + "Epoch : 89 [24/36(67%)]\tLoss: 0.207821\n", + "Epoch : 89 [28/36(78%)]\tLoss: 1.341189\n", + "Epoch : 89 [32/36(89%)]\tLoss: 1.803132\n", + "Epoch : 90 [0/36(0%)]\tLoss: 0.333087\n", + "Epoch : 90 [4/36(11%)]\tLoss: 0.835782\n", + "Epoch : 90 [8/36(22%)]\tLoss: 0.449225\n", + "Epoch : 90 [12/36(33%)]\tLoss: 0.349597\n", + "Epoch : 90 [16/36(44%)]\tLoss: 0.102136\n", + "Epoch : 90 [20/36(56%)]\tLoss: 0.381473\n", + "Epoch : 90 [24/36(67%)]\tLoss: 0.204768\n", + "Epoch : 90 [28/36(78%)]\tLoss: 1.349687\n", + "Epoch : 90 [32/36(89%)]\tLoss: 1.849835\n", + "Epoch : 91 [0/36(0%)]\tLoss: 0.279482\n", + "Epoch : 91 [4/36(11%)]\tLoss: 0.769997\n", + "Epoch : 91 [8/36(22%)]\tLoss: 0.485999\n", + "Epoch : 91 [12/36(33%)]\tLoss: 0.344110\n", + "Epoch : 91 [16/36(44%)]\tLoss: 0.114276\n", + "Epoch : 91 [20/36(56%)]\tLoss: 0.363005\n", + "Epoch : 91 [24/36(67%)]\tLoss: 0.243261\n", + "Epoch : 91 [28/36(78%)]\tLoss: 1.332608\n", + "Epoch : 91 [32/36(89%)]\tLoss: 1.819246\n", + "Epoch : 92 [0/36(0%)]\tLoss: 0.289535\n", + "Epoch : 92 [4/36(11%)]\tLoss: 0.762661\n", + "Epoch : 92 [8/36(22%)]\tLoss: 0.505216\n", + "Epoch : 92 [12/36(33%)]\tLoss: 0.340107\n", + "Epoch : 92 [16/36(44%)]\tLoss: 0.102342\n", + "Epoch : 92 [20/36(56%)]\tLoss: 0.349611\n", + "Epoch : 92 [24/36(67%)]\tLoss: 0.233417\n", + "Epoch : 92 [28/36(78%)]\tLoss: 1.331472\n", + "Epoch : 92 [32/36(89%)]\tLoss: 1.808716\n", + "Epoch : 93 [0/36(0%)]\tLoss: 0.304003\n", + "Epoch : 93 [4/36(11%)]\tLoss: 0.729718\n", + "Epoch : 93 [8/36(22%)]\tLoss: 0.521677\n", + "Epoch : 93 [12/36(33%)]\tLoss: 0.341758\n", + "Epoch : 93 [16/36(44%)]\tLoss: 0.105608\n", + "Epoch : 93 [20/36(56%)]\tLoss: 0.169243\n", + "Epoch : 93 [24/36(67%)]\tLoss: 0.163110\n", + "Epoch : 93 [28/36(78%)]\tLoss: 1.392903\n", + "Epoch : 93 [32/36(89%)]\tLoss: 1.904835\n", + "Epoch : 94 [0/36(0%)]\tLoss: 0.267198\n", + "Epoch : 94 [4/36(11%)]\tLoss: 0.781158\n", + "Epoch : 94 [8/36(22%)]\tLoss: 0.457405\n", + "Epoch : 94 [12/36(33%)]\tLoss: 0.358568\n", + "Epoch : 94 [16/36(44%)]\tLoss: 0.124686\n", + "Epoch : 94 [20/36(56%)]\tLoss: 0.227148\n", + "Epoch : 94 [24/36(67%)]\tLoss: 0.211126\n", + "Epoch : 94 [28/36(78%)]\tLoss: 1.386397\n", + "Epoch : 94 [32/36(89%)]\tLoss: 1.971749\n", + "Epoch : 95 [0/36(0%)]\tLoss: 0.233157\n", + "Epoch : 95 [4/36(11%)]\tLoss: 0.711671\n", + "Epoch : 95 [8/36(22%)]\tLoss: 0.535730\n", + "Epoch : 95 [12/36(33%)]\tLoss: 0.343544\n", + "Epoch : 95 [16/36(44%)]\tLoss: 0.122530\n", + "Epoch : 95 [20/36(56%)]\tLoss: 0.222827\n", + "Epoch : 95 [24/36(67%)]\tLoss: 0.364176\n", + "Epoch : 95 [28/36(78%)]\tLoss: 1.355385\n", + "Epoch : 95 [32/36(89%)]\tLoss: 1.935799\n", + "Epoch : 96 [0/36(0%)]\tLoss: 0.232947\n", + "Epoch : 96 [4/36(11%)]\tLoss: 0.664553\n", + "Epoch : 96 [8/36(22%)]\tLoss: 0.190651\n", + "Epoch : 96 [12/36(33%)]\tLoss: 0.347325\n", + "Epoch : 96 [16/36(44%)]\tLoss: 0.288300\n", + "Epoch : 96 [20/36(56%)]\tLoss: 0.703077\n", + "Epoch : 96 [24/36(67%)]\tLoss: 0.565004\n", + "Epoch : 96 [28/36(78%)]\tLoss: 1.268018\n", + "Epoch : 96 [32/36(89%)]\tLoss: 1.796919\n", + "Epoch : 97 [0/36(0%)]\tLoss: 0.445510\n", + "Epoch : 97 [4/36(11%)]\tLoss: 1.615897\n", + "Epoch : 97 [8/36(22%)]\tLoss: 0.414863\n", + "Epoch : 97 [12/36(33%)]\tLoss: 0.339707\n", + "Epoch : 97 [16/36(44%)]\tLoss: 0.335237\n", + "Epoch : 97 [20/36(56%)]\tLoss: 2.588415\n", + "Epoch : 97 [24/36(67%)]\tLoss: 0.494587\n", + "Epoch : 97 [28/36(78%)]\tLoss: 1.355083\n", + "Epoch : 97 [32/36(89%)]\tLoss: 1.759944\n", + "Epoch : 98 [0/36(0%)]\tLoss: 0.855938\n", + "Epoch : 98 [4/36(11%)]\tLoss: 1.202902\n", + "Epoch : 98 [8/36(22%)]\tLoss: 0.414261\n", + "Epoch : 98 [12/36(33%)]\tLoss: 0.339874\n", + "Epoch : 98 [16/36(44%)]\tLoss: 1.397464\n", + "Epoch : 98 [20/36(56%)]\tLoss: 2.685573\n", + "Epoch : 98 [24/36(67%)]\tLoss: 0.732715\n", + "Epoch : 98 [28/36(78%)]\tLoss: 1.385529\n", + "Epoch : 98 [32/36(89%)]\tLoss: 1.818341\n", + "Epoch : 99 [0/36(0%)]\tLoss: 1.078576\n", + "Epoch : 99 [4/36(11%)]\tLoss: 1.367623\n", + "Epoch : 99 [8/36(22%)]\tLoss: 0.405614\n", + "Epoch : 99 [12/36(33%)]\tLoss: 0.339986\n", + "Epoch : 99 [16/36(44%)]\tLoss: 1.487274\n", + "Epoch : 99 [20/36(56%)]\tLoss: 2.517620\n", + "Epoch : 99 [24/36(67%)]\tLoss: 0.521946\n", + "Epoch : 99 [28/36(78%)]\tLoss: 1.326511\n", + "Epoch : 99 [32/36(89%)]\tLoss: 1.740404\n", + "Epoch : 100 [0/36(0%)]\tLoss: 0.855810\n", + "Epoch : 100 [4/36(11%)]\tLoss: 1.298409\n", + "Epoch : 100 [8/36(22%)]\tLoss: 0.456272\n", + "Epoch : 100 [12/36(33%)]\tLoss: 0.502141\n", + "Epoch : 100 [16/36(44%)]\tLoss: 0.642042\n", + "Epoch : 100 [20/36(56%)]\tLoss: 1.250310\n", + "Epoch : 100 [24/36(67%)]\tLoss: 1.053737\n", + "Epoch : 100 [28/36(78%)]\tLoss: 1.552728\n", + "Epoch : 100 [32/36(89%)]\tLoss: 1.810406\n", + "Epoch : 101 [0/36(0%)]\tLoss: 0.601646\n", + "Epoch : 101 [4/36(11%)]\tLoss: 1.421792\n", + "Epoch : 101 [8/36(22%)]\tLoss: 0.488719\n", + "Epoch : 101 [12/36(33%)]\tLoss: 0.536362\n", + "Epoch : 101 [16/36(44%)]\tLoss: 0.935109\n", + "Epoch : 101 [20/36(56%)]\tLoss: 2.072074\n", + "Epoch : 101 [24/36(67%)]\tLoss: 0.462209\n", + "Epoch : 101 [28/36(78%)]\tLoss: 1.329150\n", + "Epoch : 101 [32/36(89%)]\tLoss: 1.778090\n", + "Epoch : 102 [0/36(0%)]\tLoss: 0.369899\n", + "Epoch : 102 [4/36(11%)]\tLoss: 0.861804\n", + "Epoch : 102 [8/36(22%)]\tLoss: 0.451668\n", + "Epoch : 102 [12/36(33%)]\tLoss: 0.344279\n", + "Epoch : 102 [16/36(44%)]\tLoss: 0.944787\n", + "Epoch : 102 [20/36(56%)]\tLoss: 1.943122\n", + "Epoch : 102 [24/36(67%)]\tLoss: 0.444941\n", + "Epoch : 102 [28/36(78%)]\tLoss: 1.382966\n", + "Epoch : 102 [32/36(89%)]\tLoss: 1.739462\n", + "Epoch : 103 [0/36(0%)]\tLoss: 0.628128\n", + "Epoch : 103 [4/36(11%)]\tLoss: 0.946007\n", + "Epoch : 103 [8/36(22%)]\tLoss: 0.494134\n", + "Epoch : 103 [12/36(33%)]\tLoss: 0.360619\n", + "Epoch : 103 [16/36(44%)]\tLoss: 1.452377\n", + "Epoch : 103 [20/36(56%)]\tLoss: 0.922644\n", + "Epoch : 103 [24/36(67%)]\tLoss: 0.430628\n", + "Epoch : 103 [28/36(78%)]\tLoss: 1.353728\n", + "Epoch : 103 [32/36(89%)]\tLoss: 1.764713\n", + "Epoch : 104 [0/36(0%)]\tLoss: 0.851432\n", + "Epoch : 104 [4/36(11%)]\tLoss: 1.177245\n", + "Epoch : 104 [8/36(22%)]\tLoss: 0.422009\n", + "Epoch : 104 [12/36(33%)]\tLoss: 0.342051\n", + "Epoch : 104 [16/36(44%)]\tLoss: 1.272308\n", + "Epoch : 104 [20/36(56%)]\tLoss: 0.996185\n", + "Epoch : 104 [24/36(67%)]\tLoss: 0.427671\n", + "Epoch : 104 [28/36(78%)]\tLoss: 1.303907\n", + "Epoch : 104 [32/36(89%)]\tLoss: 1.727776\n", + "Epoch : 105 [0/36(0%)]\tLoss: 0.818111\n", + "Epoch : 105 [4/36(11%)]\tLoss: 1.159888\n", + "Epoch : 105 [8/36(22%)]\tLoss: 0.288700\n", + "Epoch : 105 [12/36(33%)]\tLoss: 0.339398\n", + "Epoch : 105 [16/36(44%)]\tLoss: 0.280459\n", + "Epoch : 105 [20/36(56%)]\tLoss: 0.604270\n", + "Epoch : 105 [24/36(67%)]\tLoss: 0.536030\n", + "Epoch : 105 [28/36(78%)]\tLoss: 1.320953\n", + "Epoch : 105 [32/36(89%)]\tLoss: 1.824346\n", + "Epoch : 106 [0/36(0%)]\tLoss: 0.431491\n", + "Epoch : 106 [4/36(11%)]\tLoss: 1.026880\n", + "Epoch : 106 [8/36(22%)]\tLoss: 0.690378\n", + "Epoch : 106 [12/36(33%)]\tLoss: 0.408856\n", + "Epoch : 106 [16/36(44%)]\tLoss: 0.309510\n", + "Epoch : 106 [20/36(56%)]\tLoss: 1.183441\n", + "Epoch : 106 [24/36(67%)]\tLoss: 0.327204\n", + "Epoch : 106 [28/36(78%)]\tLoss: 1.504107\n", + "Epoch : 106 [32/36(89%)]\tLoss: 1.908097\n", + "Epoch : 107 [0/36(0%)]\tLoss: 0.369913\n", + "Epoch : 107 [4/36(11%)]\tLoss: 1.021298\n", + "Epoch : 107 [8/36(22%)]\tLoss: 0.836862\n", + "Epoch : 107 [12/36(33%)]\tLoss: 0.360729\n", + "Epoch : 107 [16/36(44%)]\tLoss: 0.728261\n", + "Epoch : 107 [20/36(56%)]\tLoss: 0.648691\n", + "Epoch : 107 [24/36(67%)]\tLoss: 0.371643\n", + "Epoch : 107 [28/36(78%)]\tLoss: 1.893952\n", + "Epoch : 107 [32/36(89%)]\tLoss: 2.333931\n", + "Epoch : 108 [0/36(0%)]\tLoss: 0.245825\n", + "Epoch : 108 [4/36(11%)]\tLoss: 0.851973\n", + "Epoch : 108 [8/36(22%)]\tLoss: 0.466234\n", + "Epoch : 108 [12/36(33%)]\tLoss: 0.496789\n", + "Epoch : 108 [16/36(44%)]\tLoss: 0.135288\n", + "Epoch : 108 [20/36(56%)]\tLoss: 0.491185\n", + "Epoch : 108 [24/36(67%)]\tLoss: 0.486259\n", + "Epoch : 108 [28/36(78%)]\tLoss: 1.355052\n", + "Epoch : 108 [32/36(89%)]\tLoss: 1.949944\n", + "Epoch : 109 [0/36(0%)]\tLoss: 0.232006\n", + "Epoch : 109 [4/36(11%)]\tLoss: 0.834402\n", + "Epoch : 109 [8/36(22%)]\tLoss: 0.590736\n", + "Epoch : 109 [12/36(33%)]\tLoss: 0.339676\n", + "Epoch : 109 [16/36(44%)]\tLoss: 0.105910\n", + "Epoch : 109 [20/36(56%)]\tLoss: 0.532389\n", + "Epoch : 109 [24/36(67%)]\tLoss: 0.542910\n", + "Epoch : 109 [28/36(78%)]\tLoss: 1.321758\n", + "Epoch : 109 [32/36(89%)]\tLoss: 1.828723\n", + "Epoch : 110 [0/36(0%)]\tLoss: 0.262562\n", + "Epoch : 110 [4/36(11%)]\tLoss: 0.722256\n", + "Epoch : 110 [8/36(22%)]\tLoss: 0.582159\n", + "Epoch : 110 [12/36(33%)]\tLoss: 0.342450\n", + "Epoch : 110 [16/36(44%)]\tLoss: 0.122106\n", + "Epoch : 110 [20/36(56%)]\tLoss: 0.719857\n", + "Epoch : 110 [24/36(67%)]\tLoss: 0.391320\n", + "Epoch : 110 [28/36(78%)]\tLoss: 1.323597\n", + "Epoch : 110 [32/36(89%)]\tLoss: 1.730762\n", + "Epoch : 111 [0/36(0%)]\tLoss: 0.445018\n", + "Epoch : 111 [4/36(11%)]\tLoss: 0.865001\n", + "Epoch : 111 [8/36(22%)]\tLoss: 0.474730\n", + "Epoch : 111 [12/36(33%)]\tLoss: 0.345506\n", + "Epoch : 111 [16/36(44%)]\tLoss: 0.156313\n", + "Epoch : 111 [20/36(56%)]\tLoss: 1.238474\n", + "Epoch : 111 [24/36(67%)]\tLoss: 1.242364\n", + "Epoch : 111 [28/36(78%)]\tLoss: 1.621951\n", + "Epoch : 111 [32/36(89%)]\tLoss: 2.295954\n", + "Epoch : 112 [0/36(0%)]\tLoss: 0.234959\n", + "Epoch : 112 [4/36(11%)]\tLoss: 0.714026\n", + "Epoch : 112 [8/36(22%)]\tLoss: 0.455711\n", + "Epoch : 112 [12/36(33%)]\tLoss: 0.419262\n", + "Epoch : 112 [16/36(44%)]\tLoss: 107.679787\n", + "Epoch : 112 [20/36(56%)]\tLoss: 1.695190\n", + "Epoch : 112 [24/36(67%)]\tLoss: 1.159147\n", + "Epoch : 112 [28/36(78%)]\tLoss: 1.738487\n", + "Epoch : 112 [32/36(89%)]\tLoss: 1.783019\n", + "Epoch : 113 [0/36(0%)]\tLoss: 1.037259\n", + "Epoch : 113 [4/36(11%)]\tLoss: 42.077614\n", + "Epoch : 113 [8/36(22%)]\tLoss: 9.878567\n", + "Epoch : 113 [12/36(33%)]\tLoss: 0.993058\n", + "Epoch : 113 [16/36(44%)]\tLoss: 3.474497\n", + "Epoch : 113 [20/36(56%)]\tLoss: 52.891251\n", + "Epoch : 113 [24/36(67%)]\tLoss: 7.039252\n", + "Epoch : 113 [28/36(78%)]\tLoss: 10.559747\n", + "Epoch : 113 [32/36(89%)]\tLoss: 7.512505\n", + "Epoch : 114 [0/36(0%)]\tLoss: 3.346862\n", + "Epoch : 114 [4/36(11%)]\tLoss: 1.051875\n", + "Epoch : 114 [8/36(22%)]\tLoss: 3.843843\n", + "Epoch : 114 [12/36(33%)]\tLoss: 3.514356\n", + "Epoch : 114 [16/36(44%)]\tLoss: 11.783563\n", + "Epoch : 114 [20/36(56%)]\tLoss: 10.607683\n", + "Epoch : 114 [24/36(67%)]\tLoss: 45.566887\n", + "Epoch : 114 [28/36(78%)]\tLoss: 5.277311\n", + "Epoch : 114 [32/36(89%)]\tLoss: 6.987385\n", + "Epoch : 115 [0/36(0%)]\tLoss: 11.867386\n", + "Epoch : 115 [4/36(11%)]\tLoss: 7.382057\n", + "Epoch : 115 [8/36(22%)]\tLoss: 1.756971\n", + "Epoch : 115 [12/36(33%)]\tLoss: 4.031797\n", + "Epoch : 115 [16/36(44%)]\tLoss: 1.568375\n", + "Epoch : 115 [20/36(56%)]\tLoss: 11.004314\n", + "Epoch : 115 [24/36(67%)]\tLoss: 1.341885\n", + "Epoch : 115 [28/36(78%)]\tLoss: 3.746224\n", + "Epoch : 115 [32/36(89%)]\tLoss: 3.196247\n", + "Epoch : 116 [0/36(0%)]\tLoss: 0.333178\n", + "Epoch : 116 [4/36(11%)]\tLoss: 2.676649\n", + "Epoch : 116 [8/36(22%)]\tLoss: 2.612855\n", + "Epoch : 116 [12/36(33%)]\tLoss: 5.082934\n", + "Epoch : 116 [16/36(44%)]\tLoss: 0.958132\n", + "Epoch : 116 [20/36(56%)]\tLoss: 1.860196\n", + "Epoch : 116 [24/36(67%)]\tLoss: 1.096822\n", + "Epoch : 116 [28/36(78%)]\tLoss: 2.553409\n", + "Epoch : 116 [32/36(89%)]\tLoss: 3.385683\n", + "Epoch : 117 [0/36(0%)]\tLoss: 0.121930\n", + "Epoch : 117 [4/36(11%)]\tLoss: 0.688391\n", + "Epoch : 117 [8/36(22%)]\tLoss: 0.265732\n", + "Epoch : 117 [12/36(33%)]\tLoss: 0.292842\n", + "Epoch : 117 [16/36(44%)]\tLoss: 0.677380\n", + "Epoch : 117 [20/36(56%)]\tLoss: 1.300677\n", + "Epoch : 117 [24/36(67%)]\tLoss: 2.066779\n", + "Epoch : 117 [28/36(78%)]\tLoss: 1.045409\n", + "Epoch : 117 [32/36(89%)]\tLoss: 2.254893\n", + "Epoch : 118 [0/36(0%)]\tLoss: 0.230135\n", + "Epoch : 118 [4/36(11%)]\tLoss: 1.128905\n", + "Epoch : 118 [8/36(22%)]\tLoss: 1.027342\n", + "Epoch : 118 [12/36(33%)]\tLoss: 0.349222\n", + "Epoch : 118 [16/36(44%)]\tLoss: 0.750840\n", + "Epoch : 118 [20/36(56%)]\tLoss: 0.747957\n", + "Epoch : 118 [24/36(67%)]\tLoss: 0.228183\n", + "Epoch : 118 [28/36(78%)]\tLoss: 1.416448\n", + "Epoch : 118 [32/36(89%)]\tLoss: 1.600921\n", + "Epoch : 119 [0/36(0%)]\tLoss: 0.320268\n", + "Epoch : 119 [4/36(11%)]\tLoss: 1.503850\n", + "Epoch : 119 [8/36(22%)]\tLoss: 0.073279\n", + "Epoch : 119 [12/36(33%)]\tLoss: 0.653241\n", + "Epoch : 119 [16/36(44%)]\tLoss: 0.449346\n", + "Epoch : 119 [20/36(56%)]\tLoss: 1.431417\n", + "Epoch : 119 [24/36(67%)]\tLoss: 0.320783\n", + "Epoch : 119 [28/36(78%)]\tLoss: 1.239929\n", + "Epoch : 119 [32/36(89%)]\tLoss: 2.468767\n", + "Epoch : 120 [0/36(0%)]\tLoss: 0.496580\n", + "Epoch : 120 [4/36(11%)]\tLoss: 1.329498\n", + "Epoch : 120 [8/36(22%)]\tLoss: 0.212545\n", + "Epoch : 120 [12/36(33%)]\tLoss: 0.401947\n", + "Epoch : 120 [16/36(44%)]\tLoss: 0.795469\n", + "Epoch : 120 [20/36(56%)]\tLoss: 0.227294\n", + "Epoch : 120 [24/36(67%)]\tLoss: 0.146377\n", + "Epoch : 120 [28/36(78%)]\tLoss: 0.797868\n", + "Epoch : 120 [32/36(89%)]\tLoss: 1.508107\n", + "Epoch : 121 [0/36(0%)]\tLoss: 0.373707\n", + "Epoch : 121 [4/36(11%)]\tLoss: 0.625583\n", + "Epoch : 121 [8/36(22%)]\tLoss: 0.294734\n", + "Epoch : 121 [12/36(33%)]\tLoss: 0.296944\n", + "Epoch : 121 [16/36(44%)]\tLoss: 0.512068\n", + "Epoch : 121 [20/36(56%)]\tLoss: 0.184261\n", + "Epoch : 121 [24/36(67%)]\tLoss: 0.518800\n", + "Epoch : 121 [28/36(78%)]\tLoss: 0.292019\n", + "Epoch : 121 [32/36(89%)]\tLoss: 0.913085\n", + "Epoch : 122 [0/36(0%)]\tLoss: 0.105474\n", + "Epoch : 122 [4/36(11%)]\tLoss: 0.362970\n", + "Epoch : 122 [8/36(22%)]\tLoss: 0.385958\n", + "Epoch : 122 [12/36(33%)]\tLoss: 0.842102\n", + "Epoch : 122 [16/36(44%)]\tLoss: 0.433981\n", + "Epoch : 122 [20/36(56%)]\tLoss: 0.255932\n", + "Epoch : 122 [24/36(67%)]\tLoss: 0.491283\n", + "Epoch : 122 [28/36(78%)]\tLoss: 0.458304\n", + "Epoch : 122 [32/36(89%)]\tLoss: 1.574129\n", + "Epoch : 123 [0/36(0%)]\tLoss: 0.641714\n", + "Epoch : 123 [4/36(11%)]\tLoss: 0.588053\n", + "Epoch : 123 [8/36(22%)]\tLoss: 0.408781\n", + "Epoch : 123 [12/36(33%)]\tLoss: 0.508579\n", + "Epoch : 123 [16/36(44%)]\tLoss: 0.354621\n", + "Epoch : 123 [20/36(56%)]\tLoss: 0.133906\n", + "Epoch : 123 [24/36(67%)]\tLoss: 0.281638\n", + "Epoch : 123 [28/36(78%)]\tLoss: 0.784268\n", + "Epoch : 123 [32/36(89%)]\tLoss: 1.092653\n", + "Epoch : 124 [0/36(0%)]\tLoss: 0.303241\n", + "Epoch : 124 [4/36(11%)]\tLoss: 0.659352\n", + "Epoch : 124 [8/36(22%)]\tLoss: 0.196398\n", + "Epoch : 124 [12/36(33%)]\tLoss: 0.404929\n", + "Epoch : 124 [16/36(44%)]\tLoss: 0.096755\n", + "Epoch : 124 [20/36(56%)]\tLoss: 0.178530\n", + "Epoch : 124 [24/36(67%)]\tLoss: 0.252993\n", + "Epoch : 124 [28/36(78%)]\tLoss: 0.560531\n", + "Epoch : 124 [32/36(89%)]\tLoss: 1.331570\n", + "Epoch : 125 [0/36(0%)]\tLoss: 0.450643\n", + "Epoch : 125 [4/36(11%)]\tLoss: 0.471208\n", + "Epoch : 125 [8/36(22%)]\tLoss: 0.241225\n", + "Epoch : 125 [12/36(33%)]\tLoss: 0.348469\n", + "Epoch : 125 [16/36(44%)]\tLoss: 0.667367\n", + "Epoch : 125 [20/36(56%)]\tLoss: 1.141148\n", + "Epoch : 125 [24/36(67%)]\tLoss: 0.134643\n", + "Epoch : 125 [28/36(78%)]\tLoss: 0.597573\n", + "Epoch : 125 [32/36(89%)]\tLoss: 1.033038\n", + "Epoch : 126 [0/36(0%)]\tLoss: 0.261483\n", + "Epoch : 126 [4/36(11%)]\tLoss: 0.501263\n", + "Epoch : 126 [8/36(22%)]\tLoss: 0.147147\n", + "Epoch : 126 [12/36(33%)]\tLoss: 0.315711\n", + "Epoch : 126 [16/36(44%)]\tLoss: 0.168286\n", + "Epoch : 126 [20/36(56%)]\tLoss: 0.233669\n", + "Epoch : 126 [24/36(67%)]\tLoss: 0.235317\n", + "Epoch : 126 [28/36(78%)]\tLoss: 0.458585\n", + "Epoch : 126 [32/36(89%)]\tLoss: 0.917091\n", + "Epoch : 127 [0/36(0%)]\tLoss: 0.204877\n", + "Epoch : 127 [4/36(11%)]\tLoss: 0.378307\n", + "Epoch : 127 [8/36(22%)]\tLoss: 0.133581\n", + "Epoch : 127 [12/36(33%)]\tLoss: 0.269956\n", + "Epoch : 127 [16/36(44%)]\tLoss: 0.165193\n", + "Epoch : 127 [20/36(56%)]\tLoss: 0.347857\n", + "Epoch : 127 [24/36(67%)]\tLoss: 0.240298\n", + "Epoch : 127 [28/36(78%)]\tLoss: 0.397952\n", + "Epoch : 127 [32/36(89%)]\tLoss: 1.013468\n", + "Epoch : 128 [0/36(0%)]\tLoss: 0.218075\n", + "Epoch : 128 [4/36(11%)]\tLoss: 0.427327\n", + "Epoch : 128 [8/36(22%)]\tLoss: 0.106589\n", + "Epoch : 128 [12/36(33%)]\tLoss: 0.262903\n", + "Epoch : 128 [16/36(44%)]\tLoss: 0.182383\n", + "Epoch : 128 [20/36(56%)]\tLoss: 0.373225\n", + "Epoch : 128 [24/36(67%)]\tLoss: 0.129266\n", + "Epoch : 128 [28/36(78%)]\tLoss: 0.372429\n", + "Epoch : 128 [32/36(89%)]\tLoss: 1.197997\n", + "Epoch : 129 [0/36(0%)]\tLoss: 0.095596\n", + "Epoch : 129 [4/36(11%)]\tLoss: 0.427785\n", + "Epoch : 129 [8/36(22%)]\tLoss: 0.422760\n", + "Epoch : 129 [12/36(33%)]\tLoss: 0.269683\n", + "Epoch : 129 [16/36(44%)]\tLoss: 0.064525\n", + "Epoch : 129 [20/36(56%)]\tLoss: 0.435171\n", + "Epoch : 129 [24/36(67%)]\tLoss: 0.099316\n", + "Epoch : 129 [28/36(78%)]\tLoss: 0.485027\n", + "Epoch : 129 [32/36(89%)]\tLoss: 0.494174\n", + "Epoch : 130 [0/36(0%)]\tLoss: 0.398091\n", + "Epoch : 130 [4/36(11%)]\tLoss: 0.261668\n", + "Epoch : 130 [8/36(22%)]\tLoss: 0.366371\n", + "Epoch : 130 [12/36(33%)]\tLoss: 0.349054\n", + "Epoch : 130 [16/36(44%)]\tLoss: 0.102390\n", + "Epoch : 130 [20/36(56%)]\tLoss: 0.064781\n", + "Epoch : 130 [24/36(67%)]\tLoss: 0.689252\n", + "Epoch : 130 [28/36(78%)]\tLoss: 0.579529\n", + "Epoch : 130 [32/36(89%)]\tLoss: 0.986484\n", + "Epoch : 131 [0/36(0%)]\tLoss: 0.421221\n", + "Epoch : 131 [4/36(11%)]\tLoss: 0.277819\n", + "Epoch : 131 [8/36(22%)]\tLoss: 0.076739\n", + "Epoch : 131 [12/36(33%)]\tLoss: 0.444298\n", + "Epoch : 131 [16/36(44%)]\tLoss: 0.259264\n", + "Epoch : 131 [20/36(56%)]\tLoss: 0.093930\n", + "Epoch : 131 [24/36(67%)]\tLoss: 0.312389\n", + "Epoch : 131 [28/36(78%)]\tLoss: 0.802015\n", + "Epoch : 131 [32/36(89%)]\tLoss: 1.190497\n", + "Epoch : 132 [0/36(0%)]\tLoss: 0.107920\n", + "Epoch : 132 [4/36(11%)]\tLoss: 0.727148\n", + "Epoch : 132 [8/36(22%)]\tLoss: 0.384293\n", + "Epoch : 132 [12/36(33%)]\tLoss: 0.240719\n", + "Epoch : 132 [16/36(44%)]\tLoss: 0.414718\n", + "Epoch : 132 [20/36(56%)]\tLoss: 0.154325\n", + "Epoch : 132 [24/36(67%)]\tLoss: 0.444278\n", + "Epoch : 132 [28/36(78%)]\tLoss: 0.450049\n", + "Epoch : 132 [32/36(89%)]\tLoss: 0.222543\n", + "Epoch : 133 [0/36(0%)]\tLoss: 0.331570\n", + "Epoch : 133 [4/36(11%)]\tLoss: 0.219660\n", + "Epoch : 133 [8/36(22%)]\tLoss: 1.179513\n", + "Epoch : 133 [12/36(33%)]\tLoss: 0.507278\n", + "Epoch : 133 [16/36(44%)]\tLoss: 0.332183\n", + "Epoch : 133 [20/36(56%)]\tLoss: 0.615503\n", + "Epoch : 133 [24/36(67%)]\tLoss: 0.685250\n", + "Epoch : 133 [28/36(78%)]\tLoss: 0.814147\n", + "Epoch : 133 [32/36(89%)]\tLoss: 0.681970\n", + "Epoch : 134 [0/36(0%)]\tLoss: 0.233180\n", + "Epoch : 134 [4/36(11%)]\tLoss: 0.201039\n", + "Epoch : 134 [8/36(22%)]\tLoss: 1.218483\n", + "Epoch : 134 [12/36(33%)]\tLoss: 0.683112\n", + "Epoch : 134 [16/36(44%)]\tLoss: 0.496025\n", + "Epoch : 134 [20/36(56%)]\tLoss: 0.166943\n", + "Epoch : 134 [24/36(67%)]\tLoss: 0.246609\n", + "Epoch : 134 [28/36(78%)]\tLoss: 0.649869\n", + "Epoch : 134 [32/36(89%)]\tLoss: 0.882147\n", + "Epoch : 135 [0/36(0%)]\tLoss: 0.950412\n", + "Epoch : 135 [4/36(11%)]\tLoss: 0.720058\n", + "Epoch : 135 [8/36(22%)]\tLoss: 0.293573\n", + "Epoch : 135 [12/36(33%)]\tLoss: 0.407930\n", + "Epoch : 135 [16/36(44%)]\tLoss: 0.310307\n", + "Epoch : 135 [20/36(56%)]\tLoss: 0.480428\n", + "Epoch : 135 [24/36(67%)]\tLoss: 0.100876\n", + "Epoch : 135 [28/36(78%)]\tLoss: 0.689427\n", + "Epoch : 135 [32/36(89%)]\tLoss: 0.472137\n", + "Epoch : 136 [0/36(0%)]\tLoss: 0.400257\n", + "Epoch : 136 [4/36(11%)]\tLoss: 0.872630\n", + "Epoch : 136 [8/36(22%)]\tLoss: 0.431947\n", + "Epoch : 136 [12/36(33%)]\tLoss: 0.868511\n", + "Epoch : 136 [16/36(44%)]\tLoss: 0.106388\n", + "Epoch : 136 [20/36(56%)]\tLoss: 0.196197\n", + "Epoch : 136 [24/36(67%)]\tLoss: 0.411208\n", + "Epoch : 136 [28/36(78%)]\tLoss: 2.043366\n", + "Epoch : 136 [32/36(89%)]\tLoss: 1.193917\n", + "Epoch : 137 [0/36(0%)]\tLoss: 0.358517\n", + "Epoch : 137 [4/36(11%)]\tLoss: 0.533059\n", + "Epoch : 137 [8/36(22%)]\tLoss: 0.251978\n", + "Epoch : 137 [12/36(33%)]\tLoss: 1.076772\n", + "Epoch : 137 [16/36(44%)]\tLoss: 1.465810\n", + "Epoch : 137 [20/36(56%)]\tLoss: 0.164098\n", + "Epoch : 137 [24/36(67%)]\tLoss: 0.195267\n", + "Epoch : 137 [28/36(78%)]\tLoss: 0.999646\n", + "Epoch : 137 [32/36(89%)]\tLoss: 1.600786\n", + "Epoch : 138 [0/36(0%)]\tLoss: 1.040351\n", + "Epoch : 138 [4/36(11%)]\tLoss: 0.316218\n", + "Epoch : 138 [8/36(22%)]\tLoss: 0.072007\n", + "Epoch : 138 [12/36(33%)]\tLoss: 0.320886\n", + "Epoch : 138 [16/36(44%)]\tLoss: 0.418012\n", + "Epoch : 138 [20/36(56%)]\tLoss: 0.440652\n", + "Epoch : 138 [24/36(67%)]\tLoss: 0.422802\n", + "Epoch : 138 [28/36(78%)]\tLoss: 0.769675\n", + "Epoch : 138 [32/36(89%)]\tLoss: 0.215521\n", + "Epoch : 139 [0/36(0%)]\tLoss: 0.115633\n", + "Epoch : 139 [4/36(11%)]\tLoss: 0.216503\n", + "Epoch : 139 [8/36(22%)]\tLoss: 1.387242\n", + "Epoch : 139 [12/36(33%)]\tLoss: 0.782575\n", + "Epoch : 139 [16/36(44%)]\tLoss: 1.566309\n", + "Epoch : 139 [20/36(56%)]\tLoss: 0.169618\n", + "Epoch : 139 [24/36(67%)]\tLoss: 0.321079\n", + "Epoch : 139 [28/36(78%)]\tLoss: 1.892269\n", + "Epoch : 139 [32/36(89%)]\tLoss: 1.578717\n", + "Epoch : 140 [0/36(0%)]\tLoss: 0.972915\n", + "Epoch : 140 [4/36(11%)]\tLoss: 0.357358\n", + "Epoch : 140 [8/36(22%)]\tLoss: 0.241630\n", + "Epoch : 140 [12/36(33%)]\tLoss: 1.979794\n", + "Epoch : 140 [16/36(44%)]\tLoss: 1.005613\n", + "Epoch : 140 [20/36(56%)]\tLoss: 2.075208\n", + "Epoch : 140 [24/36(67%)]\tLoss: 0.361093\n", + "Epoch : 140 [28/36(78%)]\tLoss: 0.700552\n", + "Epoch : 140 [32/36(89%)]\tLoss: 0.790920\n", + "Epoch : 141 [0/36(0%)]\tLoss: 1.033034\n", + "Epoch : 141 [4/36(11%)]\tLoss: 1.490320\n", + "Epoch : 141 [8/36(22%)]\tLoss: 1.694446\n", + "Epoch : 141 [12/36(33%)]\tLoss: 0.284531\n", + "Epoch : 141 [16/36(44%)]\tLoss: 0.684254\n", + "Epoch : 141 [20/36(56%)]\tLoss: 0.924268\n", + "Epoch : 141 [24/36(67%)]\tLoss: 0.852715\n", + "Epoch : 141 [28/36(78%)]\tLoss: 2.647202\n", + "Epoch : 141 [32/36(89%)]\tLoss: 2.387078\n", + "Epoch : 142 [0/36(0%)]\tLoss: 0.515756\n", + "Epoch : 142 [4/36(11%)]\tLoss: 0.645689\n", + "Epoch : 142 [8/36(22%)]\tLoss: 2.698315\n", + "Epoch : 142 [12/36(33%)]\tLoss: 2.020222\n", + "Epoch : 142 [16/36(44%)]\tLoss: 2.305176\n", + "Epoch : 142 [20/36(56%)]\tLoss: 0.251027\n", + "Epoch : 142 [24/36(67%)]\tLoss: 0.100128\n", + "Epoch : 142 [28/36(78%)]\tLoss: 1.517791\n", + "Epoch : 142 [32/36(89%)]\tLoss: 2.365940\n", + "Epoch : 143 [0/36(0%)]\tLoss: 0.627280\n", + "Epoch : 143 [4/36(11%)]\tLoss: 0.945482\n", + "Epoch : 143 [8/36(22%)]\tLoss: 0.548452\n", + "Epoch : 143 [12/36(33%)]\tLoss: 0.475816\n", + "Epoch : 143 [16/36(44%)]\tLoss: 0.632295\n", + "Epoch : 143 [20/36(56%)]\tLoss: 0.802314\n", + "Epoch : 143 [24/36(67%)]\tLoss: 0.869394\n", + "Epoch : 143 [28/36(78%)]\tLoss: 1.126444\n", + "Epoch : 143 [32/36(89%)]\tLoss: 0.794685\n", + "Epoch : 144 [0/36(0%)]\tLoss: 0.244318\n", + "Epoch : 144 [4/36(11%)]\tLoss: 0.433870\n", + "Epoch : 144 [8/36(22%)]\tLoss: 0.847268\n", + "Epoch : 144 [12/36(33%)]\tLoss: 0.564828\n", + "Epoch : 144 [16/36(44%)]\tLoss: 0.316582\n", + "Epoch : 144 [20/36(56%)]\tLoss: 0.440226\n", + "Epoch : 144 [24/36(67%)]\tLoss: 0.164335\n", + "Epoch : 144 [28/36(78%)]\tLoss: 0.768544\n", + "Epoch : 144 [32/36(89%)]\tLoss: 1.127977\n", + "Epoch : 145 [0/36(0%)]\tLoss: 0.730341\n", + "Epoch : 145 [4/36(11%)]\tLoss: 0.662882\n", + "Epoch : 145 [8/36(22%)]\tLoss: 0.428531\n", + "Epoch : 145 [12/36(33%)]\tLoss: 0.767850\n", + "Epoch : 145 [16/36(44%)]\tLoss: 0.671206\n", + "Epoch : 145 [20/36(56%)]\tLoss: 1.436890\n", + "Epoch : 145 [24/36(67%)]\tLoss: 0.333507\n", + "Epoch : 145 [28/36(78%)]\tLoss: 1.077127\n", + "Epoch : 145 [32/36(89%)]\tLoss: 0.513798\n", + "Epoch : 146 [0/36(0%)]\tLoss: 0.488236\n", + "Epoch : 146 [4/36(11%)]\tLoss: 1.707183\n", + "Epoch : 146 [8/36(22%)]\tLoss: 1.131946\n", + "Epoch : 146 [12/36(33%)]\tLoss: 0.337823\n", + "Epoch : 146 [16/36(44%)]\tLoss: 0.644723\n", + "Epoch : 146 [20/36(56%)]\tLoss: 0.432891\n", + "Epoch : 146 [24/36(67%)]\tLoss: 0.394648\n", + "Epoch : 146 [28/36(78%)]\tLoss: 1.821868\n", + "Epoch : 146 [32/36(89%)]\tLoss: 1.246490\n", + "Epoch : 147 [0/36(0%)]\tLoss: 0.463571\n", + "Epoch : 147 [4/36(11%)]\tLoss: 0.483670\n", + "Epoch : 147 [8/36(22%)]\tLoss: 0.736627\n", + "Epoch : 147 [12/36(33%)]\tLoss: 0.479373\n", + "Epoch : 147 [16/36(44%)]\tLoss: 0.696391\n", + "Epoch : 147 [20/36(56%)]\tLoss: 0.193805\n", + "Epoch : 147 [24/36(67%)]\tLoss: 0.501059\n", + "Epoch : 147 [28/36(78%)]\tLoss: 0.925222\n", + "Epoch : 147 [32/36(89%)]\tLoss: 1.307393\n", + "Epoch : 148 [0/36(0%)]\tLoss: 0.854597\n", + "Epoch : 148 [4/36(11%)]\tLoss: 0.545664\n", + "Epoch : 148 [8/36(22%)]\tLoss: 0.529505\n", + "Epoch : 148 [12/36(33%)]\tLoss: 0.441990\n", + "Epoch : 148 [16/36(44%)]\tLoss: 0.178986\n", + "Epoch : 148 [20/36(56%)]\tLoss: 0.571213\n", + "Epoch : 148 [24/36(67%)]\tLoss: 1.163178\n", + "Epoch : 148 [28/36(78%)]\tLoss: 0.965102\n", + "Epoch : 148 [32/36(89%)]\tLoss: 0.520753\n", + "Epoch : 149 [0/36(0%)]\tLoss: 0.142795\n", + "Epoch : 149 [4/36(11%)]\tLoss: 0.744774\n", + "Epoch : 149 [8/36(22%)]\tLoss: 0.818580\n", + "Epoch : 149 [12/36(33%)]\tLoss: 0.774485\n", + "Epoch : 149 [16/36(44%)]\tLoss: 0.585282\n", + "Epoch : 149 [20/36(56%)]\tLoss: 1.528380\n", + "Epoch : 149 [24/36(67%)]\tLoss: 0.171141\n", + "Epoch : 149 [28/36(78%)]\tLoss: 1.406376\n", + "Epoch : 149 [32/36(89%)]\tLoss: 1.642578\n", + "--- 0.24148858785629274 minutes ---\n" + ] + } + ], + "source": [ + "# calculate the time for the code execution\n", + "start_time = tt.time()\n", + "\n", + "# switch model into training mode\n", + "model.train()\n", + "\n", + "hist_train = []\n", + "hist_valid = []\n", + "for epoch in range(config.epoch):\n", + " # training loop\n", + " # switch model into train mode\n", + " model.train()\n", + " hist_train_step = 0\n", + " for batch_idx, (X_batch, y_batch) in enumerate(train_loader):\n", + " var_X_batch = Variable(X_batch).to(device)\n", + " var_y_batch = Variable(y_batch).to(device)\n", + " optimizer.zero_grad()\n", + " # note: decoder input is the last instance of encoder input\n", + " output = model(var_X_batch)\n", + " loss = criterion(output[:,-1,:].squeeze(), var_y_batch) # we only need the last instance from output sequence\n", + " loss.backward()\n", + " optimizer.step()\n", + " wandb.log({'train_loss': loss.item()})\n", + " print(f'Epoch : {epoch} [{batch_idx*len(X_batch)}/{len(train_loader.dataset)}'\n", + " f'({100.* batch_idx / len(train_loader):.0f}%)]\\tLoss: {loss.item():.6f}')\n", + " hist_train_step += loss.item()\n", + "\n", + " hist_train.append(hist_train_step / len(train_loader.dataset))\n", + "\n", + " # cross-validation loop\n", + " # switch model into evaluation mode\n", + " model.eval()\n", + " hist_valid_step = 0\n", + "\n", + " for batch_idx, (X_batch, y_batch) in enumerate(valid_loader):\n", + " var_X_batch = Variable(X_batch).to(device)\n", + " var_y_batch = Variable(y_batch).to(device)\n", + " optimizer.zero_grad()\n", + " with torch.no_grad():\n", + " output = model(var_X_batch)\n", + " loss = criterion(output[:,-1,:].squeeze(), var_y_batch)\n", + " wandb.log({'validation_loss': loss.item()})\n", + " hist_valid_step += loss.item()\n", + "\n", + " hist_valid.append(hist_valid_step / len(valid_loader.dataset))\n", + "\n", + "print (f\"--- {(tt.time() - start_time)/60} minutes ---\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let's check the training loss and validation loss." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+QAAAHWCAYAAAD+cEOeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADBqElEQVR4nOzdd3hTZRsG8Dvde1Chg1GG7C3LiiwFEZWtKKIiojgqCDgRBUT8QFyIVEBFEAVFQBBRQEBARUBkyd6yyoa2dK/z/fH05CRt2iZtdu/fdfU6ycnpyZtSmtzneYdOURQFRERERERERGRXHo5uABEREREREVFFxEBORERERERE5AAM5EREREREREQOwEBORERERERE5AAM5EREREREREQOwEBORERERERE5AAM5EREREREREQOwEBORERERERE5AAM5EREREREREQOwEBOREREROSCOnfujM6dO5t9bJMmTWzboAI1a9bE448/bpfnInJ1DOREFci8efOg0+mg0+nw559/FnlcURRUr14dOp0O9913n35/amoqxo8fjyZNmiAwMBARERFo0aIFXnjhBSQmJuqPmzBhgv78pr4uXLhgl9dJRERkLvW98Z9//nF0U8otMTEREyZMwO7dux3dFKupWbMmdDodunbtavLxzz//XP85o/C/4Z9//okePXqgatWq8PPzQ40aNdCzZ08sXLjQ6LiSPrs888wzNnttRADg5egGEJH9+fn5YeHChbj99tuN9m/atAlnz56Fr6+vfl9OTg46duyIQ4cOYfDgwRg+fDhSU1Oxf/9+LFy4EH379kVMTIzReWbOnImgoKAizxsWFmaT10NERFQR/frrr0b3ExMT8dZbb6FmzZpo0aKFYxoF4PDhw/DwsF7dz8/PDxs2bMCFCxcQFRVl9NiCBQvg5+eHzMxMo/2LFy/Ggw8+qC8ghIeH4+TJk/j999/x+eef4+GHHzY6vlu3bnjssceKPHe9evWs9jqITGEgJ6qA7rnnHixevBjTp0+Hl5f2Z2DhwoVo1aoVrly5ot+3fPly7Nq1CwsWLCjy5pWZmYns7Owi57///vtx00032e4FEBERVWDp6ekICAiAj4+Po5tikuGFfWto3749tm/fjkWLFuGFF17Q7z979iz++OMP9O3bF0uXLjX6ngkTJqBRo0bYunVrkZ/TpUuXijxHvXr18Mgj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hHNbb0xktfdq6yOnrXcYY8zROdYuIiIiIiIiIu2lc8hFREREREREgkAFuYiIiIiIiEgQqCAXERERERERCQIV5CIiIiIiIiJBoIJcREREREREJAhUkIuIiIiIiIgEgQpyERERERERkSBQQS4iIiIiIiISBCrIReSYcjgcvPXWW8EOQ0RERI4htfcih0cFuUgE+/nPf47D4WgxjRkzJtihiYiIyFGi9l4kfLmCHYCIHFtjxozhxRdfDJjndruDFI2IiIgcC2rvRcKTjpCLRDi32012dnbAlJaWBtjuZdOnT2fs2LHExcXRs2dP/v73vwc8fsWKFZx33nnExcXRoUMHbrjhBqqqqgLWeeGFFxgwYABut5ucnBxuvvnmgOVlZWVceumlxMfH07t3b955551jm7SIiMgJRu29SHhSQS5ygrv33nu5/PLLWbZsGXl5efzsZz9j9erVAFRXV3PhhReSlpbG4sWLmTlzJh999FFAAzx9+nQKCgq44YYbWLFiBe+88w69evUKeI0HHniAK6+8kuXLl/PjH/+YvLw8du3adVzzFBEROZGpvRcJUUZEIlZ+fr6JiooyCQkJAdOUKVOMMcYAZuLEiQGPGTFihLnxxhuNMcY899xzJi0tzVRVVfmXv//++8bpdJri4mJjjDG5ubnmt7/9bZsxAOZ3v/ud/35VVZUBzOzZs49aniIiIicytfci4UvnkItEuHPPPZfp06cHzEtPT/f/PXLkyIBlI0eOpKioCIDVq1czaNAgEhIS/MtHjRqF1+tl7dq1OBwOtm/fzvnnn3/AGE499VT/3wkJCSQnJ1NaWnq4KYmIiMh+1N6LhCcV5CIRLiEhoUWXsqMlLi6uXetFR0cH3Hc4HHi93mMRkoiIyAlJ7b1IeNI55CInuAULFrS4369fPwD69evHsmXLqK6u9i//17/+hdPppE+fPiQlJdG9e3cKCwuPa8wiIiJyaNTei4QmHSEXiXD19fUUFxcHzHO5XGRkZAAwc+ZMhg4dyllnncXLL7/MokWL+Mtf/gJAXl4e999/P/n5+fz+979nx44d3HLLLYwfP56srCwAfv/73zNx4kQyMzMZO3YslZWV/Otf/+KWW245vomKiIicwNTei4QnFeQiEW7OnDnk5OQEzOvTpw9r1qwB7Iior732GjfddBM5OTm8+uqr9O/fH4D4+Hg++OADJk2axLBhw4iPj+fyyy/n8ccf9z9Xfn4+dXV1PPHEE/zqV78iIyODn/70p8cvQREREVF7LxKmHMYYE+wgRCQ4HA4Hs2bNYty4ccEORURERI4RtfcioUvnkIuIiIiIiIgEgQpyERERERERkSBQl3URERERERGRINARchEREREREZEgUEEuIiIiIiIiEgQqyEVERERERESCQAW5iIiIiIiISBCoIBcREREREREJAhXkIiIiIiIiIkGgglxEREREREQkCFSQi4iIiIiIiATB/wcBVOnh9eXmNwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "fig = plt.figure(figsize=(12, 5))\n", + "fig.add_subplot(1, 2, 1)\n", + "plt.plot(np.asarray(hist_train), 'b', label=\"Training loss\")\n", + "plt.plot(np.asarray(hist_valid), 'r', label=\"Validation loss\")\n", + "plt.xlabel('Epoch')\n", + "plt.ylabel('Loss')\n", + "plt.title(\"MSE\")\n", + "plt.legend()\n", + "\n", + "fig.add_subplot(1, 2, 2)\n", + "plt.semilogy(np.asarray(hist_train), 'b', label=\"Training loss\")\n", + "plt.semilogy(np.asarray(hist_valid), 'r', label=\"Validation loss\")\n", + "plt.xlabel('Epoch')\n", + "plt.ylabel('Logarithmic loss')\n", + "plt.title(\"Logarithmic MSE\")\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Evaluate model\n", + "Now we can evaluate our model with testing set and compare the predictions with the ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# switch model into evaluation mode\n", + "model.eval()\n", + "hist_test = []\n", + "predictions = []\n", + "hist_test_step = 0\n", + "for batch_idx, (X_batch, y_batch) in enumerate(test_loader):\n", + " var_X_batch = Variable(X_batch).to(device)\n", + " var_y_batch = Variable(y_batch).to(device)\n", + " optimizer.zero_grad()\n", + " with torch.no_grad():\n", + " output = model(var_X_batch)\n", + " loss = criterion(output[:,-1,:].squeeze(), var_y_batch)\n", + " wandb.log({'testing_loss': loss.item()})\n", + " predictions.append(output.squeeze().cpu().detach().numpy()[:,-1])\n", + " hist_test_step += loss.item()\n", + "\n", + "hist_test.append(hist_test_step / len(test_loader.dataset))\n", + "# call wandb finish to stop logging\n", + "wandb.finish()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plot the predictions versus ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The MSE loss is 0.319\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ground_truth = test_y_torch.squeeze().numpy()\n", + "\n", + "print(f\"The MSE loss is {hist_test[0]:.3f}\")\n", + "\n", + "fig = plt.figure()\n", + "instances = np.arange(len(np.concatenate(predictions)))\n", + "plt.scatter(instances, np.concatenate(predictions), label=\"Predictions\")\n", + "plt.scatter(instances, ground_truth, label=\"Ground truth\")\n", + "plt.scatter(instances, [ground_truth.mean()] * len(instances), label=\"Mean of ground truth\")\n", + "plt.xlabel(\"Experiment\")\n", + "plt.ylabel(\"TS\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3. Evaluate predictions with baseline model\n", + "To better evaluate the predictions, we perform a linear regression (ridge) with dimensionality reduction as baseline.\n", + "\n", + "Train-test split will be performed based on the previous split, which can be refered to as \"inner cross-validation layer\".
\n", + "For each split, we will perform dimensionality reduction and fit the model. The best model will be selected based on the mean squared error." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start with importing and initializing the response guided dimensionality reduction (RGDR) operator." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "from s2spy import RGDR\n", + "from sklearn.linear_model import Ridge\n", + "from sklearn.metrics import mean_squared_error\n", + "from sklearn.model_selection import KFold\n", + "\n", + "# cross-validation with Kfold\n", + "k_fold_splits = 5\n", + "kfold = KFold(n_splits=k_fold_splits)\n", + "cv = lilio.traintest.TrainTestSplit(kfold)\n", + "\n", + "# create lists for saving models and predictions\n", + "models = []\n", + "RGDRs = []\n", + "rmse_train = []\n", + "rmse_test = []\n", + "train_test_splits = []\n", + "\n", + "# prepare operator for dimensionality reduction\n", + "target_intervals = 1\n", + "lag = 2" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can perform dimentionality reduction and train ridge model for each split." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "\n", + "# cross validation based dimensionality reduction and model training\n", + "for x_train, x_test, y_train, y_test in cv.split(precursor_field_sel[:-test_samples],\n", + " y=target_series_sel[:-test_samples]):\n", + " # log train/test splits with anchor years\n", + " train_test_splits.append({\n", + " \"train\": x_train.anchor_year.values,\n", + " \"test\": x_test.anchor_year.values,\n", + " })\n", + " # fit dimensionality reduction operator RGDR\n", + " rgdr = RGDR(\n", + " target_intervals=target_intervals,\n", + " lag=lag,\n", + " eps_km=600,\n", + " alpha=0.05,\n", + " min_area_km2=0\n", + " )\n", + " rgdr.fit(x_train, y_train)\n", + " # save dimensionality reduction operator\n", + " RGDRs.append(rgdr)\n", + " # transform to train and test data\n", + " clusters_train = rgdr.transform(x_train)\n", + " clusters_test = rgdr.transform(x_test)\n", + " # train model\n", + " ridge = Ridge(alpha=1.0)\n", + " model = ridge.fit(clusters_train.isel(i_interval=0), y_train.sel(i_interval=1))\n", + " # save model\n", + " models.append(model)\n", + " # predict and save results\n", + " prediction = model.predict(clusters_test.isel(i_interval=0))\n", + " # calculate and save rmse\n", + " rmse_train.append(mean_squared_error(y_train.sel(i_interval=1),\n", + " model.predict(clusters_train.isel(i_interval=0))))\n", + " rmse_test.append(mean_squared_error(y_test.sel(i_interval=1),\n", + " prediction))" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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WRP/mIiI2KRXLzPlu2xZ+PBDu6uJp3DjJnr27ImnpycVKlSgQIECtxw/89lnn5EnTx4efvhhGjduTIMGDahevXq61udwOFi0aBF58uThscceo169etx777189913AHh6evLPP//QqlUrypYtS/PmzWnUqBGDBg0CICYmhoCAAMqXL0/Dhg0pW7YsEydOTNeaRUTkFtauhbgW9GnTbhyjYSOHZVmW3UVkpLCwMPz8/AgNDcXX1zfJY1euXCEoKIhSpUqRzYl+SZI6+j2KiKSzy5ehShWzaN9bb5mp3+nsVp/f11PLjYiIiKTO4MEm2BQtCsOH213NDRRuREREJOV27YIRI8zxxIng52dvPclQuBEREZGUiY6Gdu0gJgb+9z9o0sTuipKlcCMiIiIpM2YMbN8OuXODE681pnAjIiIit3f0KPTrZ44//dTWjTFvR+FGREREbs2yzKyoy5ehbl144w27K7olhRsRERG5tdmz4ddfzVo2U6fauuN3SijciIiIyM2FhED37uZ40CAoXdreelJA4Ubu2hNPPEG3bt3sLkNERNJD167w779QrRr06GF3NSmicOMm0iNgtGnThqZNm6bpa4qIiAv56Sf47juz0/f06WbnbxegcCMiIiI3CguDt982xz16QDrvQZiWFG7cQJs2bVi3bh1jxozB4XDgcDg4duwYAHv27KFRo0bkzJmTQoUK0bJlS86fPx//3Hnz5lGpUiWyZ89Ovnz5qFevHhEREQwcOJAvv/ySRYsWxb/m2rVrU1TPv//+S6tWrciTJw85cuSgUaNGHDp0KP7x48eP07hxY/LkyYOPjw8VK1Zk6dKl8c9t0aIFBQoUIHv27JQpU4aZM2em2c9KRERS6P334e+/4b77YOBAu6tJFddoX7KTZUFkpD1fO0eOFI1IHzNmDAcPHuSBBx7go48+AqBAgQJcvHiRJ598kvbt2/P5559z+fJlevfuTfPmzVm9ejWnT5/m1VdfZcSIEbzwwgtcunSJ3377Dcuy6NmzJ/v37ycsLCw+XOTNmzdFZbdp04ZDhw6xePFifH196d27N8888wz79u0ja9asBAQEcPXqVdavX4+Pjw/79u0jZ86cAPTr1499+/bxyy+/kD9/fg4fPszly5fv8AcoIiJ3ZONGs7UCmNlROXLYW08qKdzcTmQk/PfBm+HCw8HH57aX+fn54eXlRY4cOSicaFGl8ePHU61aNYYOHRp/bsaMGfj7+3Pw4EHCw8OJjo7mxRdf5J577gGgUqVK8ddmz56dqKioJK95O3GhZuPGjTz88MMAzJkzB39/fxYuXEizZs0IDg7mpZdeiv9a9957b/zzg4ODqVatGjVr1gSgZMmSKf7aIiKSBqKioEMH88f9G2/Ak0/aXVGqqVvKje3atYs1a9aQM2fO+Nv9998PwJEjR6hSpQpPPfUUlSpVolmzZkybNo1///33rr7m/v37yZIlC7Vr144/ly9fPsqVK8f+/fsBeOeddxgyZAiPPPIIAwYM4M8//4y/tlOnTsydO5eqVavSq1cvfv/997uqR0REUmnoUNi/HwoVgpEj7a7mjijc3E6OHKYFxY7bXTYDhoeH07hxYwIDA5PcDh06xGOPPYanpycrV67kl19+oUKFCowbN45y5coRFBSURj+85LVv356jR4/SsmVLdu/eTc2aNRn33x4ljRo14vjx43Tv3p1Tp07x1FNP0bNnz3StR0RE/rNnDwwbZo7HjYMUDkdwNgo3t+NwmK4hO26pWAHSy8uLmJiYJOeqV6/O3r17KVmyJKVLl05y8/mvu8vhcPDII48waNAgdu7ciZeXFwsWLLjpa95O+fLliY6OZvPmzfHn/vnnH/766y8qVKgQf87f35+OHTsyf/583n33XaZNmxb/WIECBWjdujVff/01o0ePZurUqamqQURE7kBMDLRvD9euwfPPm12/XZTCjZsoWbIkmzdv5tixY5w/f57Y2FgCAgK4cOECr776Klu3buXIkSMsX76ctm3bEhMTw+bNmxk6dCjbtm0jODiY+fPnc+7cOcqXLx//mn/++Sd//fUX58+f59q1a7eto0yZMjRp0oQOHTqwYcMGdu3axeuvv06xYsVo0qQJAN26dWP58uUEBQWxY8cO1qxZE/81+/fvz6JFizh8+DB79+7l559/jn9MRETS0cSJsHkz+PqaYyffYuFWFG7cRM+ePfH09KRChQoUKFCA4OBgihYtysaNG4mJiaF+/fpUqlSJbt26kTt3bjw8PPD19WX9+vU888wzlC1blg8//JBRo0bRqFEjADp06EC5cuWoWbMmBQoUYOPGjSmqZebMmdSoUYPnnnuOOnXqYFkWS5cuJWvWrADExMQQEBBA+fLladiwIWXLlmXif6Pyvby86Nu3L5Ur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ePLJJ2nSpAl79+61uzRJpa1btzJlyhQqV65sWw2aCp4GateuTa1atRg/fjxg9q/y9/enS5cu9OnTx+bqJLUcDgcLFiygadOmdpcid+jcuXMULFiQdevW8dhjj9ldjtyhvHnzMnLkSNq1a2d3KZJC4eHhVK9enYkTJzJkyBCqVq3K6NGjM7wOtdzcpatXr7J9+3bq1asXf87Dw4N69eqxadMmGysTybxCQ0MB8+EoricmJoa5c+cSERFBnTp17C5HUiEgIIBnn302yWeiHTLdxplp7fz588TExFCoUKEk5wsVKsSBAwdsqkok84qNjaVbt2488sgjPPDAA3aXI6mwe/du6tSpw5UrV8iZMycLFiygQoUKdpclKTR37lx27NjB1q1b7S5F4UZE3EtAQAB79uxhw4YNdpciqVSuXDkCAwMJDQ1l3rx5tG7dmnXr1inguIATJ07QtWtXVq5cSbZs2ewuR+HmbuXPnx9PT09CQkKSnA8JCaFw4cI2VSWSOXXu3Jmff/6Z9evXU7x4cbvLkVTy8vKidOnSANSoUYOtW7cyZswYpkyZYnNlcjvbt2/n7NmzVK9ePf5cTEwM69evZ/z48URFReHp6Zlh9WjMzV3y8vKiRo0arFq1Kv5cbGwsq1atUl+xSAaxLIvOnTuzYMECVq9eTalSpewuSdJAbGwsUVFRdpchKfDUU0+xe/duAgMD4281a9akRYsWBAYGZmiwAbXcpIkePXrQunVratasyYMPPsjo0aOJiIigbdu2dpcmKRQeHs7hw4fj7wcFBREYGEjevHkpUaKEjZVJSgQEBPDNN9+waNEicuXKxZkzZwDw8/Mje/bsNlcnKdG3b18aNWpEiRIluHTpEt988w1r165l+fLldpcmKZArV64bxrj5+PiQL18+W8a+KdykgZdffplz587Rv39/zpw5Q9WqVVm2bNkNg4zFeW3bto26devG3+/RowcArVu3ZtasWTZVJSk1adIkAJ544okk52fOnEmbNm0yviBJtbNnz9KqVStOnz6Nn58flStXZvny5Tz99NN2lyYuSOvciIiIiFvRmBsRERFxKwo3IiIi4lYUbkRERMStKNyIiIiIW1G4EREREbeicCMiIiJuReFGRERE3IrCjYiIiLgVhRsRcTtt2rShadOmdpchIjZRuBGRO9KmTRscDscNt4YNG9pdGmPGjHGabTMcDgcLFy60uwyRTEV7S4nIHWvYsCEzZ85Mcs7b29umaiAmJgaHw4Gfn59tNYiI/dRyIyJ3zNvbm8KFCye55cmTh7Vr1+Ll5cVvv/0Wf+2IESMoWLAgISEhgNnksnPnznTu3Bk/Pz/y589Pv379SLzdXVRUFD179qRYsWL4+PhQu3Zt1q5dG//4rFmzyJ07N4sXL6ZChQp4e3sTHBx8Q7fUE088QZcuXejWrRt58uShUKFCTJs2jYiICNq2bUuuXLkoXbo0v/zyS5Lvb8+ePTRq1IicOXNSqFAhWrZsyfnz55O87jvvvEOvXr3ImzcvhQsXZuDAgfGPlyxZEoAXXngBh8MRf19E0pfCjYikuSeeeIJu3brRsmVLQkND2blzJ/369WP69OkUKlQo/rovv/ySLFmysGXLFsaMGcNnn33G9OnT4x/v3LkzmzZtYu7cufz55580a9aMhg0bcujQofhrIiMjGT58ONOnT2fv3r0ULFgw2Zq+/PJL8ufPz5YtW+jSpQudOnWiWbNmPPzww+zYsYP69evTsmVLIiMjAbh48SJPPvkk1apVY9u2bSxbtoyQkBCaN29+w+v6+PiwefNmRowYwUcffcTKlSsB2Lp1K2B2Jz99+nT8fRFJZ5aIyB1o3bq15enpafn4+CS5ffzxx5ZlWVZUVJRVtWpVq3nz5laFChWsDh06JHn+448/bpUvX96KjY2NP9e7d2+rfPnylmVZ1vHjxy1PT0/r5MmTSZ731FNPWX379rUsy7JmzpxpAVZgYOANtTVp0iTJ1/q///u/+PvR0dGWj4+P1bJly/hzp0+ftgBr06ZNlmVZ1uDBg6369esned0TJ05YgPXXX38l+7qWZVm1atWyevfuHX8fsBYsWHCTn6KIpAeNuRGRO1a3bl0mTZqU5FzevHkB8PLyYs6cOVSuXJl77rmHzz///IbnP/TQQzgcjvj7derUYdSoUcTExLB7925iYmIoW7ZskudERUWRL1+++PteXl5Urlz5trUmvsbT05N8+fJRqVKl+HNxLUpnz54FYNeuXaxZs4acOXPe8FpHjhyJr+v6r12kSJH41xAReyjciMgd8/HxoXTp0jd9/PfffwfgwoULXLhwAR8fnxS/dnh4OJ6enmzfvh1PT88kjyUOHNmzZ08SkG4ma9asSe47HI4k5+JeIzY2Nv7rN27cmOHDh9/wWkWKFLnl68a9hojYQ+FGRNLFkSNH6N69O9OmTeO7776jdevW/Prrr3h4JAz127x5c5Ln/PHHH5QpUwZPT0+qVatGTEwMZ8+e5dFHH83o8qlevTo//vgjJUuWJEuWO3+rzJo1KzExMWlYmYjcjgYUi8gdi4qK4syZM0lu58+fJyYmhtdff50GDRrQtm1bZs6cyZ9//smoUaOSPD84OJgePXrw119/8e233zJu3Di6du0KQNmyZWnRogWtWrVi/vz5BAUFsWXLFoYNG8aSJUvS/XsLCAjgwoULvPrqq2zdupUjR46wfPly2rZtm6qwUrJkSVatWsWZM2f4999/07FiEYmjlhsRuWPLli1L0kUDUK5cOV577TWOHz/Ozz//DJhunKlTp/Lqq69Sv359qlSpAkCrVq24fPkyDz74IJ6ennTt2pU333wz/rVmzpzJkCFDePfddzl58iT58+fnoYce4rnnnkv3761o0aJs3LiR3r17U79+faKiorjnnnto2LBhktan2xk1ahQ9evRg2rRpFCtWjGPHjqVf0SICgMOyEi0qISKSQZ544gmqVq3K6NGj7S5FRNyMuqVERETErSjciIiIiFtRt5SIiIi4FbXciIiIiFtRuBERERG3onAjIiIibkXhRkRERNyKwo2IiIi4FYUbERERcSsKNyIiIuJWFG5ERETErfw/Ib37BekjVmgAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "fig = plt.figure()\n", + "plt.plot(range(k_fold_splits), rmse_train, \"b--\", label = \"train loss\")\n", + "plt.plot(range(k_fold_splits), rmse_test, \"r\", label = \"test loss\")\n", + "ax = fig.gca()\n", + "ax.set_xticks(range(k_fold_splits))\n", + "plt.xlabel(\"Experiment\")\n", + "plt.ylabel(\"RMSE\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the plot, we can pick up the model with the smallest error. We will use that one as baseline and compare it with predictions from LSTM." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# dimensionality reduction with the RGDR operator used by the best model\n", + "clusters_test = RGDRs[np.argmax(rmse_test)].transform(precursor_field_sel[-test_samples:])\n", + "# predict with the best model\n", + "predictions_baseline = models[np.argmax(rmse_test)].predict(clusters_test.isel(i_interval=0))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's plot all predictions and the ground truth and check the errors." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The MSE of LSTM forecasts is 1.276\n", + "The MSE of baseline ridge forecasts is 1.795\n", + "The MSE of mean of training data is 97.538\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABkMElEQVR4nO3deVxU5f4H8M9h2LdBFGZAUUkNRdTcQ0rxioCZgXmzXUh/6VVQybwqlqlpol67aRvW9QZWWnlLlKxQNCH3ndRUVMSdxVxmFARh5vz+QCaHTdBhzgzzeb9e86pzzjPPfM9BnK/PKoiiKIKIiIjIglhJHQARERGRsTEBIiIiIovDBIiIiIgsDhMgIiIisjhMgIiIiMjiMAEiIiIii8MEiIiIiCyOtdQBmCKtVovLly/DxcUFgiBIHQ4RERHVgyiKuHnzJry9vWFlVXcbDxOgGly+fBk+Pj5Sh0FEREQP4MKFC2jVqlWdZZgA1cDFxQVAxQN0dXWVOBoiIiKqD7VaDR8fH933eF2YANWgstvL1dWVCRAREZGZqc/wFQ6CJiIiIovDBIiIiIgsDhMgIiIisjhMgIiIiMjiMAEiIiIii8MEiIiIiCwOEyAiIiKyOEyAiIiIyOIwASIiIiKLw5WgjUmrAc7tBG4VAM4KoE0/wEomdVREREQWR9IWoISEBPTu3RsuLi7w9PREZGQksrOz9coEBwdDEAS91z/+8Y866xVFEe+88w68vLzg4OCAkJAQnDp1qjFv5f6OpQJLA4CVTwM/jKn479KAivNERERkVJImQJmZmYiJicHu3buRnp6OsrIyhIaGoqioSK/c66+/jry8PN1r8eLFdda7ePFifPjhh1i+fDn27NkDJycnhIWFoaSkpDFvp3bHUoE1owD1Zf3z6ryK80yCiIiIjErSLrC0tDS94+TkZHh6euLAgQPo37+/7ryjoyOUSmW96hRFEUuXLsXbb7+NiIgIAMCXX34JhUKBdevW4YUXXjDcDdSHVgOkTQcg1nBRBCAAaTOAjkPZHUZERGQkJjUIWqVSAQDc3d31zq9atQotWrRAQEAA4uPjUVxcXGsdubm5yM/PR0hIiO6cXC5H3759sWvXrhrfU1paCrVarfcymHM7q7f86BEB9aWKckRERGQUJjMIWqvVIi4uDkFBQQgICNCdf+mll9CmTRt4e3vj8OHDmD59OrKzs7F27doa68nPzwcAKBQKvfMKhUJ3raqEhATMnTvXQHdSxa0Cw5YjIiKih2YyCVBMTAyOHj2K7du3650fO3as7v+7dOkCLy8vDBo0CDk5OWjXrp1BPjs+Ph5TpkzRHavVavj4+Bikbjgr7l+mIeWIiIjooZlEF1hsbCw2bNiArVu3olWrVnWW7du3LwDg9OnTNV6vHCtUUKDfolJQUFDrOCI7Ozu4urrqvQymTT/A1RuAUEsBAXBtWVGOiIiIjELSBEgURcTGxiIlJQW//vorfH197/uerKwsAICXl1eN1319faFUKrFlyxbdObVajT179iAwMNAgcTeIlQwIX3T3oGoSdPc4fCEHQBMRERmRpAlQTEwMvv76a6xevRouLi7Iz89Hfn4+bt++DQDIycnBvHnzcODAAZw9exapqakYNWoU+vfvj65du+rq6dixI1JSUgAAgiAgLi4O8+fPR2pqKo4cOYJRo0bB29sbkZGRUtwm4P8MMPJLwLVK0ubqXXHe/xlp4iIiIrJQko4BSkxMBFCx2OG9kpKSEB0dDVtbW2zevBlLly5FUVERfHx8MGLECLz99tt65bOzs3UzyABg2rRpKCoqwtixY3Hjxg088cQTSEtLg729faPfU638n6mY6s6VoImIiCQniKJY0wI1Fk2tVkMul0OlUhl2PBARERE1moZ8f5vEIGgiIiIiY2ICRERERBaHCRARERFZHCZAREREZHGYABEREZHFYQJEREREFocJEBEREVkcJkBERERkcZgAERERkcVhAkREREQWhwkQERERWRwmQERERGRxmAARERGRxWECRERERBaHCRARERFZHCZAREREZHGYABEREZHFYQJEREREFocJEBEREVkcJkBERERkcZgAERERkcVhAkREREQWhwkQERERWRwmQERERGRxmAARERGRxWECRERERBaHCRARERFZHCZAREREZHGYABEREZHFYQJEREREFocJEBEREVkca6kDIBOj1QDndgK3CgBnBdCmH2AlkzoqIiIig2ICRH85lgqkTQfUl/865+oNhC8C/J+RLi4ieigarYi9uddQeLMEni726OPrDpmVIHVYRJJiAkQVjqUCa0YBEPXPq/Mqzo/8kkkQkRlKO5qHuT8eQ56qRHfOS26P2cP8ER7gJWFkRNLiGCCq6PZKm45qyQ/w17m0GRXliMhs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3bdu3YJMJsOBAwcgk8n0rt2blDg4OOglUbWxsbHROxYEQe9cZR1arVb3+cOGDcOiRYuq1eXl5VVnvZV1EJF0mAARkSRycnLwxhtv4D//+Q++++47REVFYfPmzbCy+mto4p49e/Tes3v3bnTo0AEymQzdu3eHRqNBYWEhnnzySWOHjx49euCHH35A27ZtYW394H+V2tjYQKPRGDAyIqoPDoImokZTWlqK/Px8vdeff/4JjUaDV155BWFhYXjttdeQlJSEw4cP4/3339d7//nz5zFlyhRkZ2fjm2++wUcffYTJkycDAB599FG8/PLLGDVqFNauXYvc3Fzs3bsXCQkJ+Omnnxr93mJiYnDt2jW8+OKL2LdvH3JycrBx40a89tprDUpo2rZtiy1btiA/Px/Xr19vxIiJ6F5sASKiRpOWlqbXHQQAfn5+eOmll3Du3Dls2LABQEWX0eeff44XX3wRoaGh6NatGwBg1KhRuH37Nvr06QOZTIbJkydj7NixurqSkpIwf/58vPnmm7h06RJatGiBxx9/HE8//XSj35u3tzd27NiB6dOnIzQ0FKWlpWjTpg3Cw8P1WrHu5/3338eUKVPwn//8By1btsTZs2cbL2gi0hFE8Z5FNYiITERwcDAee+wxLF26VOpQiKgJYhcYERERWRwmQERERGRx2AVGREREFoctQERERGRxmAARERGRxWECRERERBaHCRARERFZHCZAREREZHGYABEREZHFYQJEREREFocJEBEREVmc/wcH7wnUSd3QtwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(\n", + " f\"The MSE of LSTM forecasts is {mean_squared_error(ground_truth, np.concatenate(predictions)):.3f}\"\n", + ")\n", + "print(\n", + " f\"The MSE of baseline ridge forecasts is {mean_squared_error(ground_truth, predictions_baseline):.3f}\"\n", + ")\n", + "print(\n", + " f\"The MSE of mean of training data is {mean_squared_error(ground_truth, [target_series_sel[:-test_samples].mean()] * len(instances)):.3f}\"\n", + ")\n", + "\n", + "fig = plt.figure()\n", + "plt.scatter(instances, np.concatenate(predictions), label=\"Predictions-LSTM\")\n", + "plt.scatter(instances, ground_truth, label=\"Ground truth\")\n", + "plt.scatter(instances, [ground_truth.mean()] * len(instances), label=\"Mean of ground truth\")\n", + "plt.scatter(instances, predictions_baseline, label=\"Predictions-Ridge\")\n", + "plt.xlabel(\"Experiment\")\n", + "plt.ylabel(\"TS\")\n", + "plt.legend()\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ai4s2s", + "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.12" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/workflow/pred_temperature_LSTM.ipynb b/workflow/pred_temperature_LSTM.ipynb index 5605235..bde2531 100644 --- a/workflow/pred_temperature_LSTM.ipynb +++ b/workflow/pred_temperature_LSTM.ipynb @@ -9,11 +9,19 @@ "This notebook serves as an example of a basic workflow of data driven forecasting using deep learning with `s2spy` & `lilio` packages.
\n", "We will predict temperature in US at seasonal time scales using ERA5 dataset with LSTM network.
\n", "\n", + "\"usecase\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ "This recipe includes the following steps:\n", "- Define a calendar (`lilio`)\n", - "- Download/load input data (`era5cli`) (TBA)\n", + "- Download/load input data (`era5cli`) (test data, accessible via `era5cli`)\n", "- Map the calendar to the data (`lilio`)\n", - "- Train-validate-test split (60%/20%/20%) (`torch`)\n", + "- Train-validate-test split (60%/20%/20%)\n", "- Preprocessing based on the training set (`s2spy`)\n", "- Resample data to the calendar (`lilio`)\n", "- Create LSTM model (`torch`)\n", @@ -29,7 +37,7 @@ "source": [ "The workflow is illustrated below:\n", "\n", - "![Transformer](../assets/dl.PNG)" + "\"Transformer\"" ] }, { @@ -329,8 +337,11 @@ ")\n", "\n", "# fit preprocessor with training data\n", - "preprocessor.fit(precursor_field.sel(time=slice(str(start_year),\n", - " str(start_year + train_samples - 1))))" + "preprocessor.fit(\n", + " precursor_field.sel(\n", + " time=slice(str(start_year), str(start_year + train_samples - 1))\n", + " )\n", + ")" ] }, { @@ -438,9 +449,11 @@ "#### Build LSTM model\n", "Build a LSTM model with `nn.LSTM` module.\n", "\n", - "The architecture of the autoencoder used here is shown in the figure below. (source of image: https://colah.github.io/posts/2015-08-Understanding-LSTMs/)\n", + "The architecture of the autoencoder used here is shown in the figure below.\n", "\n", - "![lstm](../assets/lstm.png)" + "\"LSTM\"\n", + "\n", + "(source of image: https://colah.github.io/posts/2015-08-Understanding-LSTMs/)" ] }, { @@ -538,13 +551,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Failed to detect the name of this notebook, you can set it manually with the WANDB_NOTEBOOK_NAME environment variable to enable code saving.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ + "Failed to detect the name of this notebook, you can set it manually with the WANDB_NOTEBOOK_NAME environment variable to enable code saving.\n", "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mgit-yang\u001b[0m (\u001b[33mai4s2s\u001b[0m). Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n" ] }, @@ -563,7 +570,7 @@ { "data": { "text/html": [ - "Run data is saved locally in /home/yangliu/AI4S2S/cookbook/workflow/wandb/run-20230628_121945-v3pj0z4k" + "Run data is saved locally in /home/yangliu/AI4S2S/cookbook/workflow/wandb/run-20230630_150821-8t0sok9n" ], "text/plain": [ "" @@ -575,7 +582,7 @@ { "data": { "text/html": [ - "Syncing run earnest-star-19 to Weights & Biases (docs)
" + "Syncing run cool-aardvark-22 to Weights & Biases (docs)
" ], "text/plain": [ "" @@ -599,7 +606,7 @@ { "data": { "text/html": [ - " View run at https://wandb.ai/ai4s2s/test-LSTM/runs/v3pj0z4k" + " View run at https://wandb.ai/ai4s2s/test-LSTM/runs/8t0sok9n" ], "text/plain": [ "" @@ -759,1357 +766,1357 @@ "name": "stdout", "output_type": "stream", "text": [ - "Epoch : 0 [0/36(0%)]\tLoss: 507.484039\n", - "Epoch : 0 [4/36(11%)]\tLoss: 487.915863\n", - "Epoch : 0 [8/36(22%)]\tLoss: 492.865540\n", - "Epoch : 0 [12/36(33%)]\tLoss: 396.486237\n", - "Epoch : 0 [16/36(44%)]\tLoss: 322.268890\n", - "Epoch : 0 [20/36(56%)]\tLoss: 182.826843\n", - "Epoch : 0 [24/36(67%)]\tLoss: 100.663895\n", - "Epoch : 0 [28/36(78%)]\tLoss: 51.026283\n", - "Epoch : 0 [32/36(89%)]\tLoss: 142.582779\n", - "Epoch : 1 [0/36(0%)]\tLoss: 3.420432\n", - "Epoch : 1 [4/36(11%)]\tLoss: 0.967753\n", - "Epoch : 1 [8/36(22%)]\tLoss: 3.453100\n", - "Epoch : 1 [12/36(33%)]\tLoss: 13.548639\n", - "Epoch : 1 [16/36(44%)]\tLoss: 18.211199\n", - "Epoch : 1 [20/36(56%)]\tLoss: 22.671017\n", - "Epoch : 1 [24/36(67%)]\tLoss: 26.456758\n", - "Epoch : 1 [28/36(78%)]\tLoss: 29.909428\n", - "Epoch : 1 [32/36(89%)]\tLoss: 30.000504\n", - "Epoch : 2 [0/36(0%)]\tLoss: 124.446793\n", - "Epoch : 2 [4/36(11%)]\tLoss: 19.417242\n", - "Epoch : 2 [8/36(22%)]\tLoss: 9.527784\n", - "Epoch : 2 [12/36(33%)]\tLoss: 5.977228\n", - "Epoch : 2 [16/36(44%)]\tLoss: 1.754250\n", - "Epoch : 2 [20/36(56%)]\tLoss: 1.923691\n", - "Epoch : 2 [24/36(67%)]\tLoss: 1.782039\n", - "Epoch : 2 [28/36(78%)]\tLoss: 2.615329\n", - "Epoch : 2 [32/36(89%)]\tLoss: 5.314155\n", - "Epoch : 3 [0/36(0%)]\tLoss: 3.040250\n", - "Epoch : 3 [4/36(11%)]\tLoss: 4.650375\n", - "Epoch : 3 [8/36(22%)]\tLoss: 6.792605\n", - "Epoch : 3 [12/36(33%)]\tLoss: 4.778971\n", - "Epoch : 3 [16/36(44%)]\tLoss: 7.502336\n", - "Epoch : 3 [20/36(56%)]\tLoss: 7.684300\n", - "Epoch : 3 [24/36(67%)]\tLoss: 3.916771\n", - "Epoch : 3 [28/36(78%)]\tLoss: 1.998745\n", - "Epoch : 3 [32/36(89%)]\tLoss: 1.892663\n", - "Epoch : 4 [0/36(0%)]\tLoss: 0.631115\n", - "Epoch : 4 [4/36(11%)]\tLoss: 1.846708\n", - "Epoch : 4 [8/36(22%)]\tLoss: 1.218843\n", - "Epoch : 4 [12/36(33%)]\tLoss: 2.464051\n", - "Epoch : 4 [16/36(44%)]\tLoss: 1.813976\n", - "Epoch : 4 [20/36(56%)]\tLoss: 2.472222\n", - "Epoch : 4 [24/36(67%)]\tLoss: 2.243789\n", - "Epoch : 4 [28/36(78%)]\tLoss: 121.339401\n", - "Epoch : 4 [32/36(89%)]\tLoss: 2.743360\n", - "Epoch : 5 [0/36(0%)]\tLoss: 1.744120\n", - "Epoch : 5 [4/36(11%)]\tLoss: 1.442416\n", - "Epoch : 5 [8/36(22%)]\tLoss: 0.350297\n", - "Epoch : 5 [12/36(33%)]\tLoss: 0.394511\n", - "Epoch : 5 [16/36(44%)]\tLoss: 126.303017\n", - "Epoch : 5 [20/36(56%)]\tLoss: 3.323524\n", - "Epoch : 5 [24/36(67%)]\tLoss: 1.858711\n", - "Epoch : 5 [28/36(78%)]\tLoss: 172.371933\n", - "Epoch : 5 [32/36(89%)]\tLoss: 2.331139\n", - "Epoch : 6 [0/36(0%)]\tLoss: 132.956375\n", - "Epoch : 6 [4/36(11%)]\tLoss: 0.580142\n", - "Epoch : 6 [8/36(22%)]\tLoss: 119.994949\n", - "Epoch : 6 [12/36(33%)]\tLoss: 33.035183\n", - "Epoch : 6 [16/36(44%)]\tLoss: 13.588066\n", - "Epoch : 6 [20/36(56%)]\tLoss: 0.914074\n", - "Epoch : 6 [24/36(67%)]\tLoss: 1.898821\n", - "Epoch : 6 [28/36(78%)]\tLoss: 151.267944\n", - "Epoch : 6 [32/36(89%)]\tLoss: 4.268299\n", - "Epoch : 7 [0/36(0%)]\tLoss: 3.442871\n", - "Epoch : 7 [4/36(11%)]\tLoss: 76.345345\n", - "Epoch : 7 [8/36(22%)]\tLoss: 204.213593\n", - "Epoch : 7 [12/36(33%)]\tLoss: 2.135722\n", - "Epoch : 7 [16/36(44%)]\tLoss: 1.010966\n", - "Epoch : 7 [20/36(56%)]\tLoss: 36.892490\n", - "Epoch : 7 [24/36(67%)]\tLoss: 1.251072\n", - "Epoch : 7 [28/36(78%)]\tLoss: 25.398968\n", - "Epoch : 7 [32/36(89%)]\tLoss: 11.205050\n", - "Epoch : 8 [0/36(0%)]\tLoss: 1.879929\n", - "Epoch : 8 [4/36(11%)]\tLoss: 2.202991\n", - "Epoch : 8 [8/36(22%)]\tLoss: 0.141301\n", - "Epoch : 8 [12/36(33%)]\tLoss: 0.373154\n", - "Epoch : 8 [16/36(44%)]\tLoss: 1.118299\n", - "Epoch : 8 [20/36(56%)]\tLoss: 150.838486\n", - "Epoch : 8 [24/36(67%)]\tLoss: 1.226276\n", - "Epoch : 8 [28/36(78%)]\tLoss: 2.440698\n", - "Epoch : 8 [32/36(89%)]\tLoss: 1.674682\n", - "Epoch : 9 [0/36(0%)]\tLoss: 1.540755\n", - "Epoch : 9 [4/36(11%)]\tLoss: 1.431563\n", - "Epoch : 9 [8/36(22%)]\tLoss: 0.541547\n", - "Epoch : 9 [12/36(33%)]\tLoss: 0.538805\n", - "Epoch : 9 [16/36(44%)]\tLoss: 0.928591\n", - "Epoch : 9 [20/36(56%)]\tLoss: 2.316908\n", - "Epoch : 9 [24/36(67%)]\tLoss: 1.257062\n", - "Epoch : 9 [28/36(78%)]\tLoss: 1.110457\n", - "Epoch : 9 [32/36(89%)]\tLoss: 1.607345\n", - "Epoch : 10 [0/36(0%)]\tLoss: 0.458218\n", - "Epoch : 10 [4/36(11%)]\tLoss: 1.242298\n", - "Epoch : 10 [8/36(22%)]\tLoss: 0.857205\n", - "Epoch : 10 [12/36(33%)]\tLoss: 0.625038\n", - "Epoch : 10 [16/36(44%)]\tLoss: 6.490541\n", - "Epoch : 10 [20/36(56%)]\tLoss: 2.178756\n", - "Epoch : 10 [24/36(67%)]\tLoss: 1.195969\n", - "Epoch : 10 [28/36(78%)]\tLoss: 1.037153\n", - "Epoch : 10 [32/36(89%)]\tLoss: 0.988637\n", - "Epoch : 11 [0/36(0%)]\tLoss: 1.273493\n", - "Epoch : 11 [4/36(11%)]\tLoss: 8.579882\n", - "Epoch : 11 [8/36(22%)]\tLoss: 0.702727\n", - "Epoch : 11 [12/36(33%)]\tLoss: 0.953151\n", - "Epoch : 11 [16/36(44%)]\tLoss: 0.632468\n", - "Epoch : 11 [20/36(56%)]\tLoss: 1.939569\n", - "Epoch : 11 [24/36(67%)]\tLoss: 0.833214\n", - "Epoch : 11 [28/36(78%)]\tLoss: 0.862693\n", - "Epoch : 11 [32/36(89%)]\tLoss: 1.253830\n", - "Epoch : 12 [0/36(0%)]\tLoss: 0.247711\n", - "Epoch : 12 [4/36(11%)]\tLoss: 0.412975\n", - "Epoch : 12 [8/36(22%)]\tLoss: 0.753600\n", - "Epoch : 12 [12/36(33%)]\tLoss: 0.294573\n", - "Epoch : 12 [16/36(44%)]\tLoss: 0.949367\n", - "Epoch : 12 [20/36(56%)]\tLoss: 1.959414\n", - "Epoch : 12 [24/36(67%)]\tLoss: 1.070011\n", - "Epoch : 12 [28/36(78%)]\tLoss: 1.325570\n", - "Epoch : 12 [32/36(89%)]\tLoss: 0.850023\n", - "Epoch : 13 [0/36(0%)]\tLoss: 0.462904\n", - "Epoch : 13 [4/36(11%)]\tLoss: 0.705739\n", - "Epoch : 13 [8/36(22%)]\tLoss: 0.194810\n", - "Epoch : 13 [12/36(33%)]\tLoss: 0.410901\n", - "Epoch : 13 [16/36(44%)]\tLoss: 0.734599\n", - "Epoch : 13 [20/36(56%)]\tLoss: 1.436058\n", - "Epoch : 13 [24/36(67%)]\tLoss: 0.647066\n", - "Epoch : 13 [28/36(78%)]\tLoss: 1.622749\n", - "Epoch : 13 [32/36(89%)]\tLoss: 1.310326\n", - "Epoch : 14 [0/36(0%)]\tLoss: 0.730382\n", - "Epoch : 14 [4/36(11%)]\tLoss: 1.474516\n", - "Epoch : 14 [8/36(22%)]\tLoss: 0.301511\n", - "Epoch : 14 [12/36(33%)]\tLoss: 0.673502\n", - "Epoch : 14 [16/36(44%)]\tLoss: 0.817516\n", - "Epoch : 14 [20/36(56%)]\tLoss: 1.372562\n", - "Epoch : 14 [24/36(67%)]\tLoss: 1.167554\n", - "Epoch : 14 [28/36(78%)]\tLoss: 0.664285\n", - "Epoch : 14 [32/36(89%)]\tLoss: 1.245148\n", - "Epoch : 15 [0/36(0%)]\tLoss: 0.827478\n", - "Epoch : 15 [4/36(11%)]\tLoss: 1.099373\n", - "Epoch : 15 [8/36(22%)]\tLoss: 0.382670\n", - "Epoch : 15 [12/36(33%)]\tLoss: 0.468295\n", - "Epoch : 15 [16/36(44%)]\tLoss: 1.152928\n", - "Epoch : 15 [20/36(56%)]\tLoss: 0.771472\n", - "Epoch : 15 [24/36(67%)]\tLoss: 0.800450\n", - "Epoch : 15 [28/36(78%)]\tLoss: 0.979096\n", - "Epoch : 15 [32/36(89%)]\tLoss: 0.737305\n", - "Epoch : 16 [0/36(0%)]\tLoss: 0.451957\n", - "Epoch : 16 [4/36(11%)]\tLoss: 1.444315\n", - "Epoch : 16 [8/36(22%)]\tLoss: 0.249873\n", - "Epoch : 16 [12/36(33%)]\tLoss: 0.243133\n", - "Epoch : 16 [16/36(44%)]\tLoss: 1.285924\n", - "Epoch : 16 [20/36(56%)]\tLoss: 1.076910\n", - "Epoch : 16 [24/36(67%)]\tLoss: 0.685634\n", - "Epoch : 16 [28/36(78%)]\tLoss: 0.916995\n", - "Epoch : 16 [32/36(89%)]\tLoss: 0.797741\n", - "Epoch : 17 [0/36(0%)]\tLoss: 0.221489\n", - "Epoch : 17 [4/36(11%)]\tLoss: 0.528118\n", - "Epoch : 17 [8/36(22%)]\tLoss: 0.216192\n", - "Epoch : 17 [12/36(33%)]\tLoss: 0.663139\n", - "Epoch : 17 [16/36(44%)]\tLoss: 0.804437\n", - "Epoch : 17 [20/36(56%)]\tLoss: 1.455652\n", - "Epoch : 17 [24/36(67%)]\tLoss: 0.471389\n", - "Epoch : 17 [28/36(78%)]\tLoss: 0.910427\n", - "Epoch : 17 [32/36(89%)]\tLoss: 0.997764\n", - "Epoch : 18 [0/36(0%)]\tLoss: 0.766803\n", - "Epoch : 18 [4/36(11%)]\tLoss: 1.670717\n", - "Epoch : 18 [8/36(22%)]\tLoss: 0.841263\n", - "Epoch : 18 [12/36(33%)]\tLoss: 0.561773\n", - "Epoch : 18 [16/36(44%)]\tLoss: 0.931006\n", - "Epoch : 18 [20/36(56%)]\tLoss: 1.004519\n", - "Epoch : 18 [24/36(67%)]\tLoss: 1.093140\n", - "Epoch : 18 [28/36(78%)]\tLoss: 0.741121\n", - "Epoch : 18 [32/36(89%)]\tLoss: 1.394340\n", - "Epoch : 19 [0/36(0%)]\tLoss: 0.367390\n", - "Epoch : 19 [4/36(11%)]\tLoss: 0.568098\n", - "Epoch : 19 [8/36(22%)]\tLoss: 0.153428\n", - "Epoch : 19 [12/36(33%)]\tLoss: 0.667192\n", - "Epoch : 19 [16/36(44%)]\tLoss: 1.287128\n", - "Epoch : 19 [20/36(56%)]\tLoss: 0.995704\n", - "Epoch : 19 [24/36(67%)]\tLoss: 0.509574\n", - "Epoch : 19 [28/36(78%)]\tLoss: 1.503845\n", - "Epoch : 19 [32/36(89%)]\tLoss: 0.967116\n", - "Epoch : 20 [0/36(0%)]\tLoss: 0.762736\n", - "Epoch : 20 [4/36(11%)]\tLoss: 0.834842\n", - "Epoch : 20 [8/36(22%)]\tLoss: 0.263556\n", - "Epoch : 20 [12/36(33%)]\tLoss: 0.834738\n", - "Epoch : 20 [16/36(44%)]\tLoss: 0.818849\n", - "Epoch : 20 [20/36(56%)]\tLoss: 1.424377\n", - "Epoch : 20 [24/36(67%)]\tLoss: 0.638177\n", - "Epoch : 20 [28/36(78%)]\tLoss: 0.680327\n", - "Epoch : 20 [32/36(89%)]\tLoss: 0.837124\n", - "Epoch : 21 [0/36(0%)]\tLoss: 0.398417\n", - "Epoch : 21 [4/36(11%)]\tLoss: 1.005584\n", - "Epoch : 21 [8/36(22%)]\tLoss: 0.370246\n", - "Epoch : 21 [12/36(33%)]\tLoss: 0.570373\n", - "Epoch : 21 [16/36(44%)]\tLoss: 1.124276\n", - "Epoch : 21 [20/36(56%)]\tLoss: 0.995895\n", - "Epoch : 21 [24/36(67%)]\tLoss: 0.824030\n", - "Epoch : 21 [28/36(78%)]\tLoss: 1.251398\n", - "Epoch : 21 [32/36(89%)]\tLoss: 0.685518\n", - "Epoch : 22 [0/36(0%)]\tLoss: 0.331775\n", - "Epoch : 22 [4/36(11%)]\tLoss: 0.577577\n", - "Epoch : 22 [8/36(22%)]\tLoss: 0.478347\n", - "Epoch : 22 [12/36(33%)]\tLoss: 0.691666\n", - "Epoch : 22 [16/36(44%)]\tLoss: 0.426376\n", - "Epoch : 22 [20/36(56%)]\tLoss: 1.177552\n", - "Epoch : 22 [24/36(67%)]\tLoss: 0.483800\n", - "Epoch : 22 [28/36(78%)]\tLoss: 5.601184\n", - "Epoch : 22 [32/36(89%)]\tLoss: 0.685395\n", - "Epoch : 23 [0/36(0%)]\tLoss: 0.714223\n", - "Epoch : 23 [4/36(11%)]\tLoss: 1.583773\n", - "Epoch : 23 [8/36(22%)]\tLoss: 0.716710\n", - "Epoch : 23 [12/36(33%)]\tLoss: 1.085480\n", - "Epoch : 23 [16/36(44%)]\tLoss: 0.791511\n", - "Epoch : 23 [20/36(56%)]\tLoss: 0.732525\n", - "Epoch : 23 [24/36(67%)]\tLoss: 0.796735\n", - "Epoch : 23 [28/36(78%)]\tLoss: 1.240137\n", - "Epoch : 23 [32/36(89%)]\tLoss: 0.793190\n", - "Epoch : 24 [0/36(0%)]\tLoss: 0.261401\n", - "Epoch : 24 [4/36(11%)]\tLoss: 0.529584\n", - "Epoch : 24 [8/36(22%)]\tLoss: 0.061653\n", - "Epoch : 24 [12/36(33%)]\tLoss: 0.459636\n", - "Epoch : 24 [16/36(44%)]\tLoss: 0.411628\n", - "Epoch : 24 [20/36(56%)]\tLoss: 0.736514\n", - "Epoch : 24 [24/36(67%)]\tLoss: 0.575145\n", - "Epoch : 24 [28/36(78%)]\tLoss: 0.847110\n", - "Epoch : 24 [32/36(89%)]\tLoss: 0.798736\n", - "Epoch : 25 [0/36(0%)]\tLoss: 0.361545\n", - "Epoch : 25 [4/36(11%)]\tLoss: 1.040322\n", - "Epoch : 25 [8/36(22%)]\tLoss: 0.172426\n", - "Epoch : 25 [12/36(33%)]\tLoss: 0.628439\n", - "Epoch : 25 [16/36(44%)]\tLoss: 0.526522\n", - "Epoch : 25 [20/36(56%)]\tLoss: 0.564514\n", - "Epoch : 25 [24/36(67%)]\tLoss: 0.438732\n", - "Epoch : 25 [28/36(78%)]\tLoss: 0.998159\n", - "Epoch : 25 [32/36(89%)]\tLoss: 0.533477\n", - "Epoch : 26 [0/36(0%)]\tLoss: 0.386964\n", - "Epoch : 26 [4/36(11%)]\tLoss: 1.630154\n", - "Epoch : 26 [8/36(22%)]\tLoss: 0.058929\n", - "Epoch : 26 [12/36(33%)]\tLoss: 0.567984\n", - "Epoch : 26 [16/36(44%)]\tLoss: 1.189938\n", - "Epoch : 26 [20/36(56%)]\tLoss: 0.955508\n", - "Epoch : 26 [24/36(67%)]\tLoss: 0.239516\n", - "Epoch : 26 [28/36(78%)]\tLoss: 1.560851\n", - "Epoch : 26 [32/36(89%)]\tLoss: 0.510755\n", - "Epoch : 27 [0/36(0%)]\tLoss: 0.603725\n", - "Epoch : 27 [4/36(11%)]\tLoss: 0.534061\n", - "Epoch : 27 [8/36(22%)]\tLoss: 0.187683\n", - "Epoch : 27 [12/36(33%)]\tLoss: 0.539697\n", - "Epoch : 27 [16/36(44%)]\tLoss: 0.494658\n", - "Epoch : 27 [20/36(56%)]\tLoss: 0.957963\n", - "Epoch : 27 [24/36(67%)]\tLoss: 0.309405\n", - "Epoch : 27 [28/36(78%)]\tLoss: 0.596245\n", - "Epoch : 27 [32/36(89%)]\tLoss: 0.487133\n", - "Epoch : 28 [0/36(0%)]\tLoss: 0.219307\n", - "Epoch : 28 [4/36(11%)]\tLoss: 0.727153\n", - "Epoch : 28 [8/36(22%)]\tLoss: 0.099510\n", - "Epoch : 28 [12/36(33%)]\tLoss: 0.651104\n", - "Epoch : 28 [16/36(44%)]\tLoss: 0.598100\n", - "Epoch : 28 [20/36(56%)]\tLoss: 0.730828\n", - "Epoch : 28 [24/36(67%)]\tLoss: 0.441607\n", - "Epoch : 28 [28/36(78%)]\tLoss: 0.808028\n", - "Epoch : 28 [32/36(89%)]\tLoss: 0.295295\n", - "Epoch : 29 [0/36(0%)]\tLoss: 0.164040\n", - "Epoch : 29 [4/36(11%)]\tLoss: 1.352591\n", - "Epoch : 29 [8/36(22%)]\tLoss: 0.220712\n", - "Epoch : 29 [12/36(33%)]\tLoss: 0.650713\n", - "Epoch : 29 [16/36(44%)]\tLoss: 0.414402\n", - "Epoch : 29 [20/36(56%)]\tLoss: 0.921695\n", - "Epoch : 29 [24/36(67%)]\tLoss: 0.518194\n", - "Epoch : 29 [28/36(78%)]\tLoss: 0.771503\n", - "Epoch : 29 [32/36(89%)]\tLoss: 0.992488\n", - "Epoch : 30 [0/36(0%)]\tLoss: 0.269008\n", - "Epoch : 30 [4/36(11%)]\tLoss: 0.403612\n", - "Epoch : 30 [8/36(22%)]\tLoss: 0.148850\n", - "Epoch : 30 [12/36(33%)]\tLoss: 0.444355\n", - "Epoch : 30 [16/36(44%)]\tLoss: 0.550474\n", - "Epoch : 30 [20/36(56%)]\tLoss: 0.706436\n", - "Epoch : 30 [24/36(67%)]\tLoss: 0.270062\n", - "Epoch : 30 [28/36(78%)]\tLoss: 0.596557\n", - "Epoch : 30 [32/36(89%)]\tLoss: 0.359698\n", - "Epoch : 31 [0/36(0%)]\tLoss: 0.267739\n", - "Epoch : 31 [4/36(11%)]\tLoss: 0.872494\n", - "Epoch : 31 [8/36(22%)]\tLoss: 0.217377\n", - "Epoch : 31 [12/36(33%)]\tLoss: 0.357370\n", - "Epoch : 31 [16/36(44%)]\tLoss: 0.581469\n", - "Epoch : 31 [20/36(56%)]\tLoss: 0.929819\n", - "Epoch : 31 [24/36(67%)]\tLoss: 0.156909\n", - "Epoch : 31 [28/36(78%)]\tLoss: 0.483220\n", - "Epoch : 31 [32/36(89%)]\tLoss: 0.762945\n", - "Epoch : 32 [0/36(0%)]\tLoss: 0.708112\n", - "Epoch : 32 [4/36(11%)]\tLoss: 0.435024\n", - "Epoch : 32 [8/36(22%)]\tLoss: 0.273886\n", - "Epoch : 32 [12/36(33%)]\tLoss: 0.232675\n", - "Epoch : 32 [16/36(44%)]\tLoss: 1.531982\n", - "Epoch : 32 [20/36(56%)]\tLoss: 0.337475\n", - "Epoch : 32 [24/36(67%)]\tLoss: 0.196759\n", - "Epoch : 32 [28/36(78%)]\tLoss: 0.618560\n", - "Epoch : 32 [32/36(89%)]\tLoss: 0.406199\n", - "Epoch : 33 [0/36(0%)]\tLoss: 0.270372\n", - "Epoch : 33 [4/36(11%)]\tLoss: 0.876308\n", - "Epoch : 33 [8/36(22%)]\tLoss: 0.245070\n", - "Epoch : 33 [12/36(33%)]\tLoss: 0.231832\n", - "Epoch : 33 [16/36(44%)]\tLoss: 0.345238\n", - "Epoch : 33 [20/36(56%)]\tLoss: 8.140718\n", - "Epoch : 33 [24/36(67%)]\tLoss: 0.454216\n", - "Epoch : 33 [28/36(78%)]\tLoss: 0.316045\n", - "Epoch : 33 [32/36(89%)]\tLoss: 0.314798\n", - "Epoch : 34 [0/36(0%)]\tLoss: 0.249792\n", - "Epoch : 34 [4/36(11%)]\tLoss: 1.754449\n", - "Epoch : 34 [8/36(22%)]\tLoss: 0.105136\n", - "Epoch : 34 [12/36(33%)]\tLoss: 0.516137\n", - "Epoch : 34 [16/36(44%)]\tLoss: 0.786574\n", - "Epoch : 34 [20/36(56%)]\tLoss: 0.377231\n", - "Epoch : 34 [24/36(67%)]\tLoss: 0.339750\n", - "Epoch : 34 [28/36(78%)]\tLoss: 0.510928\n", - "Epoch : 34 [32/36(89%)]\tLoss: 0.869089\n", - "Epoch : 35 [0/36(0%)]\tLoss: 0.204040\n", - "Epoch : 35 [4/36(11%)]\tLoss: 0.326584\n", - "Epoch : 35 [8/36(22%)]\tLoss: 0.377615\n", - "Epoch : 35 [12/36(33%)]\tLoss: 0.168307\n", - "Epoch : 35 [16/36(44%)]\tLoss: 0.283231\n", - "Epoch : 35 [20/36(56%)]\tLoss: 0.495858\n", - "Epoch : 35 [24/36(67%)]\tLoss: 0.228455\n", - "Epoch : 35 [28/36(78%)]\tLoss: 0.281946\n", - "Epoch : 35 [32/36(89%)]\tLoss: 0.625378\n", - "Epoch : 36 [0/36(0%)]\tLoss: 0.247942\n", - "Epoch : 36 [4/36(11%)]\tLoss: 0.943039\n", - "Epoch : 36 [8/36(22%)]\tLoss: 0.099586\n", - "Epoch : 36 [12/36(33%)]\tLoss: 1.193575\n", - "Epoch : 36 [16/36(44%)]\tLoss: 0.565161\n", - "Epoch : 36 [20/36(56%)]\tLoss: 0.591075\n", - "Epoch : 36 [24/36(67%)]\tLoss: 0.422009\n", - "Epoch : 36 [28/36(78%)]\tLoss: 0.211787\n", - "Epoch : 36 [32/36(89%)]\tLoss: 0.230841\n", - "Epoch : 37 [0/36(0%)]\tLoss: 0.294398\n", - "Epoch : 37 [4/36(11%)]\tLoss: 0.577148\n", - "Epoch : 37 [8/36(22%)]\tLoss: 0.361894\n", - "Epoch : 37 [12/36(33%)]\tLoss: 0.753838\n", - "Epoch : 37 [16/36(44%)]\tLoss: 1.162938\n", - "Epoch : 37 [20/36(56%)]\tLoss: 0.431796\n", - "Epoch : 37 [24/36(67%)]\tLoss: 0.296923\n", - "Epoch : 37 [28/36(78%)]\tLoss: 0.249466\n", - "Epoch : 37 [32/36(89%)]\tLoss: 0.225961\n", - "Epoch : 38 [0/36(0%)]\tLoss: 0.415230\n", - "Epoch : 38 [4/36(11%)]\tLoss: 0.589579\n", - "Epoch : 38 [8/36(22%)]\tLoss: 0.255535\n", - "Epoch : 38 [12/36(33%)]\tLoss: 0.325194\n", - "Epoch : 38 [16/36(44%)]\tLoss: 0.338503\n", - "Epoch : 38 [20/36(56%)]\tLoss: 1.089677\n", - "Epoch : 38 [24/36(67%)]\tLoss: 0.413926\n", - "Epoch : 38 [28/36(78%)]\tLoss: 0.310299\n", - "Epoch : 38 [32/36(89%)]\tLoss: 0.977933\n", - "Epoch : 39 [0/36(0%)]\tLoss: 0.475732\n", - "Epoch : 39 [4/36(11%)]\tLoss: 1.166908\n", - "Epoch : 39 [8/36(22%)]\tLoss: 0.212208\n", - "Epoch : 39 [12/36(33%)]\tLoss: 0.427814\n", - "Epoch : 39 [16/36(44%)]\tLoss: 0.308831\n", - "Epoch : 39 [20/36(56%)]\tLoss: 0.471325\n", - "Epoch : 39 [24/36(67%)]\tLoss: 0.488369\n", - "Epoch : 39 [28/36(78%)]\tLoss: 0.625600\n", - "Epoch : 39 [32/36(89%)]\tLoss: 0.449543\n", - "Epoch : 40 [0/36(0%)]\tLoss: 0.094495\n", - "Epoch : 40 [4/36(11%)]\tLoss: 0.596748\n", - "Epoch : 40 [8/36(22%)]\tLoss: 0.041893\n", - "Epoch : 40 [12/36(33%)]\tLoss: 0.330402\n", - "Epoch : 40 [16/36(44%)]\tLoss: 0.801657\n", - "Epoch : 40 [20/36(56%)]\tLoss: 0.261805\n", - "Epoch : 40 [24/36(67%)]\tLoss: 0.427501\n", - "Epoch : 40 [28/36(78%)]\tLoss: 0.101046\n", - "Epoch : 40 [32/36(89%)]\tLoss: 0.430320\n", - "Epoch : 41 [0/36(0%)]\tLoss: 0.178180\n", - "Epoch : 41 [4/36(11%)]\tLoss: 0.597963\n", - "Epoch : 41 [8/36(22%)]\tLoss: 0.111404\n", - "Epoch : 41 [12/36(33%)]\tLoss: 0.334425\n", - "Epoch : 41 [16/36(44%)]\tLoss: 0.600712\n", - "Epoch : 41 [20/36(56%)]\tLoss: 0.831337\n", - "Epoch : 41 [24/36(67%)]\tLoss: 0.167405\n", - "Epoch : 41 [28/36(78%)]\tLoss: 0.856512\n", - "Epoch : 41 [32/36(89%)]\tLoss: 0.263341\n", - "Epoch : 42 [0/36(0%)]\tLoss: 0.213090\n", - "Epoch : 42 [4/36(11%)]\tLoss: 0.531169\n", - "Epoch : 42 [8/36(22%)]\tLoss: 0.311126\n", - "Epoch : 42 [12/36(33%)]\tLoss: 0.723715\n", - "Epoch : 42 [16/36(44%)]\tLoss: 0.400058\n", - "Epoch : 42 [20/36(56%)]\tLoss: 1.338589\n", - "Epoch : 42 [24/36(67%)]\tLoss: 0.072342\n", - "Epoch : 42 [28/36(78%)]\tLoss: 0.844318\n", - "Epoch : 42 [32/36(89%)]\tLoss: 0.222099\n", - "Epoch : 43 [0/36(0%)]\tLoss: 0.404359\n", - "Epoch : 43 [4/36(11%)]\tLoss: 0.644221\n", - "Epoch : 43 [8/36(22%)]\tLoss: 0.334746\n", - "Epoch : 43 [12/36(33%)]\tLoss: 0.414446\n", - "Epoch : 43 [16/36(44%)]\tLoss: 0.482774\n", - "Epoch : 43 [20/36(56%)]\tLoss: 0.421186\n", - "Epoch : 43 [24/36(67%)]\tLoss: 0.178616\n", - "Epoch : 43 [28/36(78%)]\tLoss: 0.716391\n", - "Epoch : 43 [32/36(89%)]\tLoss: 0.143481\n", - "Epoch : 44 [0/36(0%)]\tLoss: 0.313725\n", - "Epoch : 44 [4/36(11%)]\tLoss: 0.137333\n", - "Epoch : 44 [8/36(22%)]\tLoss: 0.207881\n", - "Epoch : 44 [12/36(33%)]\tLoss: 0.569564\n", - "Epoch : 44 [16/36(44%)]\tLoss: 0.528622\n", - "Epoch : 44 [20/36(56%)]\tLoss: 0.428724\n", - "Epoch : 44 [24/36(67%)]\tLoss: 0.587079\n", - "Epoch : 44 [28/36(78%)]\tLoss: 0.445712\n", - "Epoch : 44 [32/36(89%)]\tLoss: 0.370171\n", - "Epoch : 45 [0/36(0%)]\tLoss: 0.318485\n", - "Epoch : 45 [4/36(11%)]\tLoss: 0.381179\n", - "Epoch : 45 [8/36(22%)]\tLoss: 0.716152\n", - "Epoch : 45 [12/36(33%)]\tLoss: 0.173891\n", - "Epoch : 45 [16/36(44%)]\tLoss: 0.446844\n", - "Epoch : 45 [20/36(56%)]\tLoss: 0.664207\n", - "Epoch : 45 [24/36(67%)]\tLoss: 0.347085\n", - "Epoch : 45 [28/36(78%)]\tLoss: 0.428880\n", - "Epoch : 45 [32/36(89%)]\tLoss: 0.147576\n", - "Epoch : 46 [0/36(0%)]\tLoss: 0.078045\n", - "Epoch : 46 [4/36(11%)]\tLoss: 1.052288\n", - "Epoch : 46 [8/36(22%)]\tLoss: 0.023588\n", - "Epoch : 46 [12/36(33%)]\tLoss: 0.567953\n", - "Epoch : 46 [16/36(44%)]\tLoss: 0.808846\n", - "Epoch : 46 [20/36(56%)]\tLoss: 0.058826\n", - "Epoch : 46 [24/36(67%)]\tLoss: 0.434106\n", - "Epoch : 46 [28/36(78%)]\tLoss: 0.235144\n", - "Epoch : 46 [32/36(89%)]\tLoss: 0.070250\n", - "Epoch : 47 [0/36(0%)]\tLoss: 0.248731\n", - "Epoch : 47 [4/36(11%)]\tLoss: 0.464602\n", - "Epoch : 47 [8/36(22%)]\tLoss: 0.216533\n", - "Epoch : 47 [12/36(33%)]\tLoss: 0.704866\n", - "Epoch : 47 [16/36(44%)]\tLoss: 1.448926\n", - "Epoch : 47 [20/36(56%)]\tLoss: 0.346967\n", - "Epoch : 47 [24/36(67%)]\tLoss: 0.233850\n", - "Epoch : 47 [28/36(78%)]\tLoss: 0.556294\n", - "Epoch : 47 [32/36(89%)]\tLoss: 0.675342\n", - "Epoch : 48 [0/36(0%)]\tLoss: 0.031292\n", - "Epoch : 48 [4/36(11%)]\tLoss: 0.703089\n", - "Epoch : 48 [8/36(22%)]\tLoss: 0.424832\n", - "Epoch : 48 [12/36(33%)]\tLoss: 0.346287\n", - "Epoch : 48 [16/36(44%)]\tLoss: 1.316893\n", - "Epoch : 48 [20/36(56%)]\tLoss: 0.857610\n", - "Epoch : 48 [24/36(67%)]\tLoss: 0.245881\n", - "Epoch : 48 [28/36(78%)]\tLoss: 1.281933\n", - "Epoch : 48 [32/36(89%)]\tLoss: 0.336972\n", - "Epoch : 49 [0/36(0%)]\tLoss: 0.832083\n", - "Epoch : 49 [4/36(11%)]\tLoss: 0.941388\n", - "Epoch : 49 [8/36(22%)]\tLoss: 0.201220\n", - "Epoch : 49 [12/36(33%)]\tLoss: 0.389977\n", - "Epoch : 49 [16/36(44%)]\tLoss: 0.376688\n", - "Epoch : 49 [20/36(56%)]\tLoss: 0.517796\n", - "Epoch : 49 [24/36(67%)]\tLoss: 0.092088\n", - "Epoch : 49 [28/36(78%)]\tLoss: 0.680176\n", - "Epoch : 49 [32/36(89%)]\tLoss: 0.174327\n", - "Epoch : 50 [0/36(0%)]\tLoss: 0.091433\n", - "Epoch : 50 [4/36(11%)]\tLoss: 0.436185\n", - "Epoch : 50 [8/36(22%)]\tLoss: 0.311675\n", - "Epoch : 50 [12/36(33%)]\tLoss: 0.285956\n", - "Epoch : 50 [16/36(44%)]\tLoss: 0.582378\n", - "Epoch : 50 [20/36(56%)]\tLoss: 0.919050\n", - "Epoch : 50 [24/36(67%)]\tLoss: 0.270392\n", - "Epoch : 50 [28/36(78%)]\tLoss: 0.973324\n", - "Epoch : 50 [32/36(89%)]\tLoss: 0.576271\n", - "Epoch : 51 [0/36(0%)]\tLoss: 0.670728\n", - "Epoch : 51 [4/36(11%)]\tLoss: 0.886712\n", - "Epoch : 51 [8/36(22%)]\tLoss: 0.100751\n", - "Epoch : 51 [12/36(33%)]\tLoss: 0.386025\n", - "Epoch : 51 [16/36(44%)]\tLoss: 0.529465\n", - "Epoch : 51 [20/36(56%)]\tLoss: 0.947774\n", - "Epoch : 51 [24/36(67%)]\tLoss: 0.767539\n", - "Epoch : 51 [28/36(78%)]\tLoss: 0.571711\n", - "Epoch : 51 [32/36(89%)]\tLoss: 0.251765\n", - "Epoch : 52 [0/36(0%)]\tLoss: 0.212626\n", - "Epoch : 52 [4/36(11%)]\tLoss: 1.073839\n", - "Epoch : 52 [8/36(22%)]\tLoss: 0.063755\n", - "Epoch : 52 [12/36(33%)]\tLoss: 0.774267\n", - "Epoch : 52 [16/36(44%)]\tLoss: 0.451752\n", - "Epoch : 52 [20/36(56%)]\tLoss: 1.413042\n", - "Epoch : 52 [24/36(67%)]\tLoss: 0.363818\n", - "Epoch : 52 [28/36(78%)]\tLoss: 2.202698\n", - "Epoch : 52 [32/36(89%)]\tLoss: 0.654060\n", - "Epoch : 53 [0/36(0%)]\tLoss: 0.084677\n", - "Epoch : 53 [4/36(11%)]\tLoss: 0.618550\n", - "Epoch : 53 [8/36(22%)]\tLoss: 0.336069\n", - "Epoch : 53 [12/36(33%)]\tLoss: 0.670051\n", - "Epoch : 53 [16/36(44%)]\tLoss: 0.840334\n", - "Epoch : 53 [20/36(56%)]\tLoss: 0.949424\n", - "Epoch : 53 [24/36(67%)]\tLoss: 0.209087\n", - "Epoch : 53 [28/36(78%)]\tLoss: 2.538940\n", - "Epoch : 53 [32/36(89%)]\tLoss: 0.342279\n", - "Epoch : 54 [0/36(0%)]\tLoss: 0.392449\n", - "Epoch : 54 [4/36(11%)]\tLoss: 0.486203\n", - "Epoch : 54 [8/36(22%)]\tLoss: 0.306021\n", - "Epoch : 54 [12/36(33%)]\tLoss: 0.230520\n", - "Epoch : 54 [16/36(44%)]\tLoss: 0.436410\n", - "Epoch : 54 [20/36(56%)]\tLoss: 0.684949\n", - "Epoch : 54 [24/36(67%)]\tLoss: 0.366743\n", - "Epoch : 54 [28/36(78%)]\tLoss: 0.340137\n", - "Epoch : 54 [32/36(89%)]\tLoss: 0.392396\n", - "Epoch : 55 [0/36(0%)]\tLoss: 0.241226\n", - "Epoch : 55 [4/36(11%)]\tLoss: 0.208627\n", - "Epoch : 55 [8/36(22%)]\tLoss: 0.287846\n", - "Epoch : 55 [12/36(33%)]\tLoss: 0.552863\n", - "Epoch : 55 [16/36(44%)]\tLoss: 0.498845\n", - "Epoch : 55 [20/36(56%)]\tLoss: 0.705694\n", - "Epoch : 55 [24/36(67%)]\tLoss: 0.461155\n", - "Epoch : 55 [28/36(78%)]\tLoss: 0.214350\n", - "Epoch : 55 [32/36(89%)]\tLoss: 0.191955\n", - "Epoch : 56 [0/36(0%)]\tLoss: 0.748406\n", - "Epoch : 56 [4/36(11%)]\tLoss: 1.152794\n", - "Epoch : 56 [8/36(22%)]\tLoss: 0.184812\n", - "Epoch : 56 [12/36(33%)]\tLoss: 0.518682\n", - "Epoch : 56 [16/36(44%)]\tLoss: 0.307776\n", - "Epoch : 56 [20/36(56%)]\tLoss: 1.420699\n", - "Epoch : 56 [24/36(67%)]\tLoss: 0.294112\n", - "Epoch : 56 [28/36(78%)]\tLoss: 0.778037\n", - "Epoch : 56 [32/36(89%)]\tLoss: 0.361675\n", - "Epoch : 57 [0/36(0%)]\tLoss: 0.144088\n", - "Epoch : 57 [4/36(11%)]\tLoss: 0.880363\n", - "Epoch : 57 [8/36(22%)]\tLoss: 0.191276\n", - "Epoch : 57 [12/36(33%)]\tLoss: 0.394946\n", - "Epoch : 57 [16/36(44%)]\tLoss: 0.386742\n", - "Epoch : 57 [20/36(56%)]\tLoss: 0.543866\n", - "Epoch : 57 [24/36(67%)]\tLoss: 0.342418\n", - "Epoch : 57 [28/36(78%)]\tLoss: 0.480424\n", - "Epoch : 57 [32/36(89%)]\tLoss: 0.489276\n", - "Epoch : 58 [0/36(0%)]\tLoss: 0.329949\n", - "Epoch : 58 [4/36(11%)]\tLoss: 0.303448\n", - "Epoch : 58 [8/36(22%)]\tLoss: 0.165213\n", - "Epoch : 58 [12/36(33%)]\tLoss: 0.277984\n", - "Epoch : 58 [16/36(44%)]\tLoss: 0.153901\n", - "Epoch : 58 [20/36(56%)]\tLoss: 0.422341\n", - "Epoch : 58 [24/36(67%)]\tLoss: 0.226475\n", - "Epoch : 58 [28/36(78%)]\tLoss: 0.811437\n", - "Epoch : 58 [32/36(89%)]\tLoss: 0.244592\n", - "Epoch : 59 [0/36(0%)]\tLoss: 0.039483\n", - "Epoch : 59 [4/36(11%)]\tLoss: 0.340929\n", - "Epoch : 59 [8/36(22%)]\tLoss: 0.178745\n", - "Epoch : 59 [12/36(33%)]\tLoss: 0.332853\n", - "Epoch : 59 [16/36(44%)]\tLoss: 0.132966\n", - "Epoch : 59 [20/36(56%)]\tLoss: 0.149137\n", - "Epoch : 59 [24/36(67%)]\tLoss: 0.165199\n", - "Epoch : 59 [28/36(78%)]\tLoss: 0.380043\n", - "Epoch : 59 [32/36(89%)]\tLoss: 0.070635\n", - "Epoch : 60 [0/36(0%)]\tLoss: 0.109540\n", - "Epoch : 60 [4/36(11%)]\tLoss: 0.335829\n", - "Epoch : 60 [8/36(22%)]\tLoss: 0.373097\n", - "Epoch : 60 [12/36(33%)]\tLoss: 0.203708\n", - "Epoch : 60 [16/36(44%)]\tLoss: 0.523015\n", - "Epoch : 60 [20/36(56%)]\tLoss: 1.411104\n", - "Epoch : 60 [24/36(67%)]\tLoss: 0.344621\n", - "Epoch : 60 [28/36(78%)]\tLoss: 0.369447\n", - "Epoch : 60 [32/36(89%)]\tLoss: 0.309172\n", - "Epoch : 61 [0/36(0%)]\tLoss: 0.173076\n", - "Epoch : 61 [4/36(11%)]\tLoss: 1.575993\n", - "Epoch : 61 [8/36(22%)]\tLoss: 0.073707\n", - "Epoch : 61 [12/36(33%)]\tLoss: 0.441406\n", - "Epoch : 61 [16/36(44%)]\tLoss: 0.299271\n", - "Epoch : 61 [20/36(56%)]\tLoss: 0.391899\n", - "Epoch : 61 [24/36(67%)]\tLoss: 0.553841\n", - "Epoch : 61 [28/36(78%)]\tLoss: 0.996605\n", - "Epoch : 61 [32/36(89%)]\tLoss: 1.163776\n", - "Epoch : 62 [0/36(0%)]\tLoss: 0.193393\n", - "Epoch : 62 [4/36(11%)]\tLoss: 0.680447\n", - "Epoch : 62 [8/36(22%)]\tLoss: 0.154131\n", - "Epoch : 62 [12/36(33%)]\tLoss: 0.466727\n", - "Epoch : 62 [16/36(44%)]\tLoss: 0.355742\n", - "Epoch : 62 [20/36(56%)]\tLoss: 0.944189\n", - "Epoch : 62 [24/36(67%)]\tLoss: 0.361093\n", - "Epoch : 62 [28/36(78%)]\tLoss: 0.496810\n", - "Epoch : 62 [32/36(89%)]\tLoss: 0.095560\n", - "Epoch : 63 [0/36(0%)]\tLoss: 0.131059\n", - "Epoch : 63 [4/36(11%)]\tLoss: 0.760972\n", - "Epoch : 63 [8/36(22%)]\tLoss: 0.178536\n", - "Epoch : 63 [12/36(33%)]\tLoss: 0.756130\n", - "Epoch : 63 [16/36(44%)]\tLoss: 0.349004\n", - "Epoch : 63 [20/36(56%)]\tLoss: 0.640581\n", - "Epoch : 63 [24/36(67%)]\tLoss: 0.446915\n", - "Epoch : 63 [28/36(78%)]\tLoss: 0.071328\n", - "Epoch : 63 [32/36(89%)]\tLoss: 0.337889\n", - "Epoch : 64 [0/36(0%)]\tLoss: 0.171653\n", - "Epoch : 64 [4/36(11%)]\tLoss: 0.419947\n", - "Epoch : 64 [8/36(22%)]\tLoss: 0.165812\n", - "Epoch : 64 [12/36(33%)]\tLoss: 0.390531\n", - "Epoch : 64 [16/36(44%)]\tLoss: 0.446191\n", - "Epoch : 64 [20/36(56%)]\tLoss: 0.429118\n", - "Epoch : 64 [24/36(67%)]\tLoss: 0.060738\n", - "Epoch : 64 [28/36(78%)]\tLoss: 0.285266\n", - "Epoch : 64 [32/36(89%)]\tLoss: 0.101778\n", - "Epoch : 65 [0/36(0%)]\tLoss: 0.110042\n", - "Epoch : 65 [4/36(11%)]\tLoss: 0.336258\n", - "Epoch : 65 [8/36(22%)]\tLoss: 0.267158\n", - "Epoch : 65 [12/36(33%)]\tLoss: 0.231397\n", - "Epoch : 65 [16/36(44%)]\tLoss: 0.299631\n", - "Epoch : 65 [20/36(56%)]\tLoss: 0.280416\n", - "Epoch : 65 [24/36(67%)]\tLoss: 0.132582\n", - "Epoch : 65 [28/36(78%)]\tLoss: 0.958005\n", - "Epoch : 65 [32/36(89%)]\tLoss: 0.065595\n", - "Epoch : 66 [0/36(0%)]\tLoss: 0.067539\n", - "Epoch : 66 [4/36(11%)]\tLoss: 0.475579\n", - "Epoch : 66 [8/36(22%)]\tLoss: 0.383978\n", - "Epoch : 66 [12/36(33%)]\tLoss: 0.461356\n", - "Epoch : 66 [16/36(44%)]\tLoss: 0.132429\n", - "Epoch : 66 [20/36(56%)]\tLoss: 0.354878\n", - "Epoch : 66 [24/36(67%)]\tLoss: 0.101756\n", - "Epoch : 66 [28/36(78%)]\tLoss: 0.319977\n", - "Epoch : 66 [32/36(89%)]\tLoss: 0.305964\n", - "Epoch : 67 [0/36(0%)]\tLoss: 0.395466\n", - "Epoch : 67 [4/36(11%)]\tLoss: 0.631511\n", - "Epoch : 67 [8/36(22%)]\tLoss: 0.046495\n", - "Epoch : 67 [12/36(33%)]\tLoss: 0.143324\n", - "Epoch : 67 [16/36(44%)]\tLoss: 0.444657\n", - "Epoch : 67 [20/36(56%)]\tLoss: 0.579663\n", - "Epoch : 67 [24/36(67%)]\tLoss: 0.105798\n", - "Epoch : 67 [28/36(78%)]\tLoss: 0.175852\n", - "Epoch : 67 [32/36(89%)]\tLoss: 0.188525\n", - "Epoch : 68 [0/36(0%)]\tLoss: 0.245703\n", - "Epoch : 68 [4/36(11%)]\tLoss: 0.615311\n", - "Epoch : 68 [8/36(22%)]\tLoss: 0.184509\n", - "Epoch : 68 [12/36(33%)]\tLoss: 0.460917\n", - "Epoch : 68 [16/36(44%)]\tLoss: 0.521327\n", - "Epoch : 68 [20/36(56%)]\tLoss: 0.437388\n", - "Epoch : 68 [24/36(67%)]\tLoss: 0.211834\n", - "Epoch : 68 [28/36(78%)]\tLoss: 0.454829\n", - "Epoch : 68 [32/36(89%)]\tLoss: 0.756555\n", - "Epoch : 69 [0/36(0%)]\tLoss: 0.226641\n", - "Epoch : 69 [4/36(11%)]\tLoss: 0.481717\n", - "Epoch : 69 [8/36(22%)]\tLoss: 0.684852\n", - "Epoch : 69 [12/36(33%)]\tLoss: 0.191338\n", - "Epoch : 69 [16/36(44%)]\tLoss: 0.451719\n", - "Epoch : 69 [20/36(56%)]\tLoss: 0.246406\n", - "Epoch : 69 [24/36(67%)]\tLoss: 0.059305\n", - "Epoch : 69 [28/36(78%)]\tLoss: 0.195308\n", - "Epoch : 69 [32/36(89%)]\tLoss: 0.614104\n", - "Epoch : 70 [0/36(0%)]\tLoss: 0.351343\n", - "Epoch : 70 [4/36(11%)]\tLoss: 0.248838\n", - "Epoch : 70 [8/36(22%)]\tLoss: 0.069867\n", - "Epoch : 70 [12/36(33%)]\tLoss: 0.177915\n", - "Epoch : 70 [16/36(44%)]\tLoss: 0.587915\n", - "Epoch : 70 [20/36(56%)]\tLoss: 0.308113\n", - "Epoch : 70 [24/36(67%)]\tLoss: 0.260882\n", - "Epoch : 70 [28/36(78%)]\tLoss: 0.277850\n", - "Epoch : 70 [32/36(89%)]\tLoss: 0.320749\n", - "Epoch : 71 [0/36(0%)]\tLoss: 0.351311\n", - "Epoch : 71 [4/36(11%)]\tLoss: 0.295348\n", - "Epoch : 71 [8/36(22%)]\tLoss: 0.428218\n", - "Epoch : 71 [12/36(33%)]\tLoss: 0.629254\n", - "Epoch : 71 [16/36(44%)]\tLoss: 0.674775\n", - "Epoch : 71 [20/36(56%)]\tLoss: 0.631717\n", - "Epoch : 71 [24/36(67%)]\tLoss: 0.434315\n", - "Epoch : 71 [28/36(78%)]\tLoss: 0.192866\n", - "Epoch : 71 [32/36(89%)]\tLoss: 0.300748\n", - "Epoch : 72 [0/36(0%)]\tLoss: 0.050244\n", - "Epoch : 72 [4/36(11%)]\tLoss: 0.187221\n", - "Epoch : 72 [8/36(22%)]\tLoss: 0.355841\n", - "Epoch : 72 [12/36(33%)]\tLoss: 0.486007\n", - "Epoch : 72 [16/36(44%)]\tLoss: 0.138751\n", - "Epoch : 72 [20/36(56%)]\tLoss: 0.593632\n", - "Epoch : 72 [24/36(67%)]\tLoss: 0.222655\n", - "Epoch : 72 [28/36(78%)]\tLoss: 0.778071\n", - "Epoch : 72 [32/36(89%)]\tLoss: 0.520291\n", - "Epoch : 73 [0/36(0%)]\tLoss: 0.421078\n", - "Epoch : 73 [4/36(11%)]\tLoss: 1.278967\n", - "Epoch : 73 [8/36(22%)]\tLoss: 0.145565\n", - "Epoch : 73 [12/36(33%)]\tLoss: 0.493192\n", - "Epoch : 73 [16/36(44%)]\tLoss: 0.382323\n", - "Epoch : 73 [20/36(56%)]\tLoss: 0.567345\n", - "Epoch : 73 [24/36(67%)]\tLoss: 0.282475\n", - "Epoch : 73 [28/36(78%)]\tLoss: 0.834403\n", - "Epoch : 73 [32/36(89%)]\tLoss: 0.205051\n", - "Epoch : 74 [0/36(0%)]\tLoss: 0.353666\n", - "Epoch : 74 [4/36(11%)]\tLoss: 0.850327\n", - "Epoch : 74 [8/36(22%)]\tLoss: 0.279701\n", - "Epoch : 74 [12/36(33%)]\tLoss: 0.588210\n", - "Epoch : 74 [16/36(44%)]\tLoss: 0.273438\n", - "Epoch : 74 [20/36(56%)]\tLoss: 0.107704\n", - "Epoch : 74 [24/36(67%)]\tLoss: 0.020116\n", - "Epoch : 74 [28/36(78%)]\tLoss: 0.672685\n", - "Epoch : 74 [32/36(89%)]\tLoss: 0.313326\n", - "Epoch : 75 [0/36(0%)]\tLoss: 0.063054\n", - "Epoch : 75 [4/36(11%)]\tLoss: 0.593994\n", - "Epoch : 75 [8/36(22%)]\tLoss: 0.359736\n", - "Epoch : 75 [12/36(33%)]\tLoss: 0.642095\n", - "Epoch : 75 [16/36(44%)]\tLoss: 0.491980\n", - "Epoch : 75 [20/36(56%)]\tLoss: 0.383763\n", - "Epoch : 75 [24/36(67%)]\tLoss: 0.192489\n", - "Epoch : 75 [28/36(78%)]\tLoss: 0.341851\n", - "Epoch : 75 [32/36(89%)]\tLoss: 0.420526\n", - "Epoch : 76 [0/36(0%)]\tLoss: 0.466267\n", - "Epoch : 76 [4/36(11%)]\tLoss: 0.725664\n", - "Epoch : 76 [8/36(22%)]\tLoss: 0.258868\n", - "Epoch : 76 [12/36(33%)]\tLoss: 0.386899\n", - "Epoch : 76 [16/36(44%)]\tLoss: 0.820854\n", - "Epoch : 76 [20/36(56%)]\tLoss: 1.941172\n", - "Epoch : 76 [24/36(67%)]\tLoss: 0.278641\n", - "Epoch : 76 [28/36(78%)]\tLoss: 0.196588\n", - "Epoch : 76 [32/36(89%)]\tLoss: 0.205862\n", - "Epoch : 77 [0/36(0%)]\tLoss: 0.465835\n", - "Epoch : 77 [4/36(11%)]\tLoss: 1.071351\n", - "Epoch : 77 [8/36(22%)]\tLoss: 0.677886\n", - "Epoch : 77 [12/36(33%)]\tLoss: 0.421415\n", - "Epoch : 77 [16/36(44%)]\tLoss: 0.818598\n", - "Epoch : 77 [20/36(56%)]\tLoss: 1.020175\n", - "Epoch : 77 [24/36(67%)]\tLoss: 0.742091\n", - "Epoch : 77 [28/36(78%)]\tLoss: 1.043014\n", - "Epoch : 77 [32/36(89%)]\tLoss: 1.304296\n", - "Epoch : 78 [0/36(0%)]\tLoss: 0.503657\n", - "Epoch : 78 [4/36(11%)]\tLoss: 0.364380\n", - "Epoch : 78 [8/36(22%)]\tLoss: 0.832167\n", - "Epoch : 78 [12/36(33%)]\tLoss: 0.455644\n", - "Epoch : 78 [16/36(44%)]\tLoss: 0.829458\n", - "Epoch : 78 [20/36(56%)]\tLoss: 0.338506\n", - "Epoch : 78 [24/36(67%)]\tLoss: 0.220733\n", - "Epoch : 78 [28/36(78%)]\tLoss: 0.556653\n", - "Epoch : 78 [32/36(89%)]\tLoss: 0.454469\n", - "Epoch : 79 [0/36(0%)]\tLoss: 0.325316\n", - "Epoch : 79 [4/36(11%)]\tLoss: 0.541575\n", - "Epoch : 79 [8/36(22%)]\tLoss: 0.086029\n", - "Epoch : 79 [12/36(33%)]\tLoss: 0.527262\n", - "Epoch : 79 [16/36(44%)]\tLoss: 0.246172\n", - "Epoch : 79 [20/36(56%)]\tLoss: 0.279475\n", - "Epoch : 79 [24/36(67%)]\tLoss: 0.253151\n", - "Epoch : 79 [28/36(78%)]\tLoss: 0.242834\n", - "Epoch : 79 [32/36(89%)]\tLoss: 0.333720\n", - "Epoch : 80 [0/36(0%)]\tLoss: 0.386479\n", - "Epoch : 80 [4/36(11%)]\tLoss: 0.181690\n", - "Epoch : 80 [8/36(22%)]\tLoss: 0.195253\n", - "Epoch : 80 [12/36(33%)]\tLoss: 0.477310\n", - "Epoch : 80 [16/36(44%)]\tLoss: 0.522284\n", - "Epoch : 80 [20/36(56%)]\tLoss: 0.179487\n", - "Epoch : 80 [24/36(67%)]\tLoss: 0.082368\n", - "Epoch : 80 [28/36(78%)]\tLoss: 0.283516\n", - "Epoch : 80 [32/36(89%)]\tLoss: 0.458258\n", - "Epoch : 81 [0/36(0%)]\tLoss: 0.565194\n", - "Epoch : 81 [4/36(11%)]\tLoss: 0.943087\n", - "Epoch : 81 [8/36(22%)]\tLoss: 0.266621\n", - "Epoch : 81 [12/36(33%)]\tLoss: 0.510036\n", - "Epoch : 81 [16/36(44%)]\tLoss: 0.537530\n", - "Epoch : 81 [20/36(56%)]\tLoss: 0.477839\n", - "Epoch : 81 [24/36(67%)]\tLoss: 0.294128\n", - "Epoch : 81 [28/36(78%)]\tLoss: 0.167730\n", - "Epoch : 81 [32/36(89%)]\tLoss: 0.284342\n", - "Epoch : 82 [0/36(0%)]\tLoss: 0.237424\n", - "Epoch : 82 [4/36(11%)]\tLoss: 1.890410\n", - "Epoch : 82 [8/36(22%)]\tLoss: 0.219688\n", - "Epoch : 82 [12/36(33%)]\tLoss: 0.184038\n", - "Epoch : 82 [16/36(44%)]\tLoss: 0.552833\n", - "Epoch : 82 [20/36(56%)]\tLoss: 0.716360\n", - "Epoch : 82 [24/36(67%)]\tLoss: 0.448484\n", - "Epoch : 82 [28/36(78%)]\tLoss: 0.342082\n", - "Epoch : 82 [32/36(89%)]\tLoss: 0.173762\n", - "Epoch : 83 [0/36(0%)]\tLoss: 0.129008\n", - "Epoch : 83 [4/36(11%)]\tLoss: 1.271657\n", - "Epoch : 83 [8/36(22%)]\tLoss: 0.232719\n", - "Epoch : 83 [12/36(33%)]\tLoss: 0.614202\n", - "Epoch : 83 [16/36(44%)]\tLoss: 0.794692\n", - "Epoch : 83 [20/36(56%)]\tLoss: 0.140350\n", - "Epoch : 83 [24/36(67%)]\tLoss: 0.122582\n", - "Epoch : 83 [28/36(78%)]\tLoss: 1.385823\n", - "Epoch : 83 [32/36(89%)]\tLoss: 0.641438\n", - "Epoch : 84 [0/36(0%)]\tLoss: 0.442765\n", - "Epoch : 84 [4/36(11%)]\tLoss: 0.649024\n", - "Epoch : 84 [8/36(22%)]\tLoss: 0.529150\n", - "Epoch : 84 [12/36(33%)]\tLoss: 0.456516\n", - "Epoch : 84 [16/36(44%)]\tLoss: 0.618759\n", - "Epoch : 84 [20/36(56%)]\tLoss: 0.434585\n", - "Epoch : 84 [24/36(67%)]\tLoss: 0.022508\n", - "Epoch : 84 [28/36(78%)]\tLoss: 0.363682\n", - "Epoch : 84 [32/36(89%)]\tLoss: 0.179081\n", - "Epoch : 85 [0/36(0%)]\tLoss: 0.107404\n", - "Epoch : 85 [4/36(11%)]\tLoss: 0.999953\n", - "Epoch : 85 [8/36(22%)]\tLoss: 0.288778\n", - "Epoch : 85 [12/36(33%)]\tLoss: 0.174723\n", - "Epoch : 85 [16/36(44%)]\tLoss: 0.308867\n", - "Epoch : 85 [20/36(56%)]\tLoss: 0.191982\n", - "Epoch : 85 [24/36(67%)]\tLoss: 0.563457\n", - "Epoch : 85 [28/36(78%)]\tLoss: 1.096451\n", - "Epoch : 85 [32/36(89%)]\tLoss: 0.399403\n", - "Epoch : 86 [0/36(0%)]\tLoss: 0.164414\n", - "Epoch : 86 [4/36(11%)]\tLoss: 0.688349\n", - "Epoch : 86 [8/36(22%)]\tLoss: 1.336441\n", - "Epoch : 86 [12/36(33%)]\tLoss: 1.115971\n", - "Epoch : 86 [16/36(44%)]\tLoss: 0.166427\n", - "Epoch : 86 [20/36(56%)]\tLoss: 0.193667\n", - "Epoch : 86 [24/36(67%)]\tLoss: 0.278666\n", - "Epoch : 86 [28/36(78%)]\tLoss: 0.955885\n", - "Epoch : 86 [32/36(89%)]\tLoss: 0.545948\n", - "Epoch : 87 [0/36(0%)]\tLoss: 0.466130\n", - "Epoch : 87 [4/36(11%)]\tLoss: 1.187678\n", - "Epoch : 87 [8/36(22%)]\tLoss: 0.678168\n", - "Epoch : 87 [12/36(33%)]\tLoss: 1.213233\n", - "Epoch : 87 [16/36(44%)]\tLoss: 2.553460\n", - "Epoch : 87 [20/36(56%)]\tLoss: 1.772933\n", - "Epoch : 87 [24/36(67%)]\tLoss: 0.238267\n", - "Epoch : 87 [28/36(78%)]\tLoss: 0.991708\n", - "Epoch : 87 [32/36(89%)]\tLoss: 1.196060\n", - "Epoch : 88 [0/36(0%)]\tLoss: 0.960181\n", - "Epoch : 88 [4/36(11%)]\tLoss: 1.675559\n", - "Epoch : 88 [8/36(22%)]\tLoss: 0.186355\n", - "Epoch : 88 [12/36(33%)]\tLoss: 0.128255\n", - "Epoch : 88 [16/36(44%)]\tLoss: 0.408819\n", - "Epoch : 88 [20/36(56%)]\tLoss: 0.912504\n", - "Epoch : 88 [24/36(67%)]\tLoss: 1.175293\n", - "Epoch : 88 [28/36(78%)]\tLoss: 0.990560\n", - "Epoch : 88 [32/36(89%)]\tLoss: 0.632055\n", - "Epoch : 89 [0/36(0%)]\tLoss: 0.563201\n", - "Epoch : 89 [4/36(11%)]\tLoss: 2.195781\n", - "Epoch : 89 [8/36(22%)]\tLoss: 3.471958\n", - "Epoch : 89 [12/36(33%)]\tLoss: 3.675908\n", - "Epoch : 89 [16/36(44%)]\tLoss: 1.334934\n", - "Epoch : 89 [20/36(56%)]\tLoss: 1.311227\n", - "Epoch : 89 [24/36(67%)]\tLoss: 1.792446\n", - "Epoch : 89 [28/36(78%)]\tLoss: 3.790955\n", - "Epoch : 89 [32/36(89%)]\tLoss: 3.436365\n", - "Epoch : 90 [0/36(0%)]\tLoss: 1.585278\n", - "Epoch : 90 [4/36(11%)]\tLoss: 0.416219\n", - "Epoch : 90 [8/36(22%)]\tLoss: 3.117171\n", - "Epoch : 90 [12/36(33%)]\tLoss: 3.960102\n", - "Epoch : 90 [16/36(44%)]\tLoss: 2.393560\n", - "Epoch : 90 [20/36(56%)]\tLoss: 0.589126\n", - "Epoch : 90 [24/36(67%)]\tLoss: 0.822543\n", - "Epoch : 90 [28/36(78%)]\tLoss: 3.727118\n", - "Epoch : 90 [32/36(89%)]\tLoss: 2.944671\n", - "Epoch : 91 [0/36(0%)]\tLoss: 1.716225\n", - "Epoch : 91 [4/36(11%)]\tLoss: 0.407666\n", - "Epoch : 91 [8/36(22%)]\tLoss: 0.207399\n", - "Epoch : 91 [12/36(33%)]\tLoss: 1.016862\n", - "Epoch : 91 [16/36(44%)]\tLoss: 1.032621\n", - "Epoch : 91 [20/36(56%)]\tLoss: 0.379478\n", - "Epoch : 91 [24/36(67%)]\tLoss: 1.485887\n", - "Epoch : 91 [28/36(78%)]\tLoss: 1.674209\n", - "Epoch : 91 [32/36(89%)]\tLoss: 0.893359\n", - "Epoch : 92 [0/36(0%)]\tLoss: 0.162307\n", - "Epoch : 92 [4/36(11%)]\tLoss: 0.663244\n", - "Epoch : 92 [8/36(22%)]\tLoss: 1.787985\n", - "Epoch : 92 [12/36(33%)]\tLoss: 1.857683\n", - "Epoch : 92 [16/36(44%)]\tLoss: 1.285776\n", - "Epoch : 92 [20/36(56%)]\tLoss: 1.122557\n", - "Epoch : 92 [24/36(67%)]\tLoss: 1.169221\n", - "Epoch : 92 [28/36(78%)]\tLoss: 3.342285\n", - "Epoch : 92 [32/36(89%)]\tLoss: 2.793087\n", - "Epoch : 93 [0/36(0%)]\tLoss: 1.566781\n", - "Epoch : 93 [4/36(11%)]\tLoss: 0.967281\n", - "Epoch : 93 [8/36(22%)]\tLoss: 0.457982\n", - "Epoch : 93 [12/36(33%)]\tLoss: 1.040919\n", - "Epoch : 93 [16/36(44%)]\tLoss: 3.379672\n", - "Epoch : 93 [20/36(56%)]\tLoss: 2.183326\n", - "Epoch : 93 [24/36(67%)]\tLoss: 1.253585\n", - "Epoch : 93 [28/36(78%)]\tLoss: 0.970572\n", - "Epoch : 93 [32/36(89%)]\tLoss: 1.065320\n", - "Epoch : 94 [0/36(0%)]\tLoss: 2.092313\n", - "Epoch : 94 [4/36(11%)]\tLoss: 3.136842\n", - "Epoch : 94 [8/36(22%)]\tLoss: 0.898935\n", - "Epoch : 94 [12/36(33%)]\tLoss: 0.357317\n", - "Epoch : 94 [16/36(44%)]\tLoss: 1.348559\n", - "Epoch : 94 [20/36(56%)]\tLoss: 2.541047\n", - "Epoch : 94 [24/36(67%)]\tLoss: 1.734668\n", - "Epoch : 94 [28/36(78%)]\tLoss: 1.846122\n", - "Epoch : 94 [32/36(89%)]\tLoss: 0.614514\n", - "Epoch : 95 [0/36(0%)]\tLoss: 0.471126\n", - "Epoch : 95 [4/36(11%)]\tLoss: 2.058697\n", - "Epoch : 95 [8/36(22%)]\tLoss: 1.271914\n", - "Epoch : 95 [12/36(33%)]\tLoss: 2.267414\n", - "Epoch : 95 [16/36(44%)]\tLoss: 0.515036\n", - "Epoch : 95 [20/36(56%)]\tLoss: 1.162248\n", - "Epoch : 95 [24/36(67%)]\tLoss: 1.215767\n", - "Epoch : 95 [28/36(78%)]\tLoss: 2.152397\n", - "Epoch : 95 [32/36(89%)]\tLoss: 0.872249\n", - "Epoch : 96 [0/36(0%)]\tLoss: 0.825732\n", - "Epoch : 96 [4/36(11%)]\tLoss: 1.023545\n", - "Epoch : 96 [8/36(22%)]\tLoss: 0.284041\n", - "Epoch : 96 [12/36(33%)]\tLoss: 0.907851\n", - "Epoch : 96 [16/36(44%)]\tLoss: 0.728998\n", - "Epoch : 96 [20/36(56%)]\tLoss: 0.540271\n", - "Epoch : 96 [24/36(67%)]\tLoss: 0.394503\n", - "Epoch : 96 [28/36(78%)]\tLoss: 0.688199\n", - "Epoch : 96 [32/36(89%)]\tLoss: 0.947640\n", - "Epoch : 97 [0/36(0%)]\tLoss: 0.220880\n", - "Epoch : 97 [4/36(11%)]\tLoss: 0.659343\n", - "Epoch : 97 [8/36(22%)]\tLoss: 0.111405\n", - "Epoch : 97 [12/36(33%)]\tLoss: 0.152752\n", - "Epoch : 97 [16/36(44%)]\tLoss: 0.086298\n", - "Epoch : 97 [20/36(56%)]\tLoss: 0.489436\n", - "Epoch : 97 [24/36(67%)]\tLoss: 0.573709\n", - "Epoch : 97 [28/36(78%)]\tLoss: 0.515620\n", - "Epoch : 97 [32/36(89%)]\tLoss: 0.289974\n", - "Epoch : 98 [0/36(0%)]\tLoss: 0.177648\n", - "Epoch : 98 [4/36(11%)]\tLoss: 0.389674\n", - "Epoch : 98 [8/36(22%)]\tLoss: 0.185830\n", - "Epoch : 98 [12/36(33%)]\tLoss: 0.088112\n", - "Epoch : 98 [16/36(44%)]\tLoss: 0.238551\n", - "Epoch : 98 [20/36(56%)]\tLoss: 0.491209\n", - "Epoch : 98 [24/36(67%)]\tLoss: 0.252624\n", - "Epoch : 98 [28/36(78%)]\tLoss: 0.709859\n", - "Epoch : 98 [32/36(89%)]\tLoss: 0.255970\n", - "Epoch : 99 [0/36(0%)]\tLoss: 0.470344\n", - "Epoch : 99 [4/36(11%)]\tLoss: 0.424051\n", - "Epoch : 99 [8/36(22%)]\tLoss: 0.055387\n", - "Epoch : 99 [12/36(33%)]\tLoss: 0.286219\n", - "Epoch : 99 [16/36(44%)]\tLoss: 0.704761\n", - "Epoch : 99 [20/36(56%)]\tLoss: 0.760706\n", - "Epoch : 99 [24/36(67%)]\tLoss: 0.264923\n", - "Epoch : 99 [28/36(78%)]\tLoss: 0.728058\n", - "Epoch : 99 [32/36(89%)]\tLoss: 0.417225\n", - "Epoch : 100 [0/36(0%)]\tLoss: 0.335077\n", - "Epoch : 100 [4/36(11%)]\tLoss: 0.736962\n", - "Epoch : 100 [8/36(22%)]\tLoss: 0.236133\n", - "Epoch : 100 [12/36(33%)]\tLoss: 0.427033\n", - "Epoch : 100 [16/36(44%)]\tLoss: 0.689049\n", - "Epoch : 100 [20/36(56%)]\tLoss: 0.425932\n", - "Epoch : 100 [24/36(67%)]\tLoss: 0.323791\n", - "Epoch : 100 [28/36(78%)]\tLoss: 0.999760\n", - "Epoch : 100 [32/36(89%)]\tLoss: 0.794521\n", - "Epoch : 101 [0/36(0%)]\tLoss: 0.528443\n", - "Epoch : 101 [4/36(11%)]\tLoss: 0.698077\n", - "Epoch : 101 [8/36(22%)]\tLoss: 0.310891\n", - "Epoch : 101 [12/36(33%)]\tLoss: 0.904637\n", - "Epoch : 101 [16/36(44%)]\tLoss: 0.759942\n", - "Epoch : 101 [20/36(56%)]\tLoss: 0.595933\n", - "Epoch : 101 [24/36(67%)]\tLoss: 0.066025\n", - "Epoch : 101 [28/36(78%)]\tLoss: 1.011942\n", - "Epoch : 101 [32/36(89%)]\tLoss: 0.637389\n", - "Epoch : 102 [0/36(0%)]\tLoss: 0.290049\n", - "Epoch : 102 [4/36(11%)]\tLoss: 0.305975\n", - "Epoch : 102 [8/36(22%)]\tLoss: 0.076124\n", - "Epoch : 102 [12/36(33%)]\tLoss: 0.247602\n", - "Epoch : 102 [16/36(44%)]\tLoss: 0.424071\n", - "Epoch : 102 [20/36(56%)]\tLoss: 0.302131\n", - "Epoch : 102 [24/36(67%)]\tLoss: 0.397883\n", - "Epoch : 102 [28/36(78%)]\tLoss: 0.568201\n", - "Epoch : 102 [32/36(89%)]\tLoss: 0.639221\n", - "Epoch : 103 [0/36(0%)]\tLoss: 0.031100\n", - "Epoch : 103 [4/36(11%)]\tLoss: 0.144299\n", - "Epoch : 103 [8/36(22%)]\tLoss: 0.493636\n", - "Epoch : 103 [12/36(33%)]\tLoss: 0.477068\n", - "Epoch : 103 [16/36(44%)]\tLoss: 0.295319\n", - "Epoch : 103 [20/36(56%)]\tLoss: 0.567651\n", - "Epoch : 103 [24/36(67%)]\tLoss: 0.154543\n", - "Epoch : 103 [28/36(78%)]\tLoss: 0.934411\n", - "Epoch : 103 [32/36(89%)]\tLoss: 0.423786\n", - "Epoch : 104 [0/36(0%)]\tLoss: 0.617604\n", - "Epoch : 104 [4/36(11%)]\tLoss: 0.791493\n", - "Epoch : 104 [8/36(22%)]\tLoss: 0.265794\n", - "Epoch : 104 [12/36(33%)]\tLoss: 0.353376\n", - "Epoch : 104 [16/36(44%)]\tLoss: 0.616096\n", - "Epoch : 104 [20/36(56%)]\tLoss: 1.233592\n", - "Epoch : 104 [24/36(67%)]\tLoss: 0.374678\n", - "Epoch : 104 [28/36(78%)]\tLoss: 0.330305\n", - "Epoch : 104 [32/36(89%)]\tLoss: 0.119915\n", - "Epoch : 105 [0/36(0%)]\tLoss: 0.061153\n", - "Epoch : 105 [4/36(11%)]\tLoss: 1.500544\n", - "Epoch : 105 [8/36(22%)]\tLoss: 0.708913\n", - "Epoch : 105 [12/36(33%)]\tLoss: 0.456832\n", - "Epoch : 105 [16/36(44%)]\tLoss: 0.242507\n", - "Epoch : 105 [20/36(56%)]\tLoss: 0.381658\n", - "Epoch : 105 [24/36(67%)]\tLoss: 0.477974\n", - "Epoch : 105 [28/36(78%)]\tLoss: 1.054624\n", - "Epoch : 105 [32/36(89%)]\tLoss: 0.683427\n", - "Epoch : 106 [0/36(0%)]\tLoss: 0.396312\n", - "Epoch : 106 [4/36(11%)]\tLoss: 0.632397\n", - "Epoch : 106 [8/36(22%)]\tLoss: 0.422376\n", - "Epoch : 106 [12/36(33%)]\tLoss: 0.452805\n", - "Epoch : 106 [16/36(44%)]\tLoss: 0.700580\n", - "Epoch : 106 [20/36(56%)]\tLoss: 0.304329\n", - "Epoch : 106 [24/36(67%)]\tLoss: 0.184213\n", - "Epoch : 106 [28/36(78%)]\tLoss: 0.652698\n", - "Epoch : 106 [32/36(89%)]\tLoss: 0.473258\n", - "Epoch : 107 [0/36(0%)]\tLoss: 0.315420\n", - "Epoch : 107 [4/36(11%)]\tLoss: 0.267182\n", - "Epoch : 107 [8/36(22%)]\tLoss: 0.183368\n", - "Epoch : 107 [12/36(33%)]\tLoss: 0.209567\n", - "Epoch : 107 [16/36(44%)]\tLoss: 0.558090\n", - "Epoch : 107 [20/36(56%)]\tLoss: 0.229253\n", - "Epoch : 107 [24/36(67%)]\tLoss: 0.903482\n", - "Epoch : 107 [28/36(78%)]\tLoss: 0.449808\n", - "Epoch : 107 [32/36(89%)]\tLoss: 0.817243\n", - "Epoch : 108 [0/36(0%)]\tLoss: 0.436760\n", - "Epoch : 108 [4/36(11%)]\tLoss: 0.625540\n", - "Epoch : 108 [8/36(22%)]\tLoss: 0.825404\n", - "Epoch : 108 [12/36(33%)]\tLoss: 0.110554\n", - "Epoch : 108 [16/36(44%)]\tLoss: 0.286792\n", - "Epoch : 108 [20/36(56%)]\tLoss: 2.833877\n", - "Epoch : 108 [24/36(67%)]\tLoss: 0.400053\n", - "Epoch : 108 [28/36(78%)]\tLoss: 0.988854\n", - "Epoch : 108 [32/36(89%)]\tLoss: 0.234745\n", - "Epoch : 109 [0/36(0%)]\tLoss: 0.057277\n", - "Epoch : 109 [4/36(11%)]\tLoss: 0.032007\n", - "Epoch : 109 [8/36(22%)]\tLoss: 0.998918\n", - "Epoch : 109 [12/36(33%)]\tLoss: 1.419879\n", - "Epoch : 109 [16/36(44%)]\tLoss: 1.054044\n", - "Epoch : 109 [20/36(56%)]\tLoss: 0.671824\n", - "Epoch : 109 [24/36(67%)]\tLoss: 0.170978\n", - "Epoch : 109 [28/36(78%)]\tLoss: 1.201057\n", - "Epoch : 109 [32/36(89%)]\tLoss: 0.678791\n", - "Epoch : 110 [0/36(0%)]\tLoss: 1.131525\n", - "Epoch : 110 [4/36(11%)]\tLoss: 0.581244\n", - "Epoch : 110 [8/36(22%)]\tLoss: 0.219936\n", - "Epoch : 110 [12/36(33%)]\tLoss: 1.183547\n", - "Epoch : 110 [16/36(44%)]\tLoss: 1.832149\n", - "Epoch : 110 [20/36(56%)]\tLoss: 1.537309\n", - "Epoch : 110 [24/36(67%)]\tLoss: 0.220064\n", - "Epoch : 110 [28/36(78%)]\tLoss: 0.206773\n", - "Epoch : 110 [32/36(89%)]\tLoss: 0.404106\n", - "Epoch : 111 [0/36(0%)]\tLoss: 1.263774\n", - "Epoch : 111 [4/36(11%)]\tLoss: 1.618960\n", - "Epoch : 111 [8/36(22%)]\tLoss: 0.518778\n", - "Epoch : 111 [12/36(33%)]\tLoss: 0.272339\n", - "Epoch : 111 [16/36(44%)]\tLoss: 1.621682\n", - "Epoch : 111 [20/36(56%)]\tLoss: 0.948874\n", - "Epoch : 111 [24/36(67%)]\tLoss: 0.643028\n", - "Epoch : 111 [28/36(78%)]\tLoss: 0.311759\n", - "Epoch : 111 [32/36(89%)]\tLoss: 0.589862\n", - "Epoch : 112 [0/36(0%)]\tLoss: 0.309302\n", - "Epoch : 112 [4/36(11%)]\tLoss: 1.313844\n", - "Epoch : 112 [8/36(22%)]\tLoss: 0.951113\n", - "Epoch : 112 [12/36(33%)]\tLoss: 1.455825\n", - "Epoch : 112 [16/36(44%)]\tLoss: 1.334544\n", - "Epoch : 112 [20/36(56%)]\tLoss: 0.480376\n", - "Epoch : 112 [24/36(67%)]\tLoss: 0.264695\n", - "Epoch : 112 [28/36(78%)]\tLoss: 1.501649\n", - "Epoch : 112 [32/36(89%)]\tLoss: 1.331584\n", - "Epoch : 113 [0/36(0%)]\tLoss: 0.774809\n", - "Epoch : 113 [4/36(11%)]\tLoss: 0.281862\n", - "Epoch : 113 [8/36(22%)]\tLoss: 0.119052\n", - "Epoch : 113 [12/36(33%)]\tLoss: 0.946327\n", - "Epoch : 113 [16/36(44%)]\tLoss: 1.766507\n", - "Epoch : 113 [20/36(56%)]\tLoss: 0.593605\n", - "Epoch : 113 [24/36(67%)]\tLoss: 0.346706\n", - "Epoch : 113 [28/36(78%)]\tLoss: 0.452733\n", - "Epoch : 113 [32/36(89%)]\tLoss: 0.917309\n", - "Epoch : 114 [0/36(0%)]\tLoss: 0.708329\n", - "Epoch : 114 [4/36(11%)]\tLoss: 0.468475\n", - "Epoch : 114 [8/36(22%)]\tLoss: 0.861136\n", - "Epoch : 114 [12/36(33%)]\tLoss: 0.791301\n", - "Epoch : 114 [16/36(44%)]\tLoss: 0.112276\n", - "Epoch : 114 [20/36(56%)]\tLoss: 0.797339\n", - "Epoch : 114 [24/36(67%)]\tLoss: 0.640625\n", - "Epoch : 114 [28/36(78%)]\tLoss: 2.018550\n", - "Epoch : 114 [32/36(89%)]\tLoss: 0.967172\n", - "Epoch : 115 [0/36(0%)]\tLoss: 1.015383\n", - "Epoch : 115 [4/36(11%)]\tLoss: 0.100396\n", - "Epoch : 115 [8/36(22%)]\tLoss: 0.695266\n", - "Epoch : 115 [12/36(33%)]\tLoss: 0.904562\n", - "Epoch : 115 [16/36(44%)]\tLoss: 1.446789\n", - "Epoch : 115 [20/36(56%)]\tLoss: 1.735146\n", - "Epoch : 115 [24/36(67%)]\tLoss: 0.423565\n", - "Epoch : 115 [28/36(78%)]\tLoss: 0.685821\n", - "Epoch : 115 [32/36(89%)]\tLoss: 1.112314\n", - "Epoch : 116 [0/36(0%)]\tLoss: 0.751063\n", - "Epoch : 116 [4/36(11%)]\tLoss: 1.444354\n", - "Epoch : 116 [8/36(22%)]\tLoss: 0.372787\n", - "Epoch : 116 [12/36(33%)]\tLoss: 0.268462\n", - "Epoch : 116 [16/36(44%)]\tLoss: 2.215126\n", - "Epoch : 116 [20/36(56%)]\tLoss: 1.429686\n", - "Epoch : 116 [24/36(67%)]\tLoss: 0.613314\n", - "Epoch : 116 [28/36(78%)]\tLoss: 0.127357\n", - "Epoch : 116 [32/36(89%)]\tLoss: 0.766408\n", - "Epoch : 117 [0/36(0%)]\tLoss: 0.106539\n", - "Epoch : 117 [4/36(11%)]\tLoss: 1.374461\n", - "Epoch : 117 [8/36(22%)]\tLoss: 1.323295\n", - "Epoch : 117 [12/36(33%)]\tLoss: 0.591265\n", - "Epoch : 117 [16/36(44%)]\tLoss: 0.040366\n", - "Epoch : 117 [20/36(56%)]\tLoss: 0.507397\n", - "Epoch : 117 [24/36(67%)]\tLoss: 0.428971\n", - "Epoch : 117 [28/36(78%)]\tLoss: 1.544530\n", - "Epoch : 117 [32/36(89%)]\tLoss: 1.151389\n", - "Epoch : 118 [0/36(0%)]\tLoss: 0.399716\n", - "Epoch : 118 [4/36(11%)]\tLoss: 0.830944\n", - "Epoch : 118 [8/36(22%)]\tLoss: 1.502006\n", - "Epoch : 118 [12/36(33%)]\tLoss: 1.009553\n", - "Epoch : 118 [16/36(44%)]\tLoss: 1.001731\n", - "Epoch : 118 [20/36(56%)]\tLoss: 0.468032\n", - "Epoch : 118 [24/36(67%)]\tLoss: 0.045428\n", - "Epoch : 118 [28/36(78%)]\tLoss: 1.957485\n", - "Epoch : 118 [32/36(89%)]\tLoss: 1.130660\n", - "Epoch : 119 [0/36(0%)]\tLoss: 0.924361\n", - "Epoch : 119 [4/36(11%)]\tLoss: 0.324916\n", - "Epoch : 119 [8/36(22%)]\tLoss: 0.171829\n", - "Epoch : 119 [12/36(33%)]\tLoss: 0.977008\n", - "Epoch : 119 [16/36(44%)]\tLoss: 0.834411\n", - "Epoch : 119 [20/36(56%)]\tLoss: 0.584513\n", - "Epoch : 119 [24/36(67%)]\tLoss: 0.170122\n", - "Epoch : 119 [28/36(78%)]\tLoss: 0.444271\n", - "Epoch : 119 [32/36(89%)]\tLoss: 0.517846\n", - "Epoch : 120 [0/36(0%)]\tLoss: 0.783763\n", - "Epoch : 120 [4/36(11%)]\tLoss: 0.650293\n", - "Epoch : 120 [8/36(22%)]\tLoss: 0.742213\n", - "Epoch : 120 [12/36(33%)]\tLoss: 0.243782\n", - "Epoch : 120 [16/36(44%)]\tLoss: 0.721652\n", - "Epoch : 120 [20/36(56%)]\tLoss: 0.412844\n", - "Epoch : 120 [24/36(67%)]\tLoss: 0.316899\n", - "Epoch : 120 [28/36(78%)]\tLoss: 0.791803\n", - "Epoch : 120 [32/36(89%)]\tLoss: 0.479999\n", - "Epoch : 121 [0/36(0%)]\tLoss: 0.206826\n", - "Epoch : 121 [4/36(11%)]\tLoss: 0.820453\n", - "Epoch : 121 [8/36(22%)]\tLoss: 0.323903\n", - "Epoch : 121 [12/36(33%)]\tLoss: 0.865547\n", - "Epoch : 121 [16/36(44%)]\tLoss: 0.175772\n", - "Epoch : 121 [20/36(56%)]\tLoss: 0.357807\n", - "Epoch : 121 [24/36(67%)]\tLoss: 0.105436\n", - "Epoch : 121 [28/36(78%)]\tLoss: 0.658051\n", - "Epoch : 121 [32/36(89%)]\tLoss: 0.565504\n", - "Epoch : 122 [0/36(0%)]\tLoss: 0.379463\n", - "Epoch : 122 [4/36(11%)]\tLoss: 0.789534\n", - "Epoch : 122 [8/36(22%)]\tLoss: 0.193006\n", - "Epoch : 122 [12/36(33%)]\tLoss: 0.336916\n", - "Epoch : 122 [16/36(44%)]\tLoss: 0.714976\n", - "Epoch : 122 [20/36(56%)]\tLoss: 0.728069\n", - "Epoch : 122 [24/36(67%)]\tLoss: 0.435422\n", - "Epoch : 122 [28/36(78%)]\tLoss: 0.327485\n", - "Epoch : 122 [32/36(89%)]\tLoss: 0.115325\n", - "Epoch : 123 [0/36(0%)]\tLoss: 0.932832\n", - "Epoch : 123 [4/36(11%)]\tLoss: 1.707026\n", - "Epoch : 123 [8/36(22%)]\tLoss: 0.790505\n", - "Epoch : 123 [12/36(33%)]\tLoss: 0.519756\n", - "Epoch : 123 [16/36(44%)]\tLoss: 0.500014\n", - "Epoch : 123 [20/36(56%)]\tLoss: 0.818836\n", - "Epoch : 123 [24/36(67%)]\tLoss: 1.119909\n", - "Epoch : 123 [28/36(78%)]\tLoss: 0.375711\n", - "Epoch : 123 [32/36(89%)]\tLoss: 0.412391\n", - "Epoch : 124 [0/36(0%)]\tLoss: 0.379940\n", - "Epoch : 124 [4/36(11%)]\tLoss: 0.915417\n", - "Epoch : 124 [8/36(22%)]\tLoss: 1.816001\n", - "Epoch : 124 [12/36(33%)]\tLoss: 1.768164\n", - "Epoch : 124 [16/36(44%)]\tLoss: 0.239268\n", - "Epoch : 124 [20/36(56%)]\tLoss: 0.719960\n", - "Epoch : 124 [24/36(67%)]\tLoss: 0.447358\n", - "Epoch : 124 [28/36(78%)]\tLoss: 1.382234\n", - "Epoch : 124 [32/36(89%)]\tLoss: 1.281032\n", - "Epoch : 125 [0/36(0%)]\tLoss: 1.153356\n", - "Epoch : 125 [4/36(11%)]\tLoss: 0.310354\n", - "Epoch : 125 [8/36(22%)]\tLoss: 0.391367\n", - "Epoch : 125 [12/36(33%)]\tLoss: 1.073498\n", - "Epoch : 125 [16/36(44%)]\tLoss: 1.275834\n", - "Epoch : 125 [20/36(56%)]\tLoss: 0.114763\n", - "Epoch : 125 [24/36(67%)]\tLoss: 0.283613\n", - "Epoch : 125 [28/36(78%)]\tLoss: 0.770060\n", - "Epoch : 125 [32/36(89%)]\tLoss: 0.550521\n", - "Epoch : 126 [0/36(0%)]\tLoss: 0.548615\n", - "Epoch : 126 [4/36(11%)]\tLoss: 0.409290\n", - "Epoch : 126 [8/36(22%)]\tLoss: 0.005765\n", - "Epoch : 126 [12/36(33%)]\tLoss: 0.348277\n", - "Epoch : 126 [16/36(44%)]\tLoss: 0.135186\n", - "Epoch : 126 [20/36(56%)]\tLoss: 0.087320\n", - "Epoch : 126 [24/36(67%)]\tLoss: 0.329575\n", - "Epoch : 126 [28/36(78%)]\tLoss: 0.541017\n", - "Epoch : 126 [32/36(89%)]\tLoss: 0.230414\n", - "Epoch : 127 [0/36(0%)]\tLoss: 0.232144\n", - "Epoch : 127 [4/36(11%)]\tLoss: 0.458521\n", - "Epoch : 127 [8/36(22%)]\tLoss: 0.337030\n", - "Epoch : 127 [12/36(33%)]\tLoss: 0.442213\n", - "Epoch : 127 [16/36(44%)]\tLoss: 0.561833\n", - "Epoch : 127 [20/36(56%)]\tLoss: 0.326575\n", - "Epoch : 127 [24/36(67%)]\tLoss: 0.394964\n", - "Epoch : 127 [28/36(78%)]\tLoss: 0.523652\n", - "Epoch : 127 [32/36(89%)]\tLoss: 0.253535\n", - "Epoch : 128 [0/36(0%)]\tLoss: 0.580355\n", - "Epoch : 128 [4/36(11%)]\tLoss: 0.288918\n", - "Epoch : 128 [8/36(22%)]\tLoss: 0.421121\n", - "Epoch : 128 [12/36(33%)]\tLoss: 0.920655\n", - "Epoch : 128 [16/36(44%)]\tLoss: 0.326674\n", - "Epoch : 128 [20/36(56%)]\tLoss: 0.376890\n", - "Epoch : 128 [24/36(67%)]\tLoss: 0.217185\n", - "Epoch : 128 [28/36(78%)]\tLoss: 0.545499\n", - "Epoch : 128 [32/36(89%)]\tLoss: 0.451137\n", - "Epoch : 129 [0/36(0%)]\tLoss: 0.717163\n", - "Epoch : 129 [4/36(11%)]\tLoss: 0.152541\n", - "Epoch : 129 [8/36(22%)]\tLoss: 0.090583\n", - "Epoch : 129 [12/36(33%)]\tLoss: 0.136863\n", - "Epoch : 129 [16/36(44%)]\tLoss: 0.313807\n", - "Epoch : 129 [20/36(56%)]\tLoss: 0.889233\n", - "Epoch : 129 [24/36(67%)]\tLoss: 0.207613\n", - "Epoch : 129 [28/36(78%)]\tLoss: 0.258235\n", - "Epoch : 129 [32/36(89%)]\tLoss: 0.043467\n", - "Epoch : 130 [0/36(0%)]\tLoss: 0.333487\n", - "Epoch : 130 [4/36(11%)]\tLoss: 0.515277\n", - "Epoch : 130 [8/36(22%)]\tLoss: 0.454335\n", - "Epoch : 130 [12/36(33%)]\tLoss: 0.444775\n", - "Epoch : 130 [16/36(44%)]\tLoss: 0.025399\n", - "Epoch : 130 [20/36(56%)]\tLoss: 0.413815\n", - "Epoch : 130 [24/36(67%)]\tLoss: 0.507278\n", - "Epoch : 130 [28/36(78%)]\tLoss: 0.935802\n", - "Epoch : 130 [32/36(89%)]\tLoss: 0.505981\n", - "Epoch : 131 [0/36(0%)]\tLoss: 0.429918\n", - "Epoch : 131 [4/36(11%)]\tLoss: 0.616365\n", - "Epoch : 131 [8/36(22%)]\tLoss: 0.406301\n", - "Epoch : 131 [12/36(33%)]\tLoss: 1.156886\n", - "Epoch : 131 [16/36(44%)]\tLoss: 0.914408\n", - "Epoch : 131 [20/36(56%)]\tLoss: 0.204657\n", - "Epoch : 131 [24/36(67%)]\tLoss: 0.119894\n", - "Epoch : 131 [28/36(78%)]\tLoss: 0.482390\n", - "Epoch : 131 [32/36(89%)]\tLoss: 1.010507\n", - "Epoch : 132 [0/36(0%)]\tLoss: 0.376102\n", - "Epoch : 132 [4/36(11%)]\tLoss: 0.504402\n", - "Epoch : 132 [8/36(22%)]\tLoss: 0.127814\n", - "Epoch : 132 [12/36(33%)]\tLoss: 0.442120\n", - "Epoch : 132 [16/36(44%)]\tLoss: 0.585314\n", - "Epoch : 132 [20/36(56%)]\tLoss: 0.305471\n", - "Epoch : 132 [24/36(67%)]\tLoss: 0.172302\n", - "Epoch : 132 [28/36(78%)]\tLoss: 0.174668\n", - "Epoch : 132 [32/36(89%)]\tLoss: 0.421496\n", - "Epoch : 133 [0/36(0%)]\tLoss: 0.843592\n", - "Epoch : 133 [4/36(11%)]\tLoss: 0.163471\n", - "Epoch : 133 [8/36(22%)]\tLoss: 0.170392\n", - "Epoch : 133 [12/36(33%)]\tLoss: 0.373309\n", - "Epoch : 133 [16/36(44%)]\tLoss: 0.329412\n", - "Epoch : 133 [20/36(56%)]\tLoss: 0.056845\n", - "Epoch : 133 [24/36(67%)]\tLoss: 0.284175\n", - "Epoch : 133 [28/36(78%)]\tLoss: 1.046411\n", - "Epoch : 133 [32/36(89%)]\tLoss: 0.239937\n", - "Epoch : 134 [0/36(0%)]\tLoss: 0.229588\n", - "Epoch : 134 [4/36(11%)]\tLoss: 0.201540\n", - "Epoch : 134 [8/36(22%)]\tLoss: 1.119673\n", - "Epoch : 134 [12/36(33%)]\tLoss: 1.157583\n", - "Epoch : 134 [16/36(44%)]\tLoss: 0.174117\n", - "Epoch : 134 [20/36(56%)]\tLoss: 0.108200\n", - "Epoch : 134 [24/36(67%)]\tLoss: 0.619123\n", - "Epoch : 134 [28/36(78%)]\tLoss: 1.069358\n", - "Epoch : 134 [32/36(89%)]\tLoss: 0.291268\n", - "Epoch : 135 [0/36(0%)]\tLoss: 0.227100\n", - "Epoch : 135 [4/36(11%)]\tLoss: 0.180872\n", - "Epoch : 135 [8/36(22%)]\tLoss: 0.314916\n", - "Epoch : 135 [12/36(33%)]\tLoss: 0.916336\n", - "Epoch : 135 [16/36(44%)]\tLoss: 0.633166\n", - "Epoch : 135 [20/36(56%)]\tLoss: 0.606385\n", - "Epoch : 135 [24/36(67%)]\tLoss: 0.299452\n", - "Epoch : 135 [28/36(78%)]\tLoss: 0.565051\n", - "Epoch : 135 [32/36(89%)]\tLoss: 0.633723\n", - "Epoch : 136 [0/36(0%)]\tLoss: 0.382135\n", - "Epoch : 136 [4/36(11%)]\tLoss: 1.858586\n", - "Epoch : 136 [8/36(22%)]\tLoss: 0.067723\n", - "Epoch : 136 [12/36(33%)]\tLoss: 0.143324\n", - "Epoch : 136 [16/36(44%)]\tLoss: 0.519309\n", - "Epoch : 136 [20/36(56%)]\tLoss: 1.499357\n", - "Epoch : 136 [24/36(67%)]\tLoss: 0.899675\n", - "Epoch : 136 [28/36(78%)]\tLoss: 0.136328\n", - "Epoch : 136 [32/36(89%)]\tLoss: 0.064157\n", - "Epoch : 137 [0/36(0%)]\tLoss: 0.158137\n", - "Epoch : 137 [4/36(11%)]\tLoss: 1.471879\n", - "Epoch : 137 [8/36(22%)]\tLoss: 0.790584\n", - "Epoch : 137 [12/36(33%)]\tLoss: 0.478168\n", - "Epoch : 137 [16/36(44%)]\tLoss: 0.444559\n", - "Epoch : 137 [20/36(56%)]\tLoss: 0.360243\n", - "Epoch : 137 [24/36(67%)]\tLoss: 0.671028\n", - "Epoch : 137 [28/36(78%)]\tLoss: 1.161514\n", - "Epoch : 137 [32/36(89%)]\tLoss: 0.633820\n", - "Epoch : 138 [0/36(0%)]\tLoss: 0.824548\n", - "Epoch : 138 [4/36(11%)]\tLoss: 0.344103\n", - "Epoch : 138 [8/36(22%)]\tLoss: 1.557007\n", - "Epoch : 138 [12/36(33%)]\tLoss: 0.881431\n", - "Epoch : 138 [16/36(44%)]\tLoss: 1.147642\n", - "Epoch : 138 [20/36(56%)]\tLoss: 0.419885\n", - "Epoch : 138 [24/36(67%)]\tLoss: 0.215225\n", - "Epoch : 138 [28/36(78%)]\tLoss: 1.096797\n", - "Epoch : 138 [32/36(89%)]\tLoss: 0.943045\n", - "Epoch : 139 [0/36(0%)]\tLoss: 1.056541\n", - "Epoch : 139 [4/36(11%)]\tLoss: 0.220248\n", - "Epoch : 139 [8/36(22%)]\tLoss: 0.292300\n", - "Epoch : 139 [12/36(33%)]\tLoss: 0.231629\n", - "Epoch : 139 [16/36(44%)]\tLoss: 1.550358\n", - "Epoch : 139 [20/36(56%)]\tLoss: 0.919611\n", - "Epoch : 139 [24/36(67%)]\tLoss: 0.846916\n", - "Epoch : 139 [28/36(78%)]\tLoss: 0.422873\n", - "Epoch : 139 [32/36(89%)]\tLoss: 0.372010\n", - "Epoch : 140 [0/36(0%)]\tLoss: 1.223423\n", - "Epoch : 140 [4/36(11%)]\tLoss: 1.030019\n", - "Epoch : 140 [8/36(22%)]\tLoss: 1.432284\n", - "Epoch : 140 [12/36(33%)]\tLoss: 0.789064\n", - "Epoch : 140 [16/36(44%)]\tLoss: 0.121376\n", - "Epoch : 140 [20/36(56%)]\tLoss: 0.419147\n", - "Epoch : 140 [24/36(67%)]\tLoss: 1.188094\n", - "Epoch : 140 [28/36(78%)]\tLoss: 2.134284\n", - "Epoch : 140 [32/36(89%)]\tLoss: 1.231383\n", - "Epoch : 141 [0/36(0%)]\tLoss: 0.355303\n", - "Epoch : 141 [4/36(11%)]\tLoss: 0.723455\n", - "Epoch : 141 [8/36(22%)]\tLoss: 2.405328\n", - "Epoch : 141 [12/36(33%)]\tLoss: 1.813260\n", - "Epoch : 141 [16/36(44%)]\tLoss: 2.550160\n", - "Epoch : 141 [20/36(56%)]\tLoss: 0.766602\n", - "Epoch : 141 [24/36(67%)]\tLoss: 0.704630\n", - "Epoch : 141 [28/36(78%)]\tLoss: 3.009520\n", - "Epoch : 141 [32/36(89%)]\tLoss: 2.370325\n", - "Epoch : 142 [0/36(0%)]\tLoss: 1.808760\n", - "Epoch : 142 [4/36(11%)]\tLoss: 1.361011\n", - "Epoch : 142 [8/36(22%)]\tLoss: 0.466230\n", - "Epoch : 142 [12/36(33%)]\tLoss: 1.203067\n", - "Epoch : 142 [16/36(44%)]\tLoss: 3.681576\n", - "Epoch : 142 [20/36(56%)]\tLoss: 2.120238\n", - "Epoch : 142 [24/36(67%)]\tLoss: 1.476727\n", - "Epoch : 142 [28/36(78%)]\tLoss: 0.142559\n", - "Epoch : 142 [32/36(89%)]\tLoss: 0.698607\n", - "Epoch : 143 [0/36(0%)]\tLoss: 1.977551\n", - "Epoch : 143 [4/36(11%)]\tLoss: 4.830942\n", - "Epoch : 143 [8/36(22%)]\tLoss: 1.764789\n", - "Epoch : 143 [12/36(33%)]\tLoss: 0.358185\n", - "Epoch : 143 [16/36(44%)]\tLoss: 1.096326\n", - "Epoch : 143 [20/36(56%)]\tLoss: 3.232657\n", - "Epoch : 143 [24/36(67%)]\tLoss: 1.850183\n", - "Epoch : 143 [28/36(78%)]\tLoss: 0.834650\n", - "Epoch : 143 [32/36(89%)]\tLoss: 0.696807\n", - "Epoch : 144 [0/36(0%)]\tLoss: 0.591266\n", - "Epoch : 144 [4/36(11%)]\tLoss: 3.762461\n", - "Epoch : 144 [8/36(22%)]\tLoss: 1.860173\n", - "Epoch : 144 [12/36(33%)]\tLoss: 1.546855\n", - "Epoch : 144 [16/36(44%)]\tLoss: 0.594554\n", - "Epoch : 144 [20/36(56%)]\tLoss: 0.236848\n", - "Epoch : 144 [24/36(67%)]\tLoss: 0.903128\n", - "Epoch : 144 [28/36(78%)]\tLoss: 1.532539\n", - "Epoch : 144 [32/36(89%)]\tLoss: 1.994770\n", - "Epoch : 145 [0/36(0%)]\tLoss: 1.070722\n", - "Epoch : 145 [4/36(11%)]\tLoss: 0.779545\n", - "Epoch : 145 [8/36(22%)]\tLoss: 0.137582\n", - "Epoch : 145 [12/36(33%)]\tLoss: 1.015099\n", - "Epoch : 145 [16/36(44%)]\tLoss: 1.840939\n", - "Epoch : 145 [20/36(56%)]\tLoss: 0.420687\n", - "Epoch : 145 [24/36(67%)]\tLoss: 0.708014\n", - "Epoch : 145 [28/36(78%)]\tLoss: 0.486604\n", - "Epoch : 145 [32/36(89%)]\tLoss: 0.764192\n", - "Epoch : 146 [0/36(0%)]\tLoss: 1.357723\n", - "Epoch : 146 [4/36(11%)]\tLoss: 0.680584\n", - "Epoch : 146 [8/36(22%)]\tLoss: 1.721095\n", - "Epoch : 146 [12/36(33%)]\tLoss: 0.610139\n", - "Epoch : 146 [16/36(44%)]\tLoss: 0.414758\n", - "Epoch : 146 [20/36(56%)]\tLoss: 0.281419\n", - "Epoch : 146 [24/36(67%)]\tLoss: 2.166996\n", - "Epoch : 146 [28/36(78%)]\tLoss: 3.149261\n", - "Epoch : 146 [32/36(89%)]\tLoss: 1.546014\n", - "Epoch : 147 [0/36(0%)]\tLoss: 0.489625\n", - "Epoch : 147 [4/36(11%)]\tLoss: 0.406896\n", - "Epoch : 147 [8/36(22%)]\tLoss: 2.769924\n", - "Epoch : 147 [12/36(33%)]\tLoss: 3.017699\n", - "Epoch : 147 [16/36(44%)]\tLoss: 1.069092\n", - "Epoch : 147 [20/36(56%)]\tLoss: 0.406055\n", - "Epoch : 147 [24/36(67%)]\tLoss: 0.454841\n", - "Epoch : 147 [28/36(78%)]\tLoss: 2.242705\n", - "Epoch : 147 [32/36(89%)]\tLoss: 2.344798\n", - "Epoch : 148 [0/36(0%)]\tLoss: 0.903244\n", - "Epoch : 148 [4/36(11%)]\tLoss: 0.248064\n", - "Epoch : 148 [8/36(22%)]\tLoss: 0.565148\n", - "Epoch : 148 [12/36(33%)]\tLoss: 0.701191\n", - "Epoch : 148 [16/36(44%)]\tLoss: 2.875544\n", - "Epoch : 148 [20/36(56%)]\tLoss: 2.505353\n", - "Epoch : 148 [24/36(67%)]\tLoss: 0.818810\n", - "Epoch : 148 [28/36(78%)]\tLoss: 0.185450\n", - "Epoch : 148 [32/36(89%)]\tLoss: 0.120956\n", - "Epoch : 149 [0/36(0%)]\tLoss: 1.219251\n", - "Epoch : 149 [4/36(11%)]\tLoss: 3.460644\n", - "Epoch : 149 [8/36(22%)]\tLoss: 3.095426\n", - "Epoch : 149 [12/36(33%)]\tLoss: 0.982028\n", - "Epoch : 149 [16/36(44%)]\tLoss: 0.301493\n", - "Epoch : 149 [20/36(56%)]\tLoss: 1.846171\n", - "Epoch : 149 [24/36(67%)]\tLoss: 2.562967\n", - "Epoch : 149 [28/36(78%)]\tLoss: 3.262249\n", - "Epoch : 149 [32/36(89%)]\tLoss: 1.925261\n", - "--- 0.18173228104909261 minutes ---\n" + "Epoch : 0 [0/36(0%)]\tLoss: 505.148438\n", + "Epoch : 0 [4/36(11%)]\tLoss: 481.187561\n", + "Epoch : 0 [8/36(22%)]\tLoss: 462.044128\n", + "Epoch : 0 [12/36(33%)]\tLoss: 366.548370\n", + "Epoch : 0 [16/36(44%)]\tLoss: 251.130753\n", + "Epoch : 0 [20/36(56%)]\tLoss: 152.641785\n", + "Epoch : 0 [24/36(67%)]\tLoss: 95.135040\n", + "Epoch : 0 [28/36(78%)]\tLoss: 50.719940\n", + "Epoch : 0 [32/36(89%)]\tLoss: 26.814919\n", + "Epoch : 1 [0/36(0%)]\tLoss: 5.588141\n", + "Epoch : 1 [4/36(11%)]\tLoss: 0.466125\n", + "Epoch : 1 [8/36(22%)]\tLoss: 2.091524\n", + "Epoch : 1 [12/36(33%)]\tLoss: 10.221073\n", + "Epoch : 1 [16/36(44%)]\tLoss: 13.921244\n", + "Epoch : 1 [20/36(56%)]\tLoss: 17.117250\n", + "Epoch : 1 [24/36(67%)]\tLoss: 21.652094\n", + "Epoch : 1 [28/36(78%)]\tLoss: 55.376251\n", + "Epoch : 1 [32/36(89%)]\tLoss: 19.449644\n", + "Epoch : 2 [0/36(0%)]\tLoss: 25.598974\n", + "Epoch : 2 [4/36(11%)]\tLoss: 20.395477\n", + "Epoch : 2 [8/36(22%)]\tLoss: 8.120663\n", + "Epoch : 2 [12/36(33%)]\tLoss: 9.420777\n", + "Epoch : 2 [16/36(44%)]\tLoss: 3.597255\n", + "Epoch : 2 [20/36(56%)]\tLoss: 1.684239\n", + "Epoch : 2 [24/36(67%)]\tLoss: 1.133056\n", + "Epoch : 2 [28/36(78%)]\tLoss: 1.853996\n", + "Epoch : 2 [32/36(89%)]\tLoss: 3.960218\n", + "Epoch : 3 [0/36(0%)]\tLoss: 5.782211\n", + "Epoch : 3 [4/36(11%)]\tLoss: 2.609937\n", + "Epoch : 3 [8/36(22%)]\tLoss: 4.698177\n", + "Epoch : 3 [12/36(33%)]\tLoss: 3.696248\n", + "Epoch : 3 [16/36(44%)]\tLoss: 6.770689\n", + "Epoch : 3 [20/36(56%)]\tLoss: 7.983230\n", + "Epoch : 3 [24/36(67%)]\tLoss: 4.530883\n", + "Epoch : 3 [28/36(78%)]\tLoss: 2.614764\n", + "Epoch : 3 [32/36(89%)]\tLoss: 2.655967\n", + "Epoch : 4 [0/36(0%)]\tLoss: 0.273827\n", + "Epoch : 4 [4/36(11%)]\tLoss: 1.573417\n", + "Epoch : 4 [8/36(22%)]\tLoss: 0.460414\n", + "Epoch : 4 [12/36(33%)]\tLoss: 1.230751\n", + "Epoch : 4 [16/36(44%)]\tLoss: 1.158980\n", + "Epoch : 4 [20/36(56%)]\tLoss: 1.895503\n", + "Epoch : 4 [24/36(67%)]\tLoss: 1.891235\n", + "Epoch : 4 [28/36(78%)]\tLoss: 2.686343\n", + "Epoch : 4 [32/36(89%)]\tLoss: 2.884769\n", + "Epoch : 5 [0/36(0%)]\tLoss: 1.899021\n", + "Epoch : 5 [4/36(11%)]\tLoss: 2.124950\n", + "Epoch : 5 [8/36(22%)]\tLoss: 0.508926\n", + "Epoch : 5 [12/36(33%)]\tLoss: 0.603784\n", + "Epoch : 5 [16/36(44%)]\tLoss: 0.967377\n", + "Epoch : 5 [20/36(56%)]\tLoss: 2.262344\n", + "Epoch : 5 [24/36(67%)]\tLoss: 1.447259\n", + "Epoch : 5 [28/36(78%)]\tLoss: 1.585567\n", + "Epoch : 5 [32/36(89%)]\tLoss: 2.005277\n", + "Epoch : 6 [0/36(0%)]\tLoss: 0.267711\n", + "Epoch : 6 [4/36(11%)]\tLoss: 0.692746\n", + "Epoch : 6 [8/36(22%)]\tLoss: 0.934087\n", + "Epoch : 6 [12/36(33%)]\tLoss: 0.330126\n", + "Epoch : 6 [16/36(44%)]\tLoss: 1.182773\n", + "Epoch : 6 [20/36(56%)]\tLoss: 2.099797\n", + "Epoch : 6 [24/36(67%)]\tLoss: 1.140517\n", + "Epoch : 6 [28/36(78%)]\tLoss: 1.404310\n", + "Epoch : 6 [32/36(89%)]\tLoss: 1.768536\n", + "Epoch : 7 [0/36(0%)]\tLoss: 0.887577\n", + "Epoch : 7 [4/36(11%)]\tLoss: 1.446585\n", + "Epoch : 7 [8/36(22%)]\tLoss: 0.324149\n", + "Epoch : 7 [12/36(33%)]\tLoss: 0.659936\n", + "Epoch : 7 [16/36(44%)]\tLoss: 0.752861\n", + "Epoch : 7 [20/36(56%)]\tLoss: 1.832946\n", + "Epoch : 7 [24/36(67%)]\tLoss: 0.966665\n", + "Epoch : 7 [28/36(78%)]\tLoss: 1.335188\n", + "Epoch : 7 [32/36(89%)]\tLoss: 1.858761\n", + "Epoch : 8 [0/36(0%)]\tLoss: 0.365670\n", + "Epoch : 8 [4/36(11%)]\tLoss: 0.659925\n", + "Epoch : 8 [8/36(22%)]\tLoss: 0.393722\n", + "Epoch : 8 [12/36(33%)]\tLoss: 0.327984\n", + "Epoch : 8 [16/36(44%)]\tLoss: 0.932140\n", + "Epoch : 8 [20/36(56%)]\tLoss: 2.097388\n", + "Epoch : 8 [24/36(67%)]\tLoss: 1.133661\n", + "Epoch : 8 [28/36(78%)]\tLoss: 1.769539\n", + "Epoch : 8 [32/36(89%)]\tLoss: 1.693012\n", + "Epoch : 9 [0/36(0%)]\tLoss: 0.408563\n", + "Epoch : 9 [4/36(11%)]\tLoss: 1.068734\n", + "Epoch : 9 [8/36(22%)]\tLoss: 0.322112\n", + "Epoch : 9 [12/36(33%)]\tLoss: 0.574979\n", + "Epoch : 9 [16/36(44%)]\tLoss: 0.661888\n", + "Epoch : 9 [20/36(56%)]\tLoss: 1.520240\n", + "Epoch : 9 [24/36(67%)]\tLoss: 0.980948\n", + "Epoch : 9 [28/36(78%)]\tLoss: 1.352848\n", + "Epoch : 9 [32/36(89%)]\tLoss: 1.580777\n", + "Epoch : 10 [0/36(0%)]\tLoss: 0.412241\n", + "Epoch : 10 [4/36(11%)]\tLoss: 0.963011\n", + "Epoch : 10 [8/36(22%)]\tLoss: 0.150706\n", + "Epoch : 10 [12/36(33%)]\tLoss: 0.400519\n", + "Epoch : 10 [16/36(44%)]\tLoss: 0.670630\n", + "Epoch : 10 [20/36(56%)]\tLoss: 1.628976\n", + "Epoch : 10 [24/36(67%)]\tLoss: 0.973781\n", + "Epoch : 10 [28/36(78%)]\tLoss: 1.203155\n", + "Epoch : 10 [32/36(89%)]\tLoss: 0.967892\n", + "Epoch : 11 [0/36(0%)]\tLoss: 0.318564\n", + "Epoch : 11 [4/36(11%)]\tLoss: 5.368523\n", + "Epoch : 11 [8/36(22%)]\tLoss: 0.196310\n", + "Epoch : 11 [12/36(33%)]\tLoss: 0.619376\n", + "Epoch : 11 [16/36(44%)]\tLoss: 0.729584\n", + "Epoch : 11 [20/36(56%)]\tLoss: 1.388925\n", + "Epoch : 11 [24/36(67%)]\tLoss: 0.936926\n", + "Epoch : 11 [28/36(78%)]\tLoss: 1.305025\n", + "Epoch : 11 [32/36(89%)]\tLoss: 1.281577\n", + "Epoch : 12 [0/36(0%)]\tLoss: 0.387617\n", + "Epoch : 12 [4/36(11%)]\tLoss: 0.665237\n", + "Epoch : 12 [8/36(22%)]\tLoss: 0.156064\n", + "Epoch : 12 [12/36(33%)]\tLoss: 0.390973\n", + "Epoch : 12 [16/36(44%)]\tLoss: 0.640283\n", + "Epoch : 12 [20/36(56%)]\tLoss: 1.553416\n", + "Epoch : 12 [24/36(67%)]\tLoss: 0.959071\n", + "Epoch : 12 [28/36(78%)]\tLoss: 0.905930\n", + "Epoch : 12 [32/36(89%)]\tLoss: 1.281052\n", + "Epoch : 13 [0/36(0%)]\tLoss: 0.266963\n", + "Epoch : 13 [4/36(11%)]\tLoss: 0.626828\n", + "Epoch : 13 [8/36(22%)]\tLoss: 0.223715\n", + "Epoch : 13 [12/36(33%)]\tLoss: 0.459082\n", + "Epoch : 13 [16/36(44%)]\tLoss: 0.696827\n", + "Epoch : 13 [20/36(56%)]\tLoss: 1.533000\n", + "Epoch : 13 [24/36(67%)]\tLoss: 1.027120\n", + "Epoch : 13 [28/36(78%)]\tLoss: 0.941354\n", + "Epoch : 13 [32/36(89%)]\tLoss: 0.892558\n", + "Epoch : 14 [0/36(0%)]\tLoss: 0.189570\n", + "Epoch : 14 [4/36(11%)]\tLoss: 0.549811\n", + "Epoch : 14 [8/36(22%)]\tLoss: 0.171009\n", + "Epoch : 14 [12/36(33%)]\tLoss: 0.383958\n", + "Epoch : 14 [16/36(44%)]\tLoss: 0.663104\n", + "Epoch : 14 [20/36(56%)]\tLoss: 1.451902\n", + "Epoch : 14 [24/36(67%)]\tLoss: 1.117269\n", + "Epoch : 14 [28/36(78%)]\tLoss: 0.990990\n", + "Epoch : 14 [32/36(89%)]\tLoss: 1.136361\n", + "Epoch : 15 [0/36(0%)]\tLoss: 0.182192\n", + "Epoch : 15 [4/36(11%)]\tLoss: 0.527077\n", + "Epoch : 15 [8/36(22%)]\tLoss: 0.267449\n", + "Epoch : 15 [12/36(33%)]\tLoss: 0.324529\n", + "Epoch : 15 [16/36(44%)]\tLoss: 0.635805\n", + "Epoch : 15 [20/36(56%)]\tLoss: 1.173936\n", + "Epoch : 15 [24/36(67%)]\tLoss: 0.965765\n", + "Epoch : 15 [28/36(78%)]\tLoss: 1.132812\n", + "Epoch : 15 [32/36(89%)]\tLoss: 1.357028\n", + "Epoch : 16 [0/36(0%)]\tLoss: 0.151217\n", + "Epoch : 16 [4/36(11%)]\tLoss: 0.507627\n", + "Epoch : 16 [8/36(22%)]\tLoss: 0.520277\n", + "Epoch : 16 [12/36(33%)]\tLoss: 0.614567\n", + "Epoch : 16 [16/36(44%)]\tLoss: 0.414361\n", + "Epoch : 16 [20/36(56%)]\tLoss: 1.368334\n", + "Epoch : 16 [24/36(67%)]\tLoss: 0.846762\n", + "Epoch : 16 [28/36(78%)]\tLoss: 1.016679\n", + "Epoch : 16 [32/36(89%)]\tLoss: 0.598533\n", + "Epoch : 17 [0/36(0%)]\tLoss: 0.244999\n", + "Epoch : 17 [4/36(11%)]\tLoss: 0.491022\n", + "Epoch : 17 [8/36(22%)]\tLoss: 0.267225\n", + "Epoch : 17 [12/36(33%)]\tLoss: 0.516404\n", + "Epoch : 17 [16/36(44%)]\tLoss: 0.575029\n", + "Epoch : 17 [20/36(56%)]\tLoss: 1.294104\n", + "Epoch : 17 [24/36(67%)]\tLoss: 1.212664\n", + "Epoch : 17 [28/36(78%)]\tLoss: 1.505179\n", + "Epoch : 17 [32/36(89%)]\tLoss: 1.012760\n", + "Epoch : 18 [0/36(0%)]\tLoss: 0.260495\n", + "Epoch : 18 [4/36(11%)]\tLoss: 0.649487\n", + "Epoch : 18 [8/36(22%)]\tLoss: 0.184152\n", + "Epoch : 18 [12/36(33%)]\tLoss: 0.503276\n", + "Epoch : 18 [16/36(44%)]\tLoss: 0.407428\n", + "Epoch : 18 [20/36(56%)]\tLoss: 1.148067\n", + "Epoch : 18 [24/36(67%)]\tLoss: 0.489842\n", + "Epoch : 18 [28/36(78%)]\tLoss: 1.198951\n", + "Epoch : 18 [32/36(89%)]\tLoss: 0.763963\n", + "Epoch : 19 [0/36(0%)]\tLoss: 0.304600\n", + "Epoch : 19 [4/36(11%)]\tLoss: 0.641902\n", + "Epoch : 19 [8/36(22%)]\tLoss: 0.236052\n", + "Epoch : 19 [12/36(33%)]\tLoss: 0.573888\n", + "Epoch : 19 [16/36(44%)]\tLoss: 0.327249\n", + "Epoch : 19 [20/36(56%)]\tLoss: 1.418954\n", + "Epoch : 19 [24/36(67%)]\tLoss: 0.489770\n", + "Epoch : 19 [28/36(78%)]\tLoss: 1.170379\n", + "Epoch : 19 [32/36(89%)]\tLoss: 1.280859\n", + "Epoch : 20 [0/36(0%)]\tLoss: 0.500501\n", + "Epoch : 20 [4/36(11%)]\tLoss: 0.742929\n", + "Epoch : 20 [8/36(22%)]\tLoss: 0.251100\n", + "Epoch : 20 [12/36(33%)]\tLoss: 0.474908\n", + "Epoch : 20 [16/36(44%)]\tLoss: 0.542650\n", + "Epoch : 20 [20/36(56%)]\tLoss: 1.045166\n", + "Epoch : 20 [24/36(67%)]\tLoss: 0.458625\n", + "Epoch : 20 [28/36(78%)]\tLoss: 1.095053\n", + "Epoch : 20 [32/36(89%)]\tLoss: 0.790924\n", + "Epoch : 21 [0/36(0%)]\tLoss: 0.154021\n", + "Epoch : 21 [4/36(11%)]\tLoss: 0.496545\n", + "Epoch : 21 [8/36(22%)]\tLoss: 0.297880\n", + "Epoch : 21 [12/36(33%)]\tLoss: 0.246268\n", + "Epoch : 21 [16/36(44%)]\tLoss: 0.252153\n", + "Epoch : 21 [20/36(56%)]\tLoss: 0.928596\n", + "Epoch : 21 [24/36(67%)]\tLoss: 0.527373\n", + "Epoch : 21 [28/36(78%)]\tLoss: 1.072787\n", + "Epoch : 21 [32/36(89%)]\tLoss: 0.504416\n", + "Epoch : 22 [0/36(0%)]\tLoss: 0.239585\n", + "Epoch : 22 [4/36(11%)]\tLoss: 0.576861\n", + "Epoch : 22 [8/36(22%)]\tLoss: 0.306901\n", + "Epoch : 22 [12/36(33%)]\tLoss: 0.159370\n", + "Epoch : 22 [16/36(44%)]\tLoss: 0.313108\n", + "Epoch : 22 [20/36(56%)]\tLoss: 1.031682\n", + "Epoch : 22 [24/36(67%)]\tLoss: 0.519940\n", + "Epoch : 22 [28/36(78%)]\tLoss: 1.341585\n", + "Epoch : 22 [32/36(89%)]\tLoss: 0.593542\n", + "Epoch : 23 [0/36(0%)]\tLoss: 0.179223\n", + "Epoch : 23 [4/36(11%)]\tLoss: 0.574387\n", + "Epoch : 23 [8/36(22%)]\tLoss: 0.132475\n", + "Epoch : 23 [12/36(33%)]\tLoss: 0.213038\n", + "Epoch : 23 [16/36(44%)]\tLoss: 0.284739\n", + "Epoch : 23 [20/36(56%)]\tLoss: 0.824717\n", + "Epoch : 23 [24/36(67%)]\tLoss: 0.472143\n", + "Epoch : 23 [28/36(78%)]\tLoss: 1.159807\n", + "Epoch : 23 [32/36(89%)]\tLoss: 0.444330\n", + "Epoch : 24 [0/36(0%)]\tLoss: 0.254970\n", + "Epoch : 24 [4/36(11%)]\tLoss: 0.568621\n", + "Epoch : 24 [8/36(22%)]\tLoss: 0.216534\n", + "Epoch : 24 [12/36(33%)]\tLoss: 0.196348\n", + "Epoch : 24 [16/36(44%)]\tLoss: 0.252408\n", + "Epoch : 24 [20/36(56%)]\tLoss: 0.889114\n", + "Epoch : 24 [24/36(67%)]\tLoss: 0.317530\n", + "Epoch : 24 [28/36(78%)]\tLoss: 1.121642\n", + "Epoch : 24 [32/36(89%)]\tLoss: 0.377160\n", + "Epoch : 25 [0/36(0%)]\tLoss: 0.162609\n", + "Epoch : 25 [4/36(11%)]\tLoss: 0.370015\n", + "Epoch : 25 [8/36(22%)]\tLoss: 0.117949\n", + "Epoch : 25 [12/36(33%)]\tLoss: 0.226949\n", + "Epoch : 25 [16/36(44%)]\tLoss: 0.236665\n", + "Epoch : 25 [20/36(56%)]\tLoss: 0.679455\n", + "Epoch : 25 [24/36(67%)]\tLoss: 0.281173\n", + "Epoch : 25 [28/36(78%)]\tLoss: 1.085547\n", + "Epoch : 25 [32/36(89%)]\tLoss: 0.261526\n", + "Epoch : 26 [0/36(0%)]\tLoss: 0.160689\n", + "Epoch : 26 [4/36(11%)]\tLoss: 0.468562\n", + "Epoch : 26 [8/36(22%)]\tLoss: 0.062409\n", + "Epoch : 26 [12/36(33%)]\tLoss: 0.670255\n", + "Epoch : 26 [16/36(44%)]\tLoss: 0.209688\n", + "Epoch : 26 [20/36(56%)]\tLoss: 0.820774\n", + "Epoch : 26 [24/36(67%)]\tLoss: 0.266793\n", + "Epoch : 26 [28/36(78%)]\tLoss: 0.984641\n", + "Epoch : 26 [32/36(89%)]\tLoss: 0.463211\n", + "Epoch : 27 [0/36(0%)]\tLoss: 0.215550\n", + "Epoch : 27 [4/36(11%)]\tLoss: 0.658540\n", + "Epoch : 27 [8/36(22%)]\tLoss: 0.727886\n", + "Epoch : 27 [12/36(33%)]\tLoss: 0.198605\n", + "Epoch : 27 [16/36(44%)]\tLoss: 0.206882\n", + "Epoch : 27 [20/36(56%)]\tLoss: 0.661130\n", + "Epoch : 27 [24/36(67%)]\tLoss: 0.223412\n", + "Epoch : 27 [28/36(78%)]\tLoss: 1.314858\n", + "Epoch : 27 [32/36(89%)]\tLoss: 0.314786\n", + "Epoch : 28 [0/36(0%)]\tLoss: 0.142954\n", + "Epoch : 28 [4/36(11%)]\tLoss: 0.204232\n", + "Epoch : 28 [8/36(22%)]\tLoss: 0.326274\n", + "Epoch : 28 [12/36(33%)]\tLoss: 0.421265\n", + "Epoch : 28 [16/36(44%)]\tLoss: 0.307062\n", + "Epoch : 28 [20/36(56%)]\tLoss: 0.861256\n", + "Epoch : 28 [24/36(67%)]\tLoss: 0.288486\n", + "Epoch : 28 [28/36(78%)]\tLoss: 1.405098\n", + "Epoch : 28 [32/36(89%)]\tLoss: 0.186949\n", + "Epoch : 29 [0/36(0%)]\tLoss: 0.125017\n", + "Epoch : 29 [4/36(11%)]\tLoss: 0.711308\n", + "Epoch : 29 [8/36(22%)]\tLoss: 0.184895\n", + "Epoch : 29 [12/36(33%)]\tLoss: 0.532898\n", + "Epoch : 29 [16/36(44%)]\tLoss: 0.158151\n", + "Epoch : 29 [20/36(56%)]\tLoss: 1.113483\n", + "Epoch : 29 [24/36(67%)]\tLoss: 0.180697\n", + "Epoch : 29 [28/36(78%)]\tLoss: 0.692520\n", + "Epoch : 29 [32/36(89%)]\tLoss: 0.173185\n", + "Epoch : 30 [0/36(0%)]\tLoss: 0.212938\n", + "Epoch : 30 [4/36(11%)]\tLoss: 0.491663\n", + "Epoch : 30 [8/36(22%)]\tLoss: 0.157977\n", + "Epoch : 30 [12/36(33%)]\tLoss: 0.073204\n", + "Epoch : 30 [16/36(44%)]\tLoss: 0.399520\n", + "Epoch : 30 [20/36(56%)]\tLoss: 0.732387\n", + "Epoch : 30 [24/36(67%)]\tLoss: 0.268429\n", + "Epoch : 30 [28/36(78%)]\tLoss: 0.683909\n", + "Epoch : 30 [32/36(89%)]\tLoss: 19.948956\n", + "Epoch : 31 [0/36(0%)]\tLoss: 0.072119\n", + "Epoch : 31 [4/36(11%)]\tLoss: 1.214102\n", + "Epoch : 31 [8/36(22%)]\tLoss: 0.839894\n", + "Epoch : 31 [12/36(33%)]\tLoss: 1.223127\n", + "Epoch : 31 [16/36(44%)]\tLoss: 0.823768\n", + "Epoch : 31 [20/36(56%)]\tLoss: 0.567715\n", + "Epoch : 31 [24/36(67%)]\tLoss: 0.420821\n", + "Epoch : 31 [28/36(78%)]\tLoss: 1.014955\n", + "Epoch : 31 [32/36(89%)]\tLoss: 1.617566\n", + "Epoch : 32 [0/36(0%)]\tLoss: 0.431339\n", + "Epoch : 32 [4/36(11%)]\tLoss: 0.768887\n", + "Epoch : 32 [8/36(22%)]\tLoss: 0.470974\n", + "Epoch : 32 [12/36(33%)]\tLoss: 0.334018\n", + "Epoch : 32 [16/36(44%)]\tLoss: 0.237348\n", + "Epoch : 32 [20/36(56%)]\tLoss: 0.940603\n", + "Epoch : 32 [24/36(67%)]\tLoss: 0.886216\n", + "Epoch : 32 [28/36(78%)]\tLoss: 0.167170\n", + "Epoch : 32 [32/36(89%)]\tLoss: 2.265817\n", + "Epoch : 33 [0/36(0%)]\tLoss: 0.859351\n", + "Epoch : 33 [4/36(11%)]\tLoss: 0.509233\n", + "Epoch : 33 [8/36(22%)]\tLoss: 0.366048\n", + "Epoch : 33 [12/36(33%)]\tLoss: 0.688142\n", + "Epoch : 33 [16/36(44%)]\tLoss: 0.757897\n", + "Epoch : 33 [20/36(56%)]\tLoss: 1.583678\n", + "Epoch : 33 [24/36(67%)]\tLoss: 0.766269\n", + "Epoch : 33 [28/36(78%)]\tLoss: 0.530918\n", + "Epoch : 33 [32/36(89%)]\tLoss: 1.014384\n", + "Epoch : 34 [0/36(0%)]\tLoss: 0.243347\n", + "Epoch : 34 [4/36(11%)]\tLoss: 0.916030\n", + "Epoch : 34 [8/36(22%)]\tLoss: 0.680216\n", + "Epoch : 34 [12/36(33%)]\tLoss: 0.500579\n", + "Epoch : 34 [16/36(44%)]\tLoss: 0.168039\n", + "Epoch : 34 [20/36(56%)]\tLoss: 0.467304\n", + "Epoch : 34 [24/36(67%)]\tLoss: 0.092526\n", + "Epoch : 34 [28/36(78%)]\tLoss: 1.247370\n", + "Epoch : 34 [32/36(89%)]\tLoss: 1.299630\n", + "Epoch : 35 [0/36(0%)]\tLoss: 0.234113\n", + "Epoch : 35 [4/36(11%)]\tLoss: 0.786768\n", + "Epoch : 35 [8/36(22%)]\tLoss: 0.139753\n", + "Epoch : 35 [12/36(33%)]\tLoss: 0.369672\n", + "Epoch : 35 [16/36(44%)]\tLoss: 0.555399\n", + "Epoch : 35 [20/36(56%)]\tLoss: 1.242628\n", + "Epoch : 35 [24/36(67%)]\tLoss: 0.533303\n", + "Epoch : 35 [28/36(78%)]\tLoss: 1.543690\n", + "Epoch : 35 [32/36(89%)]\tLoss: 0.974949\n", + "Epoch : 36 [0/36(0%)]\tLoss: 0.218838\n", + "Epoch : 36 [4/36(11%)]\tLoss: 0.926816\n", + "Epoch : 36 [8/36(22%)]\tLoss: 0.664061\n", + "Epoch : 36 [12/36(33%)]\tLoss: 0.288672\n", + "Epoch : 36 [16/36(44%)]\tLoss: 1.286678\n", + "Epoch : 36 [20/36(56%)]\tLoss: 1.387703\n", + "Epoch : 36 [24/36(67%)]\tLoss: 0.272284\n", + "Epoch : 36 [28/36(78%)]\tLoss: 6.353126\n", + "Epoch : 36 [32/36(89%)]\tLoss: 1.238589\n", + "Epoch : 37 [0/36(0%)]\tLoss: 0.930272\n", + "Epoch : 37 [4/36(11%)]\tLoss: 1.390698\n", + "Epoch : 37 [8/36(22%)]\tLoss: 0.641488\n", + "Epoch : 37 [12/36(33%)]\tLoss: 0.343006\n", + "Epoch : 37 [16/36(44%)]\tLoss: 0.449105\n", + "Epoch : 37 [20/36(56%)]\tLoss: 0.811063\n", + "Epoch : 37 [24/36(67%)]\tLoss: 0.622566\n", + "Epoch : 37 [28/36(78%)]\tLoss: 1.277533\n", + "Epoch : 37 [32/36(89%)]\tLoss: 0.757840\n", + "Epoch : 38 [0/36(0%)]\tLoss: 0.443750\n", + "Epoch : 38 [4/36(11%)]\tLoss: 0.794250\n", + "Epoch : 38 [8/36(22%)]\tLoss: 0.200156\n", + "Epoch : 38 [12/36(33%)]\tLoss: 0.349072\n", + "Epoch : 38 [16/36(44%)]\tLoss: 0.323256\n", + "Epoch : 38 [20/36(56%)]\tLoss: 0.569961\n", + "Epoch : 38 [24/36(67%)]\tLoss: 0.794085\n", + "Epoch : 38 [28/36(78%)]\tLoss: 1.055390\n", + "Epoch : 38 [32/36(89%)]\tLoss: 0.414999\n", + "Epoch : 39 [0/36(0%)]\tLoss: 0.175185\n", + "Epoch : 39 [4/36(11%)]\tLoss: 0.851548\n", + "Epoch : 39 [8/36(22%)]\tLoss: 0.420405\n", + "Epoch : 39 [12/36(33%)]\tLoss: 0.372467\n", + "Epoch : 39 [16/36(44%)]\tLoss: 0.708261\n", + "Epoch : 39 [20/36(56%)]\tLoss: 0.600883\n", + "Epoch : 39 [24/36(67%)]\tLoss: 0.328008\n", + "Epoch : 39 [28/36(78%)]\tLoss: 0.884630\n", + "Epoch : 39 [32/36(89%)]\tLoss: 0.379709\n", + "Epoch : 40 [0/36(0%)]\tLoss: 0.171745\n", + "Epoch : 40 [4/36(11%)]\tLoss: 0.684769\n", + "Epoch : 40 [8/36(22%)]\tLoss: 0.154164\n", + "Epoch : 40 [12/36(33%)]\tLoss: 0.347881\n", + "Epoch : 40 [16/36(44%)]\tLoss: 0.329897\n", + "Epoch : 40 [20/36(56%)]\tLoss: 0.748771\n", + "Epoch : 40 [24/36(67%)]\tLoss: 0.217129\n", + "Epoch : 40 [28/36(78%)]\tLoss: 0.134441\n", + "Epoch : 40 [32/36(89%)]\tLoss: 0.384551\n", + "Epoch : 41 [0/36(0%)]\tLoss: 0.201660\n", + "Epoch : 41 [4/36(11%)]\tLoss: 0.634147\n", + "Epoch : 41 [8/36(22%)]\tLoss: 0.488421\n", + "Epoch : 41 [12/36(33%)]\tLoss: 1.124412\n", + "Epoch : 41 [16/36(44%)]\tLoss: 0.172175\n", + "Epoch : 41 [20/36(56%)]\tLoss: 1.340690\n", + "Epoch : 41 [24/36(67%)]\tLoss: 0.302503\n", + "Epoch : 41 [28/36(78%)]\tLoss: 0.861084\n", + "Epoch : 41 [32/36(89%)]\tLoss: 0.288902\n", + "Epoch : 42 [0/36(0%)]\tLoss: 0.190286\n", + "Epoch : 42 [4/36(11%)]\tLoss: 0.618529\n", + "Epoch : 42 [8/36(22%)]\tLoss: 0.356948\n", + "Epoch : 42 [12/36(33%)]\tLoss: 0.353008\n", + "Epoch : 42 [16/36(44%)]\tLoss: 0.072380\n", + "Epoch : 42 [20/36(56%)]\tLoss: 0.419466\n", + "Epoch : 42 [24/36(67%)]\tLoss: 0.234878\n", + "Epoch : 42 [28/36(78%)]\tLoss: 1.129360\n", + "Epoch : 42 [32/36(89%)]\tLoss: 0.123113\n", + "Epoch : 43 [0/36(0%)]\tLoss: 0.054506\n", + "Epoch : 43 [4/36(11%)]\tLoss: 0.357096\n", + "Epoch : 43 [8/36(22%)]\tLoss: 0.250214\n", + "Epoch : 43 [12/36(33%)]\tLoss: 0.433666\n", + "Epoch : 43 [16/36(44%)]\tLoss: 0.101008\n", + "Epoch : 43 [20/36(56%)]\tLoss: 0.244675\n", + "Epoch : 43 [24/36(67%)]\tLoss: 0.275862\n", + "Epoch : 43 [28/36(78%)]\tLoss: 0.779114\n", + "Epoch : 43 [32/36(89%)]\tLoss: 0.165625\n", + "Epoch : 44 [0/36(0%)]\tLoss: 0.146699\n", + "Epoch : 44 [4/36(11%)]\tLoss: 0.442961\n", + "Epoch : 44 [8/36(22%)]\tLoss: 0.158242\n", + "Epoch : 44 [12/36(33%)]\tLoss: 0.225024\n", + "Epoch : 44 [16/36(44%)]\tLoss: 0.161809\n", + "Epoch : 44 [20/36(56%)]\tLoss: 0.686248\n", + "Epoch : 44 [24/36(67%)]\tLoss: 0.287028\n", + "Epoch : 44 [28/36(78%)]\tLoss: 0.702109\n", + "Epoch : 44 [32/36(89%)]\tLoss: 0.107372\n", + "Epoch : 45 [0/36(0%)]\tLoss: 0.185690\n", + "Epoch : 45 [4/36(11%)]\tLoss: 0.732336\n", + "Epoch : 45 [8/36(22%)]\tLoss: 0.133776\n", + "Epoch : 45 [12/36(33%)]\tLoss: 0.439040\n", + "Epoch : 45 [16/36(44%)]\tLoss: 0.187590\n", + "Epoch : 45 [20/36(56%)]\tLoss: 0.513467\n", + "Epoch : 45 [24/36(67%)]\tLoss: 0.089012\n", + "Epoch : 45 [28/36(78%)]\tLoss: 0.192713\n", + "Epoch : 45 [32/36(89%)]\tLoss: 0.037176\n", + "Epoch : 46 [0/36(0%)]\tLoss: 0.210400\n", + "Epoch : 46 [4/36(11%)]\tLoss: 0.416780\n", + "Epoch : 46 [8/36(22%)]\tLoss: 0.165280\n", + "Epoch : 46 [12/36(33%)]\tLoss: 0.053342\n", + "Epoch : 46 [16/36(44%)]\tLoss: 0.012009\n", + "Epoch : 46 [20/36(56%)]\tLoss: 0.568222\n", + "Epoch : 46 [24/36(67%)]\tLoss: 0.175414\n", + "Epoch : 46 [28/36(78%)]\tLoss: 0.853642\n", + "Epoch : 46 [32/36(89%)]\tLoss: 0.203973\n", + "Epoch : 47 [0/36(0%)]\tLoss: 0.262228\n", + "Epoch : 47 [4/36(11%)]\tLoss: 0.504034\n", + "Epoch : 47 [8/36(22%)]\tLoss: 0.252107\n", + "Epoch : 47 [12/36(33%)]\tLoss: 0.025600\n", + "Epoch : 47 [16/36(44%)]\tLoss: 0.199611\n", + "Epoch : 47 [20/36(56%)]\tLoss: 0.553687\n", + "Epoch : 47 [24/36(67%)]\tLoss: 0.307200\n", + "Epoch : 47 [28/36(78%)]\tLoss: 0.234742\n", + "Epoch : 47 [32/36(89%)]\tLoss: 0.235293\n", + "Epoch : 48 [0/36(0%)]\tLoss: 0.092998\n", + "Epoch : 48 [4/36(11%)]\tLoss: 0.488977\n", + "Epoch : 48 [8/36(22%)]\tLoss: 0.134274\n", + "Epoch : 48 [12/36(33%)]\tLoss: 0.851267\n", + "Epoch : 48 [16/36(44%)]\tLoss: 0.422727\n", + "Epoch : 48 [20/36(56%)]\tLoss: 0.608971\n", + "Epoch : 48 [24/36(67%)]\tLoss: 0.271737\n", + "Epoch : 48 [28/36(78%)]\tLoss: 0.454775\n", + "Epoch : 48 [32/36(89%)]\tLoss: 0.063672\n", + "Epoch : 49 [0/36(0%)]\tLoss: 0.325508\n", + "Epoch : 49 [4/36(11%)]\tLoss: 0.403339\n", + "Epoch : 49 [8/36(22%)]\tLoss: 0.243075\n", + "Epoch : 49 [12/36(33%)]\tLoss: 0.156796\n", + "Epoch : 49 [16/36(44%)]\tLoss: 0.136313\n", + "Epoch : 49 [20/36(56%)]\tLoss: 0.076903\n", + "Epoch : 49 [24/36(67%)]\tLoss: 0.099951\n", + "Epoch : 49 [28/36(78%)]\tLoss: 0.108966\n", + "Epoch : 49 [32/36(89%)]\tLoss: 0.245688\n", + "Epoch : 50 [0/36(0%)]\tLoss: 0.348731\n", + "Epoch : 50 [4/36(11%)]\tLoss: 0.446839\n", + "Epoch : 50 [8/36(22%)]\tLoss: 0.197771\n", + "Epoch : 50 [12/36(33%)]\tLoss: 0.372488\n", + "Epoch : 50 [16/36(44%)]\tLoss: 0.103378\n", + "Epoch : 50 [20/36(56%)]\tLoss: 0.343731\n", + "Epoch : 50 [24/36(67%)]\tLoss: 0.233521\n", + "Epoch : 50 [28/36(78%)]\tLoss: 0.372527\n", + "Epoch : 50 [32/36(89%)]\tLoss: 0.043850\n", + "Epoch : 51 [0/36(0%)]\tLoss: 0.550775\n", + "Epoch : 51 [4/36(11%)]\tLoss: 0.451025\n", + "Epoch : 51 [8/36(22%)]\tLoss: 0.119609\n", + "Epoch : 51 [12/36(33%)]\tLoss: 0.134784\n", + "Epoch : 51 [16/36(44%)]\tLoss: 0.188572\n", + "Epoch : 51 [20/36(56%)]\tLoss: 0.366579\n", + "Epoch : 51 [24/36(67%)]\tLoss: 0.192190\n", + "Epoch : 51 [28/36(78%)]\tLoss: 0.380612\n", + "Epoch : 51 [32/36(89%)]\tLoss: 0.111332\n", + "Epoch : 52 [0/36(0%)]\tLoss: 0.163350\n", + "Epoch : 52 [4/36(11%)]\tLoss: 0.356627\n", + "Epoch : 52 [8/36(22%)]\tLoss: 0.216677\n", + "Epoch : 52 [12/36(33%)]\tLoss: 0.406206\n", + "Epoch : 52 [16/36(44%)]\tLoss: 0.297715\n", + "Epoch : 52 [20/36(56%)]\tLoss: 0.141578\n", + "Epoch : 52 [24/36(67%)]\tLoss: 0.116860\n", + "Epoch : 52 [28/36(78%)]\tLoss: 0.530331\n", + "Epoch : 52 [32/36(89%)]\tLoss: 0.170246\n", + "Epoch : 53 [0/36(0%)]\tLoss: 0.381275\n", + "Epoch : 53 [4/36(11%)]\tLoss: 0.348139\n", + "Epoch : 53 [8/36(22%)]\tLoss: 0.335541\n", + "Epoch : 53 [12/36(33%)]\tLoss: 0.124847\n", + "Epoch : 53 [16/36(44%)]\tLoss: 0.258001\n", + "Epoch : 53 [20/36(56%)]\tLoss: 0.178782\n", + "Epoch : 53 [24/36(67%)]\tLoss: 0.238619\n", + "Epoch : 53 [28/36(78%)]\tLoss: 0.415877\n", + "Epoch : 53 [32/36(89%)]\tLoss: 0.100437\n", + "Epoch : 54 [0/36(0%)]\tLoss: 0.081156\n", + "Epoch : 54 [4/36(11%)]\tLoss: 0.386368\n", + "Epoch : 54 [8/36(22%)]\tLoss: 0.837409\n", + "Epoch : 54 [12/36(33%)]\tLoss: 0.666803\n", + "Epoch : 54 [16/36(44%)]\tLoss: 0.089787\n", + "Epoch : 54 [20/36(56%)]\tLoss: 0.189060\n", + "Epoch : 54 [24/36(67%)]\tLoss: 0.296038\n", + "Epoch : 54 [28/36(78%)]\tLoss: 0.160360\n", + "Epoch : 54 [32/36(89%)]\tLoss: 0.486605\n", + "Epoch : 55 [0/36(0%)]\tLoss: 0.624062\n", + "Epoch : 55 [4/36(11%)]\tLoss: 1.032569\n", + "Epoch : 55 [8/36(22%)]\tLoss: 0.285151\n", + "Epoch : 55 [12/36(33%)]\tLoss: 0.336291\n", + "Epoch : 55 [16/36(44%)]\tLoss: 1.106069\n", + "Epoch : 55 [20/36(56%)]\tLoss: 0.381215\n", + "Epoch : 55 [24/36(67%)]\tLoss: 0.471293\n", + "Epoch : 55 [28/36(78%)]\tLoss: 0.367933\n", + "Epoch : 55 [32/36(89%)]\tLoss: 0.213155\n", + "Epoch : 56 [0/36(0%)]\tLoss: 0.468724\n", + "Epoch : 56 [4/36(11%)]\tLoss: 1.033065\n", + "Epoch : 56 [8/36(22%)]\tLoss: 0.111104\n", + "Epoch : 56 [12/36(33%)]\tLoss: 0.382226\n", + "Epoch : 56 [16/36(44%)]\tLoss: 0.079845\n", + "Epoch : 56 [20/36(56%)]\tLoss: 0.159520\n", + "Epoch : 56 [24/36(67%)]\tLoss: 0.116626\n", + "Epoch : 56 [28/36(78%)]\tLoss: 1.039907\n", + "Epoch : 56 [32/36(89%)]\tLoss: 0.234875\n", + "Epoch : 57 [0/36(0%)]\tLoss: 0.088747\n", + "Epoch : 57 [4/36(11%)]\tLoss: 0.504149\n", + "Epoch : 57 [8/36(22%)]\tLoss: 0.089694\n", + "Epoch : 57 [12/36(33%)]\tLoss: 0.109227\n", + "Epoch : 57 [16/36(44%)]\tLoss: 0.514877\n", + "Epoch : 57 [20/36(56%)]\tLoss: 0.648686\n", + "Epoch : 57 [24/36(67%)]\tLoss: 0.396564\n", + "Epoch : 57 [28/36(78%)]\tLoss: 0.345732\n", + "Epoch : 57 [32/36(89%)]\tLoss: 0.112680\n", + "Epoch : 58 [0/36(0%)]\tLoss: 0.200984\n", + "Epoch : 58 [4/36(11%)]\tLoss: 0.433660\n", + "Epoch : 58 [8/36(22%)]\tLoss: 0.135068\n", + "Epoch : 58 [12/36(33%)]\tLoss: 0.410227\n", + "Epoch : 58 [16/36(44%)]\tLoss: 0.132842\n", + "Epoch : 58 [20/36(56%)]\tLoss: 0.241061\n", + "Epoch : 58 [24/36(67%)]\tLoss: 0.383544\n", + "Epoch : 58 [28/36(78%)]\tLoss: 1.599551\n", + "Epoch : 58 [32/36(89%)]\tLoss: 0.079575\n", + "Epoch : 59 [0/36(0%)]\tLoss: 0.190714\n", + "Epoch : 59 [4/36(11%)]\tLoss: 0.442133\n", + "Epoch : 59 [8/36(22%)]\tLoss: 0.556801\n", + "Epoch : 59 [12/36(33%)]\tLoss: 0.338196\n", + "Epoch : 59 [16/36(44%)]\tLoss: 1.168757\n", + "Epoch : 59 [20/36(56%)]\tLoss: 1.749450\n", + "Epoch : 59 [24/36(67%)]\tLoss: 0.656083\n", + "Epoch : 59 [28/36(78%)]\tLoss: 1.078569\n", + "Epoch : 59 [32/36(89%)]\tLoss: 0.550618\n", + "Epoch : 60 [0/36(0%)]\tLoss: 0.987723\n", + "Epoch : 60 [4/36(11%)]\tLoss: 1.151033\n", + "Epoch : 60 [8/36(22%)]\tLoss: 0.093100\n", + "Epoch : 60 [12/36(33%)]\tLoss: 0.137183\n", + "Epoch : 60 [16/36(44%)]\tLoss: 1.042699\n", + "Epoch : 60 [20/36(56%)]\tLoss: 2.272436\n", + "Epoch : 60 [24/36(67%)]\tLoss: 1.140916\n", + "Epoch : 60 [28/36(78%)]\tLoss: 0.506850\n", + "Epoch : 60 [32/36(89%)]\tLoss: 0.981858\n", + "Epoch : 61 [0/36(0%)]\tLoss: 0.414156\n", + "Epoch : 61 [4/36(11%)]\tLoss: 1.475227\n", + "Epoch : 61 [8/36(22%)]\tLoss: 0.790442\n", + "Epoch : 61 [12/36(33%)]\tLoss: 0.959055\n", + "Epoch : 61 [16/36(44%)]\tLoss: 0.687017\n", + "Epoch : 61 [20/36(56%)]\tLoss: 0.991804\n", + "Epoch : 61 [24/36(67%)]\tLoss: 0.540736\n", + "Epoch : 61 [28/36(78%)]\tLoss: 0.234528\n", + "Epoch : 61 [32/36(89%)]\tLoss: 0.786315\n", + "Epoch : 62 [0/36(0%)]\tLoss: 0.291553\n", + "Epoch : 62 [4/36(11%)]\tLoss: 0.551487\n", + "Epoch : 62 [8/36(22%)]\tLoss: 0.035087\n", + "Epoch : 62 [12/36(33%)]\tLoss: 0.514566\n", + "Epoch : 62 [16/36(44%)]\tLoss: 0.426550\n", + "Epoch : 62 [20/36(56%)]\tLoss: 0.731959\n", + "Epoch : 62 [24/36(67%)]\tLoss: 0.342878\n", + "Epoch : 62 [28/36(78%)]\tLoss: 0.198309\n", + "Epoch : 62 [32/36(89%)]\tLoss: 0.266847\n", + "Epoch : 63 [0/36(0%)]\tLoss: 0.395846\n", + "Epoch : 63 [4/36(11%)]\tLoss: 0.347448\n", + "Epoch : 63 [8/36(22%)]\tLoss: 0.104253\n", + "Epoch : 63 [12/36(33%)]\tLoss: 0.464699\n", + "Epoch : 63 [16/36(44%)]\tLoss: 0.743897\n", + "Epoch : 63 [20/36(56%)]\tLoss: 0.562298\n", + "Epoch : 63 [24/36(67%)]\tLoss: 0.348697\n", + "Epoch : 63 [28/36(78%)]\tLoss: 0.081006\n", + "Epoch : 63 [32/36(89%)]\tLoss: 0.267587\n", + "Epoch : 64 [0/36(0%)]\tLoss: 0.403919\n", + "Epoch : 64 [4/36(11%)]\tLoss: 0.583187\n", + "Epoch : 64 [8/36(22%)]\tLoss: 0.034230\n", + "Epoch : 64 [12/36(33%)]\tLoss: 0.050419\n", + "Epoch : 64 [16/36(44%)]\tLoss: 0.518728\n", + "Epoch : 64 [20/36(56%)]\tLoss: 0.858394\n", + "Epoch : 64 [24/36(67%)]\tLoss: 0.227439\n", + "Epoch : 64 [28/36(78%)]\tLoss: 0.271283\n", + "Epoch : 64 [32/36(89%)]\tLoss: 0.535153\n", + "Epoch : 65 [0/36(0%)]\tLoss: 0.340800\n", + "Epoch : 65 [4/36(11%)]\tLoss: 0.950589\n", + "Epoch : 65 [8/36(22%)]\tLoss: 0.207805\n", + "Epoch : 65 [12/36(33%)]\tLoss: 0.075296\n", + "Epoch : 65 [16/36(44%)]\tLoss: 0.121557\n", + "Epoch : 65 [20/36(56%)]\tLoss: 0.743605\n", + "Epoch : 65 [24/36(67%)]\tLoss: 0.310311\n", + "Epoch : 65 [28/36(78%)]\tLoss: 0.039568\n", + "Epoch : 65 [32/36(89%)]\tLoss: 0.241201\n", + "Epoch : 66 [0/36(0%)]\tLoss: 0.220189\n", + "Epoch : 66 [4/36(11%)]\tLoss: 0.986661\n", + "Epoch : 66 [8/36(22%)]\tLoss: 0.429216\n", + "Epoch : 66 [12/36(33%)]\tLoss: 0.190286\n", + "Epoch : 66 [16/36(44%)]\tLoss: 0.342904\n", + "Epoch : 66 [20/36(56%)]\tLoss: 0.475970\n", + "Epoch : 66 [24/36(67%)]\tLoss: 0.163098\n", + "Epoch : 66 [28/36(78%)]\tLoss: 0.199488\n", + "Epoch : 66 [32/36(89%)]\tLoss: 0.848465\n", + "Epoch : 67 [0/36(0%)]\tLoss: 0.485472\n", + "Epoch : 67 [4/36(11%)]\tLoss: 0.500362\n", + "Epoch : 67 [8/36(22%)]\tLoss: 0.077705\n", + "Epoch : 67 [12/36(33%)]\tLoss: 0.037596\n", + "Epoch : 67 [16/36(44%)]\tLoss: 0.107943\n", + "Epoch : 67 [20/36(56%)]\tLoss: 0.325441\n", + "Epoch : 67 [24/36(67%)]\tLoss: 0.418580\n", + "Epoch : 67 [28/36(78%)]\tLoss: 0.657075\n", + "Epoch : 67 [32/36(89%)]\tLoss: 0.121216\n", + "Epoch : 68 [0/36(0%)]\tLoss: 0.140856\n", + "Epoch : 68 [4/36(11%)]\tLoss: 0.551161\n", + "Epoch : 68 [8/36(22%)]\tLoss: 0.013699\n", + "Epoch : 68 [12/36(33%)]\tLoss: 0.771003\n", + "Epoch : 68 [16/36(44%)]\tLoss: 0.240587\n", + "Epoch : 68 [20/36(56%)]\tLoss: 0.679748\n", + "Epoch : 68 [24/36(67%)]\tLoss: 0.792342\n", + "Epoch : 68 [28/36(78%)]\tLoss: 0.306854\n", + "Epoch : 68 [32/36(89%)]\tLoss: 0.203654\n", + "Epoch : 69 [0/36(0%)]\tLoss: 0.400457\n", + "Epoch : 69 [4/36(11%)]\tLoss: 0.839640\n", + "Epoch : 69 [8/36(22%)]\tLoss: 0.168603\n", + "Epoch : 69 [12/36(33%)]\tLoss: 0.108740\n", + "Epoch : 69 [16/36(44%)]\tLoss: 0.308156\n", + "Epoch : 69 [20/36(56%)]\tLoss: 1.052503\n", + "Epoch : 69 [24/36(67%)]\tLoss: 0.403796\n", + "Epoch : 69 [28/36(78%)]\tLoss: 0.120811\n", + "Epoch : 69 [32/36(89%)]\tLoss: 0.132655\n", + "Epoch : 70 [0/36(0%)]\tLoss: 0.366187\n", + "Epoch : 70 [4/36(11%)]\tLoss: 0.963034\n", + "Epoch : 70 [8/36(22%)]\tLoss: 0.330540\n", + "Epoch : 70 [12/36(33%)]\tLoss: 0.316742\n", + "Epoch : 70 [16/36(44%)]\tLoss: 0.400366\n", + "Epoch : 70 [20/36(56%)]\tLoss: 0.674161\n", + "Epoch : 70 [24/36(67%)]\tLoss: 0.219539\n", + "Epoch : 70 [28/36(78%)]\tLoss: 0.631030\n", + "Epoch : 70 [32/36(89%)]\tLoss: 0.089863\n", + "Epoch : 71 [0/36(0%)]\tLoss: 0.318906\n", + "Epoch : 71 [4/36(11%)]\tLoss: 0.768939\n", + "Epoch : 71 [8/36(22%)]\tLoss: 0.174508\n", + "Epoch : 71 [12/36(33%)]\tLoss: 0.426376\n", + "Epoch : 71 [16/36(44%)]\tLoss: 0.412015\n", + "Epoch : 71 [20/36(56%)]\tLoss: 0.379367\n", + "Epoch : 71 [24/36(67%)]\tLoss: 0.217094\n", + "Epoch : 71 [28/36(78%)]\tLoss: 0.393932\n", + "Epoch : 71 [32/36(89%)]\tLoss: 0.260534\n", + "Epoch : 72 [0/36(0%)]\tLoss: 0.327018\n", + "Epoch : 72 [4/36(11%)]\tLoss: 0.485621\n", + "Epoch : 72 [8/36(22%)]\tLoss: 0.088836\n", + "Epoch : 72 [12/36(33%)]\tLoss: 0.098148\n", + "Epoch : 72 [16/36(44%)]\tLoss: 0.857462\n", + "Epoch : 72 [20/36(56%)]\tLoss: 0.504475\n", + "Epoch : 72 [24/36(67%)]\tLoss: 0.126964\n", + "Epoch : 72 [28/36(78%)]\tLoss: 0.510952\n", + "Epoch : 72 [32/36(89%)]\tLoss: 0.107330\n", + "Epoch : 73 [0/36(0%)]\tLoss: 0.302419\n", + "Epoch : 73 [4/36(11%)]\tLoss: 0.391586\n", + "Epoch : 73 [8/36(22%)]\tLoss: 0.210357\n", + "Epoch : 73 [12/36(33%)]\tLoss: 0.076893\n", + "Epoch : 73 [16/36(44%)]\tLoss: 0.454856\n", + "Epoch : 73 [20/36(56%)]\tLoss: 0.395524\n", + "Epoch : 73 [24/36(67%)]\tLoss: 0.151184\n", + "Epoch : 73 [28/36(78%)]\tLoss: 0.263772\n", + "Epoch : 73 [32/36(89%)]\tLoss: 0.064785\n", + "Epoch : 74 [0/36(0%)]\tLoss: 0.342791\n", + "Epoch : 74 [4/36(11%)]\tLoss: 0.852182\n", + "Epoch : 74 [8/36(22%)]\tLoss: 0.161477\n", + "Epoch : 74 [12/36(33%)]\tLoss: 0.256317\n", + "Epoch : 74 [16/36(44%)]\tLoss: 0.293542\n", + "Epoch : 74 [20/36(56%)]\tLoss: 0.757781\n", + "Epoch : 74 [24/36(67%)]\tLoss: 0.185360\n", + "Epoch : 74 [28/36(78%)]\tLoss: 0.131448\n", + "Epoch : 74 [32/36(89%)]\tLoss: 0.751071\n", + "Epoch : 75 [0/36(0%)]\tLoss: 0.251350\n", + "Epoch : 75 [4/36(11%)]\tLoss: 0.752285\n", + "Epoch : 75 [8/36(22%)]\tLoss: 0.331330\n", + "Epoch : 75 [12/36(33%)]\tLoss: 0.066289\n", + "Epoch : 75 [16/36(44%)]\tLoss: 0.216346\n", + "Epoch : 75 [20/36(56%)]\tLoss: 0.365823\n", + "Epoch : 75 [24/36(67%)]\tLoss: 0.100306\n", + "Epoch : 75 [28/36(78%)]\tLoss: 0.170005\n", + "Epoch : 75 [32/36(89%)]\tLoss: 0.091758\n", + "Epoch : 76 [0/36(0%)]\tLoss: 0.142475\n", + "Epoch : 76 [4/36(11%)]\tLoss: 0.423894\n", + "Epoch : 76 [8/36(22%)]\tLoss: 0.255001\n", + "Epoch : 76 [12/36(33%)]\tLoss: 0.117551\n", + "Epoch : 76 [16/36(44%)]\tLoss: 0.117521\n", + "Epoch : 76 [20/36(56%)]\tLoss: 0.288481\n", + "Epoch : 76 [24/36(67%)]\tLoss: 0.090718\n", + "Epoch : 76 [28/36(78%)]\tLoss: 0.708676\n", + "Epoch : 76 [32/36(89%)]\tLoss: 0.289311\n", + "Epoch : 77 [0/36(0%)]\tLoss: 0.066839\n", + "Epoch : 77 [4/36(11%)]\tLoss: 0.388720\n", + "Epoch : 77 [8/36(22%)]\tLoss: 0.172362\n", + "Epoch : 77 [12/36(33%)]\tLoss: 0.131603\n", + "Epoch : 77 [16/36(44%)]\tLoss: 0.078004\n", + "Epoch : 77 [20/36(56%)]\tLoss: 0.184629\n", + "Epoch : 77 [24/36(67%)]\tLoss: 0.170910\n", + "Epoch : 77 [28/36(78%)]\tLoss: 0.422732\n", + "Epoch : 77 [32/36(89%)]\tLoss: 0.123110\n", + "Epoch : 78 [0/36(0%)]\tLoss: 0.085224\n", + "Epoch : 78 [4/36(11%)]\tLoss: 0.271152\n", + "Epoch : 78 [8/36(22%)]\tLoss: 0.096152\n", + "Epoch : 78 [12/36(33%)]\tLoss: 0.165972\n", + "Epoch : 78 [16/36(44%)]\tLoss: 0.178150\n", + "Epoch : 78 [20/36(56%)]\tLoss: 0.089388\n", + "Epoch : 78 [24/36(67%)]\tLoss: 0.157062\n", + "Epoch : 78 [28/36(78%)]\tLoss: 0.516113\n", + "Epoch : 78 [32/36(89%)]\tLoss: 0.128400\n", + "Epoch : 79 [0/36(0%)]\tLoss: 0.387980\n", + "Epoch : 79 [4/36(11%)]\tLoss: 0.231512\n", + "Epoch : 79 [8/36(22%)]\tLoss: 0.177240\n", + "Epoch : 79 [12/36(33%)]\tLoss: 0.040197\n", + "Epoch : 79 [16/36(44%)]\tLoss: 0.169139\n", + "Epoch : 79 [20/36(56%)]\tLoss: 0.216605\n", + "Epoch : 79 [24/36(67%)]\tLoss: 0.048632\n", + "Epoch : 79 [28/36(78%)]\tLoss: 0.339666\n", + "Epoch : 79 [32/36(89%)]\tLoss: 0.040378\n", + "Epoch : 80 [0/36(0%)]\tLoss: 0.201622\n", + "Epoch : 80 [4/36(11%)]\tLoss: 0.464308\n", + "Epoch : 80 [8/36(22%)]\tLoss: 0.083405\n", + "Epoch : 80 [12/36(33%)]\tLoss: 0.248514\n", + "Epoch : 80 [16/36(44%)]\tLoss: 0.005458\n", + "Epoch : 80 [20/36(56%)]\tLoss: 0.205395\n", + "Epoch : 80 [24/36(67%)]\tLoss: 0.033503\n", + "Epoch : 80 [28/36(78%)]\tLoss: 0.094527\n", + "Epoch : 80 [32/36(89%)]\tLoss: 0.075376\n", + "Epoch : 81 [0/36(0%)]\tLoss: 0.049962\n", + "Epoch : 81 [4/36(11%)]\tLoss: 0.562263\n", + "Epoch : 81 [8/36(22%)]\tLoss: 0.069180\n", + "Epoch : 81 [12/36(33%)]\tLoss: 0.043206\n", + "Epoch : 81 [16/36(44%)]\tLoss: 0.044344\n", + "Epoch : 81 [20/36(56%)]\tLoss: 0.210113\n", + "Epoch : 81 [24/36(67%)]\tLoss: 0.016055\n", + "Epoch : 81 [28/36(78%)]\tLoss: 0.604758\n", + "Epoch : 81 [32/36(89%)]\tLoss: 0.165790\n", + "Epoch : 82 [0/36(0%)]\tLoss: 0.196803\n", + "Epoch : 82 [4/36(11%)]\tLoss: 0.572601\n", + "Epoch : 82 [8/36(22%)]\tLoss: 0.059269\n", + "Epoch : 82 [12/36(33%)]\tLoss: 0.058224\n", + "Epoch : 82 [16/36(44%)]\tLoss: 0.160307\n", + "Epoch : 82 [20/36(56%)]\tLoss: 0.384265\n", + "Epoch : 82 [24/36(67%)]\tLoss: 0.091639\n", + "Epoch : 82 [28/36(78%)]\tLoss: 0.141055\n", + "Epoch : 82 [32/36(89%)]\tLoss: 0.324417\n", + "Epoch : 83 [0/36(0%)]\tLoss: 0.089226\n", + "Epoch : 83 [4/36(11%)]\tLoss: 0.346364\n", + "Epoch : 83 [8/36(22%)]\tLoss: 0.345324\n", + "Epoch : 83 [12/36(33%)]\tLoss: 0.261385\n", + "Epoch : 83 [16/36(44%)]\tLoss: 0.697991\n", + "Epoch : 83 [20/36(56%)]\tLoss: 0.180457\n", + "Epoch : 83 [24/36(67%)]\tLoss: 0.007168\n", + "Epoch : 83 [28/36(78%)]\tLoss: 0.042873\n", + "Epoch : 83 [32/36(89%)]\tLoss: 0.282469\n", + "Epoch : 84 [0/36(0%)]\tLoss: 0.356585\n", + "Epoch : 84 [4/36(11%)]\tLoss: 0.287864\n", + "Epoch : 84 [8/36(22%)]\tLoss: 0.075103\n", + "Epoch : 84 [12/36(33%)]\tLoss: 0.117800\n", + "Epoch : 84 [16/36(44%)]\tLoss: 0.154776\n", + "Epoch : 84 [20/36(56%)]\tLoss: 0.101845\n", + "Epoch : 84 [24/36(67%)]\tLoss: 0.214729\n", + "Epoch : 84 [28/36(78%)]\tLoss: 0.496741\n", + "Epoch : 84 [32/36(89%)]\tLoss: 0.086333\n", + "Epoch : 85 [0/36(0%)]\tLoss: 0.299150\n", + "Epoch : 85 [4/36(11%)]\tLoss: 0.428410\n", + "Epoch : 85 [8/36(22%)]\tLoss: 0.540416\n", + "Epoch : 85 [12/36(33%)]\tLoss: 0.259992\n", + "Epoch : 85 [16/36(44%)]\tLoss: 0.244744\n", + "Epoch : 85 [20/36(56%)]\tLoss: 0.281234\n", + "Epoch : 85 [24/36(67%)]\tLoss: 0.175025\n", + "Epoch : 85 [28/36(78%)]\tLoss: 0.391115\n", + "Epoch : 85 [32/36(89%)]\tLoss: 0.582699\n", + "Epoch : 86 [0/36(0%)]\tLoss: 0.364494\n", + "Epoch : 86 [4/36(11%)]\tLoss: 0.625559\n", + "Epoch : 86 [8/36(22%)]\tLoss: 0.159026\n", + "Epoch : 86 [12/36(33%)]\tLoss: 0.125137\n", + "Epoch : 86 [16/36(44%)]\tLoss: 0.621458\n", + "Epoch : 86 [20/36(56%)]\tLoss: 0.554957\n", + "Epoch : 86 [24/36(67%)]\tLoss: 0.067801\n", + "Epoch : 86 [28/36(78%)]\tLoss: 0.140771\n", + "Epoch : 86 [32/36(89%)]\tLoss: 0.144510\n", + "Epoch : 87 [0/36(0%)]\tLoss: 0.291078\n", + "Epoch : 87 [4/36(11%)]\tLoss: 0.918951\n", + "Epoch : 87 [8/36(22%)]\tLoss: 0.272629\n", + "Epoch : 87 [12/36(33%)]\tLoss: 0.133226\n", + "Epoch : 87 [16/36(44%)]\tLoss: 0.158878\n", + "Epoch : 87 [20/36(56%)]\tLoss: 0.540778\n", + "Epoch : 87 [24/36(67%)]\tLoss: 0.251610\n", + "Epoch : 87 [28/36(78%)]\tLoss: 0.600893\n", + "Epoch : 87 [32/36(89%)]\tLoss: 0.426465\n", + "Epoch : 88 [0/36(0%)]\tLoss: 0.119330\n", + "Epoch : 88 [4/36(11%)]\tLoss: 0.440438\n", + "Epoch : 88 [8/36(22%)]\tLoss: 0.143525\n", + "Epoch : 88 [12/36(33%)]\tLoss: 0.581278\n", + "Epoch : 88 [16/36(44%)]\tLoss: 0.548583\n", + "Epoch : 88 [20/36(56%)]\tLoss: 0.101318\n", + "Epoch : 88 [24/36(67%)]\tLoss: 0.284670\n", + "Epoch : 88 [28/36(78%)]\tLoss: 0.173301\n", + "Epoch : 88 [32/36(89%)]\tLoss: 0.567535\n", + "Epoch : 89 [0/36(0%)]\tLoss: 0.591789\n", + "Epoch : 89 [4/36(11%)]\tLoss: 0.746135\n", + "Epoch : 89 [8/36(22%)]\tLoss: 0.236921\n", + "Epoch : 89 [12/36(33%)]\tLoss: 0.190889\n", + "Epoch : 89 [16/36(44%)]\tLoss: 0.548965\n", + "Epoch : 89 [20/36(56%)]\tLoss: 0.085313\n", + "Epoch : 89 [24/36(67%)]\tLoss: 0.580343\n", + "Epoch : 89 [28/36(78%)]\tLoss: 0.184932\n", + "Epoch : 89 [32/36(89%)]\tLoss: 0.236142\n", + "Epoch : 90 [0/36(0%)]\tLoss: 0.139232\n", + "Epoch : 90 [4/36(11%)]\tLoss: 0.273177\n", + "Epoch : 90 [8/36(22%)]\tLoss: 0.857480\n", + "Epoch : 90 [12/36(33%)]\tLoss: 0.582873\n", + "Epoch : 90 [16/36(44%)]\tLoss: 0.166760\n", + "Epoch : 90 [20/36(56%)]\tLoss: 0.186883\n", + "Epoch : 90 [24/36(67%)]\tLoss: 0.240635\n", + "Epoch : 90 [28/36(78%)]\tLoss: 0.518828\n", + "Epoch : 90 [32/36(89%)]\tLoss: 0.454759\n", + "Epoch : 91 [0/36(0%)]\tLoss: 0.634324\n", + "Epoch : 91 [4/36(11%)]\tLoss: 0.249185\n", + "Epoch : 91 [8/36(22%)]\tLoss: 0.313072\n", + "Epoch : 91 [12/36(33%)]\tLoss: 0.636360\n", + "Epoch : 91 [16/36(44%)]\tLoss: 0.429538\n", + "Epoch : 91 [20/36(56%)]\tLoss: 0.586264\n", + "Epoch : 91 [24/36(67%)]\tLoss: 0.177217\n", + "Epoch : 91 [28/36(78%)]\tLoss: 0.249414\n", + "Epoch : 91 [32/36(89%)]\tLoss: 0.328144\n", + "Epoch : 92 [0/36(0%)]\tLoss: 0.699569\n", + "Epoch : 92 [4/36(11%)]\tLoss: 0.786770\n", + "Epoch : 92 [8/36(22%)]\tLoss: 0.056814\n", + "Epoch : 92 [12/36(33%)]\tLoss: 0.031136\n", + "Epoch : 92 [16/36(44%)]\tLoss: 0.161279\n", + "Epoch : 92 [20/36(56%)]\tLoss: 0.701188\n", + "Epoch : 92 [24/36(67%)]\tLoss: 0.457922\n", + "Epoch : 92 [28/36(78%)]\tLoss: 0.605793\n", + "Epoch : 92 [32/36(89%)]\tLoss: 0.055673\n", + "Epoch : 93 [0/36(0%)]\tLoss: 0.179404\n", + "Epoch : 93 [4/36(11%)]\tLoss: 0.821694\n", + "Epoch : 93 [8/36(22%)]\tLoss: 0.204717\n", + "Epoch : 93 [12/36(33%)]\tLoss: 0.299077\n", + "Epoch : 93 [16/36(44%)]\tLoss: 0.417725\n", + "Epoch : 93 [20/36(56%)]\tLoss: 0.197114\n", + "Epoch : 93 [24/36(67%)]\tLoss: 0.317608\n", + "Epoch : 93 [28/36(78%)]\tLoss: 0.327102\n", + "Epoch : 93 [32/36(89%)]\tLoss: 1.064498\n", + "Epoch : 94 [0/36(0%)]\tLoss: 0.512139\n", + "Epoch : 94 [4/36(11%)]\tLoss: 0.238621\n", + "Epoch : 94 [8/36(22%)]\tLoss: 0.092972\n", + "Epoch : 94 [12/36(33%)]\tLoss: 0.249808\n", + "Epoch : 94 [16/36(44%)]\tLoss: 0.355105\n", + "Epoch : 94 [20/36(56%)]\tLoss: 0.205945\n", + "Epoch : 94 [24/36(67%)]\tLoss: 0.651016\n", + "Epoch : 94 [28/36(78%)]\tLoss: 0.578657\n", + "Epoch : 94 [32/36(89%)]\tLoss: 0.149530\n", + "Epoch : 95 [0/36(0%)]\tLoss: 0.475559\n", + "Epoch : 95 [4/36(11%)]\tLoss: 0.620163\n", + "Epoch : 95 [8/36(22%)]\tLoss: 1.275573\n", + "Epoch : 95 [12/36(33%)]\tLoss: 0.194408\n", + "Epoch : 95 [16/36(44%)]\tLoss: 0.116959\n", + "Epoch : 95 [20/36(56%)]\tLoss: 0.268944\n", + "Epoch : 95 [24/36(67%)]\tLoss: 0.823027\n", + "Epoch : 95 [28/36(78%)]\tLoss: 0.536795\n", + "Epoch : 95 [32/36(89%)]\tLoss: 0.138851\n", + "Epoch : 96 [0/36(0%)]\tLoss: 0.147528\n", + "Epoch : 96 [4/36(11%)]\tLoss: 0.367619\n", + "Epoch : 96 [8/36(22%)]\tLoss: 0.502290\n", + "Epoch : 96 [12/36(33%)]\tLoss: 0.277322\n", + "Epoch : 96 [16/36(44%)]\tLoss: 0.314263\n", + "Epoch : 96 [20/36(56%)]\tLoss: 0.493367\n", + "Epoch : 96 [24/36(67%)]\tLoss: 0.279780\n", + "Epoch : 96 [28/36(78%)]\tLoss: 0.076003\n", + "Epoch : 96 [32/36(89%)]\tLoss: 0.201008\n", + "Epoch : 97 [0/36(0%)]\tLoss: 0.373112\n", + "Epoch : 97 [4/36(11%)]\tLoss: 0.418882\n", + "Epoch : 97 [8/36(22%)]\tLoss: 0.096935\n", + "Epoch : 97 [12/36(33%)]\tLoss: 0.142398\n", + "Epoch : 97 [16/36(44%)]\tLoss: 0.292992\n", + "Epoch : 97 [20/36(56%)]\tLoss: 0.492764\n", + "Epoch : 97 [24/36(67%)]\tLoss: 0.136633\n", + "Epoch : 97 [28/36(78%)]\tLoss: 0.125291\n", + "Epoch : 97 [32/36(89%)]\tLoss: 0.049241\n", + "Epoch : 98 [0/36(0%)]\tLoss: 0.257102\n", + "Epoch : 98 [4/36(11%)]\tLoss: 0.595618\n", + "Epoch : 98 [8/36(22%)]\tLoss: 0.244193\n", + "Epoch : 98 [12/36(33%)]\tLoss: 0.274328\n", + "Epoch : 98 [16/36(44%)]\tLoss: 0.045561\n", + "Epoch : 98 [20/36(56%)]\tLoss: 0.369388\n", + "Epoch : 98 [24/36(67%)]\tLoss: 0.119866\n", + "Epoch : 98 [28/36(78%)]\tLoss: 0.430298\n", + "Epoch : 98 [32/36(89%)]\tLoss: 0.165205\n", + "Epoch : 99 [0/36(0%)]\tLoss: 0.442106\n", + "Epoch : 99 [4/36(11%)]\tLoss: 0.319470\n", + "Epoch : 99 [8/36(22%)]\tLoss: 0.116928\n", + "Epoch : 99 [12/36(33%)]\tLoss: 0.516852\n", + "Epoch : 99 [16/36(44%)]\tLoss: 0.767723\n", + "Epoch : 99 [20/36(56%)]\tLoss: 0.102293\n", + "Epoch : 99 [24/36(67%)]\tLoss: 0.164339\n", + "Epoch : 99 [28/36(78%)]\tLoss: 0.173098\n", + "Epoch : 99 [32/36(89%)]\tLoss: 0.777830\n", + "Epoch : 100 [0/36(0%)]\tLoss: 0.586682\n", + "Epoch : 100 [4/36(11%)]\tLoss: 0.340665\n", + "Epoch : 100 [8/36(22%)]\tLoss: 0.147469\n", + "Epoch : 100 [12/36(33%)]\tLoss: 0.182332\n", + "Epoch : 100 [16/36(44%)]\tLoss: 0.283462\n", + "Epoch : 100 [20/36(56%)]\tLoss: 0.207662\n", + "Epoch : 100 [24/36(67%)]\tLoss: 0.497050\n", + "Epoch : 100 [28/36(78%)]\tLoss: 0.165086\n", + "Epoch : 100 [32/36(89%)]\tLoss: 0.117203\n", + "Epoch : 101 [0/36(0%)]\tLoss: 0.083228\n", + "Epoch : 101 [4/36(11%)]\tLoss: 0.546391\n", + "Epoch : 101 [8/36(22%)]\tLoss: 0.431156\n", + "Epoch : 101 [12/36(33%)]\tLoss: 0.398226\n", + "Epoch : 101 [16/36(44%)]\tLoss: 1.288929\n", + "Epoch : 101 [20/36(56%)]\tLoss: 0.640342\n", + "Epoch : 101 [24/36(67%)]\tLoss: 0.401745\n", + "Epoch : 101 [28/36(78%)]\tLoss: 0.407061\n", + "Epoch : 101 [32/36(89%)]\tLoss: 1.305236\n", + "Epoch : 102 [0/36(0%)]\tLoss: 0.803203\n", + "Epoch : 102 [4/36(11%)]\tLoss: 0.803634\n", + "Epoch : 102 [8/36(22%)]\tLoss: 0.246378\n", + "Epoch : 102 [12/36(33%)]\tLoss: 0.677488\n", + "Epoch : 102 [16/36(44%)]\tLoss: 1.857794\n", + "Epoch : 102 [20/36(56%)]\tLoss: 1.637340\n", + "Epoch : 102 [24/36(67%)]\tLoss: 0.607095\n", + "Epoch : 102 [28/36(78%)]\tLoss: 0.254901\n", + "Epoch : 102 [32/36(89%)]\tLoss: 0.450059\n", + "Epoch : 103 [0/36(0%)]\tLoss: 1.180508\n", + "Epoch : 103 [4/36(11%)]\tLoss: 1.737358\n", + "Epoch : 103 [8/36(22%)]\tLoss: 0.399888\n", + "Epoch : 103 [12/36(33%)]\tLoss: 0.145695\n", + "Epoch : 103 [16/36(44%)]\tLoss: 1.078226\n", + "Epoch : 103 [20/36(56%)]\tLoss: 2.185148\n", + "Epoch : 103 [24/36(67%)]\tLoss: 1.145702\n", + "Epoch : 103 [28/36(78%)]\tLoss: 0.967929\n", + "Epoch : 103 [32/36(89%)]\tLoss: 0.555476\n", + "Epoch : 104 [0/36(0%)]\tLoss: 1.243436\n", + "Epoch : 104 [4/36(11%)]\tLoss: 1.967332\n", + "Epoch : 104 [8/36(22%)]\tLoss: 0.957190\n", + "Epoch : 104 [12/36(33%)]\tLoss: 0.382028\n", + "Epoch : 104 [16/36(44%)]\tLoss: 0.336646\n", + "Epoch : 104 [20/36(56%)]\tLoss: 1.186655\n", + "Epoch : 104 [24/36(67%)]\tLoss: 0.802149\n", + "Epoch : 104 [28/36(78%)]\tLoss: 0.526138\n", + "Epoch : 104 [32/36(89%)]\tLoss: 0.238018\n", + "Epoch : 105 [0/36(0%)]\tLoss: 0.150440\n", + "Epoch : 105 [4/36(11%)]\tLoss: 0.649219\n", + "Epoch : 105 [8/36(22%)]\tLoss: 1.940693\n", + "Epoch : 105 [12/36(33%)]\tLoss: 1.726291\n", + "Epoch : 105 [16/36(44%)]\tLoss: 1.048240\n", + "Epoch : 105 [20/36(56%)]\tLoss: 0.640212\n", + "Epoch : 105 [24/36(67%)]\tLoss: 0.224103\n", + "Epoch : 105 [28/36(78%)]\tLoss: 0.495840\n", + "Epoch : 105 [32/36(89%)]\tLoss: 2.218499\n", + "Epoch : 106 [0/36(0%)]\tLoss: 0.800397\n", + "Epoch : 106 [4/36(11%)]\tLoss: 0.318850\n", + "Epoch : 106 [8/36(22%)]\tLoss: 0.186796\n", + "Epoch : 106 [12/36(33%)]\tLoss: 0.328822\n", + "Epoch : 106 [16/36(44%)]\tLoss: 0.880447\n", + "Epoch : 106 [20/36(56%)]\tLoss: 0.526012\n", + "Epoch : 106 [24/36(67%)]\tLoss: 0.372196\n", + "Epoch : 106 [28/36(78%)]\tLoss: 0.545029\n", + "Epoch : 106 [32/36(89%)]\tLoss: 0.210318\n", + "Epoch : 107 [0/36(0%)]\tLoss: 0.627842\n", + "Epoch : 107 [4/36(11%)]\tLoss: 0.713033\n", + "Epoch : 107 [8/36(22%)]\tLoss: 0.506655\n", + "Epoch : 107 [12/36(33%)]\tLoss: 0.069775\n", + "Epoch : 107 [16/36(44%)]\tLoss: 0.258880\n", + "Epoch : 107 [20/36(56%)]\tLoss: 0.485790\n", + "Epoch : 107 [24/36(67%)]\tLoss: 0.434654\n", + "Epoch : 107 [28/36(78%)]\tLoss: 0.986387\n", + "Epoch : 107 [32/36(89%)]\tLoss: 0.479963\n", + "Epoch : 108 [0/36(0%)]\tLoss: 0.096445\n", + "Epoch : 108 [4/36(11%)]\tLoss: 0.286673\n", + "Epoch : 108 [8/36(22%)]\tLoss: 0.381003\n", + "Epoch : 108 [12/36(33%)]\tLoss: 0.614597\n", + "Epoch : 108 [16/36(44%)]\tLoss: 0.450621\n", + "Epoch : 108 [20/36(56%)]\tLoss: 0.669061\n", + "Epoch : 108 [24/36(67%)]\tLoss: 0.096559\n", + "Epoch : 108 [28/36(78%)]\tLoss: 0.275418\n", + "Epoch : 108 [32/36(89%)]\tLoss: 0.804102\n", + "Epoch : 109 [0/36(0%)]\tLoss: 0.838495\n", + "Epoch : 109 [4/36(11%)]\tLoss: 1.215745\n", + "Epoch : 109 [8/36(22%)]\tLoss: 0.062430\n", + "Epoch : 109 [12/36(33%)]\tLoss: 0.159007\n", + "Epoch : 109 [16/36(44%)]\tLoss: 1.296312\n", + "Epoch : 109 [20/36(56%)]\tLoss: 2.450544\n", + "Epoch : 109 [24/36(67%)]\tLoss: 0.601764\n", + "Epoch : 109 [28/36(78%)]\tLoss: 0.213653\n", + "Epoch : 109 [32/36(89%)]\tLoss: 0.523616\n", + "Epoch : 110 [0/36(0%)]\tLoss: 0.794437\n", + "Epoch : 110 [4/36(11%)]\tLoss: 1.870096\n", + "Epoch : 110 [8/36(22%)]\tLoss: 0.811448\n", + "Epoch : 110 [12/36(33%)]\tLoss: 0.082044\n", + "Epoch : 110 [16/36(44%)]\tLoss: 0.358022\n", + "Epoch : 110 [20/36(56%)]\tLoss: 1.638812\n", + "Epoch : 110 [24/36(67%)]\tLoss: 0.672341\n", + "Epoch : 110 [28/36(78%)]\tLoss: 0.718325\n", + "Epoch : 110 [32/36(89%)]\tLoss: 0.167818\n", + "Epoch : 111 [0/36(0%)]\tLoss: 0.562024\n", + "Epoch : 111 [4/36(11%)]\tLoss: 0.820200\n", + "Epoch : 111 [8/36(22%)]\tLoss: 0.834176\n", + "Epoch : 111 [12/36(33%)]\tLoss: 1.139762\n", + "Epoch : 111 [16/36(44%)]\tLoss: 0.326634\n", + "Epoch : 111 [20/36(56%)]\tLoss: 0.946186\n", + "Epoch : 111 [24/36(67%)]\tLoss: 0.598871\n", + "Epoch : 111 [28/36(78%)]\tLoss: 0.794655\n", + "Epoch : 111 [32/36(89%)]\tLoss: 0.416314\n", + "Epoch : 112 [0/36(0%)]\tLoss: 0.327260\n", + "Epoch : 112 [4/36(11%)]\tLoss: 0.519059\n", + "Epoch : 112 [8/36(22%)]\tLoss: 0.187847\n", + "Epoch : 112 [12/36(33%)]\tLoss: 0.433497\n", + "Epoch : 112 [16/36(44%)]\tLoss: 0.343210\n", + "Epoch : 112 [20/36(56%)]\tLoss: 0.408844\n", + "Epoch : 112 [24/36(67%)]\tLoss: 0.119463\n", + "Epoch : 112 [28/36(78%)]\tLoss: 0.447131\n", + "Epoch : 112 [32/36(89%)]\tLoss: 0.275187\n", + "Epoch : 113 [0/36(0%)]\tLoss: 0.434932\n", + "Epoch : 113 [4/36(11%)]\tLoss: 0.267949\n", + "Epoch : 113 [8/36(22%)]\tLoss: 0.038561\n", + "Epoch : 113 [12/36(33%)]\tLoss: 0.204059\n", + "Epoch : 113 [16/36(44%)]\tLoss: 0.241844\n", + "Epoch : 113 [20/36(56%)]\tLoss: 0.217105\n", + "Epoch : 113 [24/36(67%)]\tLoss: 0.291218\n", + "Epoch : 113 [28/36(78%)]\tLoss: 0.281015\n", + "Epoch : 113 [32/36(89%)]\tLoss: 0.333592\n", + "Epoch : 114 [0/36(0%)]\tLoss: 0.141699\n", + "Epoch : 114 [4/36(11%)]\tLoss: 0.247860\n", + "Epoch : 114 [8/36(22%)]\tLoss: 0.084436\n", + "Epoch : 114 [12/36(33%)]\tLoss: 0.329118\n", + "Epoch : 114 [16/36(44%)]\tLoss: 0.193044\n", + "Epoch : 114 [20/36(56%)]\tLoss: 0.250687\n", + "Epoch : 114 [24/36(67%)]\tLoss: 0.232723\n", + "Epoch : 114 [28/36(78%)]\tLoss: 0.878178\n", + "Epoch : 114 [32/36(89%)]\tLoss: 0.440108\n", + "Epoch : 115 [0/36(0%)]\tLoss: 0.100904\n", + "Epoch : 115 [4/36(11%)]\tLoss: 0.374544\n", + "Epoch : 115 [8/36(22%)]\tLoss: 0.009168\n", + "Epoch : 115 [12/36(33%)]\tLoss: 0.017287\n", + "Epoch : 115 [16/36(44%)]\tLoss: 0.069933\n", + "Epoch : 115 [20/36(56%)]\tLoss: 0.550595\n", + "Epoch : 115 [24/36(67%)]\tLoss: 0.016625\n", + "Epoch : 115 [28/36(78%)]\tLoss: 0.102405\n", + "Epoch : 115 [32/36(89%)]\tLoss: 0.142739\n", + "Epoch : 116 [0/36(0%)]\tLoss: 0.151976\n", + "Epoch : 116 [4/36(11%)]\tLoss: 0.267868\n", + "Epoch : 116 [8/36(22%)]\tLoss: 0.548577\n", + "Epoch : 116 [12/36(33%)]\tLoss: 0.053482\n", + "Epoch : 116 [16/36(44%)]\tLoss: 0.043041\n", + "Epoch : 116 [20/36(56%)]\tLoss: 0.148280\n", + "Epoch : 116 [24/36(67%)]\tLoss: 0.047300\n", + "Epoch : 116 [28/36(78%)]\tLoss: 0.034180\n", + "Epoch : 116 [32/36(89%)]\tLoss: 0.058306\n", + "Epoch : 117 [0/36(0%)]\tLoss: 0.317567\n", + "Epoch : 117 [4/36(11%)]\tLoss: 0.199254\n", + "Epoch : 117 [8/36(22%)]\tLoss: 0.029637\n", + "Epoch : 117 [12/36(33%)]\tLoss: 0.087505\n", + "Epoch : 117 [16/36(44%)]\tLoss: 0.356819\n", + "Epoch : 117 [20/36(56%)]\tLoss: 0.124659\n", + "Epoch : 117 [24/36(67%)]\tLoss: 0.187283\n", + "Epoch : 117 [28/36(78%)]\tLoss: 0.085256\n", + "Epoch : 117 [32/36(89%)]\tLoss: 0.185519\n", + "Epoch : 118 [0/36(0%)]\tLoss: 1.665215\n", + "Epoch : 118 [4/36(11%)]\tLoss: 0.085111\n", + "Epoch : 118 [8/36(22%)]\tLoss: 0.010460\n", + "Epoch : 118 [12/36(33%)]\tLoss: 0.127448\n", + "Epoch : 118 [16/36(44%)]\tLoss: 0.181292\n", + "Epoch : 118 [20/36(56%)]\tLoss: 1.402862\n", + "Epoch : 118 [24/36(67%)]\tLoss: 0.157969\n", + "Epoch : 118 [28/36(78%)]\tLoss: 0.158897\n", + "Epoch : 118 [32/36(89%)]\tLoss: 0.145005\n", + "Epoch : 119 [0/36(0%)]\tLoss: 0.174923\n", + "Epoch : 119 [4/36(11%)]\tLoss: 0.194443\n", + "Epoch : 119 [8/36(22%)]\tLoss: 0.035642\n", + "Epoch : 119 [12/36(33%)]\tLoss: 0.058165\n", + "Epoch : 119 [16/36(44%)]\tLoss: 0.118919\n", + "Epoch : 119 [20/36(56%)]\tLoss: 0.179913\n", + "Epoch : 119 [24/36(67%)]\tLoss: 0.262855\n", + "Epoch : 119 [28/36(78%)]\tLoss: 0.503860\n", + "Epoch : 119 [32/36(89%)]\tLoss: 0.425094\n", + "Epoch : 120 [0/36(0%)]\tLoss: 0.145393\n", + "Epoch : 120 [4/36(11%)]\tLoss: 0.149935\n", + "Epoch : 120 [8/36(22%)]\tLoss: 0.342409\n", + "Epoch : 120 [12/36(33%)]\tLoss: 0.069583\n", + "Epoch : 120 [16/36(44%)]\tLoss: 0.189382\n", + "Epoch : 120 [20/36(56%)]\tLoss: 0.493422\n", + "Epoch : 120 [24/36(67%)]\tLoss: 0.024969\n", + "Epoch : 120 [28/36(78%)]\tLoss: 0.103296\n", + "Epoch : 120 [32/36(89%)]\tLoss: 0.103516\n", + "Epoch : 121 [0/36(0%)]\tLoss: 0.326754\n", + "Epoch : 121 [4/36(11%)]\tLoss: 0.450237\n", + "Epoch : 121 [8/36(22%)]\tLoss: 0.060618\n", + "Epoch : 121 [12/36(33%)]\tLoss: 0.100700\n", + "Epoch : 121 [16/36(44%)]\tLoss: 0.117357\n", + "Epoch : 121 [20/36(56%)]\tLoss: 0.558369\n", + "Epoch : 121 [24/36(67%)]\tLoss: 0.164942\n", + "Epoch : 121 [28/36(78%)]\tLoss: 0.278770\n", + "Epoch : 121 [32/36(89%)]\tLoss: 0.117040\n", + "Epoch : 122 [0/36(0%)]\tLoss: 0.197312\n", + "Epoch : 122 [4/36(11%)]\tLoss: 0.513615\n", + "Epoch : 122 [8/36(22%)]\tLoss: 0.308748\n", + "Epoch : 122 [12/36(33%)]\tLoss: 0.199831\n", + "Epoch : 122 [16/36(44%)]\tLoss: 0.065613\n", + "Epoch : 122 [20/36(56%)]\tLoss: 0.187940\n", + "Epoch : 122 [24/36(67%)]\tLoss: 0.066833\n", + "Epoch : 122 [28/36(78%)]\tLoss: 0.310203\n", + "Epoch : 122 [32/36(89%)]\tLoss: 0.452692\n", + "Epoch : 123 [0/36(0%)]\tLoss: 0.502539\n", + "Epoch : 123 [4/36(11%)]\tLoss: 0.451618\n", + "Epoch : 123 [8/36(22%)]\tLoss: 0.149488\n", + "Epoch : 123 [12/36(33%)]\tLoss: 0.219420\n", + "Epoch : 123 [16/36(44%)]\tLoss: 0.589294\n", + "Epoch : 123 [20/36(56%)]\tLoss: 0.229330\n", + "Epoch : 123 [24/36(67%)]\tLoss: 0.112291\n", + "Epoch : 123 [28/36(78%)]\tLoss: 0.193194\n", + "Epoch : 123 [32/36(89%)]\tLoss: 0.156191\n", + "Epoch : 124 [0/36(0%)]\tLoss: 0.353021\n", + "Epoch : 124 [4/36(11%)]\tLoss: 0.679400\n", + "Epoch : 124 [8/36(22%)]\tLoss: 0.770952\n", + "Epoch : 124 [12/36(33%)]\tLoss: 0.099951\n", + "Epoch : 124 [16/36(44%)]\tLoss: 0.170315\n", + "Epoch : 124 [20/36(56%)]\tLoss: 0.484753\n", + "Epoch : 124 [24/36(67%)]\tLoss: 0.590766\n", + "Epoch : 124 [28/36(78%)]\tLoss: 1.056039\n", + "Epoch : 124 [32/36(89%)]\tLoss: 0.291728\n", + "Epoch : 125 [0/36(0%)]\tLoss: 0.014179\n", + "Epoch : 125 [4/36(11%)]\tLoss: 0.666761\n", + "Epoch : 125 [8/36(22%)]\tLoss: 0.898730\n", + "Epoch : 125 [12/36(33%)]\tLoss: 0.839078\n", + "Epoch : 125 [16/36(44%)]\tLoss: 0.133622\n", + "Epoch : 125 [20/36(56%)]\tLoss: 0.296906\n", + "Epoch : 125 [24/36(67%)]\tLoss: 0.522242\n", + "Epoch : 125 [28/36(78%)]\tLoss: 1.357634\n", + "Epoch : 125 [32/36(89%)]\tLoss: 0.483945\n", + "Epoch : 126 [0/36(0%)]\tLoss: 0.249091\n", + "Epoch : 126 [4/36(11%)]\tLoss: 0.298418\n", + "Epoch : 126 [8/36(22%)]\tLoss: 0.117557\n", + "Epoch : 126 [12/36(33%)]\tLoss: 0.204880\n", + "Epoch : 126 [16/36(44%)]\tLoss: 0.587431\n", + "Epoch : 126 [20/36(56%)]\tLoss: 1.187847\n", + "Epoch : 126 [24/36(67%)]\tLoss: 0.372977\n", + "Epoch : 126 [28/36(78%)]\tLoss: 0.206767\n", + "Epoch : 126 [32/36(89%)]\tLoss: 0.171439\n", + "Epoch : 127 [0/36(0%)]\tLoss: 0.644328\n", + "Epoch : 127 [4/36(11%)]\tLoss: 2.266160\n", + "Epoch : 127 [8/36(22%)]\tLoss: 0.580379\n", + "Epoch : 127 [12/36(33%)]\tLoss: 0.135999\n", + "Epoch : 127 [16/36(44%)]\tLoss: 0.512999\n", + "Epoch : 127 [20/36(56%)]\tLoss: 1.872483\n", + "Epoch : 127 [24/36(67%)]\tLoss: 1.238966\n", + "Epoch : 127 [28/36(78%)]\tLoss: 0.521182\n", + "Epoch : 127 [32/36(89%)]\tLoss: 0.259993\n", + "Epoch : 128 [0/36(0%)]\tLoss: 0.265112\n", + "Epoch : 128 [4/36(11%)]\tLoss: 1.502435\n", + "Epoch : 128 [8/36(22%)]\tLoss: 1.752910\n", + "Epoch : 128 [12/36(33%)]\tLoss: 1.213190\n", + "Epoch : 128 [16/36(44%)]\tLoss: 0.182892\n", + "Epoch : 128 [20/36(56%)]\tLoss: 1.473798\n", + "Epoch : 128 [24/36(67%)]\tLoss: 0.285437\n", + "Epoch : 128 [28/36(78%)]\tLoss: 0.903030\n", + "Epoch : 128 [32/36(89%)]\tLoss: 1.723643\n", + "Epoch : 129 [0/36(0%)]\tLoss: 0.712713\n", + "Epoch : 129 [4/36(11%)]\tLoss: 0.479779\n", + "Epoch : 129 [8/36(22%)]\tLoss: 0.786888\n", + "Epoch : 129 [12/36(33%)]\tLoss: 1.123224\n", + "Epoch : 129 [16/36(44%)]\tLoss: 0.927045\n", + "Epoch : 129 [20/36(56%)]\tLoss: 0.342439\n", + "Epoch : 129 [24/36(67%)]\tLoss: 0.093316\n", + "Epoch : 129 [28/36(78%)]\tLoss: 0.230954\n", + "Epoch : 129 [32/36(89%)]\tLoss: 1.265112\n", + "Epoch : 130 [0/36(0%)]\tLoss: 0.735851\n", + "Epoch : 130 [4/36(11%)]\tLoss: 1.008205\n", + "Epoch : 130 [8/36(22%)]\tLoss: 0.474685\n", + "Epoch : 130 [12/36(33%)]\tLoss: 0.268080\n", + "Epoch : 130 [16/36(44%)]\tLoss: 0.550381\n", + "Epoch : 130 [20/36(56%)]\tLoss: 0.850722\n", + "Epoch : 130 [24/36(67%)]\tLoss: 0.801836\n", + "Epoch : 130 [28/36(78%)]\tLoss: 1.241949\n", + "Epoch : 130 [32/36(89%)]\tLoss: 0.450840\n", + "Epoch : 131 [0/36(0%)]\tLoss: 0.125799\n", + "Epoch : 131 [4/36(11%)]\tLoss: 0.547972\n", + "Epoch : 131 [8/36(22%)]\tLoss: 2.403544\n", + "Epoch : 131 [12/36(33%)]\tLoss: 0.906547\n", + "Epoch : 131 [16/36(44%)]\tLoss: 0.386849\n", + "Epoch : 131 [20/36(56%)]\tLoss: 0.363257\n", + "Epoch : 131 [24/36(67%)]\tLoss: 0.881987\n", + "Epoch : 131 [28/36(78%)]\tLoss: 1.516602\n", + "Epoch : 131 [32/36(89%)]\tLoss: 1.657330\n", + "Epoch : 132 [0/36(0%)]\tLoss: 0.553499\n", + "Epoch : 132 [4/36(11%)]\tLoss: 0.270250\n", + "Epoch : 132 [8/36(22%)]\tLoss: 1.147920\n", + "Epoch : 132 [12/36(33%)]\tLoss: 1.012349\n", + "Epoch : 132 [16/36(44%)]\tLoss: 0.965370\n", + "Epoch : 132 [20/36(56%)]\tLoss: 1.128829\n", + "Epoch : 132 [24/36(67%)]\tLoss: 0.132303\n", + "Epoch : 132 [28/36(78%)]\tLoss: 0.443447\n", + "Epoch : 132 [32/36(89%)]\tLoss: 1.139149\n", + "Epoch : 133 [0/36(0%)]\tLoss: 2.019506\n", + "Epoch : 133 [4/36(11%)]\tLoss: 1.483567\n", + "Epoch : 133 [8/36(22%)]\tLoss: 0.222766\n", + "Epoch : 133 [12/36(33%)]\tLoss: 0.479214\n", + "Epoch : 133 [16/36(44%)]\tLoss: 1.252902\n", + "Epoch : 133 [20/36(56%)]\tLoss: 2.039283\n", + "Epoch : 133 [24/36(67%)]\tLoss: 0.835975\n", + "Epoch : 133 [28/36(78%)]\tLoss: 1.013910\n", + "Epoch : 133 [32/36(89%)]\tLoss: 0.484830\n", + "Epoch : 134 [0/36(0%)]\tLoss: 0.873319\n", + "Epoch : 134 [4/36(11%)]\tLoss: 2.239208\n", + "Epoch : 134 [8/36(22%)]\tLoss: 1.142551\n", + "Epoch : 134 [12/36(33%)]\tLoss: 0.698097\n", + "Epoch : 134 [16/36(44%)]\tLoss: 0.395490\n", + "Epoch : 134 [20/36(56%)]\tLoss: 0.630927\n", + "Epoch : 134 [24/36(67%)]\tLoss: 2.416898\n", + "Epoch : 134 [28/36(78%)]\tLoss: 1.961826\n", + "Epoch : 134 [32/36(89%)]\tLoss: 0.963865\n", + "Epoch : 135 [0/36(0%)]\tLoss: 0.513699\n", + "Epoch : 135 [4/36(11%)]\tLoss: 1.159483\n", + "Epoch : 135 [8/36(22%)]\tLoss: 1.378969\n", + "Epoch : 135 [12/36(33%)]\tLoss: 1.816255\n", + "Epoch : 135 [16/36(44%)]\tLoss: 0.669326\n", + "Epoch : 135 [20/36(56%)]\tLoss: 0.399843\n", + "Epoch : 135 [24/36(67%)]\tLoss: 0.242482\n", + "Epoch : 135 [28/36(78%)]\tLoss: 0.449311\n", + "Epoch : 135 [32/36(89%)]\tLoss: 1.769494\n", + "Epoch : 136 [0/36(0%)]\tLoss: 1.712812\n", + "Epoch : 136 [4/36(11%)]\tLoss: 0.357971\n", + "Epoch : 136 [8/36(22%)]\tLoss: 0.150119\n", + "Epoch : 136 [12/36(33%)]\tLoss: 0.545350\n", + "Epoch : 136 [16/36(44%)]\tLoss: 1.334263\n", + "Epoch : 136 [20/36(56%)]\tLoss: 1.960453\n", + "Epoch : 136 [24/36(67%)]\tLoss: 0.963578\n", + "Epoch : 136 [28/36(78%)]\tLoss: 0.330901\n", + "Epoch : 136 [32/36(89%)]\tLoss: 0.297327\n", + "Epoch : 137 [0/36(0%)]\tLoss: 2.078467\n", + "Epoch : 137 [4/36(11%)]\tLoss: 2.584589\n", + "Epoch : 137 [8/36(22%)]\tLoss: 2.093008\n", + "Epoch : 137 [12/36(33%)]\tLoss: 0.218757\n", + "Epoch : 137 [16/36(44%)]\tLoss: 0.139294\n", + "Epoch : 137 [20/36(56%)]\tLoss: 0.793414\n", + "Epoch : 137 [24/36(67%)]\tLoss: 2.099733\n", + "Epoch : 137 [28/36(78%)]\tLoss: 2.589034\n", + "Epoch : 137 [32/36(89%)]\tLoss: 0.720929\n", + "Epoch : 138 [0/36(0%)]\tLoss: 0.317908\n", + "Epoch : 138 [4/36(11%)]\tLoss: 0.666286\n", + "Epoch : 138 [8/36(22%)]\tLoss: 2.043915\n", + "Epoch : 138 [12/36(33%)]\tLoss: 1.559101\n", + "Epoch : 138 [16/36(44%)]\tLoss: 1.181897\n", + "Epoch : 138 [20/36(56%)]\tLoss: 0.792096\n", + "Epoch : 138 [24/36(67%)]\tLoss: 0.428118\n", + "Epoch : 138 [28/36(78%)]\tLoss: 1.314481\n", + "Epoch : 138 [32/36(89%)]\tLoss: 1.589546\n", + "Epoch : 139 [0/36(0%)]\tLoss: 1.632950\n", + "Epoch : 139 [4/36(11%)]\tLoss: 0.499525\n", + "Epoch : 139 [8/36(22%)]\tLoss: 0.559933\n", + "Epoch : 139 [12/36(33%)]\tLoss: 1.184841\n", + "Epoch : 139 [16/36(44%)]\tLoss: 1.278426\n", + "Epoch : 139 [20/36(56%)]\tLoss: 0.974399\n", + "Epoch : 139 [24/36(67%)]\tLoss: 0.395211\n", + "Epoch : 139 [28/36(78%)]\tLoss: 0.073856\n", + "Epoch : 139 [32/36(89%)]\tLoss: 0.585635\n", + "Epoch : 140 [0/36(0%)]\tLoss: 1.202225\n", + "Epoch : 140 [4/36(11%)]\tLoss: 1.409314\n", + "Epoch : 140 [8/36(22%)]\tLoss: 0.254555\n", + "Epoch : 140 [12/36(33%)]\tLoss: 0.191000\n", + "Epoch : 140 [16/36(44%)]\tLoss: 0.255447\n", + "Epoch : 140 [20/36(56%)]\tLoss: 0.781477\n", + "Epoch : 140 [24/36(67%)]\tLoss: 0.367237\n", + "Epoch : 140 [28/36(78%)]\tLoss: 0.354671\n", + "Epoch : 140 [32/36(89%)]\tLoss: 0.152837\n", + "Epoch : 141 [0/36(0%)]\tLoss: 0.193786\n", + "Epoch : 141 [4/36(11%)]\tLoss: 0.526449\n", + "Epoch : 141 [8/36(22%)]\tLoss: 0.141756\n", + "Epoch : 141 [12/36(33%)]\tLoss: 0.421991\n", + "Epoch : 141 [16/36(44%)]\tLoss: 0.213014\n", + "Epoch : 141 [20/36(56%)]\tLoss: 0.204618\n", + "Epoch : 141 [24/36(67%)]\tLoss: 0.598376\n", + "Epoch : 141 [28/36(78%)]\tLoss: 0.236039\n", + "Epoch : 141 [32/36(89%)]\tLoss: 0.416823\n", + "Epoch : 142 [0/36(0%)]\tLoss: 1.078028\n", + "Epoch : 142 [4/36(11%)]\tLoss: 0.915580\n", + "Epoch : 142 [8/36(22%)]\tLoss: 0.561300\n", + "Epoch : 142 [12/36(33%)]\tLoss: 0.203219\n", + "Epoch : 142 [16/36(44%)]\tLoss: 0.573979\n", + "Epoch : 142 [20/36(56%)]\tLoss: 0.322530\n", + "Epoch : 142 [24/36(67%)]\tLoss: 0.309427\n", + "Epoch : 142 [28/36(78%)]\tLoss: 0.163867\n", + "Epoch : 142 [32/36(89%)]\tLoss: 0.075040\n", + "Epoch : 143 [0/36(0%)]\tLoss: 0.242410\n", + "Epoch : 143 [4/36(11%)]\tLoss: 0.312566\n", + "Epoch : 143 [8/36(22%)]\tLoss: 0.509524\n", + "Epoch : 143 [12/36(33%)]\tLoss: 0.126450\n", + "Epoch : 143 [16/36(44%)]\tLoss: 0.726203\n", + "Epoch : 143 [20/36(56%)]\tLoss: 0.135466\n", + "Epoch : 143 [24/36(67%)]\tLoss: 0.099054\n", + "Epoch : 143 [28/36(78%)]\tLoss: 0.439739\n", + "Epoch : 143 [32/36(89%)]\tLoss: 0.803386\n", + "Epoch : 144 [0/36(0%)]\tLoss: 0.256622\n", + "Epoch : 144 [4/36(11%)]\tLoss: 0.951811\n", + "Epoch : 144 [8/36(22%)]\tLoss: 0.360674\n", + "Epoch : 144 [12/36(33%)]\tLoss: 0.391882\n", + "Epoch : 144 [16/36(44%)]\tLoss: 0.858808\n", + "Epoch : 144 [20/36(56%)]\tLoss: 0.519849\n", + "Epoch : 144 [24/36(67%)]\tLoss: 0.635749\n", + "Epoch : 144 [28/36(78%)]\tLoss: 0.867352\n", + "Epoch : 144 [32/36(89%)]\tLoss: 0.480857\n", + "Epoch : 145 [0/36(0%)]\tLoss: 0.963310\n", + "Epoch : 145 [4/36(11%)]\tLoss: 1.298752\n", + "Epoch : 145 [8/36(22%)]\tLoss: 0.179455\n", + "Epoch : 145 [12/36(33%)]\tLoss: 0.038442\n", + "Epoch : 145 [16/36(44%)]\tLoss: 0.435327\n", + "Epoch : 145 [20/36(56%)]\tLoss: 0.476076\n", + "Epoch : 145 [24/36(67%)]\tLoss: 0.304078\n", + "Epoch : 145 [28/36(78%)]\tLoss: 1.038557\n", + "Epoch : 145 [32/36(89%)]\tLoss: 0.654183\n", + "Epoch : 146 [0/36(0%)]\tLoss: 0.204737\n", + "Epoch : 146 [4/36(11%)]\tLoss: 0.970392\n", + "Epoch : 146 [8/36(22%)]\tLoss: 0.515129\n", + "Epoch : 146 [12/36(33%)]\tLoss: 0.710956\n", + "Epoch : 146 [16/36(44%)]\tLoss: 0.466451\n", + "Epoch : 146 [20/36(56%)]\tLoss: 0.115085\n", + "Epoch : 146 [24/36(67%)]\tLoss: 0.297739\n", + "Epoch : 146 [28/36(78%)]\tLoss: 1.263527\n", + "Epoch : 146 [32/36(89%)]\tLoss: 0.274987\n", + "Epoch : 147 [0/36(0%)]\tLoss: 1.063654\n", + "Epoch : 147 [4/36(11%)]\tLoss: 0.266227\n", + "Epoch : 147 [8/36(22%)]\tLoss: 0.040175\n", + "Epoch : 147 [12/36(33%)]\tLoss: 0.386203\n", + "Epoch : 147 [16/36(44%)]\tLoss: 0.858166\n", + "Epoch : 147 [20/36(56%)]\tLoss: 0.287465\n", + "Epoch : 147 [24/36(67%)]\tLoss: 0.364928\n", + "Epoch : 147 [28/36(78%)]\tLoss: 0.894572\n", + "Epoch : 147 [32/36(89%)]\tLoss: 0.207129\n", + "Epoch : 148 [0/36(0%)]\tLoss: 1.035094\n", + "Epoch : 148 [4/36(11%)]\tLoss: 0.792202\n", + "Epoch : 148 [8/36(22%)]\tLoss: 0.573911\n", + "Epoch : 148 [12/36(33%)]\tLoss: 0.181461\n", + "Epoch : 148 [16/36(44%)]\tLoss: 0.474999\n", + "Epoch : 148 [20/36(56%)]\tLoss: 0.434514\n", + "Epoch : 148 [24/36(67%)]\tLoss: 0.521438\n", + "Epoch : 148 [28/36(78%)]\tLoss: 0.437689\n", + "Epoch : 148 [32/36(89%)]\tLoss: 1.160885\n", + "Epoch : 149 [0/36(0%)]\tLoss: 0.215505\n", + "Epoch : 149 [4/36(11%)]\tLoss: 0.336407\n", + "Epoch : 149 [8/36(22%)]\tLoss: 1.062175\n", + "Epoch : 149 [12/36(33%)]\tLoss: 0.169331\n", + "Epoch : 149 [16/36(44%)]\tLoss: 0.302514\n", + "Epoch : 149 [20/36(56%)]\tLoss: 0.457066\n", + "Epoch : 149 [24/36(67%)]\tLoss: 0.534421\n", + "Epoch : 149 [28/36(78%)]\tLoss: 1.031029\n", + "Epoch : 149 [32/36(89%)]\tLoss: 0.598749\n", + "--- 0.16259276469548542 minutes ---\n" ] } ], @@ -2178,7 +2185,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+QAAAHWCAYAAAD+cEOeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADjZUlEQVR4nOzdd3gUVdsG8HvTeyFCQiihSu8gIlJUFBARBMWCr4ion0qR4qvyqoAVxYJiAVQECyCKYgcEBEQERYqCAtJDCy0kIT1k5/vj5OzM9pnNJrvZ3L/ryrWbzZbZzSY79zzPOcekKIoCIiIiIiIiIqpUQb7eACIiIiIiIqLqiIGciIiIiIiIyAcYyImIiIiIiIh8gIGciIiIiIiIyAcYyImIiIiIiIh8gIGciIiIiIiIyAcYyImIiIiIiIh8gIGciIiIiIiIyAcYyImIiIiIiIh8gIGciIiIiKgK6t27N3r37q37uq1bt67YDSrToEED3H333ZXyWERVHQM5UTWyYMECmEwmmEwm/PLLL3Y/VxQF9erVg8lkwg033GC5PDc3F1OnTkXr1q0RHR2NpKQktG/fHg8//DBOnDhhud60adMs9+/oKyMjo1KeJxERkV7ys/GPP/7w9aaU24kTJzBt2jTs2LHD15viNQ0aNIDJZEKfPn0c/vy9996z7GfY/g5/+eUX9O/fH3Xq1EFERATq16+PgQMHYtGiRVbXc7Xv8sADD1TYcyMCgBBfbwARVb6IiAgsWrQIV155pdXl69evx7FjxxAeHm65rKSkBD179sSePXswYsQIjB07Frm5ufj777+xaNEi3HTTTUhNTbW6n9mzZyMmJsbucRMSEirk+RAREVVHP/74o9X3J06cwNNPP40GDRqgffv2vtkoAHv37kVQkPfqfhEREVi7di0yMjKQkpJi9bOFCxciIiIChYWFVpd//vnnuPXWWy0FhMTERBw6dAg///wz3nvvPdxxxx1W17/22mtx11132T32pZde6rXnQeQIAzlRNXT99dfj888/x6xZsxASov4bWLRoETp16oSzZ89aLvvqq6+wfft2LFy40O7Dq7CwEMXFxXb3f/PNN+OSSy6puCdARERUjeXn5yMqKgphYWG+3hSHtAf2vaF79+7YsmULlixZgocffthy+bFjx7BhwwbcdNNN+OKLL6xuM23aNLRs2RKbN2+2e51Onz5t9xiXXnop7rzzTq9uN5EebFknqoZuv/12nDt3DqtWrbJcVlxcjKVLl9qF7gMHDgAQH4a2IiIiEBcXV7EbS0RE5Ae2b9+O/v37Iy4uDjExMbjmmmuwefNmu+v99ddf6NWrFyIjI1G3bl0899xzmD9/PkwmEw4fPmy53tdff40BAwYgNTUV4eHhaNy4MZ599lmUlpZa3Z8c+71161b07NkTUVFR+N///mf5mRxDvm7dOnTp0gUAMHLkSEvL9YIFC6zu759//sFVV12FqKgo1KlTBzNmzLD6+bp162AymfDZZ5/h6aefRp06dRAbG4ubb74Z2dnZKCoqwvjx41GrVi3ExMRg5MiRKCoqsroPR2PIs7KyMGHCBDRo0ADh4eGoW7cu7rrrLqsigDMREREYMmSIXav54sWLkZiYiL59+9rd5sCBA+jSpYvDgxa1atVy+5hElYUVcqJqqEGDBujWrRsWL16M/v37AwCWL1+O7Oxs3HbbbZg1a5blumlpaQCAjz76CE8++SRMJpPb+8/MzLS7LCQkhC3rRERUJf3999/o0aMH4uLi8OijjyI0NBRz585F7969sX79enTt2hUAcPz4cVx11VUwmUyYPHkyoqOj8f777zusGC9YsAAxMTGYOHEiYmJi8NNPP2HKlCnIycnByy+/bHXdc+fOoX///rjttttw5513Ijk52e7+WrRogWeeeQZTpkzB/fffjx49egAArrjiCst1zp8/j379+mHIkCEYNmwYli5disceewxt2rSx7A9I06dPR2RkJB5//HHs378fb775JkJDQxEUFITz589j2rRp2Lx5MxYsWICGDRtiypQpTl+/3Nxc9OjRA7t378Y999yDjh074uzZs/jmm29w7NgxXV11d9xxB6677jocOHAAjRs3BiA6+26++WaEhobaXT8tLQ1r1qzBsWPHULduXbf3X1hY6PDgQFxcnN92IlCAUIio2pg/f74CQNmyZYvy1ltvKbGxsUp+fr6iKIpyyy23KFdddZWiKIqSlpamDBgwQFEURcnPz1eaNWumAFDS0tKUu+++W5k3b55y6tQpu/ufOnWqAsDhV7NmzSrviRIREemk/Wx0ZvDgwUpYWJhy4MABy2UnTpxQYmNjlZ49e1ouGzt2rGIymZTt27dbLjt37pxSo0YNBYBy6NAhy+Xy81fr//7v/5SoqCilsLDQclmvXr0UAMqcOXPsrt+rVy+lV69elu+3bNmiAFDmz5/v8LoAlI8++shyWVFRkZKSkqIMHTrUctnatWsVAErr1q2V4uJiy+W33367YjKZlP79+1vdb7du3ZS0tDSry9LS0pQRI0ZYvp8yZYoCQPnyyy/ttstsNttdZntfAwYMUC5evKikpKQozz77rKIoivLPP/8oAJT169c7/B3OmzdPAaCEhYUpV111lfLUU08pGzZsUEpLS+0ew9m+CwBl8eLFLrePqLzYsk5UTQ0bNgwFBQX47rvvcOHCBXz33Xd27eoAEBkZid9++w3//e9/AYgj+qNGjULt2rUxduxYuzY1APjiiy+watUqq6/58+dX+HMiIiLyttLSUvz4448YPHgwGjVqZLm8du3auOOOO/DLL78gJycHALBixQp069bNakK1GjVqYPjw4Xb3GxkZaTl/4cIFnD17Fj169EB+fj727Nljdd3w8HCMHDmy3M8lJibGapx0WFgYLrvsMhw8eNDuunfddZdV5blr165QFAX33HOP1fW6du2Ko0eP4uLFi04f94svvkC7du1w00032f1MT+cdAAQHB2PYsGFYvHgxADGZW7169SydALbuuecerFixAr1798Yvv/yCZ599Fj169EDTpk3x66+/2l1/0KBBdvsuq1atwlVXXaVr+4g8xZZ1omqqZs2a6NOnDxYtWoT8/HyUlpbi5ptvdnjd+Ph4zJgxAzNmzMCRI0ewZs0avPLKK3jrrbcQHx+P5557zur6PXv25KRuREQUEM6cOYP8/Hw0a9bM7mctWrSA2WzG0aNH0apVKxw5cgTdunWzu16TJk3sLvv777/x5JNP4qeffrIEeik7O9vq+zp16nilbbpu3bp2ATgxMRF//fWX3XXr169v9X18fDwAoF69enaXm81mZGdnIykpyeHjHjhwAEOHDi3PpgMQbeuzZs3Cn3/+iUWLFuG2225zGej79u2Lvn37Ij8/H1u3bsWSJUswZ84c3HDDDdizZ4/VWPK6des6XVqNqCKxQk5Ujd1xxx1Yvnw55syZg/79++sa452WloZ77rkHGzduREJCAhYuXFjxG0pERBRAsrKy0KtXL/z555945pln8O2332LVqlV46aWXAABms9nq+tpqenkEBwc7vFxRFN3XNXIf3ta1a1c0btwY48ePx6FDhxx29jkSFRWFHj164K233sKTTz6J8+fPY/ny5RW8tUT6sEJOVI3ddNNN+L//+z9s3rwZS5YsMXTbxMRENG7cGLt27aqgrSMiIvK9mjVrIioqCnv37rX72Z49exAUFGSpGqelpWH//v1217O9bN26dTh37hy+/PJL9OzZ03L5oUOHyrWtetu/K5s39xduv/12PPfcc2jRooVHa6137twZAHDy5EmvbA9RebFCTlSNxcTEYPbs2Zg2bRoGDhzo8Dp//vmnw1lHjxw5gn/++cdhCx8REVGgCA4OxnXXXYevv/7aatmyU6dOYdGiRbjyyistS4D27dsXmzZtwo4dOyzXy8zMtOsmk1VmbVW5uLgY77zzTrm2NTo6GoCowPuToUOH4s8//8SyZcvsfma0sn7vvfdi6tSpePXVV11eb82aNQ4v/+GHHwCA+y/kN1ghJ6rmRowY4fLnq1atwtSpU3HjjTfi8ssvR0xMDA4ePIgPPvgARUVFmDZtmt1tli5dipiYGLvLr732WodLtRAREfnaBx98gBUrVthd/vDDD+O5557DqlWrcOWVV+Khhx5CSEgI5s6di6KiIqt1vB999FF88sknuPbaazF27FjLsmf169dHZmampYJ9xRVXIDExESNGjMC4ceNgMpnw8ccfl7vtu3HjxkhISMCcOXMQGxuL6OhodO3aFQ0bNizX/ZbXf//7XyxduhS33HIL7rnnHnTq1AmZmZn45ptvMGfOHLRr1073faWlpTnc97A1aNAgNGzYEAMHDkTjxo2Rl5eH1atX49tvv0WXLl3sChH//vsvPvnkE7v7SU5OxrXXXqt7+4iMYiAnIpeGDh2KCxcu4Mcff8RPP/2EzMxMJCYm4rLLLsOkSZMczj764IMPOryvtWvXMpATEZFfmj17tsPL7777brRq1QobNmzA5MmTMX36dJjNZnTt2hWffPKJZQ1yQEx4tnbtWowbNw4vvPACatasidGjRyM6Ohrjxo1DREQEACApKQnfffcdJk2ahCeffBKJiYm48847cc0116Bv374eP4fQ0FB8+OGHmDx5Mh544AFcvHgR8+fP93kgj4mJwYYNGzB16lQsW7YMH374IWrVqoVrrrlG1xrhnnj//ffx9ddf47PPPsOJEyegKAoaNWqEJ554Ao899hhCQqxjkJxV3VavXr0YyKlCmZTKmIGBiIiIiKiaGj9+PObOnYvc3Fynk6IRUfXEMeRERERERF5SUFBg9f25c+fw8ccf48orr2QYJyI7bFknIiIiIvKSbt26oXfv3mjRogVOnTqFefPmIScnB0899ZSvN42I/BADORERERGRl1x//fVYunQp3n33XZhMJnTs2BHz5s2zWt6MiEjiGHIiIiIiIiIiH+AYciIiIiIiIiIfYCAnIiIiIiIi8oGAH0NuNptx4sQJxMbGwmQy+XpziIiIoCgKLly4gNTUVAQF8dh4efGznoiI/I3ez/qAD+QnTpxAvXr1fL0ZREREdo4ePYq6dev6ejOqPH7WExGRv3L3WR/wgTw2NhaAeCHi4uJ8vDVERERATk4O6tWrZ/mMovLhZz0REfkbvZ/1AR/IZetaXFwcP6SJiMivsL3aO/hZT0RE/srdZz0HrhERERERERH5AAM5ERERERERkQ8wkBMRERERERH5QMCPISci0ktRFFy8eBGlpaW+3hSq4oKDgxESEsIx4kREfoaf9eQt3vqsZyAnIgJQXFyMkydPIj8/39ebQgEiKioKtWvXRlhYmK83hYiIwM968j5vfNYzkBNRtWc2m3Ho0CEEBwcjNTUVYWFhrGySxxRFQXFxMc6cOYNDhw6hadOmCAriCDEiIl/iZz15kzc/6xnIiajaKy4uhtlsRr169RAVFeXrzaEAEBkZidDQUBw5cgTFxcWIiIjw9SYREVVr/Kwnb/PWZz0P2RMRlWEVk7yJ7yciIv/D/83kTd54P/EdSUREREREROQDDOREREREREREPsBATkREFg0aNMDrr7+u+/rr1q2DyWRCVlZWhW0TACxYsAAJCQkV+hhERETVBT/v/QcDORFRFWQymVx+TZs2zaP73bJlC+6//37d17/iiitw8uRJxMfHe/R4RERE5Bw/7wMfZ1knIqqCTp48aTm/ZMkSTJkyBXv37rVcFhMTYzmvKApKS0sREuL+X37NmjUNbUdYWBhSUlIM3YaIiIj04ed94GOF3IAePYA2bYBDh3y9JURUkRQFyMvzzZei6NvGlJQUy1d8fDxMJpPl+z179iA2NhbLly9Hp06dEB4ejl9++QUHDhzAoEGDkJycjJiYGHTp0gWrV6+2ul/bFjaTyYT3338fN910E6KiotC0aVN88803lp/btrDJVrOVK1eiRYsWiImJQb9+/ax2KC5evIhx48YhISEBSUlJeOyxxzBixAgM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/cUXX4TJZML48eMtlxUWFmL06NFISkpCTEwMhg4dilOnTvluI8FATkREgctkMuG6667Df//7X4wZM8YvwzgATJ8+HfHx8ZavemUzoXtFTg6QlSXO16tnaVmPy04HoCA/X21XDw0ty+sXXVfIOcs6ERE54xcV8i1btmDu3Llo27at1eUTJkzA999/j88//xzx8fEYM2YMhgwZgo0bN/poSxnIiYgocMyaNQv3338/IiIiMGvWLJfXHTduXCVtlXuTJ0/GxIkTLd/n5OR4L5TL6nhiIhAbawnZocX5qIFM5OcnWY8fB9SkbVshL9tZYMs6ERE54/NAnpubi+HDh+O9997Dc889Z7k8Ozsb8+bNw6JFi3D11VcDAObPn48WLVpg8+bNuPzyy32yvQzkREQUKGbOnInhw4cjIiICM2fOdHo9k8nkV4E8PDwc4eHhFXPn2nZ1AIiIAGrVAk6fRj0cRX5+kvUa5IDbCjkDOREROePzQD569GgMGDAAffr0sQrkW7duRUlJCfr06WO5rHnz5qhfvz42bdrkNJBX9LgyBnIiIgoUhw4dcni+WtPOsC7Vrw+cPo36SMeZ/PbWa5AD9hVyLntGREQ6+TSQf/rpp9i2bRu2bNli97OMjAyEhYUhISHB6vLk5GRkZGQ4vc/p06fj6aef9vamWjCQExEReVdubi72799v+f7QoUPYsWMHatSogfqyUl1ZbCvk8vwff6A+0pFeAOct624q5JzUjYiIbHkUyI8ePQqTyWRZFuX333/HokWL0LJlS9x///267+Phhx/GqlWrEBER4clmOFSh48rAQE5ERIFJURQsXboUa9euxenTp2G2+aD78ssvK+yx//jjD1x11VWW7+Xn+IgRI7BgwYIKe1yHnAVyAPWRjvx8OG9ZdzLLOid1IyIiZzwK5HfccQfuv/9+/Oc//0FGRgauvfZatGrVCgsXLkRGRgamTJni9j62bt2K06dPo2PHjpbLSktL8fPPP+Ott97CypUrUVxcjKysLKsq+alTp5CSkuL0fit0XBkYyImIKDCNHz8ec+fOxVVXXYXk5GSYTKZKe+zevXtDUZRKezyXOnQAMjOBNm3Uy5KSAACJOG81y7rRCjkDORER2fIokO/atQuXXXYZAOCzzz5D69atsXHjRvz444944IEHdAXya665Bjt37rS6bOTIkWjevDkee+wx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FRWFjh074sknn4TzvJGB2p9vv/0Wo0aNQkZGBgzDwKeffupyuy/tLiwsxLhx4xAfH4/ExETceuutKCsrO429MNXXH7vdjoceegi9e/dGTEwMMjIycOONNyI3N9flOYKlP+4mTJgAwzDwt7/9zeX6QOoPBTYe6wMLj/WBJZiP9UBoHe95rA+dYz0Dch99+OGHuPfeezFt2jSsW7cOffv2xfDhw1FQUODvptVr2bJlmDRpElasWIFFixbBbrfj0ksvRXl5ee197rnnHnz22WeYPXs2li1bhtzcXFx99dV+bHXDVq9ejTfffBN9+vRxuT6Y+nL06FEMGTIE4eHhWLBgAbZs2YIXX3wRLVq0qL3P888/j1dffRVvvPEGVq5ciZiYGAwfPhwVFRV+bLlnzz33HGbMmIHp06dj69ateO655/D888/jtddeq71PoPanvLwcffv2xeuvv+7xdl/aPW7cOPz0009YtGgR5s+fj2+//Ra333776eqCi/r6c+zYMaxbtw5Tp07FunXr8Mknn2Dbtm244oorXO4XLP1xNmfOHKxYsQIZGRl1bguk/lDg4rE+sPBYz2N9cwul4z2P9SF0rFfkk0GDBqlJkybV/l1TU6MyMjLUM88848dWNV5BQYECoJYtW6aUUqqoqEiFh4er2bNn195n69atCoBavny5v5pZr9LSUtW5c2e1aNEideGFF6opU6YopYKvLw899JA677zzvN7ucDhUenq6euGFF2qvKyoqUjabTX3wwQeno4mNMnLkSHXLLbe4XHf11VercePGKaWCpz8A1Jw5c2r/9qXdW7ZsUQDU6tWra++zYMECZRiGOnDgwGlruyfu/fFk1apVCoDas2ePUio4+7N//36VmZmpNm/erNq2batefvnl2tsCuT8UWHisDxw81gfWsVELlWO9UqF1vOexPrD70xBmyH1QVVWFtWvXYtiwYbXXWSwWDBs2DMuXL/djyxqvuLgYAJCUlAQAWLt2Lex2u0vfunXrhjZt2gRs3yZNmoSRI0e6tBkIvr7MmzcPAwYMwDXXXIPU1FT069cPM2fOrL199+7dyMvLc+lPQkICBg8eHJD9Offcc7FkyRJs374dALBhwwZ8//33uOyyywAEX380X9q9fPlyJCYmYsCAAbX3GTZsGCwWC1auXHna29xYxcXFMAwDiYmJAIKvPw6HAzfccAMe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v/12bNq0CfPmzUOnTp1cXuOJJ57Atddei40bN+K3v/0txo0bh8LCwtPaTyIiojMZj/dEAUoRUcgaP368slqtKiYmxuXnqaeeUkopBUBNmDDB5TGDBw9WEydOVEop9dZbb6kWLVqosrKy2ts///xzZbFYVF5enlJKqYyMDPXII494bQMA9eijj9b+XVZWpgCoBQsWNFs/iYiIzmQ83hMFL44hJwpxv/nNbzBjxgyX65KSkmp/z87OdrktOzsbOTk5AICtW7eib9++iImJqb19yJAhcDgc2LZtGwzDQG5uLoYOHVpvG/r06VP7e0xMDOLj41FQUNDULhEREZEbHu+JghMDcqIQFxMTU6ekrLlERUX5dL/w8HCXvw3DgMPhOBVNIiIiOiPxeE8UnDiGnOgMt2LFijp/d+/eHQDQvXt3bNiwAeXl5bW3//DDD7BYLOjatSvi4uLQrl07LFmy5LS2mYiIiBqHx3uiwMQMOVGIq6ysRF5enst1YWFhSElJAQDMnj0bAwYMwHnnnYf3338fq1atwttvvw0AGDduHKZNm4bx48fj8ccfx6FDh3DnnXfihhtuQFpaGgDg8ccfx4QJE5CamorLLrsMpaWl+OGHH3DnnXee3o4SERGdwXi8JwpODMiJQtzChQvRqlUrl+u6du2Kn3/+GYDMiDpr1izccccdaNWqFT744AP06NEDABAdHY0vv/wSU6ZMwcCBAxEdHY0xY8bgpZdeqn2u8ePHo6KiAi+//DLuv/9+pKSk4He/+93p6yARERHxeE8UpAyllPJ3I4jIPwzDwJw5czB69Gh/N4WIiIhOER7viQIXx5ATERERERER+QEDciIiIiIiIiI/YMk6ERERERERkR8wQ05ERERERETkBwzIiYiIiIiIiPyAATkRERERERGRHzAgJyIiIiIiIvIDBuREREREREREfsCAnIiIiIiIiMgPGJATERERERER+QEDciIiIiIiIiI/+P/1yOWRQR8oWgAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+QAAAHWCAYAAAD+cEOeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADW4UlEQVR4nOzdd3gUVdsG8HvTe6ElhBIQkRC6NJFeFFHpoGJD4JX31SgK2PhUQEVRsCIRLAg2LIAgWCgiICBIR3qR0HtJQnqb74+TszNbs7vZzZbcv+vKNZvNlsmm7NzzPOccnaIoCoiIiIiIiIioQvm5eweIiIiIiIiIKiMGciIiIiIiIiI3YCAnIiIiIiIicgMGciIiIiIiIiI3YCAnIiIiIiIicgMGciIiIiIiIiI3YCAnIiIiIiIicgMGciIiIiIiIiI3YCAnIiIiIiIicgMGciIiIiIiL9StWzd069bN5ts2bdrUtTtUql69enjkkUcq5LmIvB0DOVElMm/ePOh0Ouh0OmzYsMHk64qioE6dOtDpdLj77rv112dlZWHSpElo2rQpwsPDUbVqVbRs2RJPPfUUzp49q7/d5MmT9Y9v7uP8+fMV8n0SERHZSr43btu2zd27Um5nz57F5MmTsWvXLnfvitPUq1cPOp0OvXr1Mvv1Tz/9VH+cYfwz3LBhA/r06YNatWohJCQEdevWRd++fTF//nyD21k7dvnf//7nsu+NCAAC3L0DRFTxQkJCMH/+fHTq1Mng+nXr1uH06dMIDg7WX1dYWIguXbrg4MGDGD58OJ588klkZWVh3759mD9/PgYOHIiEhASDx5k1axYiIiJMnjcmJsYl3w8REVFltHLlSoPPz549i1deeQX16tVDy5Yt3bNTAA4dOgQ/P+fV/UJCQrBmzRqcP38e8fHxBl/75ptvEBISgry8PIPrFyxYgHvvvVdfQIiNjUVaWhr+/PNPfPrpp7j//vsNbn/bbbfh4YcfNnnum266yWnfB5E5DOREldCdd96JBQsWYMaMGQgIUP8NzJ8/H61bt8bly5f11y1ZsgQ7d+7EN998Y/LmlZeXh4KCApPHHzJkCKpVq+a6b4CIiKgSy8nJQVhYGIKCgty9K2ZpT+w7Q8eOHbF161Z8//33eOqpp/TXnz59GuvXr8fAgQOxaNEig/tMnjwZycnJ2Lx5s8nrdPHiRZPnuOmmm/Dggw86db+JbMGWdaJKaNiwYbhy5QpWrVqlv66goAALFy40Cd3//vsvAPFmaCwkJARRUVGu3VkiIiIPsHPnTvTp0wdRUVGIiIhAz549sXnzZpPb/fPPP+jatStCQ0NRu3ZtTJkyBXPnzoVOp8Px48f1t/vpp59w1113ISEhAcHBwWjQoAFee+01FBcXGzyeHPu9fft2dOnSBWFhYfi///s//dfkGPK1a9eibdu2AIARI0boW67nzZtn8Hj79+9H9+7dERYWhlq1amHatGkGX1+7di10Oh1++OEHvPLKK6hVqxYiIyMxZMgQZGRkID8/H08//TRq1KiBiIgIjBgxAvn5+QaPYW4MeXp6OsaOHYt69eohODgYtWvXxsMPP2xQBLAkJCQEgwYNMmk1//bbbxEbG4vevXub3Offf/9F27ZtzZ60qFGjRpnPSVRRWCEnqoTq1auHDh064Ntvv0WfPn0AAL/99hsyMjJw3333YcaMGfrbJiYmAgC+/PJLvPTSS9DpdGU+/tWrV02uCwgIYMs6ERF5pX379qFz586IiorCc889h8DAQHz88cfo1q0b1q1bh/bt2wMAzpw5g+7du0On02HChAkIDw/HZ599ZrZiPG/ePERERGDcuHGIiIjAH3/8gYkTJyIzMxPTp083uO2VK1fQp08f3HfffXjwwQcRFxdn8niNGzfGq6++iokTJ2L06NHo3LkzAODWW2/V3+batWu44447MGjQINxzzz1YuHAhnn/+eTRr1kx/PCBNnToVoaGheOGFF3D06FF8+OGHCAwMhJ+fH65du4bJkydj8+bNmDdvHurXr4+JEydafP2ysrLQuXNnHDhwACNHjsTNN9+My5cvY+nSpTh9+rRNXXX3338/br/9dvz7779o0KABANHZN2TIEAQGBprcPjExEatXr8bp06dRu3btMh8/Ly/P7MmBqKgoj+1EIB+hEFGlMXfuXAWAsnXrVmXmzJlKZGSkkpOToyiKogwdOlTp3r27oiiKkpiYqNx1112KoihKTk6O0qhRIwWAkpiYqDzyyCPKnDlzlAsXLpg8/qRJkxQAZj8aNWpUcd8oERGRjbTvjZYMGDBACQoKUv7991/9dWfPnlUiIyOVLl266K978sknFZ1Op+zcuVN/3ZUrV5QqVaooAJS0tDT99fL9V+u///2vEhYWpuTl5emv69q1qwJA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WbNmKCgosPo4gTKh6F8fHUqs/CM0d3vFngFzTlCnTh0cOnQIH330EUJDQ/H444+jS5cuKCwsRGRkJHbs2IFvv/0WNWvWxMSJE9GiRQuXL+VC3oGBnKjycNf7vTPf6wG+33v7+z0DuR0YyInIm23cuBGPPPIIBg4ciGbNmiE+Ph7Hjx+v0H2Ijo5GXFycwSRcxcXF2LFjh12P07hxY2zcuNHguo0bNyI5OVn/eWhoKPr27YsZM2Zg7dq12LRpE/bs2QMACAgIQK9evTBt2jT8888/OH78OP74449yfGfkKxjIicjb8f3eu97vueyZHRjIicibNWzYED/++CP69u0LnU6Hl19+2eqZb1d58sknMXXqVNx4441ISkrChx9+iGvXrkFnR8ng2WefxT333INWrVqhV69eWLZsGX788Uf9LLLz5s1DcXEx2rdvj7CwMHz99dcIDQ1FYmIifv75Zxw7dgxdunRBbGwsfv31V5SUlKBRo0au+pbJRVyx7BkDORF5O77fe9f7PQO5HRjIicibvfvuuxg5ciRuvfVWVKtWDc8//zwyMzMrfD+ef/55nD9/Hg8//DD8/f0xevRo9O7dG/7+/jY/xoABA/DBBx/g7bffxlNPPYX69etj7ty56NatGwAgJiYGb775JsaNG4fi4mI0a9YMy5YtQ9WqVRETE4Mff/wRkydPRl5eHho2bIhvv/0WTZo0cdF3TK6SkpKClJQUZGZmIjo62imPyUBORN6O7/fe9X6vUyq60b+CyTfpjIwMREVFleux6tcHjh8HNm8G2rd3zv4Rkfvl5eUhLS0N9evXR0hIiLt3p9IpKSlB48aNcc899+C1115z9+44jbXfK2e+N5FzX8+XXwamTAGeeAL48EMn7SARuR3f693PF9/vnfFezwq5HVghJyIqvxMnTmDlypXo2rUr8vPzMXPmTKSlpeH+++93964RsUJOROQkfL+3DSd1swMDORFR+fn5+WHevHlo27YtOnbsiD179uD3339H48aN3b1rRAzkREROwvd727BCbgcGciKi8qtTp47JjKlEnoKBnIjIOfh+bxtWyO3AQE5EROTbGMiJiKgiMZDbgYGciIjItzGQExFRRWIgtwMDORERkW9jICcioorEQG4HBnIiIiLPkZqaiuTkZLRt29Zpj8lATkREFYmB3A4M5ERERJ4jJSUF+/fvx9atW532mAzkRERUkRjI7cBATkRE5NtkIC8ocO9+EBFR5cBAbgcGciLyNd26dcPTTz+t/7xevXp4//33rd5Hp9NhyZIl5X5uZz2ONZMnT0bLli1d+hzkW1ghJyJfxPd7z8VAbgcGciLyFH379sUdd9xh9mvr16+HTqfDP//8Y/fjbt26FaNHjy7v7hmw9CZ57tw59OnTx6nPRVReDORE5En4fu/7GMjtwEBORJ5i1KhRWLVqFU6fPm3ytblz56JNmzZo3ry53Y9bvXp1hIWFOWMXyxQfH4/g4OAKeS4iWzGQE5En4fu972MgtwMDOVEloShAdrZ7PhTFpl28++67Ub16dcybN8/g+qysLCxYsACjRo3ClStXMGzYMNSqVQthYWFo1qwZvv32W6uPa9zCduTIEXTp0gUhISFITk7GqlWrTO7z/PPP46abbkJYWBhuuOEGvPzyyygsTTPz5s3DK6+8gt27d0On00Gn0+n32biFbc+ePejRowdCQ0NRtWpVjB49GllZWfqvP/LIIxgwYADefvtt1KxZE1WrVkVKSor+uWxRUlKCV199FbVr10ZwcDBatmyJ5cuX679eUFCAJ554AjVr1kRISAgSExMxdepUAICiKJg8eTLq1q2L4OBgJCQkYMyYMTY/N3kHBnKiSsRd7/c2vtcDfL+vDO/3AS57ZB/EQE5USeTkABER7nnurCwgPLzMmwUEBODhhx/GvHnz8OKLL0Kn0wEAFixYgOLiYgwbNgxZWVlo3bo1nn/+eURFReGXX37BQw89hAYNGqBdu3ZlPkdJSQkGDRqEuLg4/P3338jIyDAYfyZFRkZi3rx5SEhIwJ49e/Doo48iMjISzz33HO69917s3bsXy5cvx++//w4AiI6ONnmM7Oxs9O7dGx06dMDWrVtx8eJF/Oc//8ETTzxhcBCyZs0a1KxZE2vWrMHRo0dx7733omXLlnj00UfL/H4A4IMPPsA777yDjz/+GK1atcLnn3+Ofv36Yd++fWjYsCFmzJiBpUuX4ocffkDdunVx6tQpnDp1CgCwaNEivPfee/juu+/QpEkTnD9/Hrt377bpecl7BAWJLQM5USXgrvd7G9/rAb7fV4r3e8XHZWRkKACUjIyMcj9Wly6KAijKDz84YceIyGPk5uYq+/fvV3Jzc8UVWVnij90dH1lZNu/3gQMHFADKmjVr9Nd17txZefDBBy3e56677lLGjx+v/7xr167KU089pf88MTFRee+99xRFUZQVK1YoAQEBypkzZ/Rf/+233xQAyuLFiy0+x/Tp05XWrVvrP580aZLSokULk9tpH+eTTz5RYmNjlSzN9//LL78ofn5+yvnz5xVFUZThw4criYmJSlFRkf42Q4cOVe69916L+2L83AkJCcrrr79ucJu2bdsqjz/+uKIoivLkk08qPXr0UEpKSkwe65133lFuuukmpaCgwOLzaZn8Xmk4872JnPt6bt4s/hTr1XPCjhGRxzD7P9ld7/d2vNcrCt/vFcVz3++d8V7PlnU7sEJOVEmEhYmz1+74sGM8V1JSEm699VZ8/vnnAICjR49i/fr1GDVqFACguLgYr732Gpo1a4YqVaogIiICK1aswMmTJ216/AMHDqBOnTpISEjQX9ehQweT233//ffo2LEj4uPjERERgZdeesnm59A+V4sWLRCuqRh07NgRJSUlOHTokP66Jk2awN/fX/95zZo1cfHiRZueIzMzE2fPnkXHjh0Nru/YsSMOHDgAQLTJ7dq1C40aNcKYMWOwcuVK/e2GDh2K3Nxc3HDDDXj00UexePFiFBUV2fV9kudjyzpRJeKu93s7x27z/d633+8ZyO3AQE5USeh0opXMHR+lrWi2GjVqFBYtWoTr169j7ty5aNCgAbp27QoAmD59Oj744AM8//zzWLNmDXbt2oXevXujwIkLLG/atAkPPPAA7rzzTvz888/YuXMnXnzxRac+h1agTEuldDodSpz4T/nmm29GWloaXnvtNeTm5uKee+7BkCFDAAB16tTBoUOH8NFHHyE0NBSPP/44unTpYteYNnKu1NRUJCcno23btk57TAZyokrEXe/3dr7XA3y/9+X3ewZyOzCQE5Gnueeee+Dn54f58+fjyy+/xMiRI/XjyzZu3Ij+/fvjwQcfRIsWLXDDDTfg8OHDNj9248aNcerUKZw7d05/3ebNmw1u89dffyExMREvvvgi2rRpg4YNG+LEiRMGtwkKCkJxcXGZz7V7925kZ2frr9u4cSP8/PzQqFEjm/fZmqioKCQkJGDjxo0G12/cuBHJyckGt7v33nvx6aef4vvvv8eiRYtw9epVAEBoaCj69u2LGTNmYO3atdi0aRP27NnjlP0j+6WkpGD//v3YunWr0x6TgZyIPBHf723nbe/3nNTN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wkBuBwZyIiIiz5Gamork5GS0bdvWqY/LQE5ERBWFgdwODORERESeIyUlBfv378fWrVud+rgykBcUOPVhiYiITDCQ24GBnIiIyPexQk5ERBWFgdwODORERES+j4GciIgqCgO5HRjIiYiIfB8DORERVRQGcjswkBMREfk+BnIiIqooDOR2YCAnIiLyfQzkRERUURjI7cBATkRE5PsYyImIqKIwkNuBgZyIiMj3BQWJLQM5ERG5GgO5HRjIiYiIfB8r5EREVFEYyO3AQE5EROT7GMiJiKiiMJDbgYGciIjI9zGQExFRRWEgtwMDORERke9jICcioorCQG4HBnIiIiLfx0BOREQVhYHcDgzkREREvo+BnIiIKgoDuR0YyImIiHwfAzkREVUUBnI7MJATERH5PgZyIiKqKAzkdmAgJyIi8n0mgfzqVWDaNODMGbftExER+SYGcjswkBMREfk+k0A+Zw7w/PPAe++5bZ+IiMg3MZDbgYGciIjI95kE8osXxTYjwy37Q0REvouB3A4M5ERERL7PJJBnZYltUZFb9oeIiHwXA7kdGMiJiIh8n0kgz842uoKIiMg5GMjtwEBORETk+2QgLygovYIVciIichEGcjswkBMREfk+bYVcUcBATkRELsNAbgcGciIiIt8nAzkAFBdDbVlnICciIidjILcDAzkREZHv0wbywkKoFXKOISciIidjILcDAzkREZHvMwnkrJATEZGLuDWQT548GTqdzuAjKSlJ//W8vDykpKSgatWqiIiIwODBg3HhwgW37S8DORERkWsMHDgQsbGxGDJkiLt3xXKFnIGciIiczO0V8iZNmuDcuXP6jw0bNui/NnbsWCxbtgwLFizAunXrcPbsWQwaNMht+8pATkRE5BpPPfUUvvzyS3fvBgDA31+9zEBORESuFOD2HQgIQHx8vMn1GRkZmDNnDubPn48ePXoAAObOnYvGjRtj8+bNuOWWWyp6VxnIiYiIXKRbt25Yu3atu3cDAKDTiSp5YSFQmF8C5OSIL3AMOREROZnbK+RHjhxBQkICbrjhBjzwwAM4efIkAGD79u0oLCxEr1699LdNSkpC3bp1sWnTJouPl5+fj8zMTIMPZ2EgJyIiMvXnn3+ib9++SEhIgE6nw5IlS0xuk5qainr16iEkJATt27fHli1bKn5H7RAUJLZF13NL1z4DK+REROR0bg3k7du3x7x587B8+XLMmjULaWlp6Ny5M65fv47z588jKCgIMTExBveJi4vD+fPnLT7m1KlTER0drf+oU6eO0/aXgZyIiMhUdnY2WrRogdTUVLNf//777zFu3DhMmjQJO3bsQIsWLdC7d29cvHixgvfUdnIceXFmtnolAzkRETmZW1vW+/Tpo7/cvHlztG/fHomJifjhhx8QGhrq0GNOmDAB48aN03+emZnptFDOQE5ERGSqT58+Bu/pxt599108+uijGDFiBABg9uzZ+OWXX/D555/jhRdesPv58vPzkZ+fr//cmd1wkj6QZ2SpV7JlnYiInMztLetaMTExuOmmm3D06FHEx8ejoKAA6enpBre5cOGC2THnUnBwMKKiogw+nIWBnIiIyD4FBQXYvn27wRA0Pz8/9OrVy+oQNGtc2Q0nyUBekqkJ5KyQExGRk3lUIM/KysK///6LmjVronXr1ggMDMTq1av1Xz906BBOnjyJDh06uGX/GMiJiIjsc/nyZRQXFyMuLs7geuMhaL169cLQoUPx66+/onbt2lbD+oQJE5CRkaH/OHXqlNP3WwZyJYst60RE5DpubVl/5pln0LdvXyQmJuLs2bOYNGkS/P39MWzYMERHR2PUqFEYN24cqlSpgqioKDz55JPo0KGDW2ZYBxjIiYiIXOX333+3+bbBwcEIDg524d5oKuTXWSEnIiLXcWsgP336NIYNG4YrV66gevXq6NSpEzZv3ozq1asDAN577z34+flh8ODByM/PR+/evfHRRx+5bX8ZyImIiOxTrVo1+Pv748KFCwbXlzUEzd1kIMd1jiEnIiLXcWsg/+6776x+PSQkBKmpqRZnba1oDORERET2CQoKQuvWrbF69WoMGDAAAFBSUoLVq1fjiSeecO/OWcGWdSIiqghuDeTehoGciIjIVFZWFo4ePar/PC0tDbt27UKVKlVQt25djBs3DsOHD0ebNm3Qrl07vP/++8jOztbPuu4oedK+uLi4vN+CCRnIddlsWSciItdhILcDAzkREZGpbdu2oXv37vrP5fKjw4cPx7x583Dvvffi0qVLmDhxIs6fP4+WLVti+fLlJhO92SslJQUpKSnIzMxEdHR0uR7LmL5lPZsVciIich0GcjswkBMREZnq1q0bFEWxepsnnnjCo1vUjekr5DkcQ05ERK7jUcueeToGciIiospBBnI/tqwTEZELMZDbgYGciIioctAH8ly2rBMRkeswkNuBgZyIiMhzpKamIjk5GW3btnX6Y+sDubZlvaSEBwFERORUDOR2YCAnIiLyHCkpKdi/fz+2bt3q9MeWgdw/N8vwC6ySExGREzGQ24GBnIiIqHLQB/L8bMMvMJATEZETMZDbgYGciIiocpCBPCCPFXIiInIdBnI7MJATERFVDvpAblwh59JnRETkRAzkdmAgJyIiqhxkIA/MZ4WciIhch4HcDgzkRERElQMDORERVQQGcjswkBMREXmOilj2LKiQk7oREZHrMJDbQQZyRREfRERE5D6uX/ZMQWABx5ATEZHrMJDbwU/zajGQExER+a6gICAUufBD6Ru+LJmzQk5ERE7EQG4HbSBn2zoREZHvCgwEIqAZPx4dLbYM5ERE5EQM5HZgICciIqocDAJ5eLgomQMM5ERE5FQM5HZgICciIqocAgOBcJSOHw8PBwICxGWOISciIicKcPcOeBMGciIiosrBoEIeEaF+gRVyIiJyIlbI7cBATkRE5DlcveyZQcs6J3UjIiIXYCC3AwM5ERGR53D1smf6lvWICLVlnYGciIiciIHcDgzkRERElYNJhZxjyImIyAUYyO3AQE5ERFQ5sEJOREQVgYHcDgzkRERElYPJpG4cQ05ERC7AQG4HnU69zEBORETku9iyTkREFYGB3A46nRrKGciJiIh8F1vWiYioIjCQ20m2rTOQExER+S6LFXIGciIiciIGcjsxkBMRkTfYsWMH9uzZo//8p59+woABA/B///d/KCgocOOeOU+FrUPOMeREROQiDOR2YiAnIiJv8N///heHDx8GABw7dgz33XcfwsLCsGDBAjz33HNu3jvncMs65BxDTkRETsRAbicGciIi8gaHDx9Gy5YtAQALFixAly5dMH/+fMybNw+LFi1y7855AbasExFRRWAgtxMDOREReQNFUVBS+mb1+++/48477wQA1KlTB5cvX3bnrnkFTupGREQVgYHcTgzkRETkDdq0aYMpU6bgq6++wrp163DXXXcBANLS0hAXF+fmvfN8JhVyjiEnIiIXYCC3EwM5ERF5g/fffx87duzAE088gRdffBE33ngjAGDhwoW49dZb3bx3ns9kUjeOISciIhcIcPcOeBsGciIi8gbNmzc3mGVdmj59Ovz9/d2wR96FLetERFQR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UtVfZmamAqA2btyolFIqJydHeXt7qyVLllQdk5KSogCoLVu26FXMOuXn56sOHTqoNWvWqGuuuUZNmjRJKeV+dZk2bZq6+uqrz3u/1WpVUVFR6rXXXqval5OToywWi1q0aFFzFLFebrjhBnX//fc77Lv11ltVQkKCUsp96gNALV26tOq2M+VOTk5WANSOHTuqjlm1apUyGAzq1KlTzVb22lSvT222b9+uAKhjx44ppdyzPidPnlQtW7ZU+/fvV61bt1Zvvvlm1X2uXB9yLWzrXQfbetdqGzWe0tYr5VntPdt6167PhbCH3AllZWXYtWsXhgwZUrXPaDRiyJAh2LJli44lq7/c3FwAQGhoKABg165dKC8vd6jbFVdcgbi4OJetW2JiIm644QaHMgPuV5fly5ejT58++Nvf/oaIiAj06tUL77//ftX9R48eRXp6ukN9goKC0L9/f5esz1VXXYV169bh0KFDAIC9e/fip59+wogRIwC4X300zpR7y5YtCA4ORp8+faqOGTJkCIxGI7Zt29bsZa6v3NxcGAwGBAcHA3C/+litVowZMwZTp05FfHx8jfvdrT6kD7b1roVtvWu2jZ7a1gOe396zrXddJr0L4A7Onj2LyspKREZGOuyPjIzEwYMHdSpV/VmtVkyePBkDBw5E165dAQDp6ekwm81Vf5yayMhIpKen61DKun3xxRfYvXs3duzYUeM+d6vLb7/9hvnz52PKlCl45plnsGPHDjz66KMwm80YO3ZsVZlr+965Yn2eeuop5OXl4YorroCXlxcqKysxa9YsJCQkAIDb1UfjTLnT09MRERHhcL/JZEJoaKhL1w2QuZjTpk3DXXfdhcDAQADuV5/Zs2fDZDLh0UcfrfV+d6sP6YNtvetgW++69fHUth7w7Paebb3r1cceA/JLSGJiIvbv34+ffvpJ76I0yIkTJzBp0iSsWbMGPj4+ehen0axWK/r06YN//vOfAIBevXph//79WLBgAcaOHatz6ervyy+/xOeff46FCxciPj4eSUlJmDx5MmJiYtyyPpeC8vJy3HHHHVBKYf78+XoXp0F27dqFf/3rX9i9ezcMBoPexSHSHdt618K2nvTGtt71cci6E8LDw+Hl5VUjg2dGRgaioqJ0KlX9TJw4EStXrsT69evRqlWrqv1RUVEoKytDTk6Ow/GuWLddu3YhMzMTV155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", "text/plain": [ "
" ] @@ -2200,8 +2207,8 @@ "plt.legend()\n", "\n", "fig.add_subplot(1, 2, 2)\n", - "plt.plot(np.log(np.asarray(hist_train)), 'b', label=\"Training loss\")\n", - "plt.plot(np.log(np.asarray(hist_valid)), 'r', label=\"Validation loss\")\n", + "plt.semilogy(np.asarray(hist_train), 'b', label=\"Training loss\")\n", + "plt.semilogy(np.asarray(hist_valid), 'r', label=\"Validation loss\")\n", "plt.xlabel('Epoch')\n", "plt.ylabel('Logarithmic loss')\n", "plt.title(\"Logarithmic MSE\")\n", @@ -2217,7 +2224,7 @@ "outputs": [], "source": [ "# save the checkpoint model training if necessary\n", - "output_path = \"../models/\"\n", + "output_path = \"./\"\n", "\n", "torch.save({\n", " 'epoch': epoch,\n", @@ -2256,7 +2263,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "66d6495564d0458fadedad0da3adb791", + "model_id": "726b75ee653e40049d95a790a0ffb6ec", "version_major": 2, "version_minor": 0 }, @@ -2275,7 +2282,7 @@ " .wandb-row { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; width: 100% }\n", " .wandb-col { display: flex; flex-direction: column; flex-basis: 100%; flex: 1; padding: 10px; }\n", " \n", - "

Run history:


testing_loss█▁▃
train_loss█▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂
validation_loss█▂▂▁▂▂▂▂▂▂▁▂▂▂▁▁▁▂▁▁▂▂▂▂▃▂▂▂▂▁▂▃▂▂▁▂▁▁▃▁

Run summary:


testing_loss0.97235
train_loss1.92526
validation_loss1.57945

" + "

Run history:


testing_loss▁▃█
train_loss█▁▂▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁
validation_loss█▂▂▂▂▂▂▂▂▂▂▂▁▁▂▂▁▁▁▁▂▂▂▂▂▂▃▂▂▂▂▂▂▁▃▁▂▃▁▁

Run summary:


testing_loss1.52785
train_loss0.59875
validation_loss0.95168

" ], "text/plain": [ "" @@ -2287,7 +2294,7 @@ { "data": { "text/html": [ - " View run earnest-star-19 at: https://wandb.ai/ai4s2s/test-LSTM/runs/v3pj0z4k
Synced 5 W&B file(s), 0 media file(s), 0 artifact file(s) and 0 other file(s)" + " View run cool-aardvark-22 at: https://wandb.ai/ai4s2s/test-LSTM/runs/8t0sok9n
Synced 5 W&B file(s), 0 media file(s), 0 artifact file(s) and 0 other file(s)" ], "text/plain": [ "" @@ -2299,7 +2306,7 @@ { "data": { "text/html": [ - "Find logs at: ./wandb/run-20230628_121945-v3pj0z4k/logs" + "Find logs at: ./wandb/run-20230630_150821-8t0sok9n/logs" ], "text/plain": [ "" @@ -2341,19 +2348,19 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "The MSE loss is 0.275\n" + "The MSE loss is 0.342\n" ] }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] diff --git a/workflow/pred_temperature_autoencoder.ipynb b/workflow/pred_temperature_autoencoder.ipynb index a114da4..ea7d84e 100644 --- a/workflow/pred_temperature_autoencoder.ipynb +++ b/workflow/pred_temperature_autoencoder.ipynb @@ -9,11 +9,19 @@ "This notebook serves as an example of a basic workflow of data driven forecasting using deep learning with `s2spy` & `lilio` packages.
\n", "We will predict temperature in US at seasonal time scales using ERA5 dataset with multi-head attention autoencoder.
\n", "\n", + "\"usecase\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ "This recipe includes the following steps:\n", "- Define a calendar (`lilio`)\n", - "- Download/load input data (`era5cli`) (TBA)\n", + "- Download/load input data (test data, accessible via `era5cli`)\n", "- Map the calendar to the data (`lilio`)\n", - "- Train-validate-test split (60%/20%/20%) (`torch`)\n", + "- Train-validate-test split (60%/20%/20%)\n", "- Preprocessing based on the training set (`s2spy`)\n", "- Resample data to the calendar (`lilio`)\n", "- Create autoencoder model (`torch`)\n", @@ -29,7 +37,7 @@ "source": [ "The workflow is illustrated below:\n", "\n", - "![Transformer](../assets/dl.PNG)" + "\"Transformer\"" ] }, { @@ -328,8 +336,11 @@ ")\n", "\n", "# fit preprocessor with training data\n", - "preprocessor.fit(precursor_field.sel(time=slice(str(start_year),\n", - " str(start_year + train_samples - 1))))" + "preprocessor.fit(\n", + " precursor_field.sel(\n", + " time=slice(str(start_year), str(start_year + train_samples - 1))\n", + " )\n", + ")" ] }, { @@ -576,7 +587,7 @@ "\n", "The architecture of the autoencoder used here is shown in the figure below. This structure is very similar to the famous language model called BERT. For more details about the full transformer network structure, check the paper [BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding](https://arxiv.org/abs/1810.04805).\n", "\n", - "![architecture](../assets/bert.png)" + "\"BERT\"" ] }, { diff --git a/workflow/pred_temperature_ridge.ipynb b/workflow/pred_temperature_ridge.ipynb index ba9c524..ba14e46 100644 --- a/workflow/pred_temperature_ridge.ipynb +++ b/workflow/pred_temperature_ridge.ipynb @@ -9,9 +9,17 @@ "This notebook serves as an example of a basic workflow of data driven forecasting using machine learning with `s2spy` & `lilio` packages.
\n", "We will predict temperature in US at seasonal time scales using ERA5 dataset with linear regression (Ridge).
\n", "\n", + "\"usecase\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ "This recipe includes the following steps:\n", "- Define a calendar (`lilio`)\n", - "- Download/load input data (`era5cli`) (TBA)\n", + "- Download/load input data (test data, accessible via `era5cli`)\n", "- Map the calendar to the data (`lilio`)\n", "- Train-test split (70%/30%)\n", "- Preprocessing based on the training set (`s2spy`)\n", @@ -26,7 +34,7 @@ "source": [ "The workflow is illustrated below:\n", "\n", - "![Ridge](../assets/regression.PNG)" + "\"Ridge\"" ] }, { @@ -389,8 +397,11 @@ ")\n", "\n", "# fit preprocessor with training data\n", - "preprocessor.fit(precursor_field.sel(time=slice(str(start_year),\n", - " str(start_year + train_samples - 1))))" + "preprocessor.fit(\n", + " precursor_field.sel(\n", + " time=slice(str(start_year), str(start_year + train_samples - 1))\n", + " )\n", + ")" ] }, { @@ -488,16 +499,16 @@ " clusters_test = rgdr.transform(x_test)\n", " # train model\n", " ridge = Ridge(alpha=1.0)\n", - " model = ridge.fit(clusters_train.isel(i_interval=0), y_train.isel(i_interval=1))\n", + " model = ridge.fit(clusters_train.isel(i_interval=0), y_train.sel(i_interval=1))\n", " # save model\n", " models.append(model)\n", " # predict and save results\n", " prediction = model.predict(clusters_test.isel(i_interval=0))\n", " predictions.append(prediction)\n", " # calculate and save rmse\n", - " rmse_train.append(mean_squared_error(y_train.isel(i_interval=1),\n", + " rmse_train.append(mean_squared_error(y_train.sel(i_interval=1),\n", " model.predict(clusters_train.isel(i_interval=0))))\n", - " rmse_test.append(mean_squared_error(y_test.isel(i_interval=1),\n", + " rmse_test.append(mean_squared_error(y_test.sel(i_interval=1),\n", " prediction))" ] }, diff --git a/workflow/pred_temperature_transformer.ipynb b/workflow/pred_temperature_transformer.ipynb index d7c690b..601e9c5 100644 --- a/workflow/pred_temperature_transformer.ipynb +++ b/workflow/pred_temperature_transformer.ipynb @@ -9,11 +9,19 @@ "This notebook serves as an example of a basic workflow of data driven forecasting using deep learning with `s2spy` & `lilio` packages.
\n", "We will predict temperature in US at seasonal time scales using ERA5 dataset with multi-head attention transformer.
\n", "\n", + "\"usecase\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ "This recipe includes the following steps:\n", "- Define a calendar (`lilio`)\n", - "- Download/load input data (`era5cli`) (TBA)\n", + "- Download/load input data (test data, accessible via `era5cli`)\n", "- Map the calendar to the data (`lilio`)\n", - "- Train-validate-test split (60%/20%/20%) (`torch`)\n", + "- Train-validate-test split (60%/20%/20%)\n", "- Preprocessing based on the training set (`s2spy`)\n", "- Resample data to the calendar (`lilio`)\n", "- Create transformer model (`torch`)\n", @@ -29,7 +37,7 @@ "source": [ "The workflow is illustrated below:\n", "\n", - "![Transformer](../assets/dl.PNG)" + "\"Transformer\"" ] }, { @@ -328,8 +336,11 @@ ")\n", "\n", "# fit preprocessor with training data\n", - "preprocessor.fit(precursor_field.sel(time=slice(str(start_year),\n", - " str(start_year + train_samples - 1))))" + "preprocessor.fit(\n", + " precursor_field.sel(\n", + " time=slice(str(start_year), str(start_year + train_samples - 1))\n", + " )\n", + ")" ] }, { @@ -577,7 +588,7 @@ "\n", "The architecture of the transformer is illustrated in the figure below, which is from the paper [Attention Is All You Need](https://arxiv.org/abs/1706.03762).\n", "\n", - "![architecture](../assets/transformer.webp)" + "\"Transformer\"" ] }, {