1935 lines
281 KiB
Plaintext
1935 lines
281 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"from sklearn.model_selection import train_test_split\n",
|
||
"import numpy as np\n",
|
||
"import seaborn as sns\n",
|
||
"\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import datetime as dt\n",
|
||
"\n",
|
||
"plt.rcParams['font.sans-serif'] = ['SimHei']\n",
|
||
"plt.rcParams['axes.unicode_minus'] = False"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import os"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"os.environ['CUDA_VISIBLE_DEVICES'] = '0,1'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2022-12-16 09:59:22.139088: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import tensorflow as tf"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Date</th>\n",
|
||
" <th>PM2.5</th>\n",
|
||
" <th>PM10</th>\n",
|
||
" <th>SO2</th>\n",
|
||
" <th>NO2</th>\n",
|
||
" <th>O3</th>\n",
|
||
" <th>O3_8h</th>\n",
|
||
" <th>CO</th>\n",
|
||
" <th>wd</th>\n",
|
||
" <th>ws</th>\n",
|
||
" <th>air_temp</th>\n",
|
||
" <th>RH</th>\n",
|
||
" <th>blh</th>\n",
|
||
" <th>sp</th>\n",
|
||
" <th>sr</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2015-01-02 01:00:00</td>\n",
|
||
" <td>136.0</td>\n",
|
||
" <td>214.0</td>\n",
|
||
" <td>317.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>3.71</td>\n",
|
||
" <td>43.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>-11.0</td>\n",
|
||
" <td>45.0</td>\n",
|
||
" <td>36.619542</td>\n",
|
||
" <td>89545.385661</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2015-01-02 02:00:00</td>\n",
|
||
" <td>114.0</td>\n",
|
||
" <td>176.0</td>\n",
|
||
" <td>305.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>3.55</td>\n",
|
||
" <td>58.0</td>\n",
|
||
" <td>0.7</td>\n",
|
||
" <td>-11.1</td>\n",
|
||
" <td>47.0</td>\n",
|
||
" <td>33.766181</td>\n",
|
||
" <td>89537.049808</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>2015-01-02 03:00:00</td>\n",
|
||
" <td>97.0</td>\n",
|
||
" <td>154.0</td>\n",
|
||
" <td>306.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>3.51</td>\n",
|
||
" <td>185.0</td>\n",
|
||
" <td>0.5</td>\n",
|
||
" <td>-11.7</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>31.642749</td>\n",
|
||
" <td>89549.808766</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>2015-01-02 04:00:00</td>\n",
|
||
" <td>87.0</td>\n",
|
||
" <td>141.0</td>\n",
|
||
" <td>316.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>3.55</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.2</td>\n",
|
||
" <td>-12.7</td>\n",
|
||
" <td>52.0</td>\n",
|
||
" <td>28.258529</td>\n",
|
||
" <td>89521.398819</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2015-01-02 05:00:00</td>\n",
|
||
" <td>85.0</td>\n",
|
||
" <td>139.0</td>\n",
|
||
" <td>292.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>3.62</td>\n",
|
||
" <td>199.0</td>\n",
|
||
" <td>1.4</td>\n",
|
||
" <td>-10.9</td>\n",
|
||
" <td>61.0</td>\n",
|
||
" <td>26.400526</td>\n",
|
||
" <td>89526.162164</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Date PM2.5 PM10 SO2 NO2 O3 O3_8h CO wd \\\n",
|
||
"0 2015-01-02 01:00:00 136.0 214.0 317.0 38.0 8.0 9.0 3.71 43.0 \n",
|
||
"1 2015-01-02 02:00:00 114.0 176.0 305.0 38.0 8.0 9.0 3.55 58.0 \n",
|
||
"2 2015-01-02 03:00:00 97.0 154.0 306.0 37.0 7.0 8.0 3.51 185.0 \n",
|
||
"3 2015-01-02 04:00:00 87.0 141.0 316.0 38.0 7.0 8.0 3.55 0.0 \n",
|
||
"4 2015-01-02 05:00:00 85.0 139.0 292.0 37.0 7.0 8.0 3.62 199.0 \n",
|
||
"\n",
|
||
" ws air_temp RH blh sp sr \n",
|
||
"0 1.0 -11.0 45.0 36.619542 89545.385661 0.0 \n",
|
||
"1 0.7 -11.1 47.0 33.766181 89537.049808 0.0 \n",
|
||
"2 0.5 -11.7 50.0 31.642749 89549.808766 0.0 \n",
|
||
"3 0.2 -12.7 52.0 28.258529 89521.398819 0.0 \n",
|
||
"4 1.4 -10.9 61.0 26.400526 89526.162164 0.0 "
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data = pd.read_excel('./data/merge_data_ty1.xlsx')\n",
|
||
"data.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"data.Date = pd.to_datetime(data.Date)\n",
|
||
"data['days'] = data.Date.apply(lambda x: f\"{x.year}-{x.month}-{x.day}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['2016-12-4',\n",
|
||
" '2017-1-17',\n",
|
||
" '2017-9-18',\n",
|
||
" '2017-10-8',\n",
|
||
" '2017-6-26',\n",
|
||
" '2016-12-5',\n",
|
||
" '2017-9-17',\n",
|
||
" '2017-3-10',\n",
|
||
" '2015-5-7',\n",
|
||
" '2017-3-6',\n",
|
||
" '2016-6-28',\n",
|
||
" '2016-8-4',\n",
|
||
" '2017-2-7',\n",
|
||
" '2015-10-13',\n",
|
||
" '2020-11-24',\n",
|
||
" '2017-3-8',\n",
|
||
" '2016-12-22',\n",
|
||
" '2018-8-25',\n",
|
||
" '2020-12-9',\n",
|
||
" '2020-12-12',\n",
|
||
" '2019-5-5',\n",
|
||
" '2019-1-30',\n",
|
||
" '2018-8-27',\n",
|
||
" '2015-7-1',\n",
|
||
" '2017-2-5',\n",
|
||
" '2016-12-7',\n",
|
||
" '2016-5-24',\n",
|
||
" '2015-7-16',\n",
|
||
" '2017-6-15',\n",
|
||
" '2017-3-21',\n",
|
||
" '2017-4-23',\n",
|
||
" '2020-12-16',\n",
|
||
" '2018-7-23',\n",
|
||
" '2017-2-3',\n",
|
||
" '2018-8-29',\n",
|
||
" '2017-1-2',\n",
|
||
" '2017-1-9',\n",
|
||
" '2016-12-15',\n",
|
||
" '2019-8-13',\n",
|
||
" '2017-11-4',\n",
|
||
" '2018-6-1',\n",
|
||
" '2015-6-20',\n",
|
||
" '2015-7-2',\n",
|
||
" '2019-1-21',\n",
|
||
" '2019-9-1',\n",
|
||
" '2019-8-25',\n",
|
||
" '2016-10-18',\n",
|
||
" '2017-5-23',\n",
|
||
" '2015-7-21',\n",
|
||
" '2018-8-31',\n",
|
||
" '2016-12-8',\n",
|
||
" '2018-9-2',\n",
|
||
" '2017-8-18',\n",
|
||
" '2016-9-18',\n",
|
||
" '2019-10-3',\n",
|
||
" '2016-5-23',\n",
|
||
" '2016-5-31',\n",
|
||
" '2018-9-3',\n",
|
||
" '2017-4-14',\n",
|
||
" '2019-4-17',\n",
|
||
" '2015-3-12',\n",
|
||
" '2017-2-4',\n",
|
||
" '2018-12-8',\n",
|
||
" '2015-6-19',\n",
|
||
" '2015-9-19',\n",
|
||
" '2015-5-8',\n",
|
||
" '2015-12-14',\n",
|
||
" '2016-5-25',\n",
|
||
" '2015-4-19',\n",
|
||
" '2019-5-31',\n",
|
||
" '2019-6-21',\n",
|
||
" '2018-8-24',\n",
|
||
" '2017-10-21',\n",
|
||
" '2016-11-10',\n",
|
||
" '2015-1-4',\n",
|
||
" '2016-10-17',\n",
|
||
" '2019-10-7',\n",
|
||
" '2017-5-4',\n",
|
||
" '2017-7-9',\n",
|
||
" '2016-4-25',\n",
|
||
" '2017-10-11',\n",
|
||
" '2019-10-2',\n",
|
||
" '2020-12-8',\n",
|
||
" '2016-6-9',\n",
|
||
" '2019-9-3',\n",
|
||
" '2016-11-15',\n",
|
||
" '2017-5-14',\n",
|
||
" '2017-8-23',\n",
|
||
" '2016-11-2',\n",
|
||
" '2016-8-2',\n",
|
||
" '2016-4-24',\n",
|
||
" '2016-10-21',\n",
|
||
" '2019-6-22',\n",
|
||
" '2017-9-8',\n",
|
||
" '2015-12-13',\n",
|
||
" '2017-9-9',\n",
|
||
" '2017-1-30',\n",
|
||
" '2018-12-27',\n",
|
||
" '2015-9-20',\n",
|
||
" '2019-8-31',\n",
|
||
" '2019-9-22',\n",
|
||
" '2017-3-14',\n",
|
||
" '2016-12-6',\n",
|
||
" '2019-8-22',\n",
|
||
" '2019-9-21',\n",
|
||
" '2018-9-1',\n",
|
||
" '2018-8-30',\n",
|
||
" '2018-8-28',\n",
|
||
" '2018-8-26',\n",
|
||
" '2017-1-29',\n",
|
||
" '2017-12-9',\n",
|
||
" '2018-5-10',\n",
|
||
" '2019-8-23',\n",
|
||
" '2019-8-30']"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"days_counts = ((data.days.value_counts() < 19) * 1).to_frame().reset_index()\n",
|
||
"days_counts.columns = ['days', 'counts']\n",
|
||
"drop_days = days_counts[days_counts.counts == 1].days.values.tolist()\n",
|
||
"drop_days"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(48496, 16)"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"new_data = data.drop(columns='days').set_index('Date').interpolate().reset_index()\n",
|
||
"new_data['days'] = new_data.Date.apply(lambda x: f\"{x.year}-{x.month}-{x.day}\")\n",
|
||
"new_data.shape"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Date</th>\n",
|
||
" <th>PM2.5</th>\n",
|
||
" <th>PM10</th>\n",
|
||
" <th>SO2</th>\n",
|
||
" <th>NO2</th>\n",
|
||
" <th>O3</th>\n",
|
||
" <th>O3_8h</th>\n",
|
||
" <th>CO</th>\n",
|
||
" <th>wd</th>\n",
|
||
" <th>ws</th>\n",
|
||
" <th>air_temp</th>\n",
|
||
" <th>RH</th>\n",
|
||
" <th>blh</th>\n",
|
||
" <th>sp</th>\n",
|
||
" <th>sr</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2015-01-02 01:00:00</td>\n",
|
||
" <td>136.0</td>\n",
|
||
" <td>214.0</td>\n",
|
||
" <td>317.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>3.71</td>\n",
|
||
" <td>43.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>-11.0</td>\n",
|
||
" <td>45.0</td>\n",
|
||
" <td>36.619542</td>\n",
|
||
" <td>89545.385661</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2015-01-02 02:00:00</td>\n",
|
||
" <td>114.0</td>\n",
|
||
" <td>176.0</td>\n",
|
||
" <td>305.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>3.55</td>\n",
|
||
" <td>58.0</td>\n",
|
||
" <td>0.7</td>\n",
|
||
" <td>-11.1</td>\n",
|
||
" <td>47.0</td>\n",
|
||
" <td>33.766181</td>\n",
|
||
" <td>89537.049808</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>2015-01-02 03:00:00</td>\n",
|
||
" <td>97.0</td>\n",
|
||
" <td>154.0</td>\n",
|
||
" <td>306.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>3.51</td>\n",
|
||
" <td>185.0</td>\n",
|
||
" <td>0.5</td>\n",
|
||
" <td>-11.7</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>31.642749</td>\n",
|
||
" <td>89549.808766</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>2015-01-02 04:00:00</td>\n",
|
||
" <td>87.0</td>\n",
|
||
" <td>141.0</td>\n",
|
||
" <td>316.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>3.55</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.2</td>\n",
|
||
" <td>-12.7</td>\n",
|
||
" <td>52.0</td>\n",
|
||
" <td>28.258529</td>\n",
|
||
" <td>89521.398819</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2015-01-02 05:00:00</td>\n",
|
||
" <td>85.0</td>\n",
|
||
" <td>139.0</td>\n",
|
||
" <td>292.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>3.62</td>\n",
|
||
" <td>199.0</td>\n",
|
||
" <td>1.4</td>\n",
|
||
" <td>-10.9</td>\n",
|
||
" <td>61.0</td>\n",
|
||
" <td>26.400526</td>\n",
|
||
" <td>89526.162164</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48491</th>\n",
|
||
" <td>2020-12-31 19:00:00</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>51.0</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>46.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>43.0</td>\n",
|
||
" <td>0.72</td>\n",
|
||
" <td>250.0</td>\n",
|
||
" <td>1.1</td>\n",
|
||
" <td>-10.8</td>\n",
|
||
" <td>40.0</td>\n",
|
||
" <td>49.236325</td>\n",
|
||
" <td>89445.869718</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48492</th>\n",
|
||
" <td>2020-12-31 20:00:00</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>51.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>47.0</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>41.0</td>\n",
|
||
" <td>0.83</td>\n",
|
||
" <td>242.0</td>\n",
|
||
" <td>0.3</td>\n",
|
||
" <td>-12.8</td>\n",
|
||
" <td>49.0</td>\n",
|
||
" <td>42.614894</td>\n",
|
||
" <td>89439.267234</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48493</th>\n",
|
||
" <td>2020-12-31 21:00:00</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>58.0</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>48.0</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>1.15</td>\n",
|
||
" <td>135.0</td>\n",
|
||
" <td>0.9</td>\n",
|
||
" <td>-12.4</td>\n",
|
||
" <td>42.0</td>\n",
|
||
" <td>43.656467</td>\n",
|
||
" <td>89416.920363</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48494</th>\n",
|
||
" <td>2020-12-31 22:00:00</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>60.0</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>49.0</td>\n",
|
||
" <td>20.0</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>0.90</td>\n",
|
||
" <td>184.0</td>\n",
|
||
" <td>1.7</td>\n",
|
||
" <td>-9.1</td>\n",
|
||
" <td>33.0</td>\n",
|
||
" <td>46.632391</td>\n",
|
||
" <td>89396.605025</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48495</th>\n",
|
||
" <td>2020-12-31 23:00:00</td>\n",
|
||
" <td>53.0</td>\n",
|
||
" <td>94.0</td>\n",
|
||
" <td>41.0</td>\n",
|
||
" <td>57.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>1.18</td>\n",
|
||
" <td>135.0</td>\n",
|
||
" <td>1.2</td>\n",
|
||
" <td>-13.1</td>\n",
|
||
" <td>44.0</td>\n",
|
||
" <td>46.557993</td>\n",
|
||
" <td>89371.210854</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>46992 rows × 15 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Date PM2.5 PM10 SO2 NO2 O3 O3_8h CO \\\n",
|
||
"0 2015-01-02 01:00:00 136.0 214.0 317.0 38.0 8.0 9.0 3.71 \n",
|
||
"1 2015-01-02 02:00:00 114.0 176.0 305.0 38.0 8.0 9.0 3.55 \n",
|
||
"2 2015-01-02 03:00:00 97.0 154.0 306.0 37.0 7.0 8.0 3.51 \n",
|
||
"3 2015-01-02 04:00:00 87.0 141.0 316.0 38.0 7.0 8.0 3.55 \n",
|
||
"4 2015-01-02 05:00:00 85.0 139.0 292.0 37.0 7.0 8.0 3.62 \n",
|
||
"... ... ... ... ... ... ... ... ... \n",
|
||
"48491 2020-12-31 19:00:00 27.0 51.0 16.0 46.0 29.0 43.0 0.72 \n",
|
||
"48492 2020-12-31 20:00:00 26.0 51.0 12.0 47.0 26.0 41.0 0.83 \n",
|
||
"48493 2020-12-31 21:00:00 29.0 58.0 16.0 48.0 25.0 39.0 1.15 \n",
|
||
"48494 2020-12-31 22:00:00 32.0 60.0 23.0 49.0 20.0 35.0 0.90 \n",
|
||
"48495 2020-12-31 23:00:00 53.0 94.0 41.0 57.0 12.0 29.0 1.18 \n",
|
||
"\n",
|
||
" wd ws air_temp RH blh sp sr \n",
|
||
"0 43.0 1.0 -11.0 45.0 36.619542 89545.385661 0.0 \n",
|
||
"1 58.0 0.7 -11.1 47.0 33.766181 89537.049808 0.0 \n",
|
||
"2 185.0 0.5 -11.7 50.0 31.642749 89549.808766 0.0 \n",
|
||
"3 0.0 0.2 -12.7 52.0 28.258529 89521.398819 0.0 \n",
|
||
"4 199.0 1.4 -10.9 61.0 26.400526 89526.162164 0.0 \n",
|
||
"... ... ... ... ... ... ... ... \n",
|
||
"48491 250.0 1.1 -10.8 40.0 49.236325 89445.869718 0.0 \n",
|
||
"48492 242.0 0.3 -12.8 49.0 42.614894 89439.267234 0.0 \n",
|
||
"48493 135.0 0.9 -12.4 42.0 43.656467 89416.920363 0.0 \n",
|
||
"48494 184.0 1.7 -9.1 33.0 46.632391 89396.605025 0.0 \n",
|
||
"48495 135.0 1.2 -13.1 44.0 46.557993 89371.210854 0.0 \n",
|
||
"\n",
|
||
"[46992 rows x 15 columns]"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"use_data = new_data[~new_data.days.isin(drop_days)].drop(columns='days')\n",
|
||
"use_data"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(['ws', 'air_temp', 'RH', 'blh', 'sp', 'sr'],\n",
|
||
" ['PM2.5', 'PM10', 'SO2', 'NO2', 'O3', 'CO'])"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"feature_cols = [x for x in use_data.columns[-7:].tolist() if x != 'wd']\n",
|
||
"out_cols = [x for x in use_data.columns[1:8].tolist() if x != 'O3_8h']\n",
|
||
"feature_cols, out_cols"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"use_cols = feature_cols + out_cols"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"for col in use_cols:\n",
|
||
" use_data[col] = use_data[col].astype(float)\n",
|
||
" if col in out_cols:\n",
|
||
" use_data[col] = np.log1p(use_data[col]) # 输出列,先做对数化再做归一化"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"maxs = use_data[use_cols].max()\n",
|
||
"mins = use_data[use_cols].min()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"for col in use_cols:\n",
|
||
" use_data[col] = (use_data[col] - mins[col]) / (maxs[col] - mins[col])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"for col in feature_cols:\n",
|
||
" use_data[col] = np.log1p(use_data[col])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>PM2.5</th>\n",
|
||
" <th>PM10</th>\n",
|
||
" <th>SO2</th>\n",
|
||
" <th>NO2</th>\n",
|
||
" <th>O3</th>\n",
|
||
" <th>O3_8h</th>\n",
|
||
" <th>CO</th>\n",
|
||
" <th>wd</th>\n",
|
||
" <th>ws</th>\n",
|
||
" <th>air_temp</th>\n",
|
||
" <th>RH</th>\n",
|
||
" <th>blh</th>\n",
|
||
" <th>sp</th>\n",
|
||
" <th>sr</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" <td>46992.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>0.540643</td>\n",
|
||
" <td>0.520721</td>\n",
|
||
" <td>0.400111</td>\n",
|
||
" <td>0.592997</td>\n",
|
||
" <td>0.553253</td>\n",
|
||
" <td>50.459940</td>\n",
|
||
" <td>0.308149</td>\n",
|
||
" <td>183.429637</td>\n",
|
||
" <td>0.153186</td>\n",
|
||
" <td>0.424889</td>\n",
|
||
" <td>0.415632</td>\n",
|
||
" <td>0.098865</td>\n",
|
||
" <td>0.383629</td>\n",
|
||
" <td>0.157137</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>0.146384</td>\n",
|
||
" <td>0.116015</td>\n",
|
||
" <td>0.187431</td>\n",
|
||
" <td>0.167457</td>\n",
|
||
" <td>0.219076</td>\n",
|
||
" <td>44.249202</td>\n",
|
||
" <td>0.146888</td>\n",
|
||
" <td>111.611348</td>\n",
|
||
" <td>0.090439</td>\n",
|
||
" <td>0.130073</td>\n",
|
||
" <td>0.177612</td>\n",
|
||
" <td>0.124225</td>\n",
|
||
" <td>0.118019</td>\n",
|
||
" <td>0.204083</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>0.439383</td>\n",
|
||
" <td>0.447493</td>\n",
|
||
" <td>0.259803</td>\n",
|
||
" <td>0.487728</td>\n",
|
||
" <td>0.369501</td>\n",
|
||
" <td>15.000000</td>\n",
|
||
" <td>0.201095</td>\n",
|
||
" <td>84.000000</td>\n",
|
||
" <td>0.094410</td>\n",
|
||
" <td>0.322655</td>\n",
|
||
" <td>0.271934</td>\n",
|
||
" <td>0.005794</td>\n",
|
||
" <td>0.289696</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>0.545412</td>\n",
|
||
" <td>0.527246</td>\n",
|
||
" <td>0.381729</td>\n",
|
||
" <td>0.615689</td>\n",
|
||
" <td>0.591369</td>\n",
|
||
" <td>39.000000</td>\n",
|
||
" <td>0.283458</td>\n",
|
||
" <td>189.000000</td>\n",
|
||
" <td>0.147053</td>\n",
|
||
" <td>0.441955</td>\n",
|
||
" <td>0.426084</td>\n",
|
||
" <td>0.038142</td>\n",
|
||
" <td>0.394265</td>\n",
|
||
" <td>0.015822</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>0.640919</td>\n",
|
||
" <td>0.602141</td>\n",
|
||
" <td>0.523471</td>\n",
|
||
" <td>0.721767</td>\n",
|
||
" <td>0.725716</td>\n",
|
||
" <td>73.000000</td>\n",
|
||
" <td>0.392872</td>\n",
|
||
" <td>284.000000</td>\n",
|
||
" <td>0.180670</td>\n",
|
||
" <td>0.532543</td>\n",
|
||
" <td>0.577315</td>\n",
|
||
" <td>0.159395</td>\n",
|
||
" <td>0.474785</td>\n",
|
||
" <td>0.314768</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>268.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>360.000000</td>\n",
|
||
" <td>0.693147</td>\n",
|
||
" <td>0.693147</td>\n",
|
||
" <td>0.693147</td>\n",
|
||
" <td>0.693147</td>\n",
|
||
" <td>0.693147</td>\n",
|
||
" <td>0.693147</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" PM2.5 PM10 SO2 NO2 O3 \\\n",
|
||
"count 46992.000000 46992.000000 46992.000000 46992.000000 46992.000000 \n",
|
||
"mean 0.540643 0.520721 0.400111 0.592997 0.553253 \n",
|
||
"std 0.146384 0.116015 0.187431 0.167457 0.219076 \n",
|
||
"min 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
|
||
"25% 0.439383 0.447493 0.259803 0.487728 0.369501 \n",
|
||
"50% 0.545412 0.527246 0.381729 0.615689 0.591369 \n",
|
||
"75% 0.640919 0.602141 0.523471 0.721767 0.725716 \n",
|
||
"max 1.000000 1.000000 1.000000 1.000000 1.000000 \n",
|
||
"\n",
|
||
" O3_8h CO wd ws air_temp \\\n",
|
||
"count 46992.000000 46992.000000 46992.000000 46992.000000 46992.000000 \n",
|
||
"mean 50.459940 0.308149 183.429637 0.153186 0.424889 \n",
|
||
"std 44.249202 0.146888 111.611348 0.090439 0.130073 \n",
|
||
"min 1.000000 0.000000 0.000000 0.000000 0.000000 \n",
|
||
"25% 15.000000 0.201095 84.000000 0.094410 0.322655 \n",
|
||
"50% 39.000000 0.283458 189.000000 0.147053 0.441955 \n",
|
||
"75% 73.000000 0.392872 284.000000 0.180670 0.532543 \n",
|
||
"max 268.000000 1.000000 360.000000 0.693147 0.693147 \n",
|
||
"\n",
|
||
" RH blh sp sr \n",
|
||
"count 46992.000000 46992.000000 46992.000000 46992.000000 \n",
|
||
"mean 0.415632 0.098865 0.383629 0.157137 \n",
|
||
"std 0.177612 0.124225 0.118019 0.204083 \n",
|
||
"min 0.000000 0.000000 0.000000 0.000000 \n",
|
||
"25% 0.271934 0.005794 0.289696 0.000000 \n",
|
||
"50% 0.426084 0.038142 0.394265 0.015822 \n",
|
||
"75% 0.577315 0.159395 0.474785 0.314768 \n",
|
||
"max 0.693147 0.693147 0.693147 0.693147 "
|
||
]
|
||
},
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"use_data.describe()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"train_data, valid = train_test_split(use_data[use_cols], test_size=0.2, random_state=42, shuffle=True)\n",
|
||
"valid_data, test_data = train_test_split(valid, test_size=0.5, random_state=42, shuffle=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import tensorflow as tf"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from tensorflow.keras.layers import Dense, Input, Concatenate, Subtract\n",
|
||
"import tensorflow.keras.backend as K"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def create_multi_task_learning_model():\n",
|
||
" def create_task_branch(main_branch, name):\n",
|
||
" task_branch = Dense(100, activation='relu')(main_branch)\n",
|
||
" task_branch = Dense(50, activation='relu')(task_branch)\n",
|
||
" task_branch = Dense(40, activation='relu')(task_branch)\n",
|
||
" task_branch = Dense(20, activation='relu')(task_branch)\n",
|
||
" task_branch = Dense(10, activation='relu')(task_branch)\n",
|
||
" task_branch = Dense(5, activation='relu', name=f\"{name}_dense\")(task_branch)\n",
|
||
" return task_branch\n",
|
||
"\n",
|
||
" inputs = Input(shape=(1, 6), name='input')\n",
|
||
"\n",
|
||
" main_branch = Dense(800, activation='relu')(inputs)\n",
|
||
" main_branch = Dense(400, activation='relu')(main_branch)\n",
|
||
" main_branch = Dense(200, activation='relu')(main_branch)\n",
|
||
" main_branch = Dense(100, activation='relu')(main_branch)\n",
|
||
"\n",
|
||
" co = create_task_branch(main_branch, name='co')\n",
|
||
" so2 = create_task_branch(main_branch, name='so2')\n",
|
||
" no2 = create_task_branch(main_branch, name='no2')\n",
|
||
" o3 = create_task_branch(main_branch, name='o3')\n",
|
||
" pm25 = create_task_branch(main_branch, name='pm25')\n",
|
||
" pm10 = create_task_branch(main_branch, name='pm10')\n",
|
||
"\n",
|
||
" no2_merge = Concatenate()([no2, o3])\n",
|
||
" o3_merge = Concatenate()([o3, no2])\n",
|
||
" pm25_merge = Concatenate()([so2, no2, o3, pm25])\n",
|
||
" pm10_merge = Concatenate()([pm25, pm10])\n",
|
||
"\n",
|
||
" co_out = Dense(1, name='task_co_output')(co)\n",
|
||
" so2_out = Dense(1, name='task_so2_output')(so2)\n",
|
||
" no2_out = Dense(units=1, name='task_no2_output')(no2_merge)\n",
|
||
" o3_out = Dense(input_dim=10, units=1, name='task_o3_output')(o3_merge)\n",
|
||
" pm25_out = Dense(input_dim=20, units=1, name='task_pm25_output')(pm25_merge)\n",
|
||
" pm10_out = Dense(input_dim=10, units=1, name='task_pm10_output')(pm10_merge)\n",
|
||
"\n",
|
||
"\n",
|
||
" model = tf.keras.Model(inputs=inputs, outputs=[co_out, so2_out, no2_out, o3_out, pm25_out, pm10_out])\n",
|
||
" # model = tf.keras.Model(inputs=inputs, outputs=[no2_merge])\n",
|
||
" return model"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2022-12-16 09:59:31.598268: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1\n",
|
||
"2022-12-16 09:59:31.678629: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: \n",
|
||
"pciBusID: 0000:35:00.0 name: NVIDIA A100-PCIE-40GB computeCapability: 8.0\n",
|
||
"coreClock: 1.41GHz coreCount: 108 deviceMemorySize: 39.41GiB deviceMemoryBandwidth: 1.41TiB/s\n",
|
||
"2022-12-16 09:59:31.680731: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: \n",
|
||
"pciBusID: 0000:9c:00.0 name: NVIDIA A100-PCIE-40GB computeCapability: 8.0\n",
|
||
"coreClock: 1.41GHz coreCount: 108 deviceMemorySize: 39.41GiB deviceMemoryBandwidth: 1.41TiB/s\n",
|
||
"2022-12-16 09:59:31.680756: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0\n",
|
||
"2022-12-16 09:59:31.683080: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11\n",
|
||
"2022-12-16 09:59:31.683142: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11\n",
|
||
"2022-12-16 09:59:31.683848: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10\n",
|
||
"2022-12-16 09:59:31.684050: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10\n",
|
||
"2022-12-16 09:59:31.684630: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11\n",
|
||
"2022-12-16 09:59:31.685110: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11\n",
|
||
"2022-12-16 09:59:31.685220: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8\n",
|
||
"2022-12-16 09:59:31.692409: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1\n",
|
||
"2022-12-16 09:59:31.692789: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX512F FMA\n",
|
||
"To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
|
||
"2022-12-16 09:59:32.124092: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: \n",
|
||
"pciBusID: 0000:35:00.0 name: NVIDIA A100-PCIE-40GB computeCapability: 8.0\n",
|
||
"coreClock: 1.41GHz coreCount: 108 deviceMemorySize: 39.41GiB deviceMemoryBandwidth: 1.41TiB/s\n",
|
||
"2022-12-16 09:59:32.125883: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: \n",
|
||
"pciBusID: 0000:9c:00.0 name: NVIDIA A100-PCIE-40GB computeCapability: 8.0\n",
|
||
"coreClock: 1.41GHz coreCount: 108 deviceMemorySize: 39.41GiB deviceMemoryBandwidth: 1.41TiB/s\n",
|
||
"2022-12-16 09:59:32.132114: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1\n",
|
||
"2022-12-16 09:59:32.132166: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0\n",
|
||
"2022-12-16 09:59:32.813779: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1258] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
|
||
"2022-12-16 09:59:32.813814: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1264] 0 1 \n",
|
||
"2022-12-16 09:59:32.813820: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1277] 0: N Y \n",
|
||
"2022-12-16 09:59:32.813823: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1277] 1: Y N \n",
|
||
"2022-12-16 09:59:32.822208: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1418] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 29641 MB memory) -> physical GPU (device: 0, name: NVIDIA A100-PCIE-40GB, pci bus id: 0000:35:00.0, compute capability: 8.0)\n",
|
||
"2022-12-16 09:59:32.824272: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1418] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 38244 MB memory) -> physical GPU (device: 1, name: NVIDIA A100-PCIE-40GB, pci bus id: 0000:9c:00.0, compute capability: 8.0)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"model = create_multi_task_learning_model()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Model: \"model\"\n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"Layer (type) Output Shape Param # Connected to \n",
|
||
"==================================================================================================\n",
|
||
"input (InputLayer) [(None, 1, 6)] 0 \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense (Dense) (None, 1, 800) 5600 input[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_1 (Dense) (None, 1, 400) 320400 dense[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_2 (Dense) (None, 1, 200) 80200 dense_1[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_3 (Dense) (None, 1, 100) 20100 dense_2[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_9 (Dense) (None, 1, 100) 10100 dense_3[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_14 (Dense) (None, 1, 100) 10100 dense_3[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_19 (Dense) (None, 1, 100) 10100 dense_3[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_24 (Dense) (None, 1, 100) 10100 dense_3[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_29 (Dense) (None, 1, 100) 10100 dense_3[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_4 (Dense) (None, 1, 100) 10100 dense_3[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_10 (Dense) (None, 1, 50) 5050 dense_9[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_15 (Dense) (None, 1, 50) 5050 dense_14[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_20 (Dense) (None, 1, 50) 5050 dense_19[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_25 (Dense) (None, 1, 50) 5050 dense_24[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_30 (Dense) (None, 1, 50) 5050 dense_29[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_5 (Dense) (None, 1, 50) 5050 dense_4[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_11 (Dense) (None, 1, 40) 2040 dense_10[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_16 (Dense) (None, 1, 40) 2040 dense_15[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_21 (Dense) (None, 1, 40) 2040 dense_20[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_26 (Dense) (None, 1, 40) 2040 dense_25[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_31 (Dense) (None, 1, 40) 2040 dense_30[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_6 (Dense) (None, 1, 40) 2040 dense_5[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_12 (Dense) (None, 1, 20) 820 dense_11[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_17 (Dense) (None, 1, 20) 820 dense_16[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_22 (Dense) (None, 1, 20) 820 dense_21[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_27 (Dense) (None, 1, 20) 820 dense_26[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_32 (Dense) (None, 1, 20) 820 dense_31[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_7 (Dense) (None, 1, 20) 820 dense_6[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_13 (Dense) (None, 1, 10) 210 dense_12[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_18 (Dense) (None, 1, 10) 210 dense_17[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_23 (Dense) (None, 1, 10) 210 dense_22[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_28 (Dense) (None, 1, 10) 210 dense_27[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_33 (Dense) (None, 1, 10) 210 dense_32[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"dense_8 (Dense) (None, 1, 10) 210 dense_7[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"so2_dense (Dense) (None, 1, 5) 55 dense_13[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"no2_dense (Dense) (None, 1, 5) 55 dense_18[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"o3_dense (Dense) (None, 1, 5) 55 dense_23[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"pm25_dense (Dense) (None, 1, 5) 55 dense_28[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"pm10_dense (Dense) (None, 1, 5) 55 dense_33[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"co_dense (Dense) (None, 1, 5) 55 dense_8[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"concatenate (Concatenate) (None, 1, 10) 0 no2_dense[0][0] \n",
|
||
" o3_dense[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"concatenate_1 (Concatenate) (None, 1, 10) 0 o3_dense[0][0] \n",
|
||
" no2_dense[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"concatenate_2 (Concatenate) (None, 1, 20) 0 so2_dense[0][0] \n",
|
||
" no2_dense[0][0] \n",
|
||
" o3_dense[0][0] \n",
|
||
" pm25_dense[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"concatenate_3 (Concatenate) (None, 1, 10) 0 pm25_dense[0][0] \n",
|
||
" pm10_dense[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"task_co_output (Dense) (None, 1, 1) 6 co_dense[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"task_so2_output (Dense) (None, 1, 1) 6 so2_dense[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"task_no2_output (Dense) (None, 1, 1) 11 concatenate[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"task_o3_output (Dense) (None, 1, 1) 11 concatenate_1[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"task_pm25_output (Dense) (None, 1, 1) 21 concatenate_2[0][0] \n",
|
||
"__________________________________________________________________________________________________\n",
|
||
"task_pm10_output (Dense) (None, 1, 1) 11 concatenate_3[0][0] \n",
|
||
"==================================================================================================\n",
|
||
"Total params: 536,016\n",
|
||
"Trainable params: 536,016\n",
|
||
"Non-trainable params: 0\n",
|
||
"__________________________________________________________________________________________________\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"model.summary()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from tensorflow.python.keras.utils.vis_utils import plot_model"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABtUAAATMCAYAAAD4YwiAAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdebhVZaE/8O+Gc5hlDDzyw3miSE1zAFNDEcVCRWRUUCzTe3Pmmg1qg6lNKg6pdG+3JK1k0LDhSmVqpoKVpna9kkpXbwYiiPPEOZz9+4NBOWDLzrQFPp/nWc/jfte71/6uV/+A5+t6V6lcLpcDAAAAAAAAvJOZbSqdAAAAAAAAAN7rlGoAAAAAAABQQKkGAAAAAAAABZRqAAAAAAAAUKCq0gEAAABoHaNHj650BGh1gwYNyuTJkysdAwCAjYBSDQAAYBMxa9asDBw4MP369at0FGgV8+bNq3QEAAA2Iko1AACATchZZ52VMWPGVDoGtApPZwIA0Jy8Uw0AAAAAAAAKKNUAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAABgjTmZ1KWUUmntY+AlT1Y6WCNsTPcCAACVp1QDAABg/V75dU7ZsWtqhn83/1fpLK1mWK57pZzyn87N9kly5PWpLZcz7+xtKpyrMTamewEAgMpTqgEAALB+5frU15dTrq9PudJZ/qFVT2Ttd3meqXSUVrcp3zsAALSuqkoHAAAA4D1qs0Nz7YKXc22lcwAAALwHeFINAAAAAAAACijVAAAAWNfsCakqlVIqlVIqDc8Nb6x//AdP/iYXjd07W3XvmE69ts5uwz+T2QuWr7nMk5cMXDW3lFK/M3PrH67JSUM+kJrNOqRdpz7pf+Anc+U9S9bMn3/hh96a//YtDeecmC6rx9/3L7lzresflmmvJrnnrGyxek7VuMxu4TXZKO+9bknun35hJg3dIzvUdEn7jt3Tb5dDctIVv8uS+lVzXvhuDl6zDiuPD104f9X3b8yIt58bdeOaS5eXzMu1px+RD2/TK53atU/n3ttnn5H/lmkPvviOa/z9v/wiXxqzT7bt1WnV+OBMXdrYmwMAgKZRqgEAALCuETekrlyb64/8R+PzM+XMG1Jz5k3589+fySPTJ6bj7ZdkzPgpeWLV9G3Onpdy+fF8dbckL0zPqWfcn30v/K88+sziPHHXZRm8bHrOOOiA/NtvX06S9D/vwZTLt+b4zg1+d9h380r5f/O1D689vPL6q+Z/ZEoWlcspl8sp192YEWtmPZrLD6pJ51575ivzlqfRNsh7/yfN+Uw+Mu7KLD7om5nz6LNZ9rc/5gcndc2vJx+UAz57T95Iku4n5rbykvzHoR2TNnvkm0+U8+B5/Vd+v2pcZpefyiWDuuWoHy5Leda4leOLbs6EvfbPp2e8mpHX3JOnli3NE3denkOXXZ9Jgw7IeXNfW88aP5ALTv5BNv/0j/LHvy3LwnnnZ8+2jb0xAABoOqUaAAAAjbQsu514dT45aMt069wt2x58fs76ePvU/uHW3La+p4le7Zrx1/x7Jg3aJj06d8tWe07ItTecnfcvn58pZ1yRx1osZ33q68spl+tTLjfXNTeUe//ntR38pUz7/MHZoUendH7fDjnotBty+TGbZf4VX8usl1bPel8mTp6QPvUP5MrL7kjt275fd8+UXPF/x+as0T1Wjbyen3/+5PzoqY456rLpOfdj/dO7y2bZYsDhueDGizOk/HC+dtqVWbBOkuU56LPfz6cHb59enTqkzz4X5A91d+Zf3tfCCwAAAO9AqQYAAEAjDchee3V62+f22XLLPkkWZuHC9UzvPCj7fWjtR41KuxyaoX2T8kO35peLWi7n5DsX57VlD+TLg9o12zU3jHv/Jw2/Lq/ecUr6rDXYIbvttlNS+6f86ZG3RtsfMjn/ukspT193SW58bvXoC7nxW9/L5qedmf2rV4/dk9mzlyZt9s0Rwxs0YjVDMmRAUn//7Pzs6YZhdsnee3dqOAgAABWjVAMAAKCRuqVbt7VH2rVrl5VPhq1nevfu6b7OYJ/06ZMkz+bZZ1sgYovZSO/9xQdzwxePz0G7bJOaHh3TdtX7zbb9zH1JXstrr719cv+ccuawdHjt1lx6zf+sHHpsai69fXAmn7TjW9PeXJzFLyap/2VO6Lb2u9hKpe3yhQeS5PE8/njDMJ3TueFWmAAAUEFKNQAAAFrHc0uzdJ3tF1cXSqsLpiRpkzZtkixfnrXfgPZCXnhhfRcupVRq3qjNboO49ydz5eEfycSv3p4en7ouv3tsSd6oX/metr9N+UiS8jrbZ/Y+dnKO3bych759aX795vL8+tIr89zxk7Nm58ckaV+Tmu5Jqo7OzNpV731b53guVx/YXPcBAAAtQ6kGAABA63jj3tz1h7q1hsp//mV+vTAp7XZYDt1i9egW2WKLJH9/OmvtCPjMfbnv/9Z34U7p1ClvK6L+nHN3LuWQf1/W3HfQeO/pe5+dcVUfzIWP/CG/vee1pGZEJp8+ODv27pLqVYXd66+/vv6vtj84kz+9a0rP/jCXXHppLvnhFjntjI+maq1JH8nIkX2Suvvy23veWOcSj39j77Td6vTcW7fOKQAAeE9RqgEAANA6urXLbV/4VL4398k8/+qL+dsff5h/nXBJHm3XP5OvOCM7rZm4cw45ZOtk4fR8/du/z6JXXsuyBb/JN86YlSV91nfhD2aPPaqTx+7JHX97Nc/N/VF+/tcP5qP791x1/tFcflBNOvfaMxfMW76+C7S8it37P6HtwBw8uHPyzKx8/Vu35bGlr2X568vy2B2X55ypD73j1z7w6bNySMc386vzzs29B5+VT+3QcEaHHPa172bS9osz9RPjc9mtj2Thi2/k9WULctd3JuXICxZl9CXnZN+q9V0dAADeO5RqAAAArGv2hFSVqjPxliT5RSZ2LKXDhNnJvLPTr8F4//MeTDIro0ql7PWNBUkW5KLdSykNvy5rPZfUZVguuergPPSVwzNgiz7Z/oAzc0ePsbni9rvyrY9u9raJ7fLRC2/OtSe+P3+5eGi269Mve0/6Ubp+5pJMqEny3HdyYKmUHT73x1Xze2Ti5dflpF0fydnv750dxt6WXa6YljPfv/p6K1JXV59yuT7162zB2NCcTOpSSmn3i7IgSW6ZmOpSKQMveXIDvPf130tpneOoTF+RJFvmX6f/OleevGuevGpcdu/bPb223Tcn/6Auo4/ZO8mL+c7QUkp7fj1Pvv3e3ndMJk+oScp9c8Lkset5d1ySPofne7+fm6kjSpl+6kezY+9u6dN/SE6/uX0+dcs9uWFMv5Xz1rPGpdKozCr61wYAAK2gVC433BEdAACAjVGpVMr06dMzZsyYVv7lJ3Lhh3bM+UvPyNynL8/AVv71yto07v357388NVfvn//54+eyfaXDvM3o0aOTJDNnzqxwEgAANgIzba4AAAAANMGT+e7Uu/PxyTe8pwo1AABobrZ/BAAAAP4pL3x3WHocdV0WvvJcHp56Vr71/En5wpgelY4FAAAtSqkGAABAi3nykoEplXbM+Q8l+fsVGVRa/R6yjd/Gfu8vzD4h/6/HVjn02qp88cYvZ0974QAAsJHzR14AAABazDZnz0v57EqnqIyN+d67nzgn5RMrnQIAAFqXJ9UAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACgQFWlAwAAANB6pkyZkpkzZ1Y6BrSKefPmZeDAgZWOAQDARsKTagAAAJuIUaNGpV+/fpWOsclZsmRJ7rrrrkrH2CQNHDgwgwYNqnQMAAA2EqVyuVyudAgAAADYWM2YMSNjx46Nv34DAMAGbaYn1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACggFINAAAAAAAACijVAAAAAAAAoIBSDQAAAAAAAAoo1QAAAAAAAKCAUg0AAAAAAAAKKNUAAAAAAACgQFWlAwAAAMDG4umnn87xxx+fFStWrBlbunRpqqqqMnjw4LXm7rzzzvnOd77TygkBAIDGUqoBAABAM+nXr1+efPLJ/PWvf13n3G9/+9u1Pu+///6tFQsAAGgGtn8EAACAZnTcccelurq6cN64ceNaIQ0AANBclGoAAADQjI499tjU1tb+wzkf+MAHMmDAgFZKBAAANAelGgAAADSjHXbYIbvuumtKpdJ6z1dXV+f4449v5VQAAEBTKdUAAACgmR133HFp27btes/V1dVlzJgxrZwIAABoKqUaAAAANLPx48envr5+nfFSqZR99tkn22yzTeuHAgAAmkSpBgAAAM2sb9++2XfffdOmzdp/7W7btm2OO+64CqUCAACaQqkGAAAALWDixInrjJXL5Rx99NEVSAMAADSVUg0AAABawOjRo9d6Uq1t27Y5+OCD06dPnwqmAgAAGkupBgAAAC2gR48eOeSQQ9K2bdskK59SmzBhQoVTAQAAjaVUAwAAgBYyYcKE1NfXJ0mqqqpyxBFHVDgRAADQWEo1AAAAaCFHHHFE2rdvv+afu3btWuFEAABAY1VVOgAAAAAbphkzZlQ6wgZhjz32yL333pttt93Wmr0LW265ZQYNGlTpGAAAsI5SuVwuVzoEAAAAG55SqVTpCGyERo0alZkzZ1Y6BgAANDTT9o8AAAA02vTp01Mulx3/4Fi+fHnOOeeciufYEI5Ro0ZV+j9pAAB4R0o1AAAAaEHV1dX58pe/XOkYAABAEynVAAAAoIV17Nix0hEAAIAmUqoBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAVU3fjqJRKpZVHhwn5eaUDtZo5mdSl9Na9rz7atEvnHptn290OzOhPX5Qf3/9s6iodFQAASKJUAwAAoIKqxs1Kufx8rh1S6SStbViue6Wc8p/OzfZJcuT1qS2XU659KQvn350fXzAyNfOn5vg9t8vuJ1yXR1+rdF4AAECpBgAAAO8VbTuk2+Y7ZuCRp+Wq2x/Kbee8P09cd0IOHH9dnipXOhwAAGzalGoAAADwntQzB3x9ei7YpyqLf3pGJt/4XKUDAQDAJk2pBgAAAO9Vpe1y8qkfT3Veyk+uuSHPVDoPAABswpRqAAAAtJrX58/IOSP2yJbdOqR9597Zaf9JmXL3krzTzoblJfNy7elH5MPb9Eqndu3Tuff22Wfkv2Xagy++NWn2hFSVSimVSimVhucHT/4mF43dO1t175hOvbbObsM/k9kLlq994Tcfy01fPCb79e+XXp3ap2PPbbLn4adkyk//O8+vaESGFtR1v/2ya5LyvN/l7tp/MtdGvjYAANCalGoAAAC0ihVPTM3wQWNz6R9rcsash/L04gW585oRWfrVT+aqBev5wqKbM2Gv/fPpGa9m5DX35KllS/PEnZfn0GXXZ9KgA3Le3NdWzhtxQ+rKtbn+yCSZnyln3pCaM2/Kn//+TB6ZPjEdb78kY8ZPyRNrLvx65pw6OKOv/HuGXnV7HnvupSx99Gc5r/+D+dKRg3P+7xqRIUnyaC4/qCade+2Zr8xrUFQ1RU1NapKkblEWLd1Q1wYAADZ8SjUAAABawSu56Qufze0vdM2YK27M2UN3Tu8uXdN3lxG56PsTUrOo4fzX8/PPn5wfPdUxR102Ped+rH96d9ksWww4PBfceHGGlB/O1067Mut2ccuy24lX55ODtky3zt2y7cHn56yPt0/tH27NbasLqTya23+zKOUBI3LS0J3Sq2P7dN58l4z41rU5daemZKhPfX055XJ9yu/06F1jlMsNnuTbENcGAAA2fEo1AAAAWsG9mTPnpSSDcuihXdc+1XdwBu/UcP49mT17adJm3xwx/H1rn6oZkiEDkvr7Z+dnTzf83oDstVent31uny237JNkYRYuXD22cw4Ztk3a3Hthjjrp0tw878m8vCJJds3Ff1mabw9ubIYBmXzn4ry27IF8eVC74iV5txYtyqIkqe6bvu9rTK638lVubQAAYMOnVAMAAKDlvbkkS15O0qF3endpeLJP+vRpOH9xFr+YpP6XOaHb6neCrT62yxceSJLH8/jjDa/VLd26rT3Srl27rHyKbPVI5xx89f257wenZue/TsspQ7ZL965bZLdhn8rFP5mfNZsWNjpD83rx7rvz5ySlQQdk/+qm5Nr41gYAAFqTUg0AAICW1753em+W5I0lWfJKw5PLsmxZw/k1qemepOrozKwtp1xe3/Fcrj6wkXlKPbPnxK9k2m0PZ9ELS/Lw7ItyWPlX+eLIPXLwZX9pnQzvRv2CTL361tSlW0adcmz6tEauDWVtAACglSnVAAAAaAX75rDDuiWZu2obyLdZenfu/kvD+R/JyJF9krr78tt73ljnao9/Y++03er03FvXmCy35cTuH8yF81d9rO6VAUM/ka/PvijDSq9n7i9uz/MtnuHdWJa7Pj8uX/59XbY46qpcOrrnqnFrAwAAlaBUAwAAoBV0ydEXfytDe76UmWeOzyW/fixLX3k5z/zPf+WrE67IQ+tsCdkhh33tu5m0/eJM/cT4XHbrI1n44ht5fdmC3PWdSTnygkUZfck52beqsXkeyZR/OTc/e3hRXnpzeV59dn5u/eb3c2+5OrsftF96NCrDo7n8oJp07rVnLpi3vHGx6t/My88+kftu+XZOH/KhDP3mo9nxE9Nyxw8nZsvShrw2AACw4VOqAQAA0CrabP+p3DJ3Zs7e65lcMWqX9O2zdQZN+n5WnPa9fH6XJG/+MIeXSul+4pyVX+hzeL73+7mZOqKU6ad+NDv27pY+/Yfk9Jvb51O33JMbxvRbOW/e2elXqs7EW5LkF5nYsZT+5z2YZFZGlUrZ6xsLkizIRbuXUhp+Xd7IgfnGb2/KZ/s/lAvHDcy2PTdLn/cPyZlzeuTE/7grv/rCLm+FfrcZkiQrUldXn3K5PvXlotWYk0ldSintflEWJMktE1NdKqVU1SWb77Rvxp4/Mwt3PjnT7v/fPPCfx2Xnjg2+vsGtDQAAbPhK5XK58I/6AAAA0FCpVMr06dMzZsyYSkdhIzF69OgkycyZMyucBAAA1jHTk2oAAAAAAABQQKkGAAAAAAAABZRqAAAAAAAAUECpBgAAAAAAAAWUagAAAAAAAFBAqQYAAAAAAAAFlGoAAAAAAABQQKkGAAAAAAAABZRqAAAAAAAAUECpBgAAAAAAAAWUagAAAAAAAFBAqQYAAAAAAAAFlGoAAAAAAABQQKkGAAAAAAAABZRqAAAAAAAAUECpBgAAAAAAAAWUagAAAAAAAFCgqtIBAAAA2HDNnTu30hHYiDz99NPp169fpWMAAMB6lcrlcrnSIQAAANjwlEqlSkdgIzRq1KjMnDmz0jEAAKChmZ5UAwAAoFH8P5rvzowZMzJ27FjrBQAAGzjvVAMAAAAAAIACSjUAAAAAAAAooFQDAAAAAACAAko1AAAAAAAAKKBUAwAAAAAAgAJKNQAAAAAAACigVAMAAAAAAIACSjUAAAAAAAAooFQDAAAAAACAAko1AAAAAAAAKKBUAwAAAAAAgAJKNQAAAAAAACigVAMAAAAAAIACSjUAAAAAAAAooFQDAAAAAACAAko1AAAAAAAAKKBUAwAAAAAAgAJKNQAAAAAAACigVAMAAAAAAIACSjUAAAAAAAAooFQDAAAAAACAAko1AAAAAAAAKKBUAwAAAAAAgAJKNQAAAAAAACigVAMAAAAAAIACSjUAAAAAAAAooFQDAAAAAACAAko1AAAAAAAAKKBUAwAAAAAAgAJKNQAAAAAAACigVAMAAAAAAIACSjUAAAAAAAAooFQDAAAAAACAAlWVDgAAAAAbiyVLluQnP/nJWmN//OMfkyT//u//vtZ4ly5dcswxx7RaNgAAoGlK5XK5XOkQAAAAsDF4880307t377z66qtp27ZtkqRcLqdcLqdNm7c2i6mtrc1xxx2XadOmVSoqAADwz5lp+0cAAABoJu3bt8/o0aNTVVWV2tra1NbWpq6uLitWrFjzuba2Nkk8pQYAABsYpRoAAAA0o2OOOSbLly//h3O6d++eIUOGtFIiAACgOSjVAAAAoBkdeOCB6d279zuer66uzoQJE1JV5TXnAACwIVGqAQAAQDNq06ZNjjnmmLRr126952trazN+/PhWTgUAADSVUg0AAACa2fjx499xC8gtttgigwYNauVEAABAUynVAAAAoJnts88+2XrrrdcZr66uzvHHH59SqVSBVAAAQFMo1QAAAKAFTJw4MdXV1WuN2foRAAA2XEo1AAAAaAHHHntsamtr1xrbYYcdsuuuu1YoEQAA0BRKNQAAAGgB/fv3zwc+8IE1Wz1WV1fnhBNOqHAqAACgsZRqAAAA0EKOO+64tG3bNsnKrR/HjBlT4UQAAEBjKdUAAACghYwbNy4rVqxIknz4wx/ODjvsUOFEAABAYynVAAAAoIVsvfXW2WuvvZKsfGoNAADYcJXK5XK50iEAAAB4bxg9enRmzZpV6RjwrkyfPt2WmgAAtJaZVZVOAAAAwHvLwIEDc9ZZZ1U6xkbjpZdeyjXXXJPPfe5zlY6yURk7dmylIwAAsIlRqgEAALCWfv36efqnmX30ox/NjjvuWOkYGxWlGgAArc071QAAAKCFKdQAAGDDp1QDAAAAAACAAko1AAAAAAAAKKBUAwAAAAAAgAJKNQAAAAAAACigVAMAAAAAAIACSjUAAAAAAAAooFQDAAAAAACAAko1AAAAAAAAKKBUAwAAAAAAgAJKNQAAAAAAACigVAMAAAAAAIACSjUAAAAAAAAooFQDAACg2dXdOCqlUmnl0WFCfl7pQK3mzfzvf12Uo3bqnFLVuMxulmvOyaQupbfWc/XRpl0699g82+52YEZ/+qL8+P5nU9csvwcAAKyPUg0AAIBmVzVuVsrl53PtkEonaT2vL/hZvnTEgAz6/K1ZsPi1ZrzysFz3SjnlP52b7ZPkyOtTWy6nXPtSFs6/Oz++YGRq5k/N8Xtul91PuC6PNudPAwAAayjVAAAAoMnqcvP5k/Pf+34nD9x/SQ7arBV+sm2HdNt8xww88rRcdftDue2c9+eJ607IgeOvy1PlVvh9AADYxCjVAAAAoMmqMvI//5ybPjckfasq8fs9c8DXp+eCfaqy+KdnZPKNz1UiBAAAbNSUagAAANAMOnbsUNkApe1y8qkfT3Veyk+uuSHPVDYNAABsdJRqAAAANNnr82fknBF7ZMtuHdK+c+/stP+kTLl7Sd5pF8Lyknm59vQj8uFteqVTu/bp3Hv77DPy3zLtwRffmjR7QqpKpZRKpZRKw/ODJ3+Ti8buna26d0ynXltnt+GfyewFy9e+8JuP5aYvHpP9+vdLr07t07HnNtnz8FMy5af/nedXNCLDBqbrfvtl1yTleb/L3bVvjVtvAABoOqUaAAAATbLiiakZPmhsLv1jTc6Y9VCeXrwgd14zIku/+slctWA9X1h0cybstX8+PePVjLzmnjy1bGmeuPPyHLrs+kwadEDOm/vaynkjbkhduTbXH5kk8zPlzBtSc+ZN+fPfn8kj0yem4+2XZMz4KXlizYVfz5xTB2f0lX/P0Ktuz2PPvZSlj/4s5/V/MF86cnDO/10jMrSYR3P5QTXp3GvPfGXe8uLp71ZNTWqSpG5RFi1dNWa9AQCgWSjVAAAAaIJXctMXPpvbX+iaMVfcmLOH7pzeXbqm7y4jctH3J6RmUcP5r+fnnz85P3qqY466bHrO/Vj/9O6yWbYYcHguuPHiDCk/nK+ddmXW7eKWZbcTr84nB22Zbp27ZduDz89ZH2+f2j/cmttWl0d5NLf/ZlHKA0bkpKE7pVfH9um8+S4Z8a1rc+pOzZGhOdWnvr6ccrk+5Xd6nK8xyuUGTwdabwAAaC5KNQAAAJrg3syZ81KSQTn00K5rn+o7OIN3ajj/nsyevTRps2+OGP6+tU/VDMmQAUn9/bPzs6cbfm9A9tqr09s+t8+WW/ZJsjALF64e2zmHDNsmbe69MEeddGlunvdkXl6RJLvm4r8szbcHNzVDcxqQyXcuzmvLHsiXB7VrvssuWpRFSVLdN33fl1hvAABoPko1AAAAGu/NJVnycpIOvdO7S8OTfdKnT8P5i7P4xST1v8wJ3Va/v2v1sV2+8ECSPJ7HH294rW7p1m3tkXbt2mXlE1+rRzrn4Kvvz30/ODU7/3VaThmyXbp33SK7DftULv7J/KzZYLDRGd77Xrz77vw5SWnQAdm/OtYbAACakVINAACAxmvfO703S/LGkix5peHJZVm2rOH8mtR0T1J1dGbWllMur+94Llcf2Mg8pZ7Zc+JXMu22h7PohSV5ePZFOaz8q3xx5B45+LK/tE6GSqlfkKlX35q6dMuoU45Nn8R6AwBAM1KqAQAA0AT75rDDuiWZu2obyLdZenfu/kvD+R/JyJF9krr78tt73ljnao9/Y++03er03FvXmCy35cTuH8yF81d9rO6VAUM/ka/PvijDSq9n7i9uzxtDmY4AACAASURBVPMtnqFSluWuz4/Ll39fly2OuiqXju65atx6AwBAc1GqAQAA0ARdcvTF38rQni9l5pnjc8mvH8vSV17OM//zX/nqhCvy0DpbQnbIYV/7biZtvzhTPzE+l936SBa++EZeX7Ygd31nUo68YFFGX3JO9q1qbJ5HMuVfzs3PHl6Ul95cnlefnZ9bv/n93Fuuzu4H7ZcerZLh3Xg0lx9Uk8699swF85Y37hL1b+blZ5/Ifbd8O6cP+VCGfvPR7PiJabnjhxOzZWn1JOsNAADNRakGAABAk7TZ/lO5Ze7MnL3XM7li1C7p22frDJr0/aw47Xv5/C5J3vxhDi+V0v3EOSu/0OfwfO/3czN1RCnTT/1oduzdLX36D8npN7fPp265JzeM6bdy3ryz069UnYm3JMkvMrFjKf3PezDJrIwqlbLXNxYkWZCLdi+lNPy6vJED843f3pTP9n8oF44bmG17bpY+7x+SM+f0yIn/cVd+9YVd3gr9bjP8M34+KR1KpZRKg3LF35OsmJ6jVr07bNh3X2gweUXq6upTLtenvlx04TmZ1KWU0u4XZUGS3DIx1aVSSlVdsvlO+2bs+TOzcOeTM+3+/80D/3lcdu7Y4Osb63oDAEArK5XL5cI/vgMAALBpGD16dJJk5syZFU4C/1ipVMr06dMzZsyYSkcBAGDTMNOTagAAAAAAAFBAqQYAAAAAAAAFlGoAAACwXivfJVYqOD745f+udFAAAKAVVFU6AAAAALw3jcosryEHAABW8aQaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFKiqdAAAAADeW2bNmpVSqVTpGAAAAO8ppXK5XK50CAAAAN4b5s6dm7/97W+VjrFRmTt3bi6//PJMnz690lE2Ovvuu2/69etX6RgAAGwaZirVAAAAoAXNmDEjY8eOjb9+AwDABm2md6oBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFKiqdAAAAADYWNTW1uaVV15Za+zVV19Nkjz//PNrjZdKpXTv3r3VsgEAAE2jVAMAAIBm8txzz6Vfv35ZsWLFOud69uy51ufBgwfnjjvuaK1oAABAE9n+EQAAAJpJTU1NDjjggLRp84//ul0qlTJ+/PhWSgUAADQHpRoAAAA0o4kTJ6ZUKv3DOW3atMnRRx/dSokAAIDmoFQDAACAZnT00Uenbdu273i+bdu2GTZsWHr16tWKqQAAgKZSqgEAAEAz6tq1a4YNG5aqqvW/xrxcLmfChAmtnAoAAGgqpRoAAAA0swkTJmTFihXrPdeuXbsMHz68lRMBAABNpVQDAACAZnb44YenU6dO64xXVVXlqKOOSpcuXSqQCgAAaAqlGgAAADSzDh06ZOTIkamurl5rvK6uLscee2yFUgEAAE2hVAMAAIAWcMwxx6S2tnatsa5du2bo0KEVSgQAADSFUg0AAABawMEHH5yePXuu+VxdXZ1x48alXbt2FUwFAAA0llINAAAAWkBVVVXGjRu3ZgvI2traHHPMMRVOBQAANJZSDQAAAFrI+PHj12wBufnmm2f//fevcCIAAKCxlGoAAADQQj7ykY+kb9++SZKJEyemTRt/DQcAgA1VVaUDAAAA8N5x2WWXZe7cuZWOsVHZbLPNkiR/+tOfMnr06Aqn2bhMnjw5gwYNqnQMAAA2Ef4XOQAAANaYO3du5s2bV+kYG5Wtttoqm222WXr06FHpKBuVWbNm5W9/+1ulYwAAsAnxpBoAAABrGThwYGbOnFnpGBuVGTNmZMyYMZWOsVEplUqVjgAAwCbGk2oAAADQwhRqAACw4VOqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFFCqAQAAAAAAQAGlGgAAAAAAABRQqgEAAAAAAEABpRoAAAAAAAAUUKoBAAAAAABAAaUaAAAAAAAAFFCqAQAA0OzqbhyVUqm08ugwIT+vdKAWtuL5R3Pr1M/n2IN2zVY9O6Vdx+7pu+NuGXzslzL9oWWpb9LV52RSl9Jb67n6aNMunXtsnm13OzCjP31Rfnz/s6lrpvsBAADWpVQDAACg2VWNm5Vy+flcO6TSSVrHrz8zKB87bWZWHHlpfvk/z+Sl5xbk7u+dlq0e/GbGfXj3fGL2s024+rBc90o55T+dm+2T5MjrU1sup1z7UhbOvzs/vmBkauZPzfF7bpfdT7guj77WTDcFAACsRakGAAAAzaDPJ67ND88YmvfXdE2HTr2y3f4n5vs/Ojs7r/i/TDvn8jzc3D/YtkO6bb5jBh55Wq66/aHcds7788R1J+TA8dflqXJz/xgAAKBUAwAAgCYa9t0Xsvg7Q9O2wXjb3QZmr45JFjyRJ1q06OqZA74+PRfsU5XFPz0jk298riV/DAAANklKNQAAAGgprz6X515P8sFd8sFSC/9WabucfOrHU52X8pNrbsgzLfxzAACwqVGqAQAA0GSvz5+Rc0bskS27dUj7zr2z0/6TMuXuJXmnh7PKS+bl2tOPyIe36ZVO7dqnc+/ts8/If8u0B198a9LsCakqlVIqlVIqDc8PnvxNLhq7d7bq3jGdem2d3YZ/JrMXLF/7wm8+lpu+eEz2698vvTq1T8ee22TPw0/JlJ/+d55f0YgMTbR05ozckR4Zfe6/Zqdmu+o767rfftk1SXne73J37Vvjm8p6AwBAS1KqAQAA0CQrnpia4YPG5tI/1uSMWQ/l6cULcuc1I7L0q5/MVQvW84VFN2fCXvvn0zNezchr7slTy5bmiTsvz6HLrs+kQQfkvLmvrZw34obUlWtz/ZFJMj9TzrwhNWfelD///Zk8Mn1iOt5+ScaMn5In1lz49cw5dXBGX/n3DL3q9jz23EtZ+ujPcl7/B/OlIwfn/N81IkNTLL4p//q5Oel74g2ZOuZ9DU4+mssPqknnXnvmK/OWr/frjVJTk5okqVuURUtXjW0q6w0AAC1MqQYAAEATvJKbvvDZ3P5C14y54sacPXTn9O7SNX13GZGLvj8hNYsazn89P//8yfnRUx1z1GXTc+7H+qd3l82yxYDDc8GNF2dI+eF87bQrs24Xtyy7nXh1Pjloy3Tr3C3bHnx+zvp4+9T+4dbctro8yqO5/TeLUh4wIicN3Sm9OrZP5813yYhvXZtTd2qODP+E5+7I5GEn5A+Dp+X2qR9Lz3Um1Ke+vpxyuT7l5nzXWrnc4OnATWS9AQCgFSjVAAAAaIJ7M2fOS0kG5dBDu659qu/gDF5nz8N7Mnv20qTNvjlieIOnt2qGZMiApP7+2fnZ0w2/NyB77dXpbZ/bZ8st+yRZmIULV4/tnEOGbZM2916Yo066NDfPezIvr0iSXXPxX5bm24ObmuFdevX3Oe/QI/OTD/xHfvfDY7N12/VNGpDJdy7Oa8seyJcHtWvkD63HokVZlCTVfdP3fckmsd4AANBKlGoAAAA03ptLsuTlJB16p3eXhif7pE+fhvMXZ/GLSep/mRO6rX5/1+pju3zhgSR5PI8/3vBa3dKt29oj7dq1y8onvlaPdM7BV9+f+35wanb+67ScMmS7dO+6RXYb9qlc/JP5WbPBYKMzvAt1T+Q7ow/P9/7flNw2bWy2XG+h1nJevPvu/DlJadAB2b86G/96AwBAK1KqAQAA0Hjte6f3ZkneWJIlrzQ8uSzLljWcX5Oa7kmqjs7M2nLK5fUdz+XqAxuZp9Qze078Sqbd9nAWvbAkD8++KIeVf5UvjtwjB1/2lxbOsCQ/O/mwfPHNz+VXMz6Z7atWjz+Yz+3QL2fPa+Q9vVv1CzL16ltTl24Zdcqx6ZNs5OsNAACtS6kGAABAE+ybww7rlmTuqm0g32bp3bn7Lw3nfyQjR/ZJ6u7Lb+95Y52rPf6NvdN2q9Nzb11jstyWE7t/MBfOX/WxulcGDP1Evj77ogwrvf7/2bvz+Kbrw4/j77RJy30XCnLYytULWgpyTlGQFkwKCsUL1KngnMqcU5z7zU3dprLphDnPeR9jWO4EWg6ZOKCIlpbSCwoURaEcchTomeP3h2vX0koQ2n57vJ6PRx7F5Jv0ndgk33zf+Xw+Sl61QSfqLEOhtj1p1azM2+RY8UuF+19M/ktxXJ89frOe3OZU9xte0gvx5au4NdXHGwAAAKh/lGoAAAAAgEvQRlOf+Yuu61SghIdu0fPrduvYmdPKz1qtP8xYoB3VpoRsoYnPvqk7rzis1+66RX9NzNTBU8UqOr5Xn71+pyY/fUjxz8/VKHNNv+tCZOrFn/2f7OmHVFBSqrNHcpT453e0xWNR1LVj1LFOMniU9+5Nsj61TYc/f0pXtj13isMozdt77nWyNf/aQLXuPFRPby29uLvqLtHpI3v0+Yq/a864SF3352z1u+s9/fujmeplKt+oKT7eAAAAgDEo1QAAAAAAl8TnillakZygR4bla8G0CPXo2kcj73xHrgff1uMRkko+ks1kUod7kr6/Qleb3t6WrNemmLTogavVL6C9ug4cpzlL/TVrxWZ9OL3n99ttfUQ9TRbNXCFJqzSzpUkDf5smabGmmUwaNm+vpL36U5RJJuu7KtY1mrdxiR4buEN/vHmEgjq1VdeQcXooqaPu+cdnWvubiP+FvtAMF6REGxc7dPRHPWouOZ1ueTxuuT3etk3SnW1MMkX9SXslacVMWUwmmcxt1K3/KN30RIIODrhX76Xkaftbt2tAy3Ou3uQebwAAAMAYJo/H43X3HQAAAADQPMTHx0uSEhISDE4CnJ/JZNKiRYs0ffp0o6MAAACgeUhgpBoAAAAAAAAAAADgBaUaAAAAAAAAAAAA4AWlGgAAAAAANfp+LTGTl1P4kxlGBwUAAABQD8xGBwAAAAAAoGGapsUsQw4AAADgvxipBgAAAAAAAAAAAHhBqQYAAAAAAAAAAAB4QakGAAAAAAAAAAAAeEGpBgAAAAAAAAAAAHhBqQYAAAAAAAAAAAB4QakGAAAAAAAAAAAAeEGpBgAAAAAAAAAAAHhBqQYAAAAAAAAAAAB4QakGAAAAAAAAAAAAeEGpBgAAAAAAAAAAAHhBqQYAAAAAAAAAAAB4QakGAAAAAAAAAAAAeEGpBgAAAAAAAAAAAHhhNjoAAAAAAKBh2bp1q+Lj442OAQAAAAANCqUaAAAAAKDCyJEjjY7Q5Bw9elTZ2dm66qqrjI7SpEybNk29evUyOgYAAACaEZPH4/EYHQIAAAAAgKbq448/1k033SQ+fgMAAACNWgJrqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF5QqgEAAAAAAAAAAABeUKoBAAAAAAAAAAAAXlCqAQAAAAAAAAAAAF6YjQ4AAAAAAEBT8c033+iOO+6Qy+WqOO/YsWMym80aO3ZslW0HDBig119/vZ4TAgAAALhYlGoAAAAAANSSnj17av/+/dq3b1+1yzZu3Fjlv3/yk5/UVywAAAAAtYDpHwEAAAAAqEW33367LBaL1+1uvvnmekgDAAAAoLZQqgEAAAAAUItuu+02lZWVnXeb0NBQhYWF1VMiAAAAALWBUg0AAAAAgFrUt29fDRo0SCaTqcbLLRaL7rjjjnpOBQAAAOBSUaoBAAAAAFDLbr/9dvn6+tZ4mdPp1PTp0+s5EQAAAIBLRakGAAAAAEAtu+WWW+R2u6udbzKZNHz4cF1++eX1HwoAAADAJaFUAwAAAACglvXo0UOjRo2Sj0/Vj92+vr66/fbbDUoFAAAA4FJQqgEAAAAAUAdmzpxZ7TyPx6OpU6cakAYAAADApaJUAwAAAACgDsTHx1cZqebr66vx48era9euBqYCAAAAcLEo1QAAAAAAqAMdO3bUhAkT5OvrK+n7UWozZswwOBUAAACAi0WpBgAAAABAHZkxY4bcbrckyWw2Ky4uzuBEAAAAAC4WpRoAAAAAAHUkLi5O/v7+Ff9u166dwYkAAAAAXCyz0QEAAAAAAA1HcnKyDhw4YHSMJmXIkCHasmWLgoKC9PHHHxsdp0kZNWqUevbsaXQMAAAANBMmj8fjMToEAAAAAKBhiI+P1+LFi42OAVyQRYsWafr06UbHAAAAQPOQwPSPAAAAAIAqpk2bJo/Hw6mWTqWlpZo7d67hOZraCQAAAKhvlGoAAAAAANQhi8WiJ5980ugYAAAAAC4RpRoAAAAAAHWsZcuWRkcAAAAAcIko1QAAAAAAAAAAAAAvKNUAAAAAAAAAAAAALyjVAAAAAAAAAAAAAC8o1QAAAAAAAAAAAAAvKNUAAAAAAAAAAAAALyjVAAAAAAAAAAAAAC8o1QAAAAAAAAAAAAAvKNUAAAAAAAAAAAAALyjVAAAAAAAAAAAAAC8o1QAAAAAAAAAAAAAvKNUAAAAAAAAAAAAALyjVAAAAAAC1zvmvaTKZTN+fWsyQw+hAdc1TqK83/0vz7p+ikf0D1dbfX227Xq6wMdP1xIfbddxzKTeepDvbmP73eJaffPzUumM3BQ2+RvE//5MWphyRs7buDwAAAIBqKNUAAAAAALXOfPNieTwn9Oo4o5PUk11/1aQxt+ivuwfr/xZv17enTihv6wea03uHnp05QmMe/Y+KLvrGY/XuGY88qf+nKyRp8gcq83jkKSvQwZxNWvj0jQrMeU13DA1W1E/fVXZhrd0rAAAAAJVQqgEAAAAAUBvMMZr38VOyDuqhdi1aqUvwT3Tvu3/TzM5lyv7737S6pJZ/n28Lte/WTyMmP6iXNuzQ+rkh2vPuT3XNLe/qq0saGQcAAACgJpRqAAAAAABcqoG/VUZZku7seM75fn3Vt5ekklM6VVyXATrpqucW6enhZh1e+Qs9/K/v6vKXAQAAAM0SpRoAAAAAAHXl5DZty5XMUWM1un0d/y5TsO594HpZVKBlr3yo/Dr+dQAAAEBzQ6kGAAAAALhkRTkfa+6UIerVvoX8Wweo/0/u1IubjuqHZiH0HN2qV+fEKfryzmrl56/WAVdo+I2/0ntpp/630fIZMptMMplMMpmsen//J/rTTVeqd4eWatW5jwZbH9XyvaVVb7hkt5b87laNGdhTnVv5q2WnyzXUdr9eXJmhE66LyHBRPCotOKzczR/qkbhfaE3gjXr1/V9pwCXe6oVoN2aMBknybP2PNpVVStSkH28AAACgflCqAQAAAAAuiWvPa7KOvEkvfBmoXyzeoW8O79Wnr0zRsT/crZf21nCFQ0s1Y9hP9POPz+rGVzbrq+PHtOfT+Yo5/oHuHHmVfptc+P12Uz6U01OmDyZLUo5efOhDBT60RDu/zVfmoplqueF5Tb/lRe2puOEiJT0wVvF/+1bXvbRBu78r0LFsu347ME2/nzxWT/znIjJchJw/Rsm/faD6j/mpFvrO1NvL3tLd4f7nbJWt+dcGqnXnoXpqa2mNt3NRAgMVKEnOQzp07L/nNfHHGwAAAKgvlGoAAAAAgEtwRkt+85g2nGyn6Qv+pUeuG6CANu3UI2KK/vTODAUeOnf7Ijkev1f//KqlbvjrIv3fpIEKaNNW3cNsevpfz2icJ13PPvg3Ve/ijmvwPS/r7pG91L51ewWNf0K/vN5fZV8kan15eaRsbfjkkDxhUzT7uv7q3NJfrbtFaMpfXtUD/Wsjw4UZ+Ns0uUtO6kD2Ov1+4H90f9RAjfvDZzpZZSu33G6PPB63PD80nO9ieDznjA5s+o83AAAAUF8o1QAAAAAAl2CLkpIKJI1UTEy7qhf1GKux/c/dfrOWLz8m+YxSnLVL1YsCx2lcmOROWS77N+deL0zDhrWq9N/+6tWrq6SDOniw/LwBmhB7uXy2/FE3zH5BS7fu12mXJA3SM7uO6e9jLzXDhTP5tVfPgWM1+9XVejmuTP/+3S369fqzVe7Pw58eVuHx7XpypN/F/6JzHTqkQ5Jk6aEeXaTm8ngDAAAA9YFSDQAAAABw8UqO6uhpSS0CFNDm3Au7qmvXc7c/rMOnJLnX6Kfty9fvKj8F6zfbJSlXubnn3lZ7tW9f9Rw/Pz99P+Kr/JzWGv9yij5//wEN2Pee7h8XrA7tumtw7Cw9syxHFRMMXnSGi9FFNtsISQflcKTWxg2e16lNm7RTkmnkVfqJRc3w8QYAAADqDqUaAAAAAODi+QcooK2k4qM6eubcC4/r+PFztw9UYAdJ5qlKKPPI46np9J1evuYi85g6aejMp/Te+nQdOnlU6cv/pImetfrdjUM0/q+76ifDOSz+/vKRdLzag1HL3Hv12suJcqq9pt1/m7pKzfLxBgAAAOoKpRoAAAAA4BKM0sSJ7SUl/3cayEqObdKmXeduP1o33thVcn6ujZuLq91a7rwr5dt7jrY4LybLet3TIVx/zPnvf1o6K+y6u/Tc8j8p1lSk5FUbdKKOMmx95HK1n7FcJdUuKdCaxC1yy0fDhg25mDt1gY7rs8dv1pPbnOp+w0t6Ib7Tf89vmo83AAAAYARKNQAAAADAJWijqc/8Rdd1KlDCQ7fo+XW7dezMaeVnrdYfZizQjmpTQrbQxGff1J1XHNZrd92ivyZm6uCpYhUd36vPXr9Tk58+pPjn52qU+WLzZOrFn/2f7OmHVFBSqrNHcpT453e0xWNR1LVj1LEOMxT88+e64ekl+mL/MZ0tKdJ3+7dp4WM2zfrwsNpE/1bP39Oz0tbZmn9toFp3Hqqnt5Ze3F11l+j0kT36fMXfNWdcpK77c7b63fWe/v3RTPUylW/UdB9vAAAAoL5RqgEAAAAALonPFbO0IjlBjwzL14JpEerRtY9G3vmOXA++rccjJJV8JJvJpA73JH1/ha42vb0tWa9NMWnRA1erX0B7dR04TnOW+mvWis36cPp/y6etj6inyaKZKyRplWa2NGngb9MkLdY0k0nD5u2VtFd/ijLJZH1XxbpG8zYu0WMDd+iPN49QUKe26hoyTg8lddQ9//hMa38T8b/QF5rhAl35u/Va949Z6rrlL7rzmnB1b9dOPSKs+u0nrTX52eVK/c9TGtay8jVccjrd8njccnu83XqS7mxjkinqT9orSStmymIyyWRuo279R+mmJxJ0cMC9ei8lT9vful0DWp5z9Sb4eAMAAABGMHk8Hq+77wAAAACA5iE+Pl6SlJCQYHAS4PxMJpMWLVqk6dOnGx0FAAAAzUMCI9UAAAAAAAAAAAAALyjVAAAAAAAAAAAAAC8o1QAAAAAAqNH3a4mZvJzCn8wwOigAAACAemA2OgAAAAAAAA3TNC1mGXIAAAAA/8VINQAAAAAAAAAAAMALSjUAAAAAAAAAAADAC0o1AAAAAAAAAAAAwAtKNQAAAAAAAAAAAMALs9EBAAAAAADG+eabb5Sdna3s7GxlZWVp165dGjBggNGxgAvy7LPPatu2bRo4cKBCQ0MVEhKijh07Gh0LAAAATRSlGgAAAAA0cS6XS/v371dWVpays7OVk5OjzMxM5eTkqKCgQJLUuXNnhYWFGZwU+HHatm2rTz/9VK+99prOnj0rSQoMDFRoaKgGDhyosLCwisItMDDQ4LQAAABo7CjVAAAAAKCJKCsr04EDB5SZmamsrKyKnzk5ORWFQ8eOHRUaGqrIyEjdeuutCgsLU3BwsIKDgyVJ8fHxRt4F4Ed54IEHNH36dEnSwYMHlZWVpX379lX87S9ZskSHDx+WJHXo0EFXXHGFQkNDK/7uy0e3+fiwOgYAAAC8o1QDAAAAgEamtLRUubm5VYqz8iKhuLhYktS9e3eFhYVp9OjRmj17toKDgzV48GAFBAQYnB6oGz169FCPHj2qnX/ixIlqz5M33nhDeXl58ng88vPzU9++fRUWFlalcAsPD5e/v78B9wQAAAANFaUaAAAAADRQp06d0p49e6oVAjk5OXK73bJYLOrVq5dCQ0M1fvx4zZkzp2K6u9atWxsdH2gQOnbsqDFjxmjMmDFVzj958qT27t1b5fmVkJCgP/zhD9WeX5ULt5CQELVq1cqgewMAAAAjUaoBAAAAgMFqGkmTlZVV40iaPMTvKgAAIABJREFU+Pj4ipE0YWFhatGihdHxgUapQ4cOio6OVnR0dJXzaxoJun79es2fP18lJSWS/jcStHLhNnjwYLVt29aIuwIAAIB6QqkGAAAAAPWkpjWfdu7cWeOaT+VTNrLmE1C//Pz8FBYWVlFil6tpzcLNmzfrzTffVGFhoaT/rVlYuXALDw9XYGCgUXcHAAAAtYhSDQAAAABqkdPp1Ndff12lOMvMzNSOHTt05swZSVUPvI8fP77i30FBQTKZTAbfAwA1sVgsCg4OVnBwsGw2W5XLygvzys/5hQsX6vTp05K+f86Xl+SVCzee8wAAAI0LpRoAAAAAXISaRq1kZWUpKytLRUVFkv43RVzlaRsjIiLUrVs3g9MDqE09evRQjx49NH78+CrnV57atfJUkocOHZIktW/fXn379q1WuA0cOFC+vr5G3BUAAACcB6UaAAAAAJxHSUmJ9uzZU20Uyq5du+RyuWQ2m9W7d28FBwdr9OjRmj17tkJDQxUZGak2bdoYHf+ifPPNN/r444/Pu43H41F+fr66d+9eT6nQHJSVlenkyZMKCAgwOkqt6Nixo8aMGaMxY8ZUOf/EiRPVRrN+8MEHNa6jWLlwYx1FAAAAY5k8Ho/H6BAAAAAAYLSaDnJnZWVp//79crvdP3iQOzQ0VC1btjQ6fq2Jj4/X4sWLjY4BXJBFixZp+vTpRseoNadOndKePXuqvRadW+KXv/6UvxZFRUWpdevWRscHAABo6hIo1QAAAAA0KwcPHlRmZqays7OVlZWlnJwcZWZm6tixY5Kkdu3aaeDAgQoLC9PAgQMVGhqqkJAQBQUFycfHx+D09e/o0aNKTEyUw+FQYmKiCgsLFRUVJavVKpvNpujoaKMjXrSnnnpKTz31lJ599lk99thjRse5ZM8995x+85vf6IknntBTTz1ldJyL4nK5lJycLIfDoeXLl2vXrl0KCAhQbGysbDabJk6c2GhHgF6KoqIi5eTkVLxe5eTkKCsrS3v27FFZWZl8fHwUFBSkkJCQitessLAwhYSENMvHCwAAoI5QqgEAAABommpay2jnzp06fPiwpO+nZTt3xFlYWJiCgoJkMpkMTm+sffv2yW63KyEhQcnJyfL399fo0aNltVoVHx+vHj16GB3xkng8Hj3yyCNasGCBXnnlFc2ePdvoSLXm/fff1913360ZM2boH//4h8zmxr3qQ1P/W7xUZWVlFdPTVi7ccnJyVFRUJJPJpD59+ig0NFTh4eEKCQmp+MnINgAAgB+NUg0AAABA43Yh5dm5xVlYWBhrgVXSnEYHOZ1OzZ49Wx999JE++OCDJjV1YDm73a6bbrpJEyZM0MKFC5vM9KRNedRkXTh48GC1tSDT0tJ09uxZSVL37t2rvC429rUgAQAA6gGlGgAAAIDGgfKsdp09e1YbNmxQQkKC7Ha7Tp48qeDg4IoRQKNGjWpy010WFhYqPj5eGzdu1NKlSzVhwgSjI9WZrVu3ymq1KiIiQsuXL1f79u2NjlSrioqKtHnzZtntdi1evFgHDx5UUFCQrrvuOlmtVsXGxspisRgds0GibAMAALholGoAAAAAGhbKs7qzf/9+rV27Vna7XWvXrpXL5dKIESNks9k0ZcoUDRgwwOiIdebkyZOy2WzKysqSw+HQyJEjjY5U5zIzMxUbG6sOHTooKSlJl112mdGR6oTb7VZqaqrsdrscDodSUlLUsWNHjR8/XlarVZMnT25ypWJdqKlsS01NVWFhoaSay7aoqCimkQQAAM0JpRoAAAAAY1zsmmfBwcEGJ29cMjMzlZCQIIfDoe3bt6tVq1a65pprFB8fr7i4OHXo0MHoiHUuPz9fEydO1OHDh7VmzRpFREQYHane7N+/X7GxsSotLdWaNWvUr18/oyPVuby8PK1bt052u11r1qyR2+2uKI9vuOEG9e/f3+iIjcrBgweVkpJS5bU6Ozubsg0AADRHlGoAAAAA6lZN5VlGRoby8/MlUZ7VtsrT4i1ZskTffvutLr/8ck2YMEFWq1UxMTHy8/MzOma9ycvL04QJE2Q2m7VmzRr17t3b6Ej17vjx47r++uuVl5enxMRERUVFGR2p3pw4cULr16+X3W7XypUrderUKYWGhspms8lqtWr06NEymUxGx2x0nE6nvv7662qv7VlZWSoqKpJE2QYAAJokSjUAAAAAtePYsWPauXNnxYiz8gOtx48flyR16dKl4sBqeHi4QkJCFB4eroCAAIOTN37Hjh3T6tWr5XA4lJSUpNOnTys0NFTx8fGy2WwaMmRIsywOMjMzFRMTo8DAQCUmJjbrv7WzZ89q2rRp2rRpk5YsWdKk15P7IS6XS8nJyXI4HFq6dKlyc3MVEBCg2NhY2Ww2TZo0icLnEjmdTu3Zs6fKFyiys7O1a9culZaWytfXV0FBQQoPD1dYWJgiIiIUFhamAQMGsAYeAABoDCjVAAAAAPw4BQUFyszMVEZGRsXPjIyMimkbO3XqpIiIiIrSrPxn165dDU7etOzbt092u10JCQlKTk6Wn5+fxowZI6vVqmnTpjXZ9bMu1Oeff67rr79eERERWrFihdq1a2d0JMOVlpbqjjvu0NKlS/XBBx9o+vTpRkcyVGZmphwOh+x2u7Zs2aIWLVpo3LhxstlsstlsrNNYi5xOp3Jzc6uMbMvIyFBubq7KyspksVg0YMCAiqItNDRUERERCg4Olo+Pj9HxAQAAylGqAQAAAKhZWVmZdu/eXWVqr8zMTOXk5MjtdsvPz099+/ZVdHR0lSm+goKCmuWoqLpWeZTNihUrlJOToy5dumjixImy2WyKjY1V27ZtjY7ZIKxatUrTp0/X+PHjtWjRIrVo0cLoSA2Gx+PRI488ogULFujvf/+7fvaznxkdqUE4evSoEhMT5XA4tHr1ahUVFSkqKkpWq1U2m03R0dFGR2ySysrKdODAAWVmZlZZt+3c95ny95jy9xveZwAAgEEo1QAAAIDmrqa1cVJSUrRr1y65XC5ZLBb169ev2to4ISEhjCCoY2fPntWGDRuUkJAgh8OhEydOKDg4uOJA/9ixY2U2m42O2aD885//1J133qlbbrlFb731Fo/PD5g3b54ef/xxzZ07V88995zRcRqUoqIirV+/vmIU26FDh6o8766++mqmKqxjpaWlys3NrVK0ZWVlKS8vTx6PR+3bt1ffvn2rvCcNHTqU0YUAAKCuUaoBAAAAzcnBgwerFGdZWVnKyspSUVGRzGazevfuXeUgZVhYmMLDw+Xv72909Gbjq6++0po1a2S327V27Vq5XC6NGDFCNptNkydP1sCBA42O2GC9/PLLmjNnjh544AHNnz+fkSxevPvuu5o1a5Zmz56tl156iZK8Bm63W6mpqbLb7XI4HEpJSVGnTp00btw4Wa1WTZ48We3btzc6ZrNx6tSpijXbyt/DMjIylJ+fL0nq2LFjtfewyMhIdenSxeDkAACgiaBUAwAAAJqiEydOVJtOa8eOHTpz5owkqXv37tVGng0ZMkStWrUyOHnzlJmZWTEabfv27WrVqpWuueYa2Ww2TZkyhfXoLkD5yKvnnntOc+fONTpOo7FixQrdcsstiomJ0cKFC5kq04vytQwdDoc2btwoj8ej4cOHKz4+XjfeeKN69epldMRmqfw9r/KXRtLT03X69GlJvOcBAIBaQ6kGAAAANGbnHkjMyspSenq6jhw5Iqn6t/ajo6MVGRmpNm3aGJy8eSsuLtamTZtkt9u1ZMkSffvtt+rTp49iYmJktVoVExMjPz8/o2M2Ch6PRw8//LBeeuklvfrqq5o1a5bRkRqdjRs3avLkyRoyZIiWL1+udu3aGR2pUTh+/Lg++eQT2e12rVixQgUFBQoNDZXNZpPVatXo0aMZLWmwyqOzy3+mpqaqsLBQvr6+6tOnD6OzAQDAj0GpBgAAADQGp0+fVkZGRsUpMzNTO3furCjPOnXqpIiICIWFhSkiIkKhoaEKDw9Xp06dDE6Oct99951WrVolh8OhpKQknT59mgPwl6i0tFR33HGHli1bpg8//FDTpk0zOlKjlZGRodjYWAUGBmr16tWMjvyRnE6ntm7dqoSEBC1btkwHDhxQ165dFRMTo/j4eE2YMIGipoFwOp3Kzc2t9n66d+9euVwu+fn5KTQ0VKGhoYqIiFB4eLgiIiLUp08fo6MDAADjUaoBAAAADYnT6dTXX39dberGnJwcud1u+fv764orrlB0dHSVb9YHBQVRyDRAlaeK+/TTT2U2mzVmzBhZrVZNnTpVPXv2NDpio1VYWKipU6dq06ZNWrp0qa677jqjIzV6+/fvV0xMjJxOp9asWaO+ffsaHanRyszMlMPhkN1u15YtW9SyZUtde+21stlsiouLU2BgoNERcY7i4mJlZ2dXKdoyMzP11VdfSZLat29fUbANGjSoonDr0KGDwckBAEA9olQDAAAAjFLTumfbt29XUVGRzGazevfuXTFlY3mBFhISIh8fH6Oj4we4XC4lJyfL4XBo5cqVys7OVufOnXXttdfKarVqypQpTK1XC06cOCGbzabs7GytWrVKI0aMMDpSk3H48GFNmjRJBw8eVGJioiIjI42O1OgdOXJESUlJSkhI0Lp16+R0OhUZGSmr1arp06crNDTU6Ig4j4KCAuXm5lZ5v96xY4eOHj0qqep6beXv12FhYaxPCABA00SpBgAAANS1mg7I1bTuWeXyLDo6Wi1btjQ4OS5EYWGhPvnkEzkcDq1YsUKHDx9WcHCwrFarbDabxo4dK7PZbHTMJiM/P18xMTE6efKk1q5dqwEDBhgdqck5c+aMpk6dqi1btmjZsmUaP3680ZGajMqvFytXrlR+fn6V14urr75aFovF6Ji4AJXXa6v85Zji4uIf/GJMaGgoo8oBAGjcKNUAAACA2uJt6sZ27dqpX79+VQ6yDRo0iLWLGqGvv/5aSUlJstvt1Uae3HTTTQoJCTE6YpOUl5enCRMmyGKxaM2aNerVq5fRkZqs0tJS3X777Vq+fDnr1dURl8ultLQ02e12JSQkKCsri5GtjdwP7QdkZ2fL4/HUuB8wePBgBQQEGB0dAABcGEo1AAAA4GLU9A31rKwspm5sws63RtLkyZPVrVs3oyM2aRkZGYqJiVGPHj20evVqDkLXA5fLpQcffFBvvPGGXn75Zd17771GR2rSWIOx6WIKSQAAmgxKNQAAAOB8fsyBMKZubFqKi4u1adMm2e12LV26VN988426du2qmJgYxcfHa8KECfL39zc6ZrPw2WefKS4uTkOGDNGKFSvUtm1boyM1K/PmzdOvf/1rPfbYY3ruueeMjtMsfPfdd9qwYYPsdrtWrFihgoIChYaGymazyWq1avTo0Uwj2AScbwpJi8Wifv36VSvbgoKC+H8PAIBxKNUAAAAA6fspm3bt2lVxQIspm5onDmQ3PA6HQ9OnT1dMTIwWLlzIyA2DvPPOO5o9e7buvfde/e1vf2PUbT2qqeDv3bu3YmNjZbVaKfibmLKyMu3evbta2ZaXlyePx6P27durb9++VfZHIiMj1aVLF6OjAwDQHFCqAQAAoPn55ptvlJ6ervT0dO3YsUMZGRnatWuXysrK5Ofnp4EDByo8PFyDBg1SRESEwsPD1bt3b6Njo45UnnJt48aN8ng8Gj58uOLj43XjjTeybpeBPvzwQ91111269dZb9eabb8psNhsdqVlbvny5brnlFk2aNEkfffQRBadBmIq2eTpx4oR27typjIwMpaenV/y7oKBAkhQUFKSIiAgNGjRIgwYNUmRkpK644goKcAAAahelGgAAAJqu4uJiZWZmVhRo6enpSktL0/HjxyVJvXv3rijOBg0apPDwcA0YMEAWi8Xg5KhLbrdbqampstvtSkhIUFZWljp16qRx48bJarVqypQpateundExm72XXnpJDz30kB599FE9++yzjBBsID799FNNmTJF0dHRWrZsGc8Vg3311Vdas2aN7Ha71q1bJ6fTqREjRshmsykuLk4hISFGR0Qdy8vLU0ZGhnbu3FnxZaHc3Fy5XC61bt1a4eHhGjx4cMUpIiKC5y0AABePUg0AAABNw4kTJyqmSSqfKikjI0MlJSUV65KUT5MUGhqq4cOHq2vXrkbHRj0pLCzUJ598IofDoZUrVyo/P1/BwcGyWq2y2Wy6+uqrKVMbkHnz5unxxx/XvHnz9OijjxodB+fYuXOnYmNj1aNHD61atYrX0gai8uvcihUrdPjw4Sqvc2PHjmW0ZzNRPoVk5XXaPv/88yrrwVbeJ4qOjlZISAij2gAA8I5SDQAAAI1LTQeKvvjiCx0+fFjS9weKKh8kio6O1sCBA+Xr62twctS3I0eOKCkpSQkJCVq3bp3KysoUFRVVcYA5Ojra6Ig4h8vl0v33368333xTr7/+uu6++26jI+EH5OXlKSYmRi6XS2vXrtUVV1xhdCRU4nK5lJycXFGw5eTkqEuXLpo4caJsNptiY2PVtm1bo2Oinh08eLDKWm0pKSnKycmR2+1W27Zt1b9//yr7T5GRkWrTpo3RsQEAaEgo1QAAANBwMfoMP9b51hqKi4tTYGCg0RHxA0pLSzVz5kytWLFCH330kaZOnWp0JHiRn5+vSZMmKT8/X6tXr1ZkZKTRkfADKq8d+emnn8psNmvMmDGyWq2aNm2aLrvsMqMjwiClpaXKzc2tsq+Vmpqq7777TtL/RrVV3t8KDQ1lSl4AQHNFqQYAAADj1TT67Msvv1R+fr6k6qPPwsLCFBERIT8/P4OTw2hOp1Nbt25VQkKCli1bpgMHDqhr166KiYmRzWbTpEmT1Lp1a6NjwouzZ89q6tSp2rx5s5YtW6bx48cbHQkX6MyZM7rxxhv1xRdfaOXKlfrJT35idCR4cezYMa1evVoOh0NJSUk6ffq0QkNDFR8fL5vNpiFDhlCYQAcPHqyyX1Z5VFu7du0UERFRZd8sKiqK91sAQHNAqQYAAID6xegzXKrjx4/rk08+kd1u18qVK3Xq1CmFhobKZrPJarVq9OjRHBBuRE6cOKHrr79e+/btU2JioqKiooyOhB+ppKREM2fO1MqVKxll2MgUFxdr06ZNstvtWrJkib799lv16dNHMTExslqtiomJ4QssqHD69Gnt3r27yn7cjh07dObMGfn6+qpPnz5VvgDFqDYAQBNEqQYAAIC6UT76rPI3nL2NPgsPD5e/v7/BydEQ5eXlaeXKlXI4HNq4caPcbrdGjBih+Ph43XDDDerdu7fREXERDh06pJiYGBUUFGjt2rXq37+/0ZFwkSqvh/fqq69q1qxZRkfCRcjMzFRCQoIcDoe2b9+uVq1a6ZprrlF8fLzi4uLUoUMHoyOiASof1VZ5ZFt2drY8Ho/at2+v8PDwauvdtmzZ0ujYAABcDEo1AAAAXLqjR48qLS1Nqamp2rFjh9LT05WTkyOn06kWLVooLCxMgwcP1qBBgzRo0CANHjxYnTp1Mjo2GjC3263U1NSKNYBSUlLUqVMnjRs3TlarVZMnT1b79u2NjolLsG/fPk2YMEF+fn5au3atevbsaXQk1IJ58+bp8ccf1+9+9zs9+eSTRsfBJfjqq6+0Zs0a2e12rV27Vi6XSyNGjJDNZtOUKVM0YMAAoyOiATtx4kTFPmF6erp27NihjIwMFRcXy2w2a+DAgRo8eLAiIyMVGRmpqKgode7c2ejYAAB4Q6kGAACAC+fxeLRv3z6lpqYqLS2t4vTtt99Kknr06KHIyMiK4mzQoEHq37+/zGazwcnRGBQVFWn9+vVyOByy2+06dOiQgoKCZLPZZLPZdPXVV8tisRgdE7UgJSVFkyZNUp8+fbR69Wp16dLF6EioRS+//LLmzJmj+++/X/Pnz5ePj4/RkXCJzp49qw0bNighIUF2u10nT55UcHCwrFar4uPjNWrUKP4/wyun06ndu3dXlGw7duxQWlqaDh06JEnq1auXoqKiKkq2yMhIXX755caGBgCgKko1AAAA1Kx8+sbK0/mkpqbqu+++k/T99I3lU/hER0dr2LBhCgwMNDg1GpujR48qMTFRDodDiYmJKiwsVFRUlKxWq2w2m6Kjo42OiFq2ceNGxcXFaejQoVq+fLnatm1rdCTUgWXLlunWW2/VjTfeqHfffZdCvAlxuVxKTk6Ww+HQ8uXLtWvXLnXp0kUTJ06UzWbTxIkT1aZNG6NjohE5d73dlJQU5eTkyO12q127doqIiKiyTtuwYcOYLhwAYBRKNQAAAEgFBQVKT0+vshZGSkqKiouLZbFY1K9fvyoFWlRUlFq3bm10bDRSmZmZFaPRtmzZohYtWmjcuHEVI9K6d+9udETUEbvdrptuukmxsbFauHAhB0WbuH//+9+aMmWKhg0bpmXLllGgNlH79u2T3W5XQkKCkpOT5e/vr9GjR1eMYuvRo4fREdEInTlzRrt27apStm3fvl1FRUXsmwIAjESpBgAA0NyULyZfuTwrX0y+Q4cOCgsLqzhAERYWpoiICPn5+RkdG41Y5VENy5Yt0+7duxUQEKDY2FhGNTQjH3zwge666y7NmjVLf//735kqrpmoPNXnqlWrFBAQYHQk1KFjx45p9erVjD5GnXA6ndq1a1eV/ditW7fq2LFjkphFAQBQLyjVAAAAmqryAw+Vy7Nt27bpyJEjkqoeeCifTic0NFQmk8ng5GgKTpw4ofXr18tut1esvxMaGiqbzSar1cr6O03Q888/r0GDBmnChAnVLluwYIF++ctfau7cuXruuecMSAcj7du3TzExMTKbzVqzZo169+5dbZtHH31Uv/rVrzgA3oQUFRVp8+bNstvtWrx4sQ4ePKjLL79cEyZMkNVqVUxMDF/aQa0o/8JY5SnL9+3bJ+n7/d3y/dzy/d6QkBD2QQAAF4tSDQAAoCmoaYqc1NRUFRYWymw2q3///lXKs5EjR6pLly5Gx0YTs3//fq1du1Z2u11r166Vy+XSiBEjZLPZdMMNN6h///5GR0QdOX78uPr06SO3263PPvusYjSKx+PRU089paefflp/+ctf9Ktf/crgpDBKfn6+Jk6cqMOHDyspKUmDBg2quOzJJ5/UU089pXvvvVevvfaagSlRV9xut1JTU2W32+VwOJSSkqKOHTtq/PjxslqtiouLU4cOHYyOiSbk5MmTysjIqFK27dq1Sy6Xq2Kdtspl29ChQ9WiRQujYwMAGj5KNQAAgMbmQhZz5yAB6gMHSVFu7ty5mj9/vtxut9q2bautW7eqb9++uu+++/T222/rjTfe0F133WV0TBjs5MmTmjx5snbu3KmVK1dqzJgxevXVV/Xzn/9ckuTr66usrCwK+GYgLy9P69at40sYqFelpaXKzc2tsg/9Q+u0hYWFaciQIerUqZPRsQEADQulGgAAQEPl8XiUm5urtLQ0paamKi0tTWlpacrPz5ck9erVS5GRkVVOwcHBBqdGU8d0XjjXwYMHFRwcrJKSEkmS2WxW586dNXToUK1fv14LFy7UDTfcYHBKNBQlJSWaMWOGVq9erYcffljPPPOM3G63JMlischqtWrp0qUGp0R98jZd8OjRo5maGnWmrKxM2dnZ1fa3T548KR8fH/Xt21eRkZGKiopSVFSUhgwZwtqQANC8UaoBAAA0FOeuB5GcnKzvvvtOvr6+6tOnT5W1IK688kp169bN6MhoRBYtWqTCwkL99Kc//dHXPXbsmFavXi2Hw6HExEQVFhYqKipKVqtVNputYqo/NE/33HOP3n//fZWVlVWcZ7FYZLFYtHDhQsXFxRmYDg2Ry+XS5MmTlZSUJLfbrXMPS2zevFmjRo0yKB2M5HK5lJycLIfDoWXLlmn37t0KCAhQbGysbDabJk6cqDZt2vzo233wwQc1Z84c9evXrw5SoymqvF9evj5xdna2PB5PlXWJo6OjNWzYMNaDBIDmg1INAACgvrlcLmVnZ2v79u3avn27UlJSlJaWpjNnzshisSg8PFzR0dEaMmSIoqOjFRERoZYtWxodG41UYWGhHnzwQb399tu66qqrtHHjxgu63r59+2S325WQkKDk5GT5+/tr9OjRslqtio+PV48ePeo4ORqD3bt3KyQkpGKkUWUWi0VhYWH67LPP1LZtWwPSoaFKT0/X6NGjVVhYWO1vx2w2a9iwYdqyZYtB6dCQZGZmyuFwyG63a8uWLWrRooXGjRsnm80mm82m7t27e72NI0eOKDAwUC1atNAbb7yhGTNm1ENyNEVHjx6t2HcvP3311VeSvp9BovL+e3R0NF+AA4CmiVINAACgLjmdTu3atavKh++0tDSdPXu22toN5ScKNNSWnTt3aurUqcrLy5PT6ZSvr6+OHTtW4zpnlUcHLF++XLt27VKXLl00ceJE2Ww2xcbGUoygmhtuuEGrVq2qMkqtMrPZrJEjR2rt2rWs7QhJ0t69ezV8+HCdPHlSLpfrB7dzOBy6/vrr6zEZGrqjR48qMTHxR4+afueddzRr1qyKv7eZM2fqlVdeuagRb8C5Tp06pZ07d1bZ1/+hEW1Dhw69oCIYANCgUaoBAIDm49tvv9Vll11WZ7dfU4GWmpqqwsLCGgu0oUOHcpAZdeb999/X7Nmz5XK55HQ6JUk+Pj764IMPdOutt0qSzp49qw0bNighIaFiHZvg4OCK0WijRo2Sj4+PkXcDDdgXX3yh4cOHV5u671wmk0mTJ0/W4sWL5evrW0/p0BAdOnRIw4cP16FDhypel2ri6+urfv36KSMjg78Z1KioqEjr16+vGMV26NAhBQUFVYxgu/rqq2WxWCRJcXFxWr16dUWpZrFY1LNnTy1ZskRRUVFG3g00UQ2laFuxYoUmTpzIWrcAULso1QAAQNNXUFCg3//+93r77bd1/PjxWjlAV1ZWpt27d1f5sLx9+3YVFRXJz89Pffv2rbbWgr+/fy3cG+D8CgoKdM899yghIaHaZWazWbFPYUcvAAAgAElEQVSxsbruuuu0cuVKffbZZ/J4PLrqqqsUFxcnm82m4OBgA1KjMbrmmmu0efPmHxylJn3/NydJ06ZN0wsvvMC0oc3csmXL9Itf/EIHDhyQ2Ww+b7Hm4+Ojt956S3feeWf9BUSjVD7S2m63a+XKlcrJyVHnzp01adIkxcbG6q677lJJSUmV65jNZplMJv3lL3/RnDlzZDKZDEqP5qKgoEDp6elei7awsDCFhoYqLCzskn6fx+NRx44d1blzZ73xxhsaN25cLd0TAGj2KNUAAEDT9s9//lO/+MUvdOLECblcLqWnpysiIuJH3UZNBVpKSoqKi4vVpk0bDR48uMoH4YiICL4RCkNs27ZN06ZNO+8oEIvFIj8/P11zzTWKj4+XzWZTx44d6zkpGru1a9cqJiamxsvKRze2b99es2fP1v33369evXrVZzw0YG63Wxs2bNALL7ygNWvWyGKxqLS0tNp2JpNJAQEBysvLU6tWrQxIisYqLy9PK1eulMPh0Keffuq1vJ04caLee+89de7cuR5TAjUXbTk5OXK73erYsaNCQ0OrfEnvxxRtubm56t+/v3x8fOR2uxUfH6/58+fz5RYAuHSUagAAoGnavXu37rvvPm3YsEEmk0kej0e+vr56/fXXdffdd//g9UpLS5Wbm1vlw+2XX36pkpIStW3bVoMGDary4TYkJITp8WA4j8ejv/3tb/rVr34lSeddp0iSEhMTFRsbWx/R0AR5PB4NHTpU6enpVQ5WWywWlZWVKSwsTHPmzNHMmTNZIxLnlZubq7feekuvvPKKCgsL5Xa7q0wn6uvrq2effVaPPvqogSnRmN1xxx3617/+VWNxW85isahTp076+OOPddVVV9VjOqC62iraPvzwQ91xxx1yu92SJD8/P/n4+Oixxx7Tb37zG74ACAAXj1INAAA0LYWFhfrzn/+sZ555Rh6Pp9oB37vuukuvvfaaJOnMmTNKS0tTSkqKsrKylJmZqS+++EKlpaVq166dIiIiKNDQ4B05ckS33XabPvnkE69rW0nfPw/uu+8+LViwoB7SoSn6+OOPdfPNN1f8vVksFjmdTsXGxurhhx/W+PHjDU6Ixub06dNauHChnn/+eeXm5laZGrJNmzb66quv1KlTJ4NTorHxeDzq1q2bjh496nVbX19feTwePfHEE3riiSdYyw8NyunTp7Vjx44ai7YOHTooLCysWtE2Z84cvf7669UKZR8fH11++eV6/fXXeb8GgItDqQYAAJoOu92un/3sZzpy5MgPTvVz2WWXaezYsUpJSdHu3bvldrvVpUsXDRkyRNHR0RU/g4KC6jk98OMlJSXptttuU0FBwXmntzrXZZddpm+++aYOk6Gpcjqd6t+/v/Ly8uTj46PWrVvrvvvu0/3336/evXsbHQ+NnMfj0bp167RgwQIlJibKx8dHLpdLc+fO1bx584yOh0bmiy++0JVXXvmjrmMymTRq1CgtWrRIl112WR0lAy5dQUGBtm/fXmVt59zcXLndbnXr1k1FRUUqKCio8bq+vr5yuVy67bbb9MILL6hbt271nB4AGjVKNQBAVR9//LFuuukmo2MAF2TatGlKSEjQnj179POf/1zr1q2rWDfgh5hMJl133XW68sorKwo0bweCeV6gKSt/HtUVnj9oyury+RMfH6/FixfXyW0DRlu0aJGmT59eJ7dtMpnq5HaBhuB8h3ELCgqUmpqqbdu26de//vV5PxNJ34809/f31x//+Ec98MADuvnmm3nfQaNRl+8jgBcJZqMTAAAapkWLFhkdATivF198US6XS08++aSeeeaZivO9fXj0eDx68sknNXLkyB/9O3leoKEoKSnRyZMnVVRUpLKyMhUXF6ukpEROp1NnzpyR0+lUSUmJiouL5XQ6VVhYqNLSUpWW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FRcXp5CQEN18882KiIhQly5dVKNGDavDLHGMMfr44481evRo1apVS5999platWpldVgAPNTlRq9xM5h3oagGoCBefvllTZo0SYcPHy5x3x+RbxTVAPzt0KFDmjdvnqKjo7VgwQI5HA517NhRkZGR6tmzp8qWLWt1iCjGKKp5v3Xr1mnKlCmaNm2a4uPjdeutt2rYsGHq2bPnJSNWYI3U1FTt2LGj2BXQcpIxMnLChAkaPny41eFcscyjyjKPIsv+57Fjx5SWluZ8XalSpZxFsdwKZqGhoYX+WScmJmrChAl65ZVXFBYWpvfee09dunQp1HN4ouzrsf36669KSkrKsh5bp06dVL58eatDLTH27t2roUOH6ueff9aIESM0duxYBQYGWh0WAA+2detWTZkyRZMnT1ZCQgKj17wIRTUABbF7927Vr19fCxcuVKdOnawOB56NohpQ0u3fv19z5sxRVFSUVqxYoYCAAHXo0EGRkZG68847Vbp0aatDRAlBUc07HTlyRLNmzdJnn32mzZs3q2HDhrrnnnt07733KiQkxOrwSrSSVEC7nEcffVQzZszQrl27VK5cOavDuYQxRkePHnWuU3b06FEdPnxYx44dc067GBsbqyNHjighIcH5OrvdrsqVKys0NFRVqlRRSEiIwsLCVLlyZYWFhTnXMgsNDVVAQIAl7y06OlojR47UsWPH9Pjjj3v1VI9XKjExUcuXL3cW2TZs2CCbzZZlPbZ27dqV2J+Pu2SMWnv88cdVuXJlffrpp2rfvr3VYQHwcNlHr11zzTW67777GL3mwSiqASioG264QY0bN9bnn39udSjwbBTVgJJoz549io6OdhbSgoOD1a1bN0VGRuq2226jUweWoKjmPS5cuKCFCxdq6tSpmjNnjgIDA9WvXz8NHjxYN910k9XhlUi5FdBKly6tpk2bFvsCWk7i4uJUv359DR06VGPHjnX7uXObgvHIkSM6ePCgUlJSnK8pVapUrqPJMp6rUaOGx05Jsnv3bo0cOVLff/+9unfvrokTJzLtYTYnTpzQ0qVLtXjxYi1atEh79+5VYGCgbrzxRtZjc4OYmBg9+OCDmjt3roYOHaq3336bm8gA5Amj17wDRTUABfXuu+/qxRdfVGxsrGU3J8IrUFQDSootW7YoKipKUVFR2rp1qypWrKiuXbsqMjJSXbp0YWo2WI6imufL6Ej4/PPPdeLECYWHh+vuu+/WwIEDFRQUZHV4JUZOBbT169crMTGxRBfQLufdd9/Vv//9b23dulV169a94uMdPXpUR48e1aFDh5x/xsbG6vDhw84/jx49mqVYFhQUpGrVqikkJETVq1dXSEiI898Zf4aFhXl1x35iYqLGjRuncePGqWbNmpowYYJuu+02q8PyCpnXY/vxxx918uRJVa5cWe3bt1dERIQ6d+5c7Nag8wRRUVF68MEHVa5cOX3yySfq0KGD1SEB8BJnz57VV199pcmTJ2vdunXO0WsPPPCAKlSoYHV4JR5FNQAFFRsbq2rVqunrr79Wnz59rA4HnouiGlCcZRTSvv76a+3YsUPVq1dXr169dPvtt+uWW27x2LvcUTJRVPNMp0+f1qxZszRlyhQtX75c1atX11133aXhw4erdu3aVodX7FFAu3IpKSlq0qSJmjdvrq+//vqy+2Vesyzzn3v27HH+/dChQ7pw4YLzNa5GlmX+sziLjo7WI488ouPHj+vxxx/XM888Iz8/P6vD8krp6enasGFDruuxRUREKDg42OpQi4XY2FiNGDFCc+bM0dChQ/XWW2+pTJkyVocFwIusW7dOkydP1owZM5SSksLoNQ9AUQ3AlejUqZPKli2rb775xupQ4LkoqgHFSXp6ulasWKG5c+dq9uzZ2r17t2rVqqU77rhDkZGRatu2LRf28FgU1TxHenq6fvzxR02ZMkXffPON0tPTdfvtt9NBUMTyW0Br0KCBfH19rQ7b4yUmJmrKlCl68MEHNWbMGJUtW/aS4tmBAwd07tw552soluXNrl27NHLkSC1YsEB9+vTRO++8o2rVqlkdVrHCemzuERUVpREjRigoKEiTJ09mlCWAfMsYvfbRRx9p/fr1atCgge69915Gr1mAohqAK/HZZ59pxIgRio2NVfny5a0OB56Johrg7dLS0rRy5Urn1I5HjhxRnTp11L17dwpp8CoU1ay3c+dOzZgxQ19++aX27dunli1batiwYRowYAB37hey3Apofn5+uvbaa9W2bVsKaLlISEjQgQMHnCPIDh06pCNHjjinYcyYnjE5Odn5Gh8fH9WuXVtVqlRRWFiYQkNDFRYWJn9/fzVp0sRZKCtXrpyF78zzJSQk6I033tDrr7+uBg0a6P3332c9RTc5e/asVq9e7SyyrVu37pL12Jo3b86I1QI4duyYHn74YUVFRSkyMlIffvihrrrqKqvDAuCFMo9eS01Ndd6cFhERYXVoJQJFNQBX4syZMwoNDdX777+vIUOGOLefPn1aO3fu1A033GBhdPAQFNUAb5ScnKxly5YpOjpaX3/9tY4dO6ZGjRopMjJSffv2VaNGjawOEcjVV199pbNnz2bZNnz4cA0dOlTXX399lu09e/ZU5cqV3RleiZKYmKi5c+dq8uTJWrJkiapUqaI+ffrogQce0LXXXmt1eMVCamqqtm7dqnXr1mnt2rVat26dNm3apKSkJAUFBalZs2aMQMvmxIkTiomJ0cGDB3X48GHn3zNvO336tHN/f39/Va1aVWFhYc7CWPZRZSdPntQtt9yiadOmacCAAZKk33//XY8++qhKlSql77//3qq361Wio6P1r3/9S/Hx8XrppZf00EMPMZ20hY4cOaJff/1Vixcv1ty5cxUTE6OKFSvq1ltvVUREhDp16sRUvfkUHR2tBx98UOnp6Zo0aZJ69epldUgAvNSZM2f09ddf68MPP9SGDRvUsGFD3XPPPRo6dChF+0Jy/Phxffvtt1m2rV27Vh9//LE++uijLNtLly6tu+66y53hAfBSvXv3Vnx8vKKjozV37lxNnTrVOTvHjBkzrA4P1qOoBniLxMRELV68WFFRUfruu+8UHx/vLKTddddduvrqq60OEcize+65R1OmTJHD4XBuS09Pl81mc46sTEtLU1BQkI4fP860VkUg+/oPnTp10t13361evXrRQX4FchqBtmHDBiUkJMjhcKh+/fpZCmg33HBDiVt7Ki4uLss6ZdnXLjt48GCWonupUqWyFMjq1KlzyRSMtWrVytPInCFDhmjRokVatmyZ/vOf/+jTTz+VMUahoaGKiYkpyrft9Xbu3KlHHnlEP/zwgwYNGqQ333xTISEhVoeFbPbs2eMcxbZgwQKdPXs2y3psHTt2pCM3D06fPq1///vfmjx5siIjIzVp0iRVrFjR6rAAeDFGrxWN5ORkVapUSefPn3felGaMkTEmy7VhSkqK7r77bn355ZdWhQrAS6Slpemll17S2LFj5e/vr8TERPn6+iotLU39+/enqAaJohrg2RISErRkyRJFRUXp22+/VUJCgsLDwxUZGak+ffooLCzM6hCBAlmwYIG6du2a6z4Oh0ODBw/Wp59+6qaoir/Dhw9r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X0uXLs210OIOR44cyTItY8af+/bt04EDB7JMzVipUiXVqFHDOdKsVq1aWUadVaxY0cJ34vnee+89PfbYY5KU45Qee/bsUe3atd0dllv88MMP6tq1a66j9ebOnatu3bq5MSp4q6NHj+qXX37R4sWLNX/+fB08eFClS5dWmzZtnEW2li1bXvK67t27a8GCBUpLS5Pdbld6erqeeOIJjRkzxuvW+3z++ec1duzYSzpcMvj6+mr06NEaN26cmyMDUFzFxcVpypQpmjx5srZu3arrr79eERERev311y/Z12azOae2Lik3VD3//PMaN27cJTdsbtq0Sdddd51FUQHwNmlpaercubN++eWXLPmEohoyoagG5JUxRhMmTNDo0aMlKccv0A888ICWLFmivXv3qmbNmrrzzjvVu3dvhYeHe90aPIC7NGjQQDt27Miy7Y8//lDjxo0tisg6UVFRGjRokNLT03NcHDc4OFjJycnq3bu37rvvPrVv395rc8vp06f14osvauLEifLx8clysbpr1y7Vq1cvx9fFx8fr999/z1JA27Ztm4wxqlKlirNw1rhxYzVq1CjHdvTDDz/omWee0bp16xQWFqZDhw4V2fuULnaAZB9dlvHYsWOHzp0759w3ODg4y8iyzKPN6tevz3qbheDbb79V//79lZaWdsn/5f/73/90xx13WBRZ0dm+fbtatWqlhISEyxbVfHx8VK1aNe3YscNrp+SDdTKvx7Zo0SKdPn1aoaGhateunSIiItStWzeFhISoXLlySkhIyPJaX19f1atXT1999ZWaN29u0TvIn02bNqlly5aXLahlsNls+uabb1yuiQoA+ZUxem3WrFk6f/78JYUk6WJ+7dq1q2bOnKnAwEALonSv7du3q2HDhlm21atXT7t27bIoIgDe6tSpU2rWrJmOHDmSpW+mb9++mjlzpoWRwUNQVAPyIj4+Xvfee6++++67y3ZG2e12lS9fXg888IB69+6tli1bFusppIDC8tprr+nll192fhFs1KiRtmzZYnFU7mWM0RtvvKGnn37a+e/LWbJkiTp06OCu0Apdenq6pk2bpscee0xnzpy5pHjo4+OjGTNmqF+/fjp9+rT++OMPlwW0li1bqlWrVgoNDc313EuWLNGzzz6r1atXy263KzU1Vb6+vkpMTLyiEcRnz57V3r17tW/fPu3du9f5yPj3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\n",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"plot_model(model, to_file='model.png')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from tensorflow.keras import optimizers"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"opt = optimizers.Adam(learning_rate=0.01)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def compile_multitask_model(model):\n",
|
||
" model.compile(optimizer=opt,\n",
|
||
" loss={\n",
|
||
" 'task_co_output': 'mean_squared_error',\n",
|
||
" 'task_so2_output': 'mean_squared_error',\n",
|
||
" 'task_no2_output': 'mean_squared_error',\n",
|
||
" 'task_o3_output': 'mean_squared_error',\n",
|
||
" 'task_pm25_output': 'mean_squared_error',\n",
|
||
" 'task_pm10_output': 'mean_squared_error',\n",
|
||
" },\n",
|
||
" metrics=['mse'],\n",
|
||
" )\n",
|
||
" return model"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"model = compile_multitask_model(model)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"new_train = np.expand_dims(train_data[feature_cols].values, axis=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"x_val, y_val = np.expand_dims(valid_data[feature_cols].values, axis=1), valid_data[out_cols]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"metadata": {
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
},
|
||
"tags": []
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2022-12-16 10:03:12.456442: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:176] None of the MLIR Optimization Passes are enabled (registered 2)\n",
|
||
"2022-12-16 10:03:12.474167: I tensorflow/core/platform/profile_utils/cpu_utils.cc:114] CPU Frequency: 2200000000 Hz\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch 1/100\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2022-12-16 10:03:15.809303: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" 11/294 [>.............................] - ETA: 4s - loss: 0.5554 - task_co_output_loss: 0.0512 - task_so2_output_loss: 0.0660 - task_no2_output_loss: 0.1084 - task_o3_output_loss: 0.1142 - task_pm25_output_loss: 0.0787 - task_pm10_output_loss: 0.1368 - task_co_output_mse: 0.0512 - task_so2_output_mse: 0.0660 - task_no2_output_mse: 0.1084 - task_o3_output_mse: 0.1142 - task_pm25_output_mse: 0.0787 - task_pm10_output_mse: 0.1368 "
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2022-12-16 10:03:16.467287: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11\n",
|
||
"2022-12-16 10:03:16.467348: I tensorflow/stream_executor/cuda/cuda_blas.cc:1838] TensorFloat-32 will be used for the matrix multiplication. This will only be logged once.\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"294/294 [==============================] - 10s 21ms/step - loss: 0.1347 - task_co_output_loss: 0.0189 - task_so2_output_loss: 0.0307 - task_no2_output_loss: 0.0218 - task_o3_output_loss: 0.0259 - task_pm25_output_loss: 0.0207 - task_pm10_output_loss: 0.0168 - task_co_output_mse: 0.0189 - task_so2_output_mse: 0.0307 - task_no2_output_mse: 0.0218 - task_o3_output_mse: 0.0259 - task_pm25_output_mse: 0.0207 - task_pm10_output_mse: 0.0168 - val_loss: 0.3267 - val_task_co_output_loss: 0.0630 - val_task_so2_output_loss: 0.0460 - val_task_no2_output_loss: 0.0553 - val_task_o3_output_loss: 0.0833 - val_task_pm25_output_loss: 0.0406 - val_task_pm10_output_loss: 0.0385 - val_task_co_output_mse: 0.0630 - val_task_so2_output_mse: 0.0460 - val_task_no2_output_mse: 0.0553 - val_task_o3_output_mse: 0.0833 - val_task_pm25_output_mse: 0.0406 - val_task_pm10_output_mse: 0.0385\n",
|
||
"Epoch 2/100\n",
|
||
"294/294 [==============================] - 5s 17ms/step - loss: 0.1027 - task_co_output_loss: 0.0156 - task_so2_output_loss: 0.0251 - task_no2_output_loss: 0.0161 - task_o3_output_loss: 0.0170 - task_pm25_output_loss: 0.0173 - task_pm10_output_loss: 0.0116 - task_co_output_mse: 0.0156 - task_so2_output_mse: 0.0251 - task_no2_output_mse: 0.0161 - task_o3_output_mse: 0.0170 - task_pm25_output_mse: 0.0173 - task_pm10_output_mse: 0.0116 - val_loss: 0.3224 - val_task_co_output_loss: 0.0679 - val_task_so2_output_loss: 0.0442 - val_task_no2_output_loss: 0.0556 - val_task_o3_output_loss: 0.0741 - val_task_pm25_output_loss: 0.0420 - val_task_pm10_output_loss: 0.0385 - val_task_co_output_mse: 0.0679 - val_task_so2_output_mse: 0.0442 - val_task_no2_output_mse: 0.0556 - val_task_o3_output_mse: 0.0741 - val_task_pm25_output_mse: 0.0420 - val_task_pm10_output_mse: 0.0385\n",
|
||
"Epoch 3/100\n",
|
||
"294/294 [==============================] - 5s 18ms/step - loss: 0.1002 - task_co_output_loss: 0.0155 - task_so2_output_loss: 0.0244 - task_no2_output_loss: 0.0157 - task_o3_output_loss: 0.0162 - task_pm25_output_loss: 0.0171 - task_pm10_output_loss: 0.0114 - task_co_output_mse: 0.0155 - task_so2_output_mse: 0.0244 - task_no2_output_mse: 0.0157 - task_o3_output_mse: 0.0162 - task_pm25_output_mse: 0.0171 - task_pm10_output_mse: 0.0114 - val_loss: 0.3274 - val_task_co_output_loss: 0.0685 - val_task_so2_output_loss: 0.0453 - val_task_no2_output_loss: 0.0533 - val_task_o3_output_loss: 0.0804 - val_task_pm25_output_loss: 0.0421 - val_task_pm10_output_loss: 0.0378 - val_task_co_output_mse: 0.0685 - val_task_so2_output_mse: 0.0453 - val_task_no2_output_mse: 0.0533 - val_task_o3_output_mse: 0.0804 - val_task_pm25_output_mse: 0.0421 - val_task_pm10_output_mse: 0.0378\n",
|
||
"Epoch 4/100\n",
|
||
"294/294 [==============================] - 5s 18ms/step - loss: 0.0990 - task_co_output_loss: 0.0154 - task_so2_output_loss: 0.0241 - task_no2_output_loss: 0.0155 - task_o3_output_loss: 0.0159 - task_pm25_output_loss: 0.0169 - task_pm10_output_loss: 0.0112 - task_co_output_mse: 0.0154 - task_so2_output_mse: 0.0241 - task_no2_output_mse: 0.0155 - task_o3_output_mse: 0.0159 - task_pm25_output_mse: 0.0169 - task_pm10_output_mse: 0.0112 - val_loss: 0.3540 - val_task_co_output_loss: 0.0716 - val_task_so2_output_loss: 0.0499 - val_task_no2_output_loss: 0.0584 - val_task_o3_output_loss: 0.0925 - val_task_pm25_output_loss: 0.0428 - val_task_pm10_output_loss: 0.0388 - val_task_co_output_mse: 0.0716 - val_task_so2_output_mse: 0.0499 - val_task_no2_output_mse: 0.0584 - val_task_o3_output_mse: 0.0925 - val_task_pm25_output_mse: 0.0428 - val_task_pm10_output_mse: 0.0388\n",
|
||
"Epoch 5/100\n",
|
||
"294/294 [==============================] - 5s 18ms/step - loss: 0.0973 - task_co_output_loss: 0.0152 - task_so2_output_loss: 0.0237 - task_no2_output_loss: 0.0152 - task_o3_output_loss: 0.0157 - task_pm25_output_loss: 0.0165 - task_pm10_output_loss: 0.0111 - task_co_output_mse: 0.0152 - task_so2_output_mse: 0.0237 - task_no2_output_mse: 0.0152 - task_o3_output_mse: 0.0157 - task_pm25_output_mse: 0.0165 - task_pm10_output_mse: 0.0111 - val_loss: 0.3306 - val_task_co_output_loss: 0.0740 - val_task_so2_output_loss: 0.0476 - val_task_no2_output_loss: 0.0566 - val_task_o3_output_loss: 0.0762 - val_task_pm25_output_loss: 0.0388 - val_task_pm10_output_loss: 0.0374 - val_task_co_output_mse: 0.0740 - val_task_so2_output_mse: 0.0476 - val_task_no2_output_mse: 0.0566 - val_task_o3_output_mse: 0.0762 - val_task_pm25_output_mse: 0.0388 - val_task_pm10_output_mse: 0.0374\n",
|
||
"Epoch 6/100\n",
|
||
"294/294 [==============================] - 5s 18ms/step - loss: 0.0952 - task_co_output_loss: 0.0150 - task_so2_output_loss: 0.0233 - task_no2_output_loss: 0.0149 - task_o3_output_loss: 0.0150 - task_pm25_output_loss: 0.0161 - task_pm10_output_loss: 0.0109 - task_co_output_mse: 0.0150 - task_so2_output_mse: 0.0233 - task_no2_output_mse: 0.0149 - task_o3_output_mse: 0.0150 - task_pm25_output_mse: 0.0161 - task_pm10_output_mse: 0.0109 - val_loss: 0.3430 - val_task_co_output_loss: 0.0713 - val_task_so2_output_loss: 0.0484 - val_task_no2_output_loss: 0.0545 - val_task_o3_output_loss: 0.0913 - val_task_pm25_output_loss: 0.0406 - val_task_pm10_output_loss: 0.0369 - val_task_co_output_mse: 0.0713 - val_task_so2_output_mse: 0.0484 - val_task_no2_output_mse: 0.0545 - val_task_o3_output_mse: 0.0913 - val_task_pm25_output_mse: 0.0406 - val_task_pm10_output_mse: 0.0369\n",
|
||
"Epoch 7/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0935 - task_co_output_loss: 0.0148 - task_so2_output_loss: 0.0230 - task_no2_output_loss: 0.0145 - task_o3_output_loss: 0.0148 - task_pm25_output_loss: 0.0157 - task_pm10_output_loss: 0.0108 - task_co_output_mse: 0.0148 - task_so2_output_mse: 0.0230 - task_no2_output_mse: 0.0145 - task_o3_output_mse: 0.0148 - task_pm25_output_mse: 0.0157 - task_pm10_output_mse: 0.0108 - val_loss: 0.3280 - val_task_co_output_loss: 0.0698 - val_task_so2_output_loss: 0.0498 - val_task_no2_output_loss: 0.0518 - val_task_o3_output_loss: 0.0827 - val_task_pm25_output_loss: 0.0373 - val_task_pm10_output_loss: 0.0366 - val_task_co_output_mse: 0.0698 - val_task_so2_output_mse: 0.0498 - val_task_no2_output_mse: 0.0518 - val_task_o3_output_mse: 0.0827 - val_task_pm25_output_mse: 0.0373 - val_task_pm10_output_mse: 0.0366\n",
|
||
"Epoch 8/100\n",
|
||
"294/294 [==============================] - 5s 18ms/step - loss: 0.0924 - task_co_output_loss: 0.0147 - task_so2_output_loss: 0.0228 - task_no2_output_loss: 0.0144 - task_o3_output_loss: 0.0144 - task_pm25_output_loss: 0.0154 - task_pm10_output_loss: 0.0107 - task_co_output_mse: 0.0147 - task_so2_output_mse: 0.0228 - task_no2_output_mse: 0.0144 - task_o3_output_mse: 0.0144 - task_pm25_output_mse: 0.0154 - task_pm10_output_mse: 0.0107 - val_loss: 0.3324 - val_task_co_output_loss: 0.0664 - val_task_so2_output_loss: 0.0478 - val_task_no2_output_loss: 0.0568 - val_task_o3_output_loss: 0.0857 - val_task_pm25_output_loss: 0.0391 - val_task_pm10_output_loss: 0.0366 - val_task_co_output_mse: 0.0664 - val_task_so2_output_mse: 0.0478 - val_task_no2_output_mse: 0.0568 - val_task_o3_output_mse: 0.0857 - val_task_pm25_output_mse: 0.0391 - val_task_pm10_output_mse: 0.0366\n",
|
||
"Epoch 9/100\n",
|
||
"294/294 [==============================] - 5s 18ms/step - loss: 0.0921 - task_co_output_loss: 0.0147 - task_so2_output_loss: 0.0228 - task_no2_output_loss: 0.0142 - task_o3_output_loss: 0.0143 - task_pm25_output_loss: 0.0154 - task_pm10_output_loss: 0.0107 - task_co_output_mse: 0.0147 - task_so2_output_mse: 0.0228 - task_no2_output_mse: 0.0142 - task_o3_output_mse: 0.0143 - task_pm25_output_mse: 0.0154 - task_pm10_output_mse: 0.0107 - val_loss: 0.3411 - val_task_co_output_loss: 0.0760 - val_task_so2_output_loss: 0.0514 - val_task_no2_output_loss: 0.0551 - val_task_o3_output_loss: 0.0839 - val_task_pm25_output_loss: 0.0378 - val_task_pm10_output_loss: 0.0370 - val_task_co_output_mse: 0.0760 - val_task_so2_output_mse: 0.0514 - val_task_no2_output_mse: 0.0551 - val_task_o3_output_mse: 0.0839 - val_task_pm25_output_mse: 0.0378 - val_task_pm10_output_mse: 0.0370\n",
|
||
"Epoch 10/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0912 - task_co_output_loss: 0.0146 - task_so2_output_loss: 0.0225 - task_no2_output_loss: 0.0142 - task_o3_output_loss: 0.0140 - task_pm25_output_loss: 0.0152 - task_pm10_output_loss: 0.0107 - task_co_output_mse: 0.0146 - task_so2_output_mse: 0.0225 - task_no2_output_mse: 0.0142 - task_o3_output_mse: 0.0140 - task_pm25_output_mse: 0.0152 - task_pm10_output_mse: 0.0107 - val_loss: 0.3283 - val_task_co_output_loss: 0.0608 - val_task_so2_output_loss: 0.0493 - val_task_no2_output_loss: 0.0555 - val_task_o3_output_loss: 0.0840 - val_task_pm25_output_loss: 0.0412 - val_task_pm10_output_loss: 0.0375 - val_task_co_output_mse: 0.0608 - val_task_so2_output_mse: 0.0493 - val_task_no2_output_mse: 0.0555 - val_task_o3_output_mse: 0.0840 - val_task_pm25_output_mse: 0.0412 - val_task_pm10_output_mse: 0.0375\n",
|
||
"Epoch 11/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0903 - task_co_output_loss: 0.0145 - task_so2_output_loss: 0.0223 - task_no2_output_loss: 0.0140 - task_o3_output_loss: 0.0139 - task_pm25_output_loss: 0.0151 - task_pm10_output_loss: 0.0105 - task_co_output_mse: 0.0145 - task_so2_output_mse: 0.0223 - task_no2_output_mse: 0.0140 - task_o3_output_mse: 0.0139 - task_pm25_output_mse: 0.0151 - task_pm10_output_mse: 0.0105 - val_loss: 0.3372 - val_task_co_output_loss: 0.0667 - val_task_so2_output_loss: 0.0468 - val_task_no2_output_loss: 0.0570 - val_task_o3_output_loss: 0.0868 - val_task_pm25_output_loss: 0.0421 - val_task_pm10_output_loss: 0.0377 - val_task_co_output_mse: 0.0667 - val_task_so2_output_mse: 0.0468 - val_task_no2_output_mse: 0.0570 - val_task_o3_output_mse: 0.0868 - val_task_pm25_output_mse: 0.0421 - val_task_pm10_output_mse: 0.0377\n",
|
||
"Epoch 12/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0903 - task_co_output_loss: 0.0146 - task_so2_output_loss: 0.0221 - task_no2_output_loss: 0.0140 - task_o3_output_loss: 0.0140 - task_pm25_output_loss: 0.0151 - task_pm10_output_loss: 0.0104 - task_co_output_mse: 0.0146 - task_so2_output_mse: 0.0221 - task_no2_output_mse: 0.0140 - task_o3_output_mse: 0.0140 - task_pm25_output_mse: 0.0151 - task_pm10_output_mse: 0.0104 - val_loss: 0.3458 - val_task_co_output_loss: 0.0723 - val_task_so2_output_loss: 0.0522 - val_task_no2_output_loss: 0.0577 - val_task_o3_output_loss: 0.0849 - val_task_pm25_output_loss: 0.0421 - val_task_pm10_output_loss: 0.0367 - val_task_co_output_mse: 0.0723 - val_task_so2_output_mse: 0.0522 - val_task_no2_output_mse: 0.0577 - val_task_o3_output_mse: 0.0849 - val_task_pm25_output_mse: 0.0421 - val_task_pm10_output_mse: 0.0367\n",
|
||
"Epoch 13/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0888 - task_co_output_loss: 0.0145 - task_so2_output_loss: 0.0221 - task_no2_output_loss: 0.0136 - task_o3_output_loss: 0.0135 - task_pm25_output_loss: 0.0149 - task_pm10_output_loss: 0.0102 - task_co_output_mse: 0.0145 - task_so2_output_mse: 0.0221 - task_no2_output_mse: 0.0136 - task_o3_output_mse: 0.0135 - task_pm25_output_mse: 0.0149 - task_pm10_output_mse: 0.0102 - val_loss: 0.3197 - val_task_co_output_loss: 0.0700 - val_task_so2_output_loss: 0.0454 - val_task_no2_output_loss: 0.0561 - val_task_o3_output_loss: 0.0697 - val_task_pm25_output_loss: 0.0413 - val_task_pm10_output_loss: 0.0373 - val_task_co_output_mse: 0.0700 - val_task_so2_output_mse: 0.0454 - val_task_no2_output_mse: 0.0561 - val_task_o3_output_mse: 0.0697 - val_task_pm25_output_mse: 0.0413 - val_task_pm10_output_mse: 0.0373\n",
|
||
"Epoch 14/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0880 - task_co_output_loss: 0.0144 - task_so2_output_loss: 0.0218 - task_no2_output_loss: 0.0135 - task_o3_output_loss: 0.0136 - task_pm25_output_loss: 0.0148 - task_pm10_output_loss: 0.0100 - task_co_output_mse: 0.0144 - task_so2_output_mse: 0.0218 - task_no2_output_mse: 0.0135 - task_o3_output_mse: 0.0136 - task_pm25_output_mse: 0.0148 - task_pm10_output_mse: 0.0100 - val_loss: 0.3524 - val_task_co_output_loss: 0.0685 - val_task_so2_output_loss: 0.0509 - val_task_no2_output_loss: 0.0649 - val_task_o3_output_loss: 0.0862 - val_task_pm25_output_loss: 0.0431 - val_task_pm10_output_loss: 0.0388 - val_task_co_output_mse: 0.0685 - val_task_so2_output_mse: 0.0509 - val_task_no2_output_mse: 0.0649 - val_task_o3_output_mse: 0.0862 - val_task_pm25_output_mse: 0.0431 - val_task_pm10_output_mse: 0.0388\n",
|
||
"Epoch 15/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0869 - task_co_output_loss: 0.0143 - task_so2_output_loss: 0.0216 - task_no2_output_loss: 0.0131 - task_o3_output_loss: 0.0133 - task_pm25_output_loss: 0.0146 - task_pm10_output_loss: 0.0099 - task_co_output_mse: 0.0143 - task_so2_output_mse: 0.0216 - task_no2_output_mse: 0.0131 - task_o3_output_mse: 0.0133 - task_pm25_output_mse: 0.0146 - task_pm10_output_mse: 0.0099 - val_loss: 0.3391 - val_task_co_output_loss: 0.0700 - val_task_so2_output_loss: 0.0516 - val_task_no2_output_loss: 0.0560 - val_task_o3_output_loss: 0.0836 - val_task_pm25_output_loss: 0.0413 - val_task_pm10_output_loss: 0.0365 - val_task_co_output_mse: 0.0700 - val_task_so2_output_mse: 0.0516 - val_task_no2_output_mse: 0.0560 - val_task_o3_output_mse: 0.0836 - val_task_pm25_output_mse: 0.0413 - val_task_pm10_output_mse: 0.0365\n",
|
||
"Epoch 16/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0865 - task_co_output_loss: 0.0142 - task_so2_output_loss: 0.0215 - task_no2_output_loss: 0.0130 - task_o3_output_loss: 0.0133 - task_pm25_output_loss: 0.0146 - task_pm10_output_loss: 0.0099 - task_co_output_mse: 0.0142 - task_so2_output_mse: 0.0215 - task_no2_output_mse: 0.0130 - task_o3_output_mse: 0.0133 - task_pm25_output_mse: 0.0146 - task_pm10_output_mse: 0.0099 - val_loss: 0.3357 - val_task_co_output_loss: 0.0661 - val_task_so2_output_loss: 0.0443 - val_task_no2_output_loss: 0.0613 - val_task_o3_output_loss: 0.0830 - val_task_pm25_output_loss: 0.0433 - val_task_pm10_output_loss: 0.0378 - val_task_co_output_mse: 0.0661 - val_task_so2_output_mse: 0.0443 - val_task_no2_output_mse: 0.0613 - val_task_o3_output_mse: 0.0830 - val_task_pm25_output_mse: 0.0433 - val_task_pm10_output_mse: 0.0378\n",
|
||
"Epoch 17/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0860 - task_co_output_loss: 0.0141 - task_so2_output_loss: 0.0215 - task_no2_output_loss: 0.0128 - task_o3_output_loss: 0.0133 - task_pm25_output_loss: 0.0145 - task_pm10_output_loss: 0.0097 - task_co_output_mse: 0.0141 - task_so2_output_mse: 0.0215 - task_no2_output_mse: 0.0128 - task_o3_output_mse: 0.0133 - task_pm25_output_mse: 0.0145 - task_pm10_output_mse: 0.0097 - val_loss: 0.3308 - val_task_co_output_loss: 0.0627 - val_task_so2_output_loss: 0.0482 - val_task_no2_output_loss: 0.0575 - val_task_o3_output_loss: 0.0835 - val_task_pm25_output_loss: 0.0412 - val_task_pm10_output_loss: 0.0376 - val_task_co_output_mse: 0.0627 - val_task_so2_output_mse: 0.0482 - val_task_no2_output_mse: 0.0575 - val_task_o3_output_mse: 0.0835 - val_task_pm25_output_mse: 0.0412 - val_task_pm10_output_mse: 0.0376\n",
|
||
"Epoch 18/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0851 - task_co_output_loss: 0.0140 - task_so2_output_loss: 0.0213 - task_no2_output_loss: 0.0127 - task_o3_output_loss: 0.0131 - task_pm25_output_loss: 0.0144 - task_pm10_output_loss: 0.0097 - task_co_output_mse: 0.0140 - task_so2_output_mse: 0.0213 - task_no2_output_mse: 0.0127 - task_o3_output_mse: 0.0131 - task_pm25_output_mse: 0.0144 - task_pm10_output_mse: 0.0097 - val_loss: 0.3331 - val_task_co_output_loss: 0.0693 - val_task_so2_output_loss: 0.0478 - val_task_no2_output_loss: 0.0560 - val_task_o3_output_loss: 0.0845 - val_task_pm25_output_loss: 0.0389 - val_task_pm10_output_loss: 0.0366 - val_task_co_output_mse: 0.0693 - val_task_so2_output_mse: 0.0478 - val_task_no2_output_mse: 0.0560 - val_task_o3_output_mse: 0.0845 - val_task_pm25_output_mse: 0.0389 - val_task_pm10_output_mse: 0.0366\n",
|
||
"Epoch 19/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0850 - task_co_output_loss: 0.0141 - task_so2_output_loss: 0.0213 - task_no2_output_loss: 0.0127 - task_o3_output_loss: 0.0131 - task_pm25_output_loss: 0.0143 - task_pm10_output_loss: 0.0096 - task_co_output_mse: 0.0141 - task_so2_output_mse: 0.0213 - task_no2_output_mse: 0.0127 - task_o3_output_mse: 0.0131 - task_pm25_output_mse: 0.0143 - task_pm10_output_mse: 0.0096 - val_loss: 0.3246 - val_task_co_output_loss: 0.0651 - val_task_so2_output_loss: 0.0469 - val_task_no2_output_loss: 0.0540 - val_task_o3_output_loss: 0.0813 - val_task_pm25_output_loss: 0.0401 - val_task_pm10_output_loss: 0.0372 - val_task_co_output_mse: 0.0651 - val_task_so2_output_mse: 0.0469 - val_task_no2_output_mse: 0.0540 - val_task_o3_output_mse: 0.0813 - val_task_pm25_output_mse: 0.0401 - val_task_pm10_output_mse: 0.0372\n",
|
||
"Epoch 20/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0849 - task_co_output_loss: 0.0139 - task_so2_output_loss: 0.0212 - task_no2_output_loss: 0.0126 - task_o3_output_loss: 0.0132 - task_pm25_output_loss: 0.0143 - task_pm10_output_loss: 0.0097 - task_co_output_mse: 0.0139 - task_so2_output_mse: 0.0212 - task_no2_output_mse: 0.0126 - task_o3_output_mse: 0.0132 - task_pm25_output_mse: 0.0143 - task_pm10_output_mse: 0.0097 - val_loss: 0.3308 - val_task_co_output_loss: 0.0662 - val_task_so2_output_loss: 0.0461 - val_task_no2_output_loss: 0.0560 - val_task_o3_output_loss: 0.0829 - val_task_pm25_output_loss: 0.0419 - val_task_pm10_output_loss: 0.0377 - val_task_co_output_mse: 0.0662 - val_task_so2_output_mse: 0.0461 - val_task_no2_output_mse: 0.0560 - val_task_o3_output_mse: 0.0829 - val_task_pm25_output_mse: 0.0419 - val_task_pm10_output_mse: 0.0377\n",
|
||
"Epoch 21/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0847 - task_co_output_loss: 0.0140 - task_so2_output_loss: 0.0212 - task_no2_output_loss: 0.0126 - task_o3_output_loss: 0.0131 - task_pm25_output_loss: 0.0142 - task_pm10_output_loss: 0.0097 - task_co_output_mse: 0.0140 - task_so2_output_mse: 0.0212 - task_no2_output_mse: 0.0126 - task_o3_output_mse: 0.0131 - task_pm25_output_mse: 0.0142 - task_pm10_output_mse: 0.0097 - val_loss: 0.3223 - val_task_co_output_loss: 0.0684 - val_task_so2_output_loss: 0.0467 - val_task_no2_output_loss: 0.0526 - val_task_o3_output_loss: 0.0764 - val_task_pm25_output_loss: 0.0407 - val_task_pm10_output_loss: 0.0376 - val_task_co_output_mse: 0.0684 - val_task_so2_output_mse: 0.0467 - val_task_no2_output_mse: 0.0526 - val_task_o3_output_mse: 0.0764 - val_task_pm25_output_mse: 0.0407 - val_task_pm10_output_mse: 0.0376\n",
|
||
"Epoch 22/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0843 - task_co_output_loss: 0.0139 - task_so2_output_loss: 0.0212 - task_no2_output_loss: 0.0124 - task_o3_output_loss: 0.0130 - task_pm25_output_loss: 0.0142 - task_pm10_output_loss: 0.0096 - task_co_output_mse: 0.0139 - task_so2_output_mse: 0.0212 - task_no2_output_mse: 0.0124 - task_o3_output_mse: 0.0130 - task_pm25_output_mse: 0.0142 - task_pm10_output_mse: 0.0096 - val_loss: 0.3512 - val_task_co_output_loss: 0.0668 - val_task_so2_output_loss: 0.0492 - val_task_no2_output_loss: 0.0601 - val_task_o3_output_loss: 0.0936 - val_task_pm25_output_loss: 0.0429 - val_task_pm10_output_loss: 0.0386 - val_task_co_output_mse: 0.0668 - val_task_so2_output_mse: 0.0492 - val_task_no2_output_mse: 0.0601 - val_task_o3_output_mse: 0.0936 - val_task_pm25_output_mse: 0.0429 - val_task_pm10_output_mse: 0.0386\n",
|
||
"Epoch 23/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0842 - task_co_output_loss: 0.0139 - task_so2_output_loss: 0.0210 - task_no2_output_loss: 0.0125 - task_o3_output_loss: 0.0131 - task_pm25_output_loss: 0.0142 - task_pm10_output_loss: 0.0096 - task_co_output_mse: 0.0139 - task_so2_output_mse: 0.0210 - task_no2_output_mse: 0.0125 - task_o3_output_mse: 0.0131 - task_pm25_output_mse: 0.0142 - task_pm10_output_mse: 0.0096 - val_loss: 0.3454 - val_task_co_output_loss: 0.0784 - val_task_so2_output_loss: 0.0555 - val_task_no2_output_loss: 0.0543 - val_task_o3_output_loss: 0.0824 - val_task_pm25_output_loss: 0.0385 - val_task_pm10_output_loss: 0.0362 - val_task_co_output_mse: 0.0784 - val_task_so2_output_mse: 0.0555 - val_task_no2_output_mse: 0.0543 - val_task_o3_output_mse: 0.0824 - val_task_pm25_output_mse: 0.0385 - val_task_pm10_output_mse: 0.0362\n",
|
||
"Epoch 24/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0836 - task_co_output_loss: 0.0138 - task_so2_output_loss: 0.0210 - task_no2_output_loss: 0.0123 - task_o3_output_loss: 0.0129 - task_pm25_output_loss: 0.0141 - task_pm10_output_loss: 0.0095 - task_co_output_mse: 0.0138 - task_so2_output_mse: 0.0210 - task_no2_output_mse: 0.0123 - task_o3_output_mse: 0.0129 - task_pm25_output_mse: 0.0141 - task_pm10_output_mse: 0.0095 - val_loss: 0.3357 - val_task_co_output_loss: 0.0700 - val_task_so2_output_loss: 0.0504 - val_task_no2_output_loss: 0.0496 - val_task_o3_output_loss: 0.0899 - val_task_pm25_output_loss: 0.0389 - val_task_pm10_output_loss: 0.0368 - val_task_co_output_mse: 0.0700 - val_task_so2_output_mse: 0.0504 - val_task_no2_output_mse: 0.0496 - val_task_o3_output_mse: 0.0899 - val_task_pm25_output_mse: 0.0389 - val_task_pm10_output_mse: 0.0368\n",
|
||
"Epoch 25/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0839 - task_co_output_loss: 0.0139 - task_so2_output_loss: 0.0210 - task_no2_output_loss: 0.0124 - task_o3_output_loss: 0.0130 - task_pm25_output_loss: 0.0141 - task_pm10_output_loss: 0.0096 - task_co_output_mse: 0.0139 - task_so2_output_mse: 0.0210 - task_no2_output_mse: 0.0124 - task_o3_output_mse: 0.0130 - task_pm25_output_mse: 0.0141 - task_pm10_output_mse: 0.0096 - val_loss: 0.3377 - val_task_co_output_loss: 0.0692 - val_task_so2_output_loss: 0.0468 - val_task_no2_output_loss: 0.0613 - val_task_o3_output_loss: 0.0822 - val_task_pm25_output_loss: 0.0414 - val_task_pm10_output_loss: 0.0368 - val_task_co_output_mse: 0.0692 - val_task_so2_output_mse: 0.0468 - val_task_no2_output_mse: 0.0613 - val_task_o3_output_mse: 0.0822 - val_task_pm25_output_mse: 0.0414 - val_task_pm10_output_mse: 0.0368\n",
|
||
"Epoch 26/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0832 - task_co_output_loss: 0.0138 - task_so2_output_loss: 0.0209 - task_no2_output_loss: 0.0123 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0140 - task_pm10_output_loss: 0.0095 - task_co_output_mse: 0.0138 - task_so2_output_mse: 0.0209 - task_no2_output_mse: 0.0123 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0140 - task_pm10_output_mse: 0.0095 - val_loss: 0.3335 - val_task_co_output_loss: 0.0690 - val_task_so2_output_loss: 0.0470 - val_task_no2_output_loss: 0.0558 - val_task_o3_output_loss: 0.0847 - val_task_pm25_output_loss: 0.0399 - val_task_pm10_output_loss: 0.0372 - val_task_co_output_mse: 0.0690 - val_task_so2_output_mse: 0.0470 - val_task_no2_output_mse: 0.0558 - val_task_o3_output_mse: 0.0847 - val_task_pm25_output_mse: 0.0399 - val_task_pm10_output_mse: 0.0372\n",
|
||
"Epoch 27/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0835 - task_co_output_loss: 0.0137 - task_so2_output_loss: 0.0209 - task_no2_output_loss: 0.0124 - task_o3_output_loss: 0.0130 - task_pm25_output_loss: 0.0140 - task_pm10_output_loss: 0.0095 - task_co_output_mse: 0.0137 - task_so2_output_mse: 0.0209 - task_no2_output_mse: 0.0124 - task_o3_output_mse: 0.0130 - task_pm25_output_mse: 0.0140 - task_pm10_output_mse: 0.0095 - val_loss: 0.3374 - val_task_co_output_loss: 0.0710 - val_task_so2_output_loss: 0.0454 - val_task_no2_output_loss: 0.0600 - val_task_o3_output_loss: 0.0830 - val_task_pm25_output_loss: 0.0411 - val_task_pm10_output_loss: 0.0369 - val_task_co_output_mse: 0.0710 - val_task_so2_output_mse: 0.0454 - val_task_no2_output_mse: 0.0600 - val_task_o3_output_mse: 0.0830 - val_task_pm25_output_mse: 0.0411 - val_task_pm10_output_mse: 0.0369\n",
|
||
"Epoch 28/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0830 - task_co_output_loss: 0.0137 - task_so2_output_loss: 0.0208 - task_no2_output_loss: 0.0123 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0140 - task_pm10_output_loss: 0.0094 - task_co_output_mse: 0.0137 - task_so2_output_mse: 0.0208 - task_no2_output_mse: 0.0123 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0140 - task_pm10_output_mse: 0.0094 - val_loss: 0.3246 - val_task_co_output_loss: 0.0701 - val_task_so2_output_loss: 0.0472 - val_task_no2_output_loss: 0.0619 - val_task_o3_output_loss: 0.0693 - val_task_pm25_output_loss: 0.0390 - val_task_pm10_output_loss: 0.0372 - val_task_co_output_mse: 0.0701 - val_task_so2_output_mse: 0.0472 - val_task_no2_output_mse: 0.0619 - val_task_o3_output_mse: 0.0693 - val_task_pm25_output_mse: 0.0390 - val_task_pm10_output_mse: 0.0372\n",
|
||
"Epoch 29/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0827 - task_co_output_loss: 0.0137 - task_so2_output_loss: 0.0207 - task_no2_output_loss: 0.0122 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0139 - task_pm10_output_loss: 0.0094 - task_co_output_mse: 0.0137 - task_so2_output_mse: 0.0207 - task_no2_output_mse: 0.0122 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0139 - task_pm10_output_mse: 0.0094 - val_loss: 0.3334 - val_task_co_output_loss: 0.0666 - val_task_so2_output_loss: 0.0500 - val_task_no2_output_loss: 0.0572 - val_task_o3_output_loss: 0.0805 - val_task_pm25_output_loss: 0.0421 - val_task_pm10_output_loss: 0.0370 - val_task_co_output_mse: 0.0666 - val_task_so2_output_mse: 0.0500 - val_task_no2_output_mse: 0.0572 - val_task_o3_output_mse: 0.0805 - val_task_pm25_output_mse: 0.0421 - val_task_pm10_output_mse: 0.0370\n",
|
||
"Epoch 30/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0827 - task_co_output_loss: 0.0137 - task_so2_output_loss: 0.0208 - task_no2_output_loss: 0.0121 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0139 - task_pm10_output_loss: 0.0095 - task_co_output_mse: 0.0137 - task_so2_output_mse: 0.0208 - task_no2_output_mse: 0.0121 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0139 - task_pm10_output_mse: 0.0095 - val_loss: 0.3452 - val_task_co_output_loss: 0.0703 - val_task_so2_output_loss: 0.0496 - val_task_no2_output_loss: 0.0563 - val_task_o3_output_loss: 0.0882 - val_task_pm25_output_loss: 0.0430 - val_task_pm10_output_loss: 0.0379 - val_task_co_output_mse: 0.0703 - val_task_so2_output_mse: 0.0496 - val_task_no2_output_mse: 0.0563 - val_task_o3_output_mse: 0.0882 - val_task_pm25_output_mse: 0.0430 - val_task_pm10_output_mse: 0.0379\n",
|
||
"Epoch 31/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0833 - task_co_output_loss: 0.0138 - task_so2_output_loss: 0.0209 - task_no2_output_loss: 0.0122 - task_o3_output_loss: 0.0130 - task_pm25_output_loss: 0.0140 - task_pm10_output_loss: 0.0094 - task_co_output_mse: 0.0138 - task_so2_output_mse: 0.0209 - task_no2_output_mse: 0.0122 - task_o3_output_mse: 0.0130 - task_pm25_output_mse: 0.0140 - task_pm10_output_mse: 0.0094 - val_loss: 0.3405 - val_task_co_output_loss: 0.0723 - val_task_so2_output_loss: 0.0471 - val_task_no2_output_loss: 0.0650 - val_task_o3_output_loss: 0.0788 - val_task_pm25_output_loss: 0.0401 - val_task_pm10_output_loss: 0.0372 - val_task_co_output_mse: 0.0723 - val_task_so2_output_mse: 0.0471 - val_task_no2_output_mse: 0.0650 - val_task_o3_output_mse: 0.0788 - val_task_pm25_output_mse: 0.0401 - val_task_pm10_output_mse: 0.0372\n",
|
||
"Epoch 32/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0828 - task_co_output_loss: 0.0137 - task_so2_output_loss: 0.0208 - task_no2_output_loss: 0.0122 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0139 - task_pm10_output_loss: 0.0094 - task_co_output_mse: 0.0137 - task_so2_output_mse: 0.0208 - task_no2_output_mse: 0.0122 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0139 - task_pm10_output_mse: 0.0094 - val_loss: 0.3406 - val_task_co_output_loss: 0.0714 - val_task_so2_output_loss: 0.0474 - val_task_no2_output_loss: 0.0590 - val_task_o3_output_loss: 0.0848 - val_task_pm25_output_loss: 0.0402 - val_task_pm10_output_loss: 0.0378 - val_task_co_output_mse: 0.0714 - val_task_so2_output_mse: 0.0474 - val_task_no2_output_mse: 0.0590 - val_task_o3_output_mse: 0.0848 - val_task_pm25_output_mse: 0.0402 - val_task_pm10_output_mse: 0.0378\n",
|
||
"Epoch 33/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0819 - task_co_output_loss: 0.0136 - task_so2_output_loss: 0.0207 - task_no2_output_loss: 0.0120 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0138 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0136 - task_so2_output_mse: 0.0207 - task_no2_output_mse: 0.0120 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0138 - task_pm10_output_mse: 0.0093 - val_loss: 0.3312 - val_task_co_output_loss: 0.0736 - val_task_so2_output_loss: 0.0490 - val_task_no2_output_loss: 0.0555 - val_task_o3_output_loss: 0.0790 - val_task_pm25_output_loss: 0.0377 - val_task_pm10_output_loss: 0.0364 - val_task_co_output_mse: 0.0736 - val_task_so2_output_mse: 0.0490 - val_task_no2_output_mse: 0.0555 - val_task_o3_output_mse: 0.0790 - val_task_pm25_output_mse: 0.0377 - val_task_pm10_output_mse: 0.0364\n",
|
||
"Epoch 34/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0826 - task_co_output_loss: 0.0137 - task_so2_output_loss: 0.0207 - task_no2_output_loss: 0.0121 - task_o3_output_loss: 0.0129 - task_pm25_output_loss: 0.0139 - task_pm10_output_loss: 0.0094 - task_co_output_mse: 0.0137 - task_so2_output_mse: 0.0207 - task_no2_output_mse: 0.0121 - task_o3_output_mse: 0.0129 - task_pm25_output_mse: 0.0139 - task_pm10_output_mse: 0.0094 - val_loss: 0.3414 - val_task_co_output_loss: 0.0676 - val_task_so2_output_loss: 0.0499 - val_task_no2_output_loss: 0.0535 - val_task_o3_output_loss: 0.0938 - val_task_pm25_output_loss: 0.0394 - val_task_pm10_output_loss: 0.0373 - val_task_co_output_mse: 0.0676 - val_task_so2_output_mse: 0.0499 - val_task_no2_output_mse: 0.0535 - val_task_o3_output_mse: 0.0938 - val_task_pm25_output_mse: 0.0394 - val_task_pm10_output_mse: 0.0373\n",
|
||
"Epoch 35/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0823 - task_co_output_loss: 0.0136 - task_so2_output_loss: 0.0207 - task_no2_output_loss: 0.0120 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0139 - task_pm10_output_loss: 0.0094 - task_co_output_mse: 0.0136 - task_so2_output_mse: 0.0207 - task_no2_output_mse: 0.0120 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0139 - task_pm10_output_mse: 0.0094 - val_loss: 0.3302 - val_task_co_output_loss: 0.0662 - val_task_so2_output_loss: 0.0491 - val_task_no2_output_loss: 0.0552 - val_task_o3_output_loss: 0.0828 - val_task_pm25_output_loss: 0.0400 - val_task_pm10_output_loss: 0.0367 - val_task_co_output_mse: 0.0662 - val_task_so2_output_mse: 0.0491 - val_task_no2_output_mse: 0.0552 - val_task_o3_output_mse: 0.0828 - val_task_pm25_output_mse: 0.0400 - val_task_pm10_output_mse: 0.0367\n",
|
||
"Epoch 36/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0822 - task_co_output_loss: 0.0136 - task_so2_output_loss: 0.0207 - task_no2_output_loss: 0.0120 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0138 - task_pm10_output_loss: 0.0094 - task_co_output_mse: 0.0136 - task_so2_output_mse: 0.0207 - task_no2_output_mse: 0.0120 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0138 - task_pm10_output_mse: 0.0094 - val_loss: 0.3418 - val_task_co_output_loss: 0.0720 - val_task_so2_output_loss: 0.0511 - val_task_no2_output_loss: 0.0579 - val_task_o3_output_loss: 0.0820 - val_task_pm25_output_loss: 0.0411 - val_task_pm10_output_loss: 0.0377 - val_task_co_output_mse: 0.0720 - val_task_so2_output_mse: 0.0511 - val_task_no2_output_mse: 0.0579 - val_task_o3_output_mse: 0.0820 - val_task_pm25_output_mse: 0.0411 - val_task_pm10_output_mse: 0.0377\n",
|
||
"Epoch 37/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0824 - task_co_output_loss: 0.0136 - task_so2_output_loss: 0.0207 - task_no2_output_loss: 0.0120 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0139 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0136 - task_so2_output_mse: 0.0207 - task_no2_output_mse: 0.0120 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0139 - task_pm10_output_mse: 0.0093 - val_loss: 0.3309 - val_task_co_output_loss: 0.0646 - val_task_so2_output_loss: 0.0488 - val_task_no2_output_loss: 0.0562 - val_task_o3_output_loss: 0.0821 - val_task_pm25_output_loss: 0.0413 - val_task_pm10_output_loss: 0.0379 - val_task_co_output_mse: 0.0646 - val_task_so2_output_mse: 0.0488 - val_task_no2_output_mse: 0.0562 - val_task_o3_output_mse: 0.0821 - val_task_pm25_output_mse: 0.0413 - val_task_pm10_output_mse: 0.0379\n",
|
||
"Epoch 38/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0816 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0205 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0205 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0093 - val_loss: 0.3536 - val_task_co_output_loss: 0.0782 - val_task_so2_output_loss: 0.0517 - val_task_no2_output_loss: 0.0537 - val_task_o3_output_loss: 0.0933 - val_task_pm25_output_loss: 0.0393 - val_task_pm10_output_loss: 0.0374 - val_task_co_output_mse: 0.0782 - val_task_so2_output_mse: 0.0517 - val_task_no2_output_mse: 0.0537 - val_task_o3_output_mse: 0.0933 - val_task_pm25_output_mse: 0.0393 - val_task_pm10_output_mse: 0.0374\n",
|
||
"Epoch 39/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0819 - task_co_output_loss: 0.0136 - task_so2_output_loss: 0.0206 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0138 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0136 - task_so2_output_mse: 0.0206 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0138 - task_pm10_output_mse: 0.0093 - val_loss: 0.3293 - val_task_co_output_loss: 0.0677 - val_task_so2_output_loss: 0.0462 - val_task_no2_output_loss: 0.0562 - val_task_o3_output_loss: 0.0812 - val_task_pm25_output_loss: 0.0409 - val_task_pm10_output_loss: 0.0371 - val_task_co_output_mse: 0.0677 - val_task_so2_output_mse: 0.0462 - val_task_no2_output_mse: 0.0562 - val_task_o3_output_mse: 0.0812 - val_task_pm25_output_mse: 0.0409 - val_task_pm10_output_mse: 0.0371\n",
|
||
"Epoch 40/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0816 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0206 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0206 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0093 - val_loss: 0.3301 - val_task_co_output_loss: 0.0694 - val_task_so2_output_loss: 0.0474 - val_task_no2_output_loss: 0.0542 - val_task_o3_output_loss: 0.0814 - val_task_pm25_output_loss: 0.0407 - val_task_pm10_output_loss: 0.0369 - val_task_co_output_mse: 0.0694 - val_task_so2_output_mse: 0.0474 - val_task_no2_output_mse: 0.0542 - val_task_o3_output_mse: 0.0814 - val_task_pm25_output_mse: 0.0407 - val_task_pm10_output_mse: 0.0369\n",
|
||
"Epoch 41/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0816 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0206 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0206 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0093 - val_loss: 0.3333 - val_task_co_output_loss: 0.0701 - val_task_so2_output_loss: 0.0498 - val_task_no2_output_loss: 0.0539 - val_task_o3_output_loss: 0.0848 - val_task_pm25_output_loss: 0.0385 - val_task_pm10_output_loss: 0.0362 - val_task_co_output_mse: 0.0701 - val_task_so2_output_mse: 0.0498 - val_task_no2_output_mse: 0.0539 - val_task_o3_output_mse: 0.0848 - val_task_pm25_output_mse: 0.0385 - val_task_pm10_output_mse: 0.0362\n",
|
||
"Epoch 42/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0820 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0205 - task_no2_output_loss: 0.0120 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0138 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0205 - task_no2_output_mse: 0.0120 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0138 - task_pm10_output_mse: 0.0093 - val_loss: 0.3452 - val_task_co_output_loss: 0.0759 - val_task_so2_output_loss: 0.0532 - val_task_no2_output_loss: 0.0598 - val_task_o3_output_loss: 0.0795 - val_task_pm25_output_loss: 0.0389 - val_task_pm10_output_loss: 0.0379 - val_task_co_output_mse: 0.0759 - val_task_so2_output_mse: 0.0532 - val_task_no2_output_mse: 0.0598 - val_task_o3_output_mse: 0.0795 - val_task_pm25_output_mse: 0.0389 - val_task_pm10_output_mse: 0.0379\n",
|
||
"Epoch 43/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0820 - task_co_output_loss: 0.0136 - task_so2_output_loss: 0.0206 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0138 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0136 - task_so2_output_mse: 0.0206 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0138 - task_pm10_output_mse: 0.0093 - val_loss: 0.3353 - val_task_co_output_loss: 0.0654 - val_task_so2_output_loss: 0.0478 - val_task_no2_output_loss: 0.0568 - val_task_o3_output_loss: 0.0865 - val_task_pm25_output_loss: 0.0413 - val_task_pm10_output_loss: 0.0375 - val_task_co_output_mse: 0.0654 - val_task_so2_output_mse: 0.0478 - val_task_no2_output_mse: 0.0568 - val_task_o3_output_mse: 0.0865 - val_task_pm25_output_mse: 0.0413 - val_task_pm10_output_mse: 0.0375\n",
|
||
"Epoch 44/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0815 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0205 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0138 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0205 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0138 - task_pm10_output_mse: 0.0093 - val_loss: 0.3513 - val_task_co_output_loss: 0.0791 - val_task_so2_output_loss: 0.0549 - val_task_no2_output_loss: 0.0544 - val_task_o3_output_loss: 0.0890 - val_task_pm25_output_loss: 0.0375 - val_task_pm10_output_loss: 0.0364 - val_task_co_output_mse: 0.0791 - val_task_so2_output_mse: 0.0549 - val_task_no2_output_mse: 0.0544 - val_task_o3_output_mse: 0.0890 - val_task_pm25_output_mse: 0.0375 - val_task_pm10_output_mse: 0.0364\n",
|
||
"Epoch 45/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0816 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0205 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0138 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0205 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0138 - task_pm10_output_mse: 0.0092 - val_loss: 0.3226 - val_task_co_output_loss: 0.0694 - val_task_so2_output_loss: 0.0454 - val_task_no2_output_loss: 0.0530 - val_task_o3_output_loss: 0.0781 - val_task_pm25_output_loss: 0.0393 - val_task_pm10_output_loss: 0.0373 - val_task_co_output_mse: 0.0694 - val_task_so2_output_mse: 0.0454 - val_task_no2_output_mse: 0.0530 - val_task_o3_output_mse: 0.0781 - val_task_pm25_output_mse: 0.0393 - val_task_pm10_output_mse: 0.0373\n",
|
||
"Epoch 46/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0816 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0205 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0205 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0092 - val_loss: 0.3363 - val_task_co_output_loss: 0.0670 - val_task_so2_output_loss: 0.0432 - val_task_no2_output_loss: 0.0611 - val_task_o3_output_loss: 0.0844 - val_task_pm25_output_loss: 0.0403 - val_task_pm10_output_loss: 0.0403 - val_task_co_output_mse: 0.0670 - val_task_so2_output_mse: 0.0432 - val_task_no2_output_mse: 0.0611 - val_task_o3_output_mse: 0.0844 - val_task_pm25_output_mse: 0.0403 - val_task_pm10_output_mse: 0.0403\n",
|
||
"Epoch 47/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0818 - task_co_output_loss: 0.0136 - task_so2_output_loss: 0.0206 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0136 - task_so2_output_mse: 0.0206 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0093 - val_loss: 0.3286 - val_task_co_output_loss: 0.0631 - val_task_so2_output_loss: 0.0469 - val_task_no2_output_loss: 0.0529 - val_task_o3_output_loss: 0.0867 - val_task_pm25_output_loss: 0.0407 - val_task_pm10_output_loss: 0.0383 - val_task_co_output_mse: 0.0631 - val_task_so2_output_mse: 0.0469 - val_task_no2_output_mse: 0.0529 - val_task_o3_output_mse: 0.0867 - val_task_pm25_output_mse: 0.0407 - val_task_pm10_output_mse: 0.0383\n",
|
||
"Epoch 48/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0811 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0203 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0203 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3382 - val_task_co_output_loss: 0.0694 - val_task_so2_output_loss: 0.0461 - val_task_no2_output_loss: 0.0600 - val_task_o3_output_loss: 0.0836 - val_task_pm25_output_loss: 0.0416 - val_task_pm10_output_loss: 0.0376 - val_task_co_output_mse: 0.0694 - val_task_so2_output_mse: 0.0461 - val_task_no2_output_mse: 0.0600 - val_task_o3_output_mse: 0.0836 - val_task_pm25_output_mse: 0.0416 - val_task_pm10_output_mse: 0.0376\n",
|
||
"Epoch 49/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0811 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0203 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0203 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0092 - val_loss: 0.3325 - val_task_co_output_loss: 0.0658 - val_task_so2_output_loss: 0.0534 - val_task_no2_output_loss: 0.0559 - val_task_o3_output_loss: 0.0822 - val_task_pm25_output_loss: 0.0391 - val_task_pm10_output_loss: 0.0361 - val_task_co_output_mse: 0.0658 - val_task_so2_output_mse: 0.0534 - val_task_no2_output_mse: 0.0559 - val_task_o3_output_mse: 0.0822 - val_task_pm25_output_mse: 0.0391 - val_task_pm10_output_mse: 0.0361\n",
|
||
"Epoch 50/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0816 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0205 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0128 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0205 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0128 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0092 - val_loss: 0.3298 - val_task_co_output_loss: 0.0648 - val_task_so2_output_loss: 0.0480 - val_task_no2_output_loss: 0.0525 - val_task_o3_output_loss: 0.0863 - val_task_pm25_output_loss: 0.0407 - val_task_pm10_output_loss: 0.0376 - val_task_co_output_mse: 0.0648 - val_task_so2_output_mse: 0.0480 - val_task_no2_output_mse: 0.0525 - val_task_o3_output_mse: 0.0863 - val_task_pm25_output_mse: 0.0407 - val_task_pm10_output_mse: 0.0376\n",
|
||
"Epoch 51/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0811 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0204 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0204 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0092 - val_loss: 0.3272 - val_task_co_output_loss: 0.0656 - val_task_so2_output_loss: 0.0502 - val_task_no2_output_loss: 0.0521 - val_task_o3_output_loss: 0.0832 - val_task_pm25_output_loss: 0.0394 - val_task_pm10_output_loss: 0.0367 - val_task_co_output_mse: 0.0656 - val_task_so2_output_mse: 0.0502 - val_task_no2_output_mse: 0.0521 - val_task_o3_output_mse: 0.0832 - val_task_pm25_output_mse: 0.0394 - val_task_pm10_output_mse: 0.0367\n",
|
||
"Epoch 52/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0811 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0204 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0204 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3415 - val_task_co_output_loss: 0.0623 - val_task_so2_output_loss: 0.0452 - val_task_no2_output_loss: 0.0604 - val_task_o3_output_loss: 0.0906 - val_task_pm25_output_loss: 0.0438 - val_task_pm10_output_loss: 0.0392 - val_task_co_output_mse: 0.0623 - val_task_so2_output_mse: 0.0452 - val_task_no2_output_mse: 0.0604 - val_task_o3_output_mse: 0.0906 - val_task_pm25_output_mse: 0.0438 - val_task_pm10_output_mse: 0.0392\n",
|
||
"Epoch 53/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0813 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0204 - task_no2_output_loss: 0.0119 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0204 - task_no2_output_mse: 0.0119 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0092 - val_loss: 0.3348 - val_task_co_output_loss: 0.0698 - val_task_so2_output_loss: 0.0470 - val_task_no2_output_loss: 0.0582 - val_task_o3_output_loss: 0.0823 - val_task_pm25_output_loss: 0.0407 - val_task_pm10_output_loss: 0.0367 - val_task_co_output_mse: 0.0698 - val_task_so2_output_mse: 0.0470 - val_task_no2_output_mse: 0.0582 - val_task_o3_output_mse: 0.0823 - val_task_pm25_output_mse: 0.0407 - val_task_pm10_output_mse: 0.0367\n",
|
||
"Epoch 54/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0809 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0203 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0203 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3463 - val_task_co_output_loss: 0.0728 - val_task_so2_output_loss: 0.0478 - val_task_no2_output_loss: 0.0557 - val_task_o3_output_loss: 0.0912 - val_task_pm25_output_loss: 0.0412 - val_task_pm10_output_loss: 0.0376 - val_task_co_output_mse: 0.0728 - val_task_so2_output_mse: 0.0478 - val_task_no2_output_mse: 0.0557 - val_task_o3_output_mse: 0.0912 - val_task_pm25_output_mse: 0.0412 - val_task_pm10_output_mse: 0.0376\n",
|
||
"Epoch 55/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0807 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0203 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0203 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3220 - val_task_co_output_loss: 0.0658 - val_task_so2_output_loss: 0.0463 - val_task_no2_output_loss: 0.0523 - val_task_o3_output_loss: 0.0806 - val_task_pm25_output_loss: 0.0399 - val_task_pm10_output_loss: 0.0371 - val_task_co_output_mse: 0.0658 - val_task_so2_output_mse: 0.0463 - val_task_no2_output_mse: 0.0523 - val_task_o3_output_mse: 0.0806 - val_task_pm25_output_mse: 0.0399 - val_task_pm10_output_mse: 0.0371\n",
|
||
"Epoch 56/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0806 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0092 - val_loss: 0.3553 - val_task_co_output_loss: 0.0757 - val_task_so2_output_loss: 0.0548 - val_task_no2_output_loss: 0.0590 - val_task_o3_output_loss: 0.0910 - val_task_pm25_output_loss: 0.0383 - val_task_pm10_output_loss: 0.0365 - val_task_co_output_mse: 0.0757 - val_task_so2_output_mse: 0.0548 - val_task_no2_output_mse: 0.0590 - val_task_o3_output_mse: 0.0910 - val_task_pm25_output_mse: 0.0383 - val_task_pm10_output_mse: 0.0365\n",
|
||
"Epoch 57/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0812 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0204 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0204 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0093 - val_loss: 0.3297 - val_task_co_output_loss: 0.0663 - val_task_so2_output_loss: 0.0447 - val_task_no2_output_loss: 0.0573 - val_task_o3_output_loss: 0.0840 - val_task_pm25_output_loss: 0.0410 - val_task_pm10_output_loss: 0.0365 - val_task_co_output_mse: 0.0663 - val_task_so2_output_mse: 0.0447 - val_task_no2_output_mse: 0.0573 - val_task_o3_output_mse: 0.0840 - val_task_pm25_output_mse: 0.0410 - val_task_pm10_output_mse: 0.0365\n",
|
||
"Epoch 58/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0803 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3299 - val_task_co_output_loss: 0.0624 - val_task_so2_output_loss: 0.0469 - val_task_no2_output_loss: 0.0579 - val_task_o3_output_loss: 0.0822 - val_task_pm25_output_loss: 0.0423 - val_task_pm10_output_loss: 0.0381 - val_task_co_output_mse: 0.0624 - val_task_so2_output_mse: 0.0469 - val_task_no2_output_mse: 0.0579 - val_task_o3_output_mse: 0.0822 - val_task_pm25_output_mse: 0.0423 - val_task_pm10_output_mse: 0.0381\n",
|
||
"Epoch 59/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0803 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0092 - val_loss: 0.3365 - val_task_co_output_loss: 0.0710 - val_task_so2_output_loss: 0.0466 - val_task_no2_output_loss: 0.0534 - val_task_o3_output_loss: 0.0886 - val_task_pm25_output_loss: 0.0397 - val_task_pm10_output_loss: 0.0373 - val_task_co_output_mse: 0.0710 - val_task_so2_output_mse: 0.0466 - val_task_no2_output_mse: 0.0534 - val_task_o3_output_mse: 0.0886 - val_task_pm25_output_mse: 0.0397 - val_task_pm10_output_mse: 0.0373\n",
|
||
"Epoch 60/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0806 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3263 - val_task_co_output_loss: 0.0708 - val_task_so2_output_loss: 0.0475 - val_task_no2_output_loss: 0.0556 - val_task_o3_output_loss: 0.0768 - val_task_pm25_output_loss: 0.0390 - val_task_pm10_output_loss: 0.0366 - val_task_co_output_mse: 0.0708 - val_task_so2_output_mse: 0.0475 - val_task_no2_output_mse: 0.0556 - val_task_o3_output_mse: 0.0768 - val_task_pm25_output_mse: 0.0390 - val_task_pm10_output_mse: 0.0366\n",
|
||
"Epoch 61/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0806 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0203 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0203 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3406 - val_task_co_output_loss: 0.0741 - val_task_so2_output_loss: 0.0508 - val_task_no2_output_loss: 0.0543 - val_task_o3_output_loss: 0.0831 - val_task_pm25_output_loss: 0.0399 - val_task_pm10_output_loss: 0.0383 - val_task_co_output_mse: 0.0741 - val_task_so2_output_mse: 0.0508 - val_task_no2_output_mse: 0.0543 - val_task_o3_output_mse: 0.0831 - val_task_pm25_output_mse: 0.0399 - val_task_pm10_output_mse: 0.0383\n",
|
||
"Epoch 62/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0807 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0092 - val_loss: 0.3418 - val_task_co_output_loss: 0.0694 - val_task_so2_output_loss: 0.0466 - val_task_no2_output_loss: 0.0575 - val_task_o3_output_loss: 0.0901 - val_task_pm25_output_loss: 0.0411 - val_task_pm10_output_loss: 0.0372 - val_task_co_output_mse: 0.0694 - val_task_so2_output_mse: 0.0466 - val_task_no2_output_mse: 0.0575 - val_task_o3_output_mse: 0.0901 - val_task_pm25_output_mse: 0.0411 - val_task_pm10_output_mse: 0.0372\n",
|
||
"Epoch 63/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0809 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0092 - val_loss: 0.3282 - val_task_co_output_loss: 0.0622 - val_task_so2_output_loss: 0.0478 - val_task_no2_output_loss: 0.0582 - val_task_o3_output_loss: 0.0814 - val_task_pm25_output_loss: 0.0410 - val_task_pm10_output_loss: 0.0378 - val_task_co_output_mse: 0.0622 - val_task_so2_output_mse: 0.0478 - val_task_no2_output_mse: 0.0582 - val_task_o3_output_mse: 0.0814 - val_task_pm25_output_mse: 0.0410 - val_task_pm10_output_mse: 0.0378\n",
|
||
"Epoch 64/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0804 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3338 - val_task_co_output_loss: 0.0695 - val_task_so2_output_loss: 0.0455 - val_task_no2_output_loss: 0.0533 - val_task_o3_output_loss: 0.0889 - val_task_pm25_output_loss: 0.0391 - val_task_pm10_output_loss: 0.0374 - val_task_co_output_mse: 0.0695 - val_task_so2_output_mse: 0.0455 - val_task_no2_output_mse: 0.0533 - val_task_o3_output_mse: 0.0889 - val_task_pm25_output_mse: 0.0391 - val_task_pm10_output_mse: 0.0374\n",
|
||
"Epoch 65/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0801 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0201 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0201 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3481 - val_task_co_output_loss: 0.0675 - val_task_so2_output_loss: 0.0508 - val_task_no2_output_loss: 0.0562 - val_task_o3_output_loss: 0.0927 - val_task_pm25_output_loss: 0.0417 - val_task_pm10_output_loss: 0.0394 - val_task_co_output_mse: 0.0675 - val_task_so2_output_mse: 0.0508 - val_task_no2_output_mse: 0.0562 - val_task_o3_output_mse: 0.0927 - val_task_pm25_output_mse: 0.0417 - val_task_pm10_output_mse: 0.0394\n",
|
||
"Epoch 66/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0804 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3344 - val_task_co_output_loss: 0.0672 - val_task_so2_output_loss: 0.0474 - val_task_no2_output_loss: 0.0620 - val_task_o3_output_loss: 0.0790 - val_task_pm25_output_loss: 0.0408 - val_task_pm10_output_loss: 0.0381 - val_task_co_output_mse: 0.0672 - val_task_so2_output_mse: 0.0474 - val_task_no2_output_mse: 0.0620 - val_task_o3_output_mse: 0.0790 - val_task_pm25_output_mse: 0.0408 - val_task_pm10_output_mse: 0.0381\n",
|
||
"Epoch 67/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0805 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3328 - val_task_co_output_loss: 0.0688 - val_task_so2_output_loss: 0.0446 - val_task_no2_output_loss: 0.0605 - val_task_o3_output_loss: 0.0797 - val_task_pm25_output_loss: 0.0413 - val_task_pm10_output_loss: 0.0379 - val_task_co_output_mse: 0.0688 - val_task_so2_output_mse: 0.0446 - val_task_no2_output_mse: 0.0605 - val_task_o3_output_mse: 0.0797 - val_task_pm25_output_mse: 0.0413 - val_task_pm10_output_mse: 0.0379\n",
|
||
"Epoch 68/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0802 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3389 - val_task_co_output_loss: 0.0712 - val_task_so2_output_loss: 0.0446 - val_task_no2_output_loss: 0.0607 - val_task_o3_output_loss: 0.0845 - val_task_pm25_output_loss: 0.0398 - val_task_pm10_output_loss: 0.0382 - val_task_co_output_mse: 0.0712 - val_task_so2_output_mse: 0.0446 - val_task_no2_output_mse: 0.0607 - val_task_o3_output_mse: 0.0845 - val_task_pm25_output_mse: 0.0398 - val_task_pm10_output_mse: 0.0382\n",
|
||
"Epoch 69/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0805 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0093 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0093 - val_loss: 0.3258 - val_task_co_output_loss: 0.0665 - val_task_so2_output_loss: 0.0442 - val_task_no2_output_loss: 0.0554 - val_task_o3_output_loss: 0.0762 - val_task_pm25_output_loss: 0.0426 - val_task_pm10_output_loss: 0.0409 - val_task_co_output_mse: 0.0665 - val_task_so2_output_mse: 0.0442 - val_task_no2_output_mse: 0.0554 - val_task_o3_output_mse: 0.0762 - val_task_pm25_output_mse: 0.0426 - val_task_pm10_output_mse: 0.0409\n",
|
||
"Epoch 70/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0805 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3451 - val_task_co_output_loss: 0.0707 - val_task_so2_output_loss: 0.0514 - val_task_no2_output_loss: 0.0574 - val_task_o3_output_loss: 0.0874 - val_task_pm25_output_loss: 0.0403 - val_task_pm10_output_loss: 0.0380 - val_task_co_output_mse: 0.0707 - val_task_so2_output_mse: 0.0514 - val_task_no2_output_mse: 0.0574 - val_task_o3_output_mse: 0.0874 - val_task_pm25_output_mse: 0.0403 - val_task_pm10_output_mse: 0.0380\n",
|
||
"Epoch 71/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0806 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0201 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0201 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3378 - val_task_co_output_loss: 0.0637 - val_task_so2_output_loss: 0.0472 - val_task_no2_output_loss: 0.0581 - val_task_o3_output_loss: 0.0881 - val_task_pm25_output_loss: 0.0423 - val_task_pm10_output_loss: 0.0385 - val_task_co_output_mse: 0.0637 - val_task_so2_output_mse: 0.0472 - val_task_no2_output_mse: 0.0581 - val_task_o3_output_mse: 0.0881 - val_task_pm25_output_mse: 0.0423 - val_task_pm10_output_mse: 0.0385\n",
|
||
"Epoch 72/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0801 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0201 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0201 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3324 - val_task_co_output_loss: 0.0720 - val_task_so2_output_loss: 0.0463 - val_task_no2_output_loss: 0.0562 - val_task_o3_output_loss: 0.0818 - val_task_pm25_output_loss: 0.0394 - val_task_pm10_output_loss: 0.0366 - val_task_co_output_mse: 0.0720 - val_task_so2_output_mse: 0.0463 - val_task_no2_output_mse: 0.0562 - val_task_o3_output_mse: 0.0818 - val_task_pm25_output_mse: 0.0394 - val_task_pm10_output_mse: 0.0366\n",
|
||
"Epoch 73/100\n",
|
||
"294/294 [==============================] - 5s 18ms/step - loss: 0.0808 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3260 - val_task_co_output_loss: 0.0680 - val_task_so2_output_loss: 0.0500 - val_task_no2_output_loss: 0.0568 - val_task_o3_output_loss: 0.0745 - val_task_pm25_output_loss: 0.0396 - val_task_pm10_output_loss: 0.0373 - val_task_co_output_mse: 0.0680 - val_task_so2_output_mse: 0.0500 - val_task_no2_output_mse: 0.0568 - val_task_o3_output_mse: 0.0745 - val_task_pm25_output_mse: 0.0396 - val_task_pm10_output_mse: 0.0373\n",
|
||
"Epoch 74/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0804 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3241 - val_task_co_output_loss: 0.0698 - val_task_so2_output_loss: 0.0468 - val_task_no2_output_loss: 0.0490 - val_task_o3_output_loss: 0.0821 - val_task_pm25_output_loss: 0.0398 - val_task_pm10_output_loss: 0.0367 - val_task_co_output_mse: 0.0698 - val_task_so2_output_mse: 0.0468 - val_task_no2_output_mse: 0.0490 - val_task_o3_output_mse: 0.0821 - val_task_pm25_output_mse: 0.0398 - val_task_pm10_output_mse: 0.0367\n",
|
||
"Epoch 75/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0811 - task_co_output_loss: 0.0135 - task_so2_output_loss: 0.0203 - task_no2_output_loss: 0.0118 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0137 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0135 - task_so2_output_mse: 0.0203 - task_no2_output_mse: 0.0118 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0137 - task_pm10_output_mse: 0.0092 - val_loss: 0.3396 - val_task_co_output_loss: 0.0703 - val_task_so2_output_loss: 0.0501 - val_task_no2_output_loss: 0.0548 - val_task_o3_output_loss: 0.0873 - val_task_pm25_output_loss: 0.0398 - val_task_pm10_output_loss: 0.0374 - val_task_co_output_mse: 0.0703 - val_task_so2_output_mse: 0.0501 - val_task_no2_output_mse: 0.0548 - val_task_o3_output_mse: 0.0873 - val_task_pm25_output_mse: 0.0398 - val_task_pm10_output_mse: 0.0374\n",
|
||
"Epoch 76/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0801 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3306 - val_task_co_output_loss: 0.0664 - val_task_so2_output_loss: 0.0457 - val_task_no2_output_loss: 0.0581 - val_task_o3_output_loss: 0.0828 - val_task_pm25_output_loss: 0.0400 - val_task_pm10_output_loss: 0.0378 - val_task_co_output_mse: 0.0664 - val_task_so2_output_mse: 0.0457 - val_task_no2_output_mse: 0.0581 - val_task_o3_output_mse: 0.0828 - val_task_pm25_output_mse: 0.0400 - val_task_pm10_output_mse: 0.0378\n",
|
||
"Epoch 77/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0805 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3279 - val_task_co_output_loss: 0.0689 - val_task_so2_output_loss: 0.0465 - val_task_no2_output_loss: 0.0571 - val_task_o3_output_loss: 0.0747 - val_task_pm25_output_loss: 0.0421 - val_task_pm10_output_loss: 0.0384 - val_task_co_output_mse: 0.0689 - val_task_so2_output_mse: 0.0465 - val_task_no2_output_mse: 0.0571 - val_task_o3_output_mse: 0.0747 - val_task_pm25_output_mse: 0.0421 - val_task_pm10_output_mse: 0.0384\n",
|
||
"Epoch 78/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0804 - task_co_output_loss: 0.0134 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0134 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3342 - val_task_co_output_loss: 0.0665 - val_task_so2_output_loss: 0.0476 - val_task_no2_output_loss: 0.0608 - val_task_o3_output_loss: 0.0825 - val_task_pm25_output_loss: 0.0399 - val_task_pm10_output_loss: 0.0369 - val_task_co_output_mse: 0.0665 - val_task_so2_output_mse: 0.0476 - val_task_no2_output_mse: 0.0608 - val_task_o3_output_mse: 0.0825 - val_task_pm25_output_mse: 0.0399 - val_task_pm10_output_mse: 0.0369\n",
|
||
"Epoch 79/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0800 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0201 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0201 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3342 - val_task_co_output_loss: 0.0722 - val_task_so2_output_loss: 0.0474 - val_task_no2_output_loss: 0.0571 - val_task_o3_output_loss: 0.0829 - val_task_pm25_output_loss: 0.0382 - val_task_pm10_output_loss: 0.0365 - val_task_co_output_mse: 0.0722 - val_task_so2_output_mse: 0.0474 - val_task_no2_output_mse: 0.0571 - val_task_o3_output_mse: 0.0829 - val_task_pm25_output_mse: 0.0382 - val_task_pm10_output_mse: 0.0365\n",
|
||
"Epoch 80/100\n",
|
||
"294/294 [==============================] - 5s 19ms/step - loss: 0.0796 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3486 - val_task_co_output_loss: 0.0690 - val_task_so2_output_loss: 0.0539 - val_task_no2_output_loss: 0.0556 - val_task_o3_output_loss: 0.0949 - val_task_pm25_output_loss: 0.0384 - val_task_pm10_output_loss: 0.0368 - val_task_co_output_mse: 0.0690 - val_task_so2_output_mse: 0.0539 - val_task_no2_output_mse: 0.0556 - val_task_o3_output_mse: 0.0949 - val_task_pm25_output_mse: 0.0384 - val_task_pm10_output_mse: 0.0368\n",
|
||
"Epoch 81/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0803 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0201 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0201 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3336 - val_task_co_output_loss: 0.0693 - val_task_so2_output_loss: 0.0473 - val_task_no2_output_loss: 0.0564 - val_task_o3_output_loss: 0.0848 - val_task_pm25_output_loss: 0.0392 - val_task_pm10_output_loss: 0.0366 - val_task_co_output_mse: 0.0693 - val_task_so2_output_mse: 0.0473 - val_task_no2_output_mse: 0.0564 - val_task_o3_output_mse: 0.0848 - val_task_pm25_output_mse: 0.0392 - val_task_pm10_output_mse: 0.0366\n",
|
||
"Epoch 82/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0802 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3375 - val_task_co_output_loss: 0.0729 - val_task_so2_output_loss: 0.0491 - val_task_no2_output_loss: 0.0525 - val_task_o3_output_loss: 0.0852 - val_task_pm25_output_loss: 0.0405 - val_task_pm10_output_loss: 0.0374 - val_task_co_output_mse: 0.0729 - val_task_so2_output_mse: 0.0491 - val_task_no2_output_mse: 0.0525 - val_task_o3_output_mse: 0.0852 - val_task_pm25_output_mse: 0.0405 - val_task_pm10_output_mse: 0.0374\n",
|
||
"Epoch 83/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0801 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0201 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0201 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3361 - val_task_co_output_loss: 0.0632 - val_task_so2_output_loss: 0.0455 - val_task_no2_output_loss: 0.0630 - val_task_o3_output_loss: 0.0821 - val_task_pm25_output_loss: 0.0436 - val_task_pm10_output_loss: 0.0387 - val_task_co_output_mse: 0.0632 - val_task_so2_output_mse: 0.0455 - val_task_no2_output_mse: 0.0630 - val_task_o3_output_mse: 0.0821 - val_task_pm25_output_mse: 0.0436 - val_task_pm10_output_mse: 0.0387\n",
|
||
"Epoch 84/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0797 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3492 - val_task_co_output_loss: 0.0781 - val_task_so2_output_loss: 0.0523 - val_task_no2_output_loss: 0.0579 - val_task_o3_output_loss: 0.0849 - val_task_pm25_output_loss: 0.0390 - val_task_pm10_output_loss: 0.0369 - val_task_co_output_mse: 0.0781 - val_task_so2_output_mse: 0.0523 - val_task_no2_output_mse: 0.0579 - val_task_o3_output_mse: 0.0849 - val_task_pm25_output_mse: 0.0390 - val_task_pm10_output_mse: 0.0369\n",
|
||
"Epoch 85/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0797 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0201 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0201 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3245 - val_task_co_output_loss: 0.0661 - val_task_so2_output_loss: 0.0454 - val_task_no2_output_loss: 0.0542 - val_task_o3_output_loss: 0.0833 - val_task_pm25_output_loss: 0.0387 - val_task_pm10_output_loss: 0.0366 - val_task_co_output_mse: 0.0661 - val_task_so2_output_mse: 0.0454 - val_task_no2_output_mse: 0.0542 - val_task_o3_output_mse: 0.0833 - val_task_pm25_output_mse: 0.0387 - val_task_pm10_output_mse: 0.0366\n",
|
||
"Epoch 86/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0801 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0124 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0124 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3361 - val_task_co_output_loss: 0.0692 - val_task_so2_output_loss: 0.0469 - val_task_no2_output_loss: 0.0577 - val_task_o3_output_loss: 0.0832 - val_task_pm25_output_loss: 0.0413 - val_task_pm10_output_loss: 0.0377 - val_task_co_output_mse: 0.0692 - val_task_so2_output_mse: 0.0469 - val_task_no2_output_mse: 0.0577 - val_task_o3_output_mse: 0.0832 - val_task_pm25_output_mse: 0.0413 - val_task_pm10_output_mse: 0.0377\n",
|
||
"Epoch 87/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0796 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0090 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0090 - val_loss: 0.3492 - val_task_co_output_loss: 0.0669 - val_task_so2_output_loss: 0.0507 - val_task_no2_output_loss: 0.0625 - val_task_o3_output_loss: 0.0873 - val_task_pm25_output_loss: 0.0425 - val_task_pm10_output_loss: 0.0392 - val_task_co_output_mse: 0.0669 - val_task_so2_output_mse: 0.0507 - val_task_no2_output_mse: 0.0625 - val_task_o3_output_mse: 0.0873 - val_task_pm25_output_mse: 0.0425 - val_task_pm10_output_mse: 0.0392\n",
|
||
"Epoch 88/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0793 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0199 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0122 - task_pm25_output_loss: 0.0134 - task_pm10_output_loss: 0.0090 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0199 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0122 - task_pm25_output_mse: 0.0134 - task_pm10_output_mse: 0.0090 - val_loss: 0.3520 - val_task_co_output_loss: 0.0705 - val_task_so2_output_loss: 0.0537 - val_task_no2_output_loss: 0.0562 - val_task_o3_output_loss: 0.0924 - val_task_pm25_output_loss: 0.0415 - val_task_pm10_output_loss: 0.0377 - val_task_co_output_mse: 0.0705 - val_task_so2_output_mse: 0.0537 - val_task_no2_output_mse: 0.0562 - val_task_o3_output_mse: 0.0924 - val_task_pm25_output_mse: 0.0415 - val_task_pm10_output_mse: 0.0377\n",
|
||
"Epoch 89/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0794 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3312 - val_task_co_output_loss: 0.0699 - val_task_so2_output_loss: 0.0479 - val_task_no2_output_loss: 0.0595 - val_task_o3_output_loss: 0.0744 - val_task_pm25_output_loss: 0.0420 - val_task_pm10_output_loss: 0.0376 - val_task_co_output_mse: 0.0699 - val_task_so2_output_mse: 0.0479 - val_task_no2_output_mse: 0.0595 - val_task_o3_output_mse: 0.0744 - val_task_pm25_output_mse: 0.0420 - val_task_pm10_output_mse: 0.0376\n",
|
||
"Epoch 90/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0796 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3318 - val_task_co_output_loss: 0.0661 - val_task_so2_output_loss: 0.0507 - val_task_no2_output_loss: 0.0554 - val_task_o3_output_loss: 0.0827 - val_task_pm25_output_loss: 0.0399 - val_task_pm10_output_loss: 0.0369 - val_task_co_output_mse: 0.0661 - val_task_so2_output_mse: 0.0507 - val_task_no2_output_mse: 0.0554 - val_task_o3_output_mse: 0.0827 - val_task_pm25_output_mse: 0.0399 - val_task_pm10_output_mse: 0.0369\n",
|
||
"Epoch 91/100\n",
|
||
"294/294 [==============================] - 6s 20ms/step - loss: 0.0791 - task_co_output_loss: 0.0131 - task_so2_output_loss: 0.0198 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0122 - task_pm25_output_loss: 0.0134 - task_pm10_output_loss: 0.0090 - task_co_output_mse: 0.0131 - task_so2_output_mse: 0.0198 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0122 - task_pm25_output_mse: 0.0134 - task_pm10_output_mse: 0.0090 - val_loss: 0.3302 - val_task_co_output_loss: 0.0667 - val_task_so2_output_loss: 0.0499 - val_task_no2_output_loss: 0.0577 - val_task_o3_output_loss: 0.0791 - val_task_pm25_output_loss: 0.0397 - val_task_pm10_output_loss: 0.0370 - val_task_co_output_mse: 0.0667 - val_task_so2_output_mse: 0.0499 - val_task_no2_output_mse: 0.0577 - val_task_o3_output_mse: 0.0791 - val_task_pm25_output_mse: 0.0397 - val_task_pm10_output_mse: 0.0370\n",
|
||
"Epoch 92/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0801 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0199 - task_no2_output_loss: 0.0117 - task_o3_output_loss: 0.0127 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0199 - task_no2_output_mse: 0.0117 - task_o3_output_mse: 0.0127 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0091 - val_loss: 0.3427 - val_task_co_output_loss: 0.0710 - val_task_so2_output_loss: 0.0517 - val_task_no2_output_loss: 0.0584 - val_task_o3_output_loss: 0.0832 - val_task_pm25_output_loss: 0.0410 - val_task_pm10_output_loss: 0.0374 - val_task_co_output_mse: 0.0710 - val_task_so2_output_mse: 0.0517 - val_task_no2_output_mse: 0.0584 - val_task_o3_output_mse: 0.0832 - val_task_pm25_output_mse: 0.0410 - val_task_pm10_output_mse: 0.0374\n",
|
||
"Epoch 93/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0796 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3318 - val_task_co_output_loss: 0.0663 - val_task_so2_output_loss: 0.0458 - val_task_no2_output_loss: 0.0586 - val_task_o3_output_loss: 0.0805 - val_task_pm25_output_loss: 0.0418 - val_task_pm10_output_loss: 0.0389 - val_task_co_output_mse: 0.0663 - val_task_so2_output_mse: 0.0458 - val_task_no2_output_mse: 0.0586 - val_task_o3_output_mse: 0.0805 - val_task_pm25_output_mse: 0.0418 - val_task_pm10_output_mse: 0.0389\n",
|
||
"Epoch 94/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0797 - task_co_output_loss: 0.0131 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0125 - task_pm25_output_loss: 0.0135 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0131 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0125 - task_pm25_output_mse: 0.0135 - task_pm10_output_mse: 0.0091 - val_loss: 0.3527 - val_task_co_output_loss: 0.0764 - val_task_so2_output_loss: 0.0518 - val_task_no2_output_loss: 0.0603 - val_task_o3_output_loss: 0.0876 - val_task_pm25_output_loss: 0.0394 - val_task_pm10_output_loss: 0.0372 - val_task_co_output_mse: 0.0764 - val_task_so2_output_mse: 0.0518 - val_task_no2_output_mse: 0.0603 - val_task_o3_output_mse: 0.0876 - val_task_pm25_output_mse: 0.0394 - val_task_pm10_output_mse: 0.0372\n",
|
||
"Epoch 95/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0804 - task_co_output_loss: 0.0133 - task_so2_output_loss: 0.0202 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0126 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0133 - task_so2_output_mse: 0.0202 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0126 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3323 - val_task_co_output_loss: 0.0650 - val_task_so2_output_loss: 0.0453 - val_task_no2_output_loss: 0.0595 - val_task_o3_output_loss: 0.0851 - val_task_pm25_output_loss: 0.0405 - val_task_pm10_output_loss: 0.0369 - val_task_co_output_mse: 0.0650 - val_task_so2_output_mse: 0.0453 - val_task_no2_output_mse: 0.0595 - val_task_o3_output_mse: 0.0851 - val_task_pm25_output_mse: 0.0405 - val_task_pm10_output_mse: 0.0369\n",
|
||
"Epoch 96/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0793 - task_co_output_loss: 0.0131 - task_so2_output_loss: 0.0199 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0134 - task_pm10_output_loss: 0.0090 - task_co_output_mse: 0.0131 - task_so2_output_mse: 0.0199 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0134 - task_pm10_output_mse: 0.0090 - val_loss: 0.3369 - val_task_co_output_loss: 0.0695 - val_task_so2_output_loss: 0.0523 - val_task_no2_output_loss: 0.0552 - val_task_o3_output_loss: 0.0837 - val_task_pm25_output_loss: 0.0393 - val_task_pm10_output_loss: 0.0368 - val_task_co_output_mse: 0.0695 - val_task_so2_output_mse: 0.0523 - val_task_no2_output_mse: 0.0552 - val_task_o3_output_mse: 0.0837 - val_task_pm25_output_mse: 0.0393 - val_task_pm10_output_mse: 0.0368\n",
|
||
"Epoch 97/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0795 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0201 - task_no2_output_loss: 0.0114 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0134 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0201 - task_no2_output_mse: 0.0114 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0134 - task_pm10_output_mse: 0.0091 - val_loss: 0.3328 - val_task_co_output_loss: 0.0690 - val_task_so2_output_loss: 0.0481 - val_task_no2_output_loss: 0.0592 - val_task_o3_output_loss: 0.0809 - val_task_pm25_output_loss: 0.0394 - val_task_pm10_output_loss: 0.0363 - val_task_co_output_mse: 0.0690 - val_task_so2_output_mse: 0.0481 - val_task_no2_output_mse: 0.0592 - val_task_o3_output_mse: 0.0809 - val_task_pm25_output_mse: 0.0394 - val_task_pm10_output_mse: 0.0363\n",
|
||
"Epoch 98/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0795 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0200 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0134 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0200 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0134 - task_pm10_output_mse: 0.0091 - val_loss: 0.3337 - val_task_co_output_loss: 0.0632 - val_task_so2_output_loss: 0.0492 - val_task_no2_output_loss: 0.0622 - val_task_o3_output_loss: 0.0793 - val_task_pm25_output_loss: 0.0418 - val_task_pm10_output_loss: 0.0380 - val_task_co_output_mse: 0.0632 - val_task_so2_output_mse: 0.0492 - val_task_no2_output_mse: 0.0622 - val_task_o3_output_mse: 0.0793 - val_task_pm25_output_mse: 0.0418 - val_task_pm10_output_mse: 0.0380\n",
|
||
"Epoch 99/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0803 - task_co_output_loss: 0.0132 - task_so2_output_loss: 0.0203 - task_no2_output_loss: 0.0116 - task_o3_output_loss: 0.0123 - task_pm25_output_loss: 0.0136 - task_pm10_output_loss: 0.0092 - task_co_output_mse: 0.0132 - task_so2_output_mse: 0.0203 - task_no2_output_mse: 0.0116 - task_o3_output_mse: 0.0123 - task_pm25_output_mse: 0.0136 - task_pm10_output_mse: 0.0092 - val_loss: 0.3496 - val_task_co_output_loss: 0.0760 - val_task_so2_output_loss: 0.0507 - val_task_no2_output_loss: 0.0618 - val_task_o3_output_loss: 0.0837 - val_task_pm25_output_loss: 0.0401 - val_task_pm10_output_loss: 0.0372 - val_task_co_output_mse: 0.0760 - val_task_so2_output_mse: 0.0507 - val_task_no2_output_mse: 0.0618 - val_task_o3_output_mse: 0.0837 - val_task_pm25_output_mse: 0.0401 - val_task_pm10_output_mse: 0.0372\n",
|
||
"Epoch 100/100\n",
|
||
"294/294 [==============================] - 6s 19ms/step - loss: 0.0791 - task_co_output_loss: 0.0131 - task_so2_output_loss: 0.0198 - task_no2_output_loss: 0.0115 - task_o3_output_loss: 0.0122 - task_pm25_output_loss: 0.0134 - task_pm10_output_loss: 0.0091 - task_co_output_mse: 0.0131 - task_so2_output_mse: 0.0198 - task_no2_output_mse: 0.0115 - task_o3_output_mse: 0.0122 - task_pm25_output_mse: 0.0134 - task_pm10_output_mse: 0.0091 - val_loss: 0.3494 - val_task_co_output_loss: 0.0711 - val_task_so2_output_loss: 0.0461 - val_task_no2_output_loss: 0.0635 - val_task_o3_output_loss: 0.0886 - val_task_pm25_output_loss: 0.0416 - val_task_pm10_output_loss: 0.0385 - val_task_co_output_mse: 0.0711 - val_task_so2_output_mse: 0.0461 - val_task_no2_output_mse: 0.0635 - val_task_o3_output_mse: 0.0886 - val_task_pm25_output_mse: 0.0416 - val_task_pm10_output_mse: 0.0385\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"model_history = model.fit(\n",
|
||
" {'input': new_train},\n",
|
||
" {\n",
|
||
" 'task_co_output': train_data['CO'],\n",
|
||
" 'task_so2_output': train_data['SO2'],\n",
|
||
" 'task_no2_output': train_data['NO2'],\n",
|
||
" 'task_o3_output': train_data['O3'],\n",
|
||
" 'task_pm25_output': train_data['PM2.5'],\n",
|
||
" 'task_pm10_output': train_data['PM10'],\n",
|
||
" },\n",
|
||
" validation_data=(x_val, y_val),\n",
|
||
" epochs=100, batch_size=128, verbose=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 37,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"jupyter": {
|
||
"outputs_hidden": false
|
||
},
|
||
"pycharm": {
|
||
"name": "#%%\n"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"rst = model.predict(np.expand_dims(test_data[feature_cols].values, axis=1))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 44,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"rst_df = pd.DataFrame.from_records(rst).T"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 45,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"for col in rst_df.columns:\n",
|
||
" rst_df[col] = rst_df[col].apply(lambda x:x[0][0])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 47,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import matplotlib.pyplot as plt"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 51,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score, mean_absolute_percentage_error"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 53,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"y_test = test_data[out_cols].values\n",
|
||
"y_pred = rst_df.values"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 54,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"MSE: 7.15E-02,RMSE: 0.2674,MAE: 0.2392,R_2: -2.2352\n",
|
||
"MSE: 2.66E-02,RMSE: 0.163,MAE: 0.1342,R_2: -0.8657\n",
|
||
"MSE: 8.25E-02,RMSE: 0.2872,MAE: 0.2411,R_2: -1.278\n",
|
||
"MSE: 1.11E-01,RMSE: 0.3326,MAE: 0.2841,R_2: -2.9476\n",
|
||
"MSE: 8.26E-02,RMSE: 0.2873,MAE: 0.2465,R_2: -0.7187\n",
|
||
"MSE: 6.96E-02,RMSE: 0.2639,MAE: 0.2373,R_2: -2.166\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"for i in range(y_test.shape[1]):\n",
|
||
" MSE = mean_squared_error(y_test[:, i], y_pred[:, i])\n",
|
||
" RMSE = np.sqrt(mean_squared_error(y_test[:, i], y_pred[:, i]))\n",
|
||
" MAE = mean_absolute_error(y_test[:, i], y_pred[:, i])\n",
|
||
" MAPE = mean_absolute_percentage_error(y_test[:, i], y_pred[:, i])\n",
|
||
" R_2 = r2_score(y_test[:, i], y_pred[:, i])\n",
|
||
" print(f\"MSE: {format(MSE, '.2E')}\", end=',')\n",
|
||
" print(f'RMSE: {round(RMSE, 4)}', end=',')\n",
|
||
" print(f'MAE: {round(MAE, 4)}', end=',')\n",
|
||
" print(f'R_2: {round(R_2, 4)}')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.7.13"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 4
|
||
}
|