Skip to content

Instantly share code, notes, and snippets.

@markub3327
Created March 8, 2023 20:54
Show Gist options
  • Save markub3327/7534c726208811e2312445455c7884c0 to your computer and use it in GitHub Desktop.
Save markub3327/7534c726208811e2312445455c7884c0 to your computer and use it in GitHub Desktop.
k-pia-z-pisn-ka-time_series.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/markub3327/7534c726208811e2312445455c7884c0/k-pia-z-pisn-ka-time_series.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "pa49bUnKyRgF"
},
"source": [
"# Time series forecasting"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XVhK72Pu1cJL"
},
"source": [
"## Setup"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "7rZnJaGTWQw0"
},
"outputs": [],
"source": [
"import os\n",
"import datetime\n",
"\n",
"import IPython\n",
"import IPython.display\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import tensorflow as tf\n",
"import tensorflow_datasets as tfds\n",
"\n",
"mpl.rcParams['figure.figsize'] = (8, 6)\n",
"mpl.rcParams['axes.grid'] = False"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TokBlnUhWFw9"
},
"source": [
"## The weather dataset\n",
"\n",
"This tutorial uses a <a href=\"https://www.bgc-jena.mpg.de/wetter/\" class=\"external\">weather time series dataset</a> recorded by the <a href=\"https://www.bgc-jena.mpg.de\" class=\"external\">Max Planck Institute for Biogeochemistry</a>.\n",
"\n",
"This dataset contains 14 different features such as air temperature, atmospheric pressure, and humidity. These were collected every 10 minutes, beginning in 2003. For efficiency, you will use only the data collected between 2009 and 2016. This section of the dataset was prepared by François Chollet for his book <a href=\"https://www.manning.com/books/deep-learning-with-python\" class=\"external\">Deep Learning with Python</a>."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "xyv_i85IWInT"
},
"outputs": [],
"source": [
"zip_path = tf.keras.utils.get_file(\n",
" origin='https://storage.googleapis.com/tensorflow/tf-keras-datasets/jena_climate_2009_2016.csv.zip',\n",
" fname='jena_climate_2009_2016.csv.zip',\n",
" extract=True)\n",
"csv_path, _ = os.path.splitext(zip_path)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "R81Wx8WP4c3G"
},
"source": [
"This tutorial will just deal with **hourly predictions**, so start by sub-sampling the data from 10-minute intervals to one-hour intervals:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "TX6uGeeeWIkG"
},
"outputs": [],
"source": [
"df = pd.read_csv(csv_path)\n",
"# Slice [start:stop:step], starting from index 5 take every 6th record.\n",
"df = df[5::6]\n",
"\n",
"date_time = pd.to_datetime(df.pop('Date Time'), format='%d.%m.%Y %H:%M:%S')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "VdbOWXiTWM2T"
},
"source": [
"Let's take a glance at the data. Here are the first few rows:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "ojHE-iCCWIhz",
"outputId": "858836d6-e4d6-40ed-ab20-b052a211ffe9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
}
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" p (mbar) T (degC) Tpot (K) Tdew (degC) rh (%) VPmax (mbar) \\\n",
"5 996.50 -8.05 265.38 -8.78 94.4 3.33 \n",
"11 996.62 -8.88 264.54 -9.77 93.2 3.12 \n",
"17 996.84 -8.81 264.59 -9.66 93.5 3.13 \n",
"23 996.99 -9.05 264.34 -10.02 92.6 3.07 \n",
"29 997.46 -9.63 263.72 -10.65 92.2 2.94 \n",
"\n",
" VPact (mbar) VPdef (mbar) sh (g/kg) H2OC (mmol/mol) rho (g/m**3) \\\n",
"5 3.14 0.19 1.96 3.15 1307.86 \n",
"11 2.90 0.21 1.81 2.91 1312.25 \n",
"17 2.93 0.20 1.83 2.94 1312.18 \n",
"23 2.85 0.23 1.78 2.85 1313.61 \n",
"29 2.71 0.23 1.69 2.71 1317.19 \n",
"\n",
" wv (m/s) max. wv (m/s) wd (deg) \n",
"5 0.21 0.63 192.7 \n",
"11 0.25 0.63 190.3 \n",
"17 0.18 0.63 167.2 \n",
"23 0.10 0.38 240.0 \n",
"29 0.40 0.88 157.0 "
],
"text/html": [
"\n",
" <div id=\"df-6c10faae-94b8-43d8-bb78-bc84c3e5b068\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>p (mbar)</th>\n",
" <th>T (degC)</th>\n",
" <th>Tpot (K)</th>\n",
" <th>Tdew (degC)</th>\n",
" <th>rh (%)</th>\n",
" <th>VPmax (mbar)</th>\n",
" <th>VPact (mbar)</th>\n",
" <th>VPdef (mbar)</th>\n",
" <th>sh (g/kg)</th>\n",
" <th>H2OC (mmol/mol)</th>\n",
" <th>rho (g/m**3)</th>\n",
" <th>wv (m/s)</th>\n",
" <th>max. wv (m/s)</th>\n",
" <th>wd (deg)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>996.50</td>\n",
" <td>-8.05</td>\n",
" <td>265.38</td>\n",
" <td>-8.78</td>\n",
" <td>94.4</td>\n",
" <td>3.33</td>\n",
" <td>3.14</td>\n",
" <td>0.19</td>\n",
" <td>1.96</td>\n",
" <td>3.15</td>\n",
" <td>1307.86</td>\n",
" <td>0.21</td>\n",
" <td>0.63</td>\n",
" <td>192.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>996.62</td>\n",
" <td>-8.88</td>\n",
" <td>264.54</td>\n",
" <td>-9.77</td>\n",
" <td>93.2</td>\n",
" <td>3.12</td>\n",
" <td>2.90</td>\n",
" <td>0.21</td>\n",
" <td>1.81</td>\n",
" <td>2.91</td>\n",
" <td>1312.25</td>\n",
" <td>0.25</td>\n",
" <td>0.63</td>\n",
" <td>190.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>996.84</td>\n",
" <td>-8.81</td>\n",
" <td>264.59</td>\n",
" <td>-9.66</td>\n",
" <td>93.5</td>\n",
" <td>3.13</td>\n",
" <td>2.93</td>\n",
" <td>0.20</td>\n",
" <td>1.83</td>\n",
" <td>2.94</td>\n",
" <td>1312.18</td>\n",
" <td>0.18</td>\n",
" <td>0.63</td>\n",
" <td>167.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>996.99</td>\n",
" <td>-9.05</td>\n",
" <td>264.34</td>\n",
" <td>-10.02</td>\n",
" <td>92.6</td>\n",
" <td>3.07</td>\n",
" <td>2.85</td>\n",
" <td>0.23</td>\n",
" <td>1.78</td>\n",
" <td>2.85</td>\n",
" <td>1313.61</td>\n",
" <td>0.10</td>\n",
" <td>0.38</td>\n",
" <td>240.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>997.46</td>\n",
" <td>-9.63</td>\n",
" <td>263.72</td>\n",
" <td>-10.65</td>\n",
" <td>92.2</td>\n",
" <td>2.94</td>\n",
" <td>2.71</td>\n",
" <td>0.23</td>\n",
" <td>1.69</td>\n",
" <td>2.71</td>\n",
" <td>1317.19</td>\n",
" <td>0.40</td>\n",
" <td>0.88</td>\n",
" <td>157.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-6c10faae-94b8-43d8-bb78-bc84c3e5b068')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-6c10faae-94b8-43d8-bb78-bc84c3e5b068 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-6c10faae-94b8-43d8-bb78-bc84c3e5b068');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 157
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WRzj1inMfgcO"
},
"source": [
"Here is the evolution of a few features over time:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Vg5XIc5tfNlG",
"outputId": "06c92c29-b4f3-422f-fdd5-783c84ad2213",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 764
}
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 576x432 with 3 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 576x432 with 3 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"plot_cols = ['T (degC)', 'p (mbar)', 'rho (g/m**3)']\n",
"plot_features = df[plot_cols]\n",
"plot_features.index = date_time\n",
"_ = plot_features.plot(subplots=True)\n",
"\n",
"plot_features = df[plot_cols][:480]\n",
"plot_features.index = date_time[:480]\n",
"_ = plot_features.plot(subplots=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "wXWLG0_WBhZS"
},
"source": [
"### Inspect and cleanup"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "yhmZXJew6GlS"
},
"source": [
"Next, look at the statistics of the dataset:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "h510pgKVrrai",
"outputId": "a879748b-430a-481e-8e4e-c3701c280681",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 483
}
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" count mean std min 25% 50% \\\n",
"p (mbar) 70091.0 989.212842 8.358886 913.60 984.20 989.57 \n",
"T (degC) 70091.0 9.450482 8.423384 -22.76 3.35 9.41 \n",
"Tpot (K) 70091.0 283.493086 8.504424 250.85 277.44 283.46 \n",
"Tdew (degC) 70091.0 4.956471 6.730081 -24.80 0.24 5.21 \n",
"rh (%) 70091.0 76.009788 16.474920 13.88 65.21 79.30 \n",
"VPmax (mbar) 70091.0 13.576576 7.739883 0.97 7.77 11.82 \n",
"VPact (mbar) 70091.0 9.533968 4.183658 0.81 6.22 8.86 \n",
"VPdef (mbar) 70091.0 4.042536 4.898549 0.00 0.87 2.19 \n",
"sh (g/kg) 70091.0 6.022560 2.655812 0.51 3.92 5.59 \n",
"H2OC (mmol/mol) 70091.0 9.640437 4.234862 0.81 6.29 8.96 \n",
"rho (g/m**3) 70091.0 1216.061232 39.974263 1059.45 1187.47 1213.80 \n",
"wv (m/s) 70091.0 1.702567 65.447512 -9999.00 0.99 1.76 \n",
"max. wv (m/s) 70091.0 2.963041 75.597657 -9999.00 1.76 2.98 \n",
"wd (deg) 70091.0 174.789095 86.619431 0.00 125.30 198.10 \n",
"\n",
" 75% max \n",
"p (mbar) 994.720 1015.29 \n",
"T (degC) 15.480 37.28 \n",
"Tpot (K) 289.530 311.21 \n",
"Tdew (degC) 10.080 23.06 \n",
"rh (%) 89.400 100.00 \n",
"VPmax (mbar) 17.610 63.77 \n",
"VPact (mbar) 12.360 28.25 \n",
"VPdef (mbar) 5.300 46.01 \n",
"sh (g/kg) 7.800 18.07 \n",
"H2OC (mmol/mol) 12.490 28.74 \n",
"rho (g/m**3) 1242.765 1393.54 \n",
"wv (m/s) 2.860 14.01 \n",
"max. wv (m/s) 4.740 23.50 \n",
"wd (deg) 234.000 360.00 "
],
"text/html": [
"\n",
" <div id=\"df-4293848c-a978-45fc-a14d-de9099061d2d\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>25%</th>\n",
" <th>50%</th>\n",
" <th>75%</th>\n",
" <th>max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>p (mbar)</th>\n",
" <td>70091.0</td>\n",
" <td>989.212842</td>\n",
" <td>8.358886</td>\n",
" <td>913.60</td>\n",
" <td>984.20</td>\n",
" <td>989.57</td>\n",
" <td>994.720</td>\n",
" <td>1015.29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>T (degC)</th>\n",
" <td>70091.0</td>\n",
" <td>9.450482</td>\n",
" <td>8.423384</td>\n",
" <td>-22.76</td>\n",
" <td>3.35</td>\n",
" <td>9.41</td>\n",
" <td>15.480</td>\n",
" <td>37.28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tpot (K)</th>\n",
" <td>70091.0</td>\n",
" <td>283.493086</td>\n",
" <td>8.504424</td>\n",
" <td>250.85</td>\n",
" <td>277.44</td>\n",
" <td>283.46</td>\n",
" <td>289.530</td>\n",
" <td>311.21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tdew (degC)</th>\n",
" <td>70091.0</td>\n",
" <td>4.956471</td>\n",
" <td>6.730081</td>\n",
" <td>-24.80</td>\n",
" <td>0.24</td>\n",
" <td>5.21</td>\n",
" <td>10.080</td>\n",
" <td>23.06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>rh (%)</th>\n",
" <td>70091.0</td>\n",
" <td>76.009788</td>\n",
" <td>16.474920</td>\n",
" <td>13.88</td>\n",
" <td>65.21</td>\n",
" <td>79.30</td>\n",
" <td>89.400</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>VPmax (mbar)</th>\n",
" <td>70091.0</td>\n",
" <td>13.576576</td>\n",
" <td>7.739883</td>\n",
" <td>0.97</td>\n",
" <td>7.77</td>\n",
" <td>11.82</td>\n",
" <td>17.610</td>\n",
" <td>63.77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>VPact (mbar)</th>\n",
" <td>70091.0</td>\n",
" <td>9.533968</td>\n",
" <td>4.183658</td>\n",
" <td>0.81</td>\n",
" <td>6.22</td>\n",
" <td>8.86</td>\n",
" <td>12.360</td>\n",
" <td>28.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>VPdef (mbar)</th>\n",
" <td>70091.0</td>\n",
" <td>4.042536</td>\n",
" <td>4.898549</td>\n",
" <td>0.00</td>\n",
" <td>0.87</td>\n",
" <td>2.19</td>\n",
" <td>5.300</td>\n",
" <td>46.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>sh (g/kg)</th>\n",
" <td>70091.0</td>\n",
" <td>6.022560</td>\n",
" <td>2.655812</td>\n",
" <td>0.51</td>\n",
" <td>3.92</td>\n",
" <td>5.59</td>\n",
" <td>7.800</td>\n",
" <td>18.07</td>\n",
" </tr>\n",
" <tr>\n",
" <th>H2OC (mmol/mol)</th>\n",
" <td>70091.0</td>\n",
" <td>9.640437</td>\n",
" <td>4.234862</td>\n",
" <td>0.81</td>\n",
" <td>6.29</td>\n",
" <td>8.96</td>\n",
" <td>12.490</td>\n",
" <td>28.74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>rho (g/m**3)</th>\n",
" <td>70091.0</td>\n",
" <td>1216.061232</td>\n",
" <td>39.974263</td>\n",
" <td>1059.45</td>\n",
" <td>1187.47</td>\n",
" <td>1213.80</td>\n",
" <td>1242.765</td>\n",
" <td>1393.54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>wv (m/s)</th>\n",
" <td>70091.0</td>\n",
" <td>1.702567</td>\n",
" <td>65.447512</td>\n",
" <td>-9999.00</td>\n",
" <td>0.99</td>\n",
" <td>1.76</td>\n",
" <td>2.860</td>\n",
" <td>14.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max. wv (m/s)</th>\n",
" <td>70091.0</td>\n",
" <td>2.963041</td>\n",
" <td>75.597657</td>\n",
" <td>-9999.00</td>\n",
" <td>1.76</td>\n",
" <td>2.98</td>\n",
" <td>4.740</td>\n",
" <td>23.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>wd (deg)</th>\n",
" <td>70091.0</td>\n",
" <td>174.789095</td>\n",
" <td>86.619431</td>\n",
" <td>0.00</td>\n",
" <td>125.30</td>\n",
" <td>198.10</td>\n",
" <td>234.000</td>\n",
" <td>360.00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-4293848c-a978-45fc-a14d-de9099061d2d')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-4293848c-a978-45fc-a14d-de9099061d2d button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-4293848c-a978-45fc-a14d-de9099061d2d');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 158
}
],
"source": [
"df.describe().transpose()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TzOTnWOoWMGK"
},
"source": [
"#### Wind velocity"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "i47LiW5DCVsP"
},
"source": [
"One thing that should stand out is the `min` value of the wind velocity (`wv (m/s)`) and the maximum value (`max. wv (m/s)`) columns. This `-9999` is likely erroneous.\n",
"\n",
"There's a separate wind direction column, so the velocity should be greater than zero (`>=0`). Replace it with zeros:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "qFOq0_80vF4d",
"outputId": "6ea1ca0d-43fd-478d-cd00-7580dd89e3c3",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.0"
]
},
"metadata": {},
"execution_count": 159
}
],
"source": [
"wv = df['wv (m/s)']\n",
"bad_wv = wv == -9999.0\n",
"wv[bad_wv] = 0.0\n",
"\n",
"max_wv = df['max. wv (m/s)']\n",
"bad_max_wv = max_wv == -9999.0\n",
"max_wv[bad_max_wv] = 0.0\n",
"\n",
"# The above inplace edits are reflected in the DataFrame.\n",
"df['wv (m/s)'].min()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "vtmu2IBPgPG8"
},
"source": [
"### Feature engineering\n",
"\n",
"Before diving in to build a model, it's important to understand your data and be sure that you're passing the model appropriately formatted data."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "FYyEaqiD6j4s"
},
"source": [
"#### Wind\n",
"The last column of the data, `wd (deg)`—gives the wind direction in units of degrees. Angles do not make good model inputs: 360° and 0° should be close to each other and wrap around smoothly. Direction shouldn't matter if the wind is not blowing.\n",
"\n",
"Right now the distribution of wind data looks like this:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "YO7JGTcWQG2z",
"outputId": "d8e73e99-8588-466e-99c2-31b6f88ce4e6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 409
}
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0, 0.5, 'Wind Velocity [m/s]')"
]
},
"metadata": {},
"execution_count": 160
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 576x432 with 2 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"plt.hist2d(df['wd (deg)'], df['wv (m/s)'], bins=(50, 50), vmax=400)\n",
"plt.colorbar()\n",
"plt.xlabel('Wind Direction [deg]')\n",
"plt.ylabel('Wind Velocity [m/s]')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "yWnf5dwMU1_g"
},
"source": [
"But this will be easier for the model to interpret if you convert the wind direction and velocity columns to a wind **vector**:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "6GmSTHXw6lI1"
},
"outputs": [],
"source": [
"wv = df.pop('wv (m/s)')\n",
"max_wv = df.pop('max. wv (m/s)')\n",
"\n",
"# Convert to radians.\n",
"wd_rad = df.pop('wd (deg)')*np.pi / 180\n",
"\n",
"# Calculate the wind x and y components.\n",
"df['Wx'] = wv*np.cos(wd_rad)\n",
"df['Wy'] = wv*np.sin(wd_rad)\n",
"\n",
"# Calculate the max wind x and y components.\n",
"df['max Wx'] = max_wv*np.cos(wd_rad)\n",
"df['max Wy'] = max_wv*np.sin(wd_rad)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7iI0zDoxWDyB"
},
"source": [
"The distribution of wind vectors is much simpler for the model to correctly interpret:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "bMgCG5o2SYKD",
"outputId": "3f571389-51ff-4af5-9f8f-b19d05e19155",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 409
}
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(-11.30551397313467, 8.244699285490789, -8.274385403355149, 7.733831295546778)"
]
},
"metadata": {},
"execution_count": 162
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 576x432 with 2 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"plt.hist2d(df['Wx'], df['Wy'], bins=(50, 50), vmax=400)\n",
"plt.colorbar()\n",
"plt.xlabel('Wind X [m/s]')\n",
"plt.ylabel('Wind Y [m/s]')\n",
"ax = plt.gca()\n",
"ax.axis('tight')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_8im1ttOWlRB"
},
"source": [
"#### Time"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7YE21HKK40zQ"
},
"source": [
"Similarly, the `Date Time` column is very useful, but not in this string form. Start by converting it to seconds:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "LIFf-VjMfnh3"
},
"outputs": [],
"source": [
"timestamp_s = date_time.map(pd.Timestamp.timestamp)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EC_pnM1D5Sgc"
},
"source": [
"Similar to the wind direction, the time in seconds is not a useful model input. Being weather data, it has clear daily and yearly periodicity. There are many ways you could deal with periodicity.\n",
"\n",
"You can get usable signals by using sine and cosine transforms to clear \"Time of day\" and \"Time of year\" signals:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "MBfX6CDwax73"
},
"outputs": [],
"source": [
"day = 24*60*60\n",
"year = (365.2425)*day\n",
"\n",
"df['Day sin'] = np.sin(timestamp_s * (2 * np.pi / day))\n",
"df['Day cos'] = np.cos(timestamp_s * (2 * np.pi / day))\n",
"df['Year sin'] = np.sin(timestamp_s * (2 * np.pi / year))\n",
"df['Year cos'] = np.cos(timestamp_s * (2 * np.pi / year))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "mXBbTJZfuuTC",
"outputId": "0637de71-0a75-4a1d-f0cb-8c8cdffe76f2",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 421
}
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Time of day signal')"
]
},
"metadata": {},
"execution_count": 165
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"plt.plot(np.array(df['Day sin'])[:25])\n",
"plt.plot(np.array(df['Day cos'])[:25])\n",
"plt.xlabel('Time [h]')\n",
"plt.title('Time of day signal')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "HiurzTGQgf_D"
},
"source": [
"This gives the model access to the most important frequency features. In this case you knew ahead of time which frequencies were important. \n",
"\n",
"If you don't have that information, you can determine which frequencies are important by extracting features with <a href=\"https://en.wikipedia.org/wiki/Fast_Fourier_transform\" class=\"external\">Fast Fourier Transform</a>. To check the assumptions, here is the `tf.signal.rfft` of the temperature over time. Note the obvious peaks at frequencies near `1/year` and `1/day`:\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "EN4U1fcMiTYs",
"outputId": "75bbb3d9-9c1d-4b3e-a613-cf8b62a7279e",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 392
}
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"fft = tf.signal.rfft(df['T (degC)'])\n",
"f_per_dataset = np.arange(0, len(fft))\n",
"\n",
"n_samples_h = len(df['T (degC)'])\n",
"hours_per_year = 24*365.2524\n",
"years_per_dataset = n_samples_h/(hours_per_year)\n",
"\n",
"f_per_year = f_per_dataset/years_per_dataset\n",
"plt.step(f_per_year, np.abs(fft))\n",
"plt.xscale('log')\n",
"plt.ylim(0, 400000)\n",
"plt.xlim([0.1, max(plt.xlim())])\n",
"plt.xticks([1, 365.2524], labels=['1/Year', '1/day'])\n",
"_ = plt.xlabel('Frequency (log scale)')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "xCvD-UaUzYMw"
},
"source": [
"### 4. Create `tf.data.Dataset`s"
]
},
{
"cell_type": "code",
"source": [
"def timeseries_dataset_from_array2(\n",
" data,\n",
" targets,\n",
" sequence_length,\n",
" sequence_stride=1,\n",
" sampling_rate=1,\n",
" batch_size=128,\n",
" shuffle=False,\n",
" seed=None,\n",
" drop_remainder=True,\n",
" start_index=None,\n",
" end_index=None,\n",
"):\n",
" \"\"\"Creates a dataset of sliding windows over a timeseries provided as array.\n",
"\n",
" This function takes in a sequence of data-points gathered at\n",
" equal intervals, along with time series parameters such as\n",
" length of the sequences/windows, spacing between two sequence/windows, etc.,\n",
" to produce batches of timeseries inputs and targets.\n",
"\n",
" Args:\n",
" data: Numpy array or eager tensor\n",
" containing consecutive data points (timesteps).\n",
" Axis 0 is expected to be the time dimension.\n",
" targets: Targets corresponding to timesteps in `data`.\n",
" `targets[i]` should be the target\n",
" corresponding to the window that starts at index `i`\n",
" (see example 2 below).\n",
" Pass None if you don't have target data (in this case the dataset will\n",
" only yield the input data).\n",
" sequence_length: Length of the output sequences (in number of timesteps).\n",
" sequence_stride: Period between successive output sequences.\n",
" For stride `s`, output samples would\n",
" start at index `data[i]`, `data[i + s]`, `data[i + 2 * s]`, etc.\n",
" sampling_rate: Period between successive individual timesteps\n",
" within sequences. For rate `r`, timesteps\n",
" `data[i], data[i + r], ... data[i + sequence_length]`\n",
" are used for creating a sample sequence.\n",
" batch_size: Number of timeseries samples in each batch\n",
" (except maybe the last one). If `None`, the data will not be batched\n",
" (the dataset will yield individual samples).\n",
" shuffle: Whether to shuffle output samples,\n",
" or instead draw them in chronological order.\n",
" seed: Optional int; random seed for shuffling.\n",
" drop_remainder: Optional bool; representing whether the last windows\n",
" should be dropped if their size is smaller than size.\n",
" start_index: Optional int; data points earlier (exclusive)\n",
" than `start_index` will not be used\n",
" in the output sequences. This is useful to reserve part of the\n",
" data for test or validation.\n",
" end_index: Optional int; data points later (exclusive) than `end_index`\n",
" will not be used in the output sequences.\n",
" This is useful to reserve part of the data for test or validation.\n",
"\n",
" Returns:\n",
" A tf.data.Dataset instance. If `targets` was passed, the dataset yields\n",
" tuple `(batch_of_sequences, batch_of_targets)`. If not, the dataset yields\n",
" only `batch_of_sequences`.\n",
"\n",
" Example 1:\n",
"\n",
" Consider indices `[0, 1, ... 98]`.\n",
" With `sequence_length=10, sampling_rate=2, sequence_stride=3`,\n",
" `shuffle=False`, the dataset will yield batches of sequences\n",
" composed of the following indices:\n",
"\n",
" ```\n",
" First sequence: [0 2 4 6 8 10 12 14 16 18]\n",
" Second sequence: [3 5 7 9 11 13 15 17 19 21]\n",
" Third sequence: [6 8 10 12 14 16 18 20 22 24]\n",
" ...\n",
" Last sequence: [78 80 82 84 86 88 90 92 94 96]\n",
" ```\n",
"\n",
" In this case the last 2 data points are discarded since no full sequence\n",
" can be generated to include them (the next sequence would have started\n",
" at index 81, and thus its last step would have gone over 98).\n",
"\n",
" Example 2: Temporal regression.\n",
"\n",
" Consider an array `data` of scalar values, of shape `(steps,)`.\n",
" To generate a dataset that uses the past 10\n",
" timesteps to predict the next timestep, you would use:\n",
"\n",
" ```python\n",
" input_data = data[:-10]\n",
" targets = data[10:]\n",
" dataset = tf.keras.utils.timeseries_dataset_from_array(\n",
" input_data, targets, sequence_length=10)\n",
" for batch in dataset:\n",
" inputs, targets = batch\n",
" assert np.array_equal(inputs[0], data[:10]) # First sequence: steps [0-9]\n",
" # Corresponding target: step 10\n",
" assert np.array_equal(targets[0], data[10])\n",
" break\n",
" ```\n",
"\n",
" Example 3: Temporal regression for many-to-many architectures.\n",
"\n",
" Consider two arrays of scalar values `X` and `Y`,\n",
" both of shape `(100,)`. The resulting dataset should consist samples with\n",
" 20 timestamps each. The samples should not overlap.\n",
" To generate a dataset that uses the current timestamp\n",
" to predict the corresponding target timestep, you would use:\n",
"\n",
" ```python\n",
" X = np.arange(100)\n",
" Y = X*2\n",
"\n",
" sample_length = 20\n",
" input_dataset = tf.keras.utils.timeseries_dataset_from_array(\n",
" X, None, sequence_length=sample_length, sequence_stride=sample_length)\n",
" target_dataset = tf.keras.utils.timeseries_dataset_from_array(\n",
" Y, None, sequence_length=sample_length, sequence_stride=sample_length)\n",
"\n",
" for batch in zip(input_dataset, target_dataset):\n",
" inputs, targets = batch\n",
" assert np.array_equal(inputs[0], X[:sample_length])\n",
"\n",
" # second sample equals output timestamps 20-40\n",
" assert np.array_equal(targets[1], Y[sample_length:2*sample_length])\n",
" break\n",
" ```\n",
" \"\"\"\n",
" if start_index:\n",
" if start_index < 0:\n",
" raise ValueError(\n",
" \"`start_index` must be 0 or greater. Received: \"\n",
" f\"start_index={start_index}\"\n",
" )\n",
" if start_index >= len(data):\n",
" raise ValueError(\n",
" \"`start_index` must be lower than the length of the \"\n",
" f\"data. Received: start_index={start_index}, for data \"\n",
" f\"of length {len(data)}\"\n",
" )\n",
" if end_index:\n",
" if start_index and end_index <= start_index:\n",
" raise ValueError(\n",
" \"`end_index` must be higher than `start_index`. \"\n",
" f\"Received: start_index={start_index}, and \"\n",
" f\"end_index={end_index} \"\n",
" )\n",
" if end_index >= len(data):\n",
" raise ValueError(\n",
" \"`end_index` must be lower than the length of the \"\n",
" f\"data. Received: end_index={end_index}, for data of \"\n",
" f\"length {len(data)}\"\n",
" )\n",
" if end_index <= 0:\n",
" raise ValueError(\n",
" \"`end_index` must be higher than 0. \"\n",
" f\"Received: end_index={end_index}\"\n",
" )\n",
"\n",
" # Validate strides\n",
" if sampling_rate <= 0:\n",
" raise ValueError(\n",
" \"`sampling_rate` must be higher than 0. Received: \"\n",
" f\"sampling_rate={sampling_rate}\"\n",
" )\n",
" if sampling_rate >= len(data):\n",
" raise ValueError(\n",
" \"`sampling_rate` must be lower than the length of the \"\n",
" f\"data. Received: sampling_rate={sampling_rate}, for data \"\n",
" f\"of length {len(data)}\"\n",
" )\n",
" if sequence_stride <= 0:\n",
" raise ValueError(\n",
" \"`sequence_stride` must be higher than 0. Received: \"\n",
" f\"sequence_stride={sequence_stride}\"\n",
" )\n",
" if sequence_stride >= len(data):\n",
" raise ValueError(\n",
" \"`sequence_stride` must be lower than the length of the \"\n",
" f\"data. Received: sequence_stride={sequence_stride}, for \"\n",
" f\"data of length {len(data)}\"\n",
" )\n",
"\n",
" if start_index is None:\n",
" start_index = 0\n",
" if end_index is None:\n",
" end_index = len(data)\n",
"\n",
" # Determine the lowest dtype to store start positions (to lower memory\n",
" # usage).\n",
" num_seqs = end_index - start_index - (sequence_length - 1) * sampling_rate\n",
" if targets is not None:\n",
" num_seqs = min(num_seqs, len(targets))\n",
"\n",
" dataset = tf.data.Dataset.from_tensor_slices(data[start_index:end_index])\n",
" dataset = dataset.window(\n",
" sequence_length,\n",
" shift=sequence_stride,\n",
" stride=sampling_rate,\n",
" drop_remainder=drop_remainder,\n",
" )\n",
" dataset = dataset.flat_map(\n",
" lambda x: x.batch(sequence_length, drop_remainder=drop_remainder)\n",
" )\n",
"\n",
" if targets is not None:\n",
" target_ds = tf.data.Dataset.from_tensors(targets[start_index:end_index])\n",
" target_ds = tf.data.Dataset.zip(\n",
" (\n",
" target_ds.repeat(),\n",
" tf.data.Dataset.range(0, num_seqs, sequence_stride),\n",
" )\n",
" ).map(\n",
" lambda steps, i: tf.gather(steps, i),\n",
" num_parallel_calls=tf.data.AUTOTUNE,\n",
" )\n",
" dataset = tf.data.Dataset.zip((dataset, target_ds))\n",
" dataset = dataset.prefetch(tf.data.AUTOTUNE)\n",
" if batch_size is not None:\n",
" if shuffle:\n",
" # Shuffle locally at each iteration\n",
" dataset = dataset.shuffle(buffer_size=batch_size * 8, seed=seed)\n",
" dataset = dataset.batch(batch_size)\n",
" else:\n",
" if shuffle:\n",
" dataset = dataset.shuffle(buffer_size=1024, seed=seed)\n",
" return dataset"
],
"metadata": {
"id": "o9GSEDBe72eG"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "kLO3SFR9Osdf"
},
"source": [
"Finally, this `make_dataset` method will take a time series DataFrame and convert it to a `tf.data.Dataset` of `(input_window, label_window)` pairs using the `tf.keras.utils.timeseries_dataset_from_array` function:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "35qoSQeRVfJg"
},
"outputs": [],
"source": [
"def make_dataset(data):\n",
" data = np.array(data, dtype=np.float32)\n",
" ds = tf.keras.utils.timeseries_dataset_from_array(\n",
" data=data,\n",
" targets=None,\n",
" sequence_length=(24 + 24),\n",
" sequence_stride=1,\n",
" shuffle=True,\n",
" batch_size=32,)\n",
"\n",
" return ds\n",
"\n",
"def make_dataset2(data):\n",
" data = np.array(data, dtype=np.float32)\n",
" ds = timeseries_dataset_from_array2(\n",
" data=data,\n",
" targets=None,\n",
" sequence_length=(24 + 24),\n",
" sequence_stride=1,\n",
" shuffle=True,\n",
" batch_size=32,)\n",
"\n",
" return ds"
]
},
{
"cell_type": "code",
"source": [
"tfds.benchmark(\n",
" make_dataset(df),\n",
" batch_size=32\n",
")"
],
"metadata": {
"id": "9WPsgkJh4xRv",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 293,
"referenced_widgets": [
"3dff2882445f481a8f2c1cae3043847f",
"1936ba327b9c48969c4bdefa6d69022d",
"0d0be3b611704abfa55a6403adf0411e",
"be3aa093b9d84756ac37d264f307d969",
"bcb8705644194ebe831356d79833f8c8",
"4444ea808ef743f0ba66f234739b9707",
"fc731e0a52f1477cbd11c71a03608902",
"e761ec113d5e413d86b99a401f7dde2c",
"c05d2b2b86634774a9805e1869ce0ac3",
"2e12fb00b6bf4e7288258de6bde57fc5",
"cd8b11856b6840d188bee0c7574310c6"
]
},
"outputId": "79ec22fc-18a7-47e8-9b34-213624542e34"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"************ Summary ************\n",
"\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
" 0%| | 0/2189 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "3dff2882445f481a8f2c1cae3043847f"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Examples/sec (First included) 12049.51 ex/sec (total: 70080 ex, 5.82 sec)\n",
"Examples/sec (First only) 380.57 ex/sec (total: 32 ex, 0.08 sec)\n",
"Examples/sec (First excluded) 12220.69 ex/sec (total: 70048 ex, 5.73 sec)\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"BenchmarkResult(stats= duration num_examples avg\n",
"first+lasts 5.816004 70080 12049.510570\n",
"first 0.084084 32 380.572072\n",
"lasts 5.731920 70048 12220.687133, raw_stats= duration\n",
"start_time 1206.593109\n",
"first_batch_time 1206.677193\n",
"end_time 1212.409113\n",
"num_iter 2189.000000)"
],
"text/html": [
"<strong>BenchmarkResult:</strong><br/><div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>duration</th>\n",
" <th>num_examples</th>\n",
" <th>avg</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>first+lasts</th>\n",
" <td>5.816004</td>\n",
" <td>70080</td>\n",
" <td>12049.510570</td>\n",
" </tr>\n",
" <tr>\n",
" <th>first</th>\n",
" <td>0.084084</td>\n",
" <td>32</td>\n",
" <td>380.572072</td>\n",
" </tr>\n",
" <tr>\n",
" <th>lasts</th>\n",
" <td>5.731920</td>\n",
" <td>70048</td>\n",
" <td>12220.687133</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"metadata": {},
"execution_count": 169
}
]
},
{
"cell_type": "code",
"source": [
"tfds.benchmark(\n",
" make_dataset2(df),\n",
" batch_size=32\n",
")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 293,
"referenced_widgets": [
"d51d5411dfd44acc973ac41a7e72bc18",
"a2f45d69e4ce48eb9fa33aa8b5febcd7",
"bfea394d7ba04119bab8b5c2a06f4e38",
"eee0cdc88f9b48acbe1552699114a8f1",
"39e0707ef9de4f97bb6169f821b554c0",
"34a77778a5724e1d8c733e2b6f7c9b93",
"46becfb440f542029adb2ec32e1b6943",
"752376fd18dd47f89fb9ec99643b14ea",
"0ee6eb28cf97495e94d08abbf2c48995",
"d19f3cad010f492488029424fde44ffc",
"bbf3726a84184876944354262fbc1b26"
]
},
"id": "wJzLxbG97tVR",
"outputId": "da852c73-1fe8-4371-dfa3-1b2e91d6bbac"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"************ Summary ************\n",
"\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"0it [00:00, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "d51d5411dfd44acc973ac41a7e72bc18"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Examples/sec (First included) 6585.75 ex/sec (total: 70080 ex, 10.64 sec)\n",
"Examples/sec (First only) 367.87 ex/sec (total: 32 ex, 0.09 sec)\n",
"Examples/sec (First excluded) 6637.00 ex/sec (total: 70048 ex, 10.55 sec)\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"BenchmarkResult(stats= duration num_examples avg\n",
"first+lasts 10.641149 70080 6585.754694\n",
"first 0.086988 32 367.866037\n",
"lasts 10.554161 70048 6637.002998, raw_stats= duration\n",
"start_time 1212.456564\n",
"first_batch_time 1212.543552\n",
"end_time 1223.097713\n",
"num_iter 2189.000000)"
],
"text/html": [
"<strong>BenchmarkResult:</strong><br/><div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>duration</th>\n",
" <th>num_examples</th>\n",
" <th>avg</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>first+lasts</th>\n",
" <td>10.641149</td>\n",
" <td>70080</td>\n",
" <td>6585.754694</td>\n",
" </tr>\n",
" <tr>\n",
" <th>first</th>\n",
" <td>0.086988</td>\n",
" <td>32</td>\n",
" <td>367.866037</td>\n",
" </tr>\n",
" <tr>\n",
" <th>lasts</th>\n",
" <td>10.554161</td>\n",
" <td>70048</td>\n",
" <td>6637.002998</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"metadata": {},
"execution_count": 170
}
]
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"provenance": [],
"include_colab_link": true
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"3dff2882445f481a8f2c1cae3043847f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1936ba327b9c48969c4bdefa6d69022d",
"IPY_MODEL_0d0be3b611704abfa55a6403adf0411e",
"IPY_MODEL_be3aa093b9d84756ac37d264f307d969"
],
"layout": "IPY_MODEL_bcb8705644194ebe831356d79833f8c8"
}
},
"1936ba327b9c48969c4bdefa6d69022d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_4444ea808ef743f0ba66f234739b9707",
"placeholder": "​",
"style": "IPY_MODEL_fc731e0a52f1477cbd11c71a03608902",
"value": "100%"
}
},
"0d0be3b611704abfa55a6403adf0411e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_e761ec113d5e413d86b99a401f7dde2c",
"max": 2189,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_c05d2b2b86634774a9805e1869ce0ac3",
"value": 2189
}
},
"be3aa093b9d84756ac37d264f307d969": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_2e12fb00b6bf4e7288258de6bde57fc5",
"placeholder": "​",
"style": "IPY_MODEL_cd8b11856b6840d188bee0c7574310c6",
"value": " 2189/2189 [00:05&lt;00:00, 419.24it/s]"
}
},
"bcb8705644194ebe831356d79833f8c8": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4444ea808ef743f0ba66f234739b9707": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"fc731e0a52f1477cbd11c71a03608902": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"e761ec113d5e413d86b99a401f7dde2c": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c05d2b2b86634774a9805e1869ce0ac3": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"2e12fb00b6bf4e7288258de6bde57fc5": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"cd8b11856b6840d188bee0c7574310c6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"d51d5411dfd44acc973ac41a7e72bc18": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_a2f45d69e4ce48eb9fa33aa8b5febcd7",
"IPY_MODEL_bfea394d7ba04119bab8b5c2a06f4e38",
"IPY_MODEL_eee0cdc88f9b48acbe1552699114a8f1"
],
"layout": "IPY_MODEL_39e0707ef9de4f97bb6169f821b554c0"
}
},
"a2f45d69e4ce48eb9fa33aa8b5febcd7": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_34a77778a5724e1d8c733e2b6f7c9b93",
"placeholder": "​",
"style": "IPY_MODEL_46becfb440f542029adb2ec32e1b6943",
"value": ""
}
},
"bfea394d7ba04119bab8b5c2a06f4e38": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_752376fd18dd47f89fb9ec99643b14ea",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_0ee6eb28cf97495e94d08abbf2c48995",
"value": 1
}
},
"eee0cdc88f9b48acbe1552699114a8f1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_d19f3cad010f492488029424fde44ffc",
"placeholder": "​",
"style": "IPY_MODEL_bbf3726a84184876944354262fbc1b26",
"value": " 2189/? [00:10&lt;00:00, 213.98it/s]"
}
},
"39e0707ef9de4f97bb6169f821b554c0": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"34a77778a5724e1d8c733e2b6f7c9b93": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"46becfb440f542029adb2ec32e1b6943": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"752376fd18dd47f89fb9ec99643b14ea": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": "20px"
}
},
"0ee6eb28cf97495e94d08abbf2c48995": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"d19f3cad010f492488029424fde44ffc": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"bbf3726a84184876944354262fbc1b26": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
}
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment