From 59d172f1b3dd5b64d437507eff0dddd56473bdb9 Mon Sep 17 00:00:00 2001 From: Tianxiang Zhan <1665186372@qq.com> Date: Thu, 9 May 2024 16:46:18 +0800 Subject: [PATCH] 2024-05-09 16:46:18 --- .gitignore | 692 ++++++++++++++++++ .idea/.gitignore | 8 + .idea/code.iml | 12 + .idea/inspectionProfiles/Project_Default.xml | 30 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 7 + .idea/modules.xml | 8 + config/ablation/ECL_script/TEFN_ac_p192.json | 1 + config/ablation/ECL_script/TEFN_ac_p336.json | 1 + config/ablation/ECL_script/TEFN_ac_p720.json | 1 + config/ablation/ECL_script/TEFN_ac_p96.json | 1 + config/ablation/ECL_script/TEFN_at_p192.json | 1 + config/ablation/ECL_script/TEFN_at_p336.json | 1 + config/ablation/ECL_script/TEFN_at_p720.json | 1 + config/ablation/ECL_script/TEFN_at_p96.json | 1 + .../ETT_script/TEFN_ac_ETTh1_p192.json | 1 + .../ETT_script/TEFN_ac_ETTh1_p336.json | 1 + .../ETT_script/TEFN_ac_ETTh1_p720.json | 1 + .../ETT_script/TEFN_ac_ETTh1_p96.json | 1 + .../ETT_script/TEFN_ac_ETTh2_p192.json | 1 + .../ETT_script/TEFN_ac_ETTh2_p336.json | 1 + .../ETT_script/TEFN_ac_ETTh2_p720.json | 1 + .../ETT_script/TEFN_ac_ETTh2_p96.json | 1 + .../ETT_script/TEFN_ac_ETTm1_p192.json | 1 + .../ETT_script/TEFN_ac_ETTm1_p336.json | 1 + .../ETT_script/TEFN_ac_ETTm1_p720.json | 1 + .../ETT_script/TEFN_ac_ETTm1_p96.json | 1 + .../ETT_script/TEFN_ac_ETTm2_p192.json | 1 + .../ETT_script/TEFN_ac_ETTm2_p336.json | 1 + .../ETT_script/TEFN_ac_ETTm2_p720.json | 1 + .../ETT_script/TEFN_ac_ETTm2_p96.json | 1 + .../ETT_script/TEFN_at_ETTh1_p192.json | 1 + .../ETT_script/TEFN_at_ETTh1_p336.json | 1 + .../ETT_script/TEFN_at_ETTh1_p720.json | 1 + .../ETT_script/TEFN_at_ETTh1_p96.json | 1 + .../ETT_script/TEFN_at_ETTh2_p192.json | 1 + .../ETT_script/TEFN_at_ETTh2_p336.json | 1 + .../ETT_script/TEFN_at_ETTh2_p720.json | 1 + .../ETT_script/TEFN_at_ETTh2_p96.json | 1 + .../ETT_script/TEFN_at_ETTm1_p192.json | 1 + .../ETT_script/TEFN_at_ETTm1_p336.json | 1 + .../ETT_script/TEFN_at_ETTm1_p720.json | 1 + .../ETT_script/TEFN_at_ETTm1_p96.json | 1 + .../ETT_script/TEFN_at_ETTm2_p192.json | 1 + .../ETT_script/TEFN_at_ETTm2_p336.json | 1 + .../ETT_script/TEFN_at_ETTm2_p720.json | 1 + .../ETT_script/TEFN_at_ETTm2_p96.json | 1 + .../Exchange_script/TEFN_ac_p192.json | 1 + .../Exchange_script/TEFN_ac_p336.json | 1 + .../Exchange_script/TEFN_ac_p720.json | 1 + .../ablation/Exchange_script/TEFN_ac_p96.json | 1 + .../Exchange_script/TEFN_at_p192.json | 1 + .../Exchange_script/TEFN_at_p336.json | 1 + .../Exchange_script/TEFN_at_p720.json | 1 + .../ablation/Exchange_script/TEFN_at_p96.json | 1 + .../ablation/Traffic_script/TEFN_ac_p192.json | 1 + .../ablation/Traffic_script/TEFN_ac_p336.json | 1 + .../ablation/Traffic_script/TEFN_ac_p720.json | 1 + .../ablation/Traffic_script/TEFN_ac_p96.json | 1 + .../ablation/Traffic_script/TEFN_at_p192.json | 1 + .../ablation/Traffic_script/TEFN_at_p336.json | 1 + .../ablation/Traffic_script/TEFN_at_p720.json | 1 + .../ablation/Traffic_script/TEFN_at_p96.json | 1 + .../ablation/Weather_script/TEFN_ac_p192.json | 1 + .../ablation/Weather_script/TEFN_ac_p336.json | 1 + .../ablation/Weather_script/TEFN_ac_p720.json | 1 + .../ablation/Weather_script/TEFN_ac_p96.json | 1 + .../ablation/Weather_script/TEFN_at_p192.json | 1 + .../ablation/Weather_script/TEFN_at_p336.json | 1 + .../ablation/Weather_script/TEFN_at_p720.json | 1 + .../ablation/Weather_script/TEFN_at_p96.json | 1 + config/comparision/ECL_script/TEFN_p192.json | 1 + config/comparision/ECL_script/TEFN_p336.json | 1 + config/comparision/ECL_script/TEFN_p720.json | 1 + config/comparision/ECL_script/TEFN_p96.json | 1 + .../ETT_script/TEFN_ETTh1_p192.json | 1 + .../ETT_script/TEFN_ETTh1_p336.json | 1 + .../ETT_script/TEFN_ETTh1_p720.json | 1 + .../ETT_script/TEFN_ETTh1_p96.json | 1 + .../ETT_script/TEFN_ETTh2_p192.json | 1 + .../ETT_script/TEFN_ETTh2_p336.json | 1 + .../ETT_script/TEFN_ETTh2_p720.json | 1 + .../ETT_script/TEFN_ETTh2_p96.json | 1 + .../ETT_script/TEFN_ETTm1_p192.json | 1 + .../ETT_script/TEFN_ETTm1_p336.json | 1 + .../ETT_script/TEFN_ETTm1_p720.json | 1 + .../ETT_script/TEFN_ETTm1_p96.json | 1 + .../ETT_script/TEFN_ETTm2_p192.json | 1 + .../ETT_script/TEFN_ETTm2_p336.json | 1 + .../ETT_script/TEFN_ETTm2_p720.json | 1 + .../ETT_script/TEFN_ETTm2_p96.json | 1 + .../Exchange_script/TEFN_p192.json | 1 + .../Exchange_script/TEFN_p336.json | 1 + .../Exchange_script/TEFN_p720.json | 1 + .../comparision/Exchange_script/TEFN_p96.json | 1 + .../comparision/Traffic_script/TEFN_p192.json | 1 + .../comparision/Traffic_script/TEFN_p336.json | 1 + .../comparision/Traffic_script/TEFN_p720.json | 1 + .../comparision/Traffic_script/TEFN_p96.json | 1 + .../comparision/Weather_script/TEFN_p192.json | 1 + .../comparision/Weather_script/TEFN_p336.json | 1 + .../comparision/Weather_script/TEFN_p720.json | 1 + .../comparision/Weather_script/TEFN_p96.json | 1 + .../TEFN_p192_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e6_d1.json | 1 + .../ECL_script/TEFN_p96_dp0.1_l0.1_e0_d1.json | 1 + .../ECL_script/TEFN_p96_dp0.1_l0.1_e1_d1.json | 1 + .../ECL_script/TEFN_p96_dp0.1_l0.1_e2_d1.json | 1 + .../ECL_script/TEFN_p96_dp0.1_l0.1_e3_d1.json | 1 + .../ECL_script/TEFN_p96_dp0.1_l0.1_e4_d1.json | 1 + .../ECL_script/TEFN_p96_dp0.1_l0.1_e5_d1.json | 1 + .../ECL_script/TEFN_p96_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTh1_p192_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTh1_p336_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTh1_p720_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTh1_p96_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTh2_p192_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTh2_p336_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTh2_p720_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTh2_p96_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTm1_p192_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTm1_p336_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTm1_p720_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTm1_p96_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTm2_p192_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTm2_p336_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTm2_p720_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_ETTm2_p96_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p24_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p24_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p24_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p24_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p24_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p24_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p24_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p24_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p24_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p24_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p24_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p24_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p24_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p24_dp0.1_l0.05_e6_d1.json | 1 + .../ILI_script/TEFN_p24_dp0.1_l0.1_e0_d1.json | 1 + .../ILI_script/TEFN_p24_dp0.1_l0.1_e1_d1.json | 1 + .../ILI_script/TEFN_p24_dp0.1_l0.1_e2_d1.json | 1 + .../ILI_script/TEFN_p24_dp0.1_l0.1_e3_d1.json | 1 + .../ILI_script/TEFN_p24_dp0.1_l0.1_e4_d1.json | 1 + .../ILI_script/TEFN_p24_dp0.1_l0.1_e5_d1.json | 1 + .../ILI_script/TEFN_p24_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p36_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p36_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p36_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p36_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p36_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p36_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p36_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p36_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p36_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p36_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p36_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p36_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p36_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p36_dp0.1_l0.05_e6_d1.json | 1 + .../ILI_script/TEFN_p36_dp0.1_l0.1_e0_d1.json | 1 + .../ILI_script/TEFN_p36_dp0.1_l0.1_e1_d1.json | 1 + .../ILI_script/TEFN_p36_dp0.1_l0.1_e2_d1.json | 1 + .../ILI_script/TEFN_p36_dp0.1_l0.1_e3_d1.json | 1 + .../ILI_script/TEFN_p36_dp0.1_l0.1_e4_d1.json | 1 + .../ILI_script/TEFN_p36_dp0.1_l0.1_e5_d1.json | 1 + .../ILI_script/TEFN_p36_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p48_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p48_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p48_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p48_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p48_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p48_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p48_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p48_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p48_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p48_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p48_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p48_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p48_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p48_dp0.1_l0.05_e6_d1.json | 1 + .../ILI_script/TEFN_p48_dp0.1_l0.1_e0_d1.json | 1 + .../ILI_script/TEFN_p48_dp0.1_l0.1_e1_d1.json | 1 + .../ILI_script/TEFN_p48_dp0.1_l0.1_e2_d1.json | 1 + .../ILI_script/TEFN_p48_dp0.1_l0.1_e3_d1.json | 1 + .../ILI_script/TEFN_p48_dp0.1_l0.1_e4_d1.json | 1 + .../ILI_script/TEFN_p48_dp0.1_l0.1_e5_d1.json | 1 + .../ILI_script/TEFN_p48_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p60_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p60_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p60_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p60_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p60_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p60_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p60_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p60_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p60_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p60_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p60_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p60_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p60_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p60_dp0.1_l0.05_e6_d1.json | 1 + .../ILI_script/TEFN_p60_dp0.1_l0.1_e0_d1.json | 1 + .../ILI_script/TEFN_p60_dp0.1_l0.1_e1_d1.json | 1 + .../ILI_script/TEFN_p60_dp0.1_l0.1_e2_d1.json | 1 + .../ILI_script/TEFN_p60_dp0.1_l0.1_e3_d1.json | 1 + .../ILI_script/TEFN_p60_dp0.1_l0.1_e4_d1.json | 1 + .../ILI_script/TEFN_p60_dp0.1_l0.1_e5_d1.json | 1 + .../ILI_script/TEFN_p60_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p192_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p336_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p720_dp0.1_l0.1_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.01_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.05_e6_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e0_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e1_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e2_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e3_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e4_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e5_d1.json | 1 + .../TEFN_p96_dp0.1_l0.1_e6_d1.json | 1 + data_provider/__init__.py | 1 + data_provider/data_factory.py | 42 ++ data_provider/data_loader.py | 302 ++++++++ exp/__init__.py | 0 exp/exp_basic.py | 44 ++ exp/exp_long_term_forecasting.py | 285 ++++++++ fig/CBV.png | Bin 0 -> 379461 bytes fig/TBV.png | Bin 0 -> 367119 bytes fig/TEFN.png | Bin 0 -> 476684 bytes fig/bpa.png | Bin 0 -> 239742 bytes fig/inver_conv.png | Bin 0 -> 128521 bytes fig/ms.png | Bin 0 -> 230566 bytes fig/size.png | Bin 0 -> 155405 bytes fig/sota.png | Bin 0 -> 149294 bytes fig/var.png | Bin 0 -> 62283 bytes fig/vr.png | Bin 0 -> 104698 bytes models/TEFN.py | 65 ++ models/TEFN_ac.py | 64 ++ models/TEFN_at.py | 64 ++ models/__init__.py | 0 pull.sh | 1 + push.sh | 4 + readme.md | 86 +++ requirements.txt | 12 + run.py | 215 ++++++ run_config.py | 194 +++++ utils/__init__.py | 0 utils/augmentation.py | 416 +++++++++++ utils/dtw.py | 223 ++++++ utils/dtw_metric.py | 156 ++++ utils/losses.py | 89 +++ utils/metrics.py | 41 ++ utils/print_args.py | 59 ++ utils/timefeatures.py | 148 ++++ utils/tools.py | 118 +++ 890 files changed, 4240 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/code.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 config/ablation/ECL_script/TEFN_ac_p192.json create mode 100644 config/ablation/ECL_script/TEFN_ac_p336.json create mode 100644 config/ablation/ECL_script/TEFN_ac_p720.json create mode 100644 config/ablation/ECL_script/TEFN_ac_p96.json create mode 100644 config/ablation/ECL_script/TEFN_at_p192.json create mode 100644 config/ablation/ECL_script/TEFN_at_p336.json create mode 100644 config/ablation/ECL_script/TEFN_at_p720.json create mode 100644 config/ablation/ECL_script/TEFN_at_p96.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTh1_p192.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTh1_p336.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTh1_p720.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTh1_p96.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTh2_p192.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTh2_p336.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTh2_p720.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTh2_p96.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTm1_p192.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTm1_p336.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTm1_p720.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTm1_p96.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTm2_p192.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTm2_p336.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTm2_p720.json create mode 100644 config/ablation/ETT_script/TEFN_ac_ETTm2_p96.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTh1_p192.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTh1_p336.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTh1_p720.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTh1_p96.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTh2_p192.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTh2_p336.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTh2_p720.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTh2_p96.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTm1_p192.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTm1_p336.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTm1_p720.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTm1_p96.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTm2_p192.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTm2_p336.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTm2_p720.json create mode 100644 config/ablation/ETT_script/TEFN_at_ETTm2_p96.json create mode 100644 config/ablation/Exchange_script/TEFN_ac_p192.json create mode 100644 config/ablation/Exchange_script/TEFN_ac_p336.json create mode 100644 config/ablation/Exchange_script/TEFN_ac_p720.json create mode 100644 config/ablation/Exchange_script/TEFN_ac_p96.json create mode 100644 config/ablation/Exchange_script/TEFN_at_p192.json create mode 100644 config/ablation/Exchange_script/TEFN_at_p336.json create mode 100644 config/ablation/Exchange_script/TEFN_at_p720.json create mode 100644 config/ablation/Exchange_script/TEFN_at_p96.json create mode 100644 config/ablation/Traffic_script/TEFN_ac_p192.json create mode 100644 config/ablation/Traffic_script/TEFN_ac_p336.json create mode 100644 config/ablation/Traffic_script/TEFN_ac_p720.json create mode 100644 config/ablation/Traffic_script/TEFN_ac_p96.json create mode 100644 config/ablation/Traffic_script/TEFN_at_p192.json create mode 100644 config/ablation/Traffic_script/TEFN_at_p336.json create mode 100644 config/ablation/Traffic_script/TEFN_at_p720.json create mode 100644 config/ablation/Traffic_script/TEFN_at_p96.json create mode 100644 config/ablation/Weather_script/TEFN_ac_p192.json create mode 100644 config/ablation/Weather_script/TEFN_ac_p336.json create mode 100644 config/ablation/Weather_script/TEFN_ac_p720.json create mode 100644 config/ablation/Weather_script/TEFN_ac_p96.json create mode 100644 config/ablation/Weather_script/TEFN_at_p192.json create mode 100644 config/ablation/Weather_script/TEFN_at_p336.json create mode 100644 config/ablation/Weather_script/TEFN_at_p720.json create mode 100644 config/ablation/Weather_script/TEFN_at_p96.json create mode 100644 config/comparision/ECL_script/TEFN_p192.json create mode 100644 config/comparision/ECL_script/TEFN_p336.json create mode 100644 config/comparision/ECL_script/TEFN_p720.json create mode 100644 config/comparision/ECL_script/TEFN_p96.json create mode 100644 config/comparision/ETT_script/TEFN_ETTh1_p192.json create mode 100644 config/comparision/ETT_script/TEFN_ETTh1_p336.json create mode 100644 config/comparision/ETT_script/TEFN_ETTh1_p720.json create mode 100644 config/comparision/ETT_script/TEFN_ETTh1_p96.json create mode 100644 config/comparision/ETT_script/TEFN_ETTh2_p192.json create mode 100644 config/comparision/ETT_script/TEFN_ETTh2_p336.json create mode 100644 config/comparision/ETT_script/TEFN_ETTh2_p720.json create mode 100644 config/comparision/ETT_script/TEFN_ETTh2_p96.json create mode 100644 config/comparision/ETT_script/TEFN_ETTm1_p192.json create mode 100644 config/comparision/ETT_script/TEFN_ETTm1_p336.json create mode 100644 config/comparision/ETT_script/TEFN_ETTm1_p720.json create mode 100644 config/comparision/ETT_script/TEFN_ETTm1_p96.json create mode 100644 config/comparision/ETT_script/TEFN_ETTm2_p192.json create mode 100644 config/comparision/ETT_script/TEFN_ETTm2_p336.json create mode 100644 config/comparision/ETT_script/TEFN_ETTm2_p720.json create mode 100644 config/comparision/ETT_script/TEFN_ETTm2_p96.json create mode 100644 config/comparision/Exchange_script/TEFN_p192.json create mode 100644 config/comparision/Exchange_script/TEFN_p336.json create mode 100644 config/comparision/Exchange_script/TEFN_p720.json create mode 100644 config/comparision/Exchange_script/TEFN_p96.json create mode 100644 config/comparision/Traffic_script/TEFN_p192.json create mode 100644 config/comparision/Traffic_script/TEFN_p336.json create mode 100644 config/comparision/Traffic_script/TEFN_p720.json create mode 100644 config/comparision/Traffic_script/TEFN_p96.json create mode 100644 config/comparision/Weather_script/TEFN_p192.json create mode 100644 config/comparision/Weather_script/TEFN_p336.json create mode 100644 config/comparision/Weather_script/TEFN_p720.json create mode 100644 config/comparision/Weather_script/TEFN_p96.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e6_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e0_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e1_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e2_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e3_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e4_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e5_d1.json create mode 100644 config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e6_d1.json create mode 100644 data_provider/__init__.py create mode 100644 data_provider/data_factory.py create mode 100644 data_provider/data_loader.py create mode 100644 exp/__init__.py create mode 100644 exp/exp_basic.py create mode 100644 exp/exp_long_term_forecasting.py create mode 100644 fig/CBV.png create mode 100644 fig/TBV.png create mode 100644 fig/TEFN.png create mode 100644 fig/bpa.png create mode 100644 fig/inver_conv.png create mode 100644 fig/ms.png create mode 100644 fig/size.png create mode 100644 fig/sota.png create mode 100644 fig/var.png create mode 100644 fig/vr.png create mode 100644 models/TEFN.py create mode 100644 models/TEFN_ac.py create mode 100644 models/TEFN_at.py create mode 100644 models/__init__.py create mode 100644 pull.sh create mode 100644 push.sh create mode 100644 readme.md create mode 100644 requirements.txt create mode 100644 run.py create mode 100644 run_config.py create mode 100644 utils/__init__.py create mode 100644 utils/augmentation.py create mode 100644 utils/dtw.py create mode 100644 utils/dtw_metric.py create mode 100644 utils/losses.py create mode 100644 utils/metrics.py create mode 100644 utils/print_args.py create mode 100644 utils/timefeatures.py create mode 100644 utils/tools.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef69548 --- /dev/null +++ b/.gitignore @@ -0,0 +1,692 @@ + + +### TEFN +.out +**dataset + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### PyCharm ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### PyCharm Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +# https://plugins.jetbrains.com/plugin/7973-sonarlint +.idea/**/sonarlint/ + +# SonarQube Plugin +# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin +.idea/**/sonarIssues.xml + +# Markdown Navigator plugin +# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced +.idea/**/markdown-navigator.xml +.idea/**/markdown-navigator-enh.xml +.idea/**/markdown-navigator/ + +# Cache file creation bug +# See https://youtrack.jetbrains.com/issue/JBR-2257 +.idea/$CACHE_FILE$ + +# CodeStream plugin +# https://plugins.jetbrains.com/plugin/12206-codestream +.idea/codestream.xml + +# Azure Toolkit for IntelliJ plugin +# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij +.idea/**/azureSettings.xml + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +### TeX ### +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplot +*.gnuplot +*.table + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# svg +svg-inkscape/ + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# titletoc +*.ptc + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib + +### TeX Patch ### +# LIPIcs / OASIcs +*.vtc + +# glossaries +*.glstex + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/code.iml b/.idea/code.iml new file mode 100644 index 0000000..e0bab2b --- /dev/null +++ b/.idea/code.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..9a304bd --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,30 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..9fda29e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..23968dc --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/config/ablation/ECL_script/TEFN_ac_p192.json b/config/ablation/ECL_script/TEFN_ac_p192.json new file mode 100644 index 0000000..53f5069 --- /dev/null +++ b/config/ablation/ECL_script/TEFN_ac_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ECL_script/TEFN_ac_p336.json b/config/ablation/ECL_script/TEFN_ac_p336.json new file mode 100644 index 0000000..616ff14 --- /dev/null +++ b/config/ablation/ECL_script/TEFN_ac_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ECL_script/TEFN_ac_p720.json b/config/ablation/ECL_script/TEFN_ac_p720.json new file mode 100644 index 0000000..4a5206e --- /dev/null +++ b/config/ablation/ECL_script/TEFN_ac_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ECL_script/TEFN_ac_p96.json b/config/ablation/ECL_script/TEFN_ac_p96.json new file mode 100644 index 0000000..1824c3a --- /dev/null +++ b/config/ablation/ECL_script/TEFN_ac_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ECL_script/TEFN_at_p192.json b/config/ablation/ECL_script/TEFN_at_p192.json new file mode 100644 index 0000000..bb9e775 --- /dev/null +++ b/config/ablation/ECL_script/TEFN_at_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ECL_script/TEFN_at_p336.json b/config/ablation/ECL_script/TEFN_at_p336.json new file mode 100644 index 0000000..af557bf --- /dev/null +++ b/config/ablation/ECL_script/TEFN_at_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ECL_script/TEFN_at_p720.json b/config/ablation/ECL_script/TEFN_at_p720.json new file mode 100644 index 0000000..80116c2 --- /dev/null +++ b/config/ablation/ECL_script/TEFN_at_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ECL_script/TEFN_at_p96.json b/config/ablation/ECL_script/TEFN_at_p96.json new file mode 100644 index 0000000..a5e0629 --- /dev/null +++ b/config/ablation/ECL_script/TEFN_at_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTh1_p192.json b/config/ablation/ETT_script/TEFN_ac_ETTh1_p192.json new file mode 100644 index 0000000..0d6abe8 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTh1_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN_ac", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTh1_p336.json b/config/ablation/ETT_script/TEFN_ac_ETTh1_p336.json new file mode 100644 index 0000000..69c2499 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTh1_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN_ac", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTh1_p720.json b/config/ablation/ETT_script/TEFN_ac_ETTh1_p720.json new file mode 100644 index 0000000..9e87e14 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTh1_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN_ac", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTh1_p96.json b/config/ablation/ETT_script/TEFN_ac_ETTh1_p96.json new file mode 100644 index 0000000..4fa9634 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTh1_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN_ac", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTh2_p192.json b/config/ablation/ETT_script/TEFN_ac_ETTh2_p192.json new file mode 100644 index 0000000..4885d0a --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTh2_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN_ac", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTh2_p336.json b/config/ablation/ETT_script/TEFN_ac_ETTh2_p336.json new file mode 100644 index 0000000..ad4f349 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTh2_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN_ac", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTh2_p720.json b/config/ablation/ETT_script/TEFN_ac_ETTh2_p720.json new file mode 100644 index 0000000..b97c54c --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTh2_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN_ac", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTh2_p96.json b/config/ablation/ETT_script/TEFN_ac_ETTh2_p96.json new file mode 100644 index 0000000..ab6fa20 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTh2_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN_ac", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTm1_p192.json b/config/ablation/ETT_script/TEFN_ac_ETTm1_p192.json new file mode 100644 index 0000000..d924ab1 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTm1_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN_ac", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTm1_p336.json b/config/ablation/ETT_script/TEFN_ac_ETTm1_p336.json new file mode 100644 index 0000000..d4a52d6 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTm1_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN_ac", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTm1_p720.json b/config/ablation/ETT_script/TEFN_ac_ETTm1_p720.json new file mode 100644 index 0000000..0ea16b2 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTm1_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN_ac", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTm1_p96.json b/config/ablation/ETT_script/TEFN_ac_ETTm1_p96.json new file mode 100644 index 0000000..8260656 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTm1_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN_ac", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTm2_p192.json b/config/ablation/ETT_script/TEFN_ac_ETTm2_p192.json new file mode 100644 index 0000000..b067b3d --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTm2_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN_ac", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTm2_p336.json b/config/ablation/ETT_script/TEFN_ac_ETTm2_p336.json new file mode 100644 index 0000000..8531d3d --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTm2_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN_ac", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTm2_p720.json b/config/ablation/ETT_script/TEFN_ac_ETTm2_p720.json new file mode 100644 index 0000000..edd4e7e --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTm2_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN_ac", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_ac_ETTm2_p96.json b/config/ablation/ETT_script/TEFN_ac_ETTm2_p96.json new file mode 100644 index 0000000..0ca16c7 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_ac_ETTm2_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN_ac", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTh1_p192.json b/config/ablation/ETT_script/TEFN_at_ETTh1_p192.json new file mode 100644 index 0000000..606d588 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTh1_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN_at", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTh1_p336.json b/config/ablation/ETT_script/TEFN_at_ETTh1_p336.json new file mode 100644 index 0000000..451aa70 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTh1_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN_at", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTh1_p720.json b/config/ablation/ETT_script/TEFN_at_ETTh1_p720.json new file mode 100644 index 0000000..317468b --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTh1_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN_at", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTh1_p96.json b/config/ablation/ETT_script/TEFN_at_ETTh1_p96.json new file mode 100644 index 0000000..a495380 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTh1_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN_at", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTh2_p192.json b/config/ablation/ETT_script/TEFN_at_ETTh2_p192.json new file mode 100644 index 0000000..ef7bd34 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTh2_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN_at", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTh2_p336.json b/config/ablation/ETT_script/TEFN_at_ETTh2_p336.json new file mode 100644 index 0000000..042a92b --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTh2_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN_at", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTh2_p720.json b/config/ablation/ETT_script/TEFN_at_ETTh2_p720.json new file mode 100644 index 0000000..56c0e45 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTh2_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN_at", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTh2_p96.json b/config/ablation/ETT_script/TEFN_at_ETTh2_p96.json new file mode 100644 index 0000000..42bd13b --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTh2_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN_at", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTm1_p192.json b/config/ablation/ETT_script/TEFN_at_ETTm1_p192.json new file mode 100644 index 0000000..c9f9d65 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTm1_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN_at", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTm1_p336.json b/config/ablation/ETT_script/TEFN_at_ETTm1_p336.json new file mode 100644 index 0000000..bccc328 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTm1_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN_at", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTm1_p720.json b/config/ablation/ETT_script/TEFN_at_ETTm1_p720.json new file mode 100644 index 0000000..b6c8bfd --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTm1_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN_at", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTm1_p96.json b/config/ablation/ETT_script/TEFN_at_ETTm1_p96.json new file mode 100644 index 0000000..c817efb --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTm1_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN_at", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTm2_p192.json b/config/ablation/ETT_script/TEFN_at_ETTm2_p192.json new file mode 100644 index 0000000..1d5f9bf --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTm2_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN_at", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTm2_p336.json b/config/ablation/ETT_script/TEFN_at_ETTm2_p336.json new file mode 100644 index 0000000..dbbe8dd --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTm2_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN_at", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTm2_p720.json b/config/ablation/ETT_script/TEFN_at_ETTm2_p720.json new file mode 100644 index 0000000..484de99 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTm2_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN_at", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/ETT_script/TEFN_at_ETTm2_p96.json b/config/ablation/ETT_script/TEFN_at_ETTm2_p96.json new file mode 100644 index 0000000..9a3fe68 --- /dev/null +++ b/config/ablation/ETT_script/TEFN_at_ETTm2_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN_at", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Exchange_script/TEFN_ac_p192.json b/config/ablation/Exchange_script/TEFN_ac_p192.json new file mode 100644 index 0000000..5b192dc --- /dev/null +++ b/config/ablation/Exchange_script/TEFN_ac_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Exchange_script/TEFN_ac_p336.json b/config/ablation/Exchange_script/TEFN_ac_p336.json new file mode 100644 index 0000000..837349d --- /dev/null +++ b/config/ablation/Exchange_script/TEFN_ac_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Exchange_script/TEFN_ac_p720.json b/config/ablation/Exchange_script/TEFN_ac_p720.json new file mode 100644 index 0000000..a45c095 --- /dev/null +++ b/config/ablation/Exchange_script/TEFN_ac_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Exchange_script/TEFN_ac_p96.json b/config/ablation/Exchange_script/TEFN_ac_p96.json new file mode 100644 index 0000000..19b94f0 --- /dev/null +++ b/config/ablation/Exchange_script/TEFN_ac_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Exchange_script/TEFN_at_p192.json b/config/ablation/Exchange_script/TEFN_at_p192.json new file mode 100644 index 0000000..24d752b --- /dev/null +++ b/config/ablation/Exchange_script/TEFN_at_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Exchange_script/TEFN_at_p336.json b/config/ablation/Exchange_script/TEFN_at_p336.json new file mode 100644 index 0000000..9248bcb --- /dev/null +++ b/config/ablation/Exchange_script/TEFN_at_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Exchange_script/TEFN_at_p720.json b/config/ablation/Exchange_script/TEFN_at_p720.json new file mode 100644 index 0000000..2d94493 --- /dev/null +++ b/config/ablation/Exchange_script/TEFN_at_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Exchange_script/TEFN_at_p96.json b/config/ablation/Exchange_script/TEFN_at_p96.json new file mode 100644 index 0000000..de70844 --- /dev/null +++ b/config/ablation/Exchange_script/TEFN_at_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Traffic_script/TEFN_ac_p192.json b/config/ablation/Traffic_script/TEFN_ac_p192.json new file mode 100644 index 0000000..f4df8b9 --- /dev/null +++ b/config/ablation/Traffic_script/TEFN_ac_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Traffic_script/TEFN_ac_p336.json b/config/ablation/Traffic_script/TEFN_ac_p336.json new file mode 100644 index 0000000..6c267c0 --- /dev/null +++ b/config/ablation/Traffic_script/TEFN_ac_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Traffic_script/TEFN_ac_p720.json b/config/ablation/Traffic_script/TEFN_ac_p720.json new file mode 100644 index 0000000..d6984b9 --- /dev/null +++ b/config/ablation/Traffic_script/TEFN_ac_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Traffic_script/TEFN_ac_p96.json b/config/ablation/Traffic_script/TEFN_ac_p96.json new file mode 100644 index 0000000..3b6f3b1 --- /dev/null +++ b/config/ablation/Traffic_script/TEFN_ac_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Traffic_script/TEFN_at_p192.json b/config/ablation/Traffic_script/TEFN_at_p192.json new file mode 100644 index 0000000..b51c237 --- /dev/null +++ b/config/ablation/Traffic_script/TEFN_at_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Traffic_script/TEFN_at_p336.json b/config/ablation/Traffic_script/TEFN_at_p336.json new file mode 100644 index 0000000..1bcf7ea --- /dev/null +++ b/config/ablation/Traffic_script/TEFN_at_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Traffic_script/TEFN_at_p720.json b/config/ablation/Traffic_script/TEFN_at_p720.json new file mode 100644 index 0000000..3f4b8f2 --- /dev/null +++ b/config/ablation/Traffic_script/TEFN_at_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Traffic_script/TEFN_at_p96.json b/config/ablation/Traffic_script/TEFN_at_p96.json new file mode 100644 index 0000000..fb29662 --- /dev/null +++ b/config/ablation/Traffic_script/TEFN_at_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Weather_script/TEFN_ac_p192.json b/config/ablation/Weather_script/TEFN_ac_p192.json new file mode 100644 index 0000000..0547cdd --- /dev/null +++ b/config/ablation/Weather_script/TEFN_ac_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Weather_script/TEFN_ac_p336.json b/config/ablation/Weather_script/TEFN_ac_p336.json new file mode 100644 index 0000000..82e7bfe --- /dev/null +++ b/config/ablation/Weather_script/TEFN_ac_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Weather_script/TEFN_ac_p720.json b/config/ablation/Weather_script/TEFN_ac_p720.json new file mode 100644 index 0000000..8091b30 --- /dev/null +++ b/config/ablation/Weather_script/TEFN_ac_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Weather_script/TEFN_ac_p96.json b/config/ablation/Weather_script/TEFN_ac_p96.json new file mode 100644 index 0000000..8c83887 --- /dev/null +++ b/config/ablation/Weather_script/TEFN_ac_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN_ac", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Weather_script/TEFN_at_p192.json b/config/ablation/Weather_script/TEFN_at_p192.json new file mode 100644 index 0000000..833dbae --- /dev/null +++ b/config/ablation/Weather_script/TEFN_at_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Weather_script/TEFN_at_p336.json b/config/ablation/Weather_script/TEFN_at_p336.json new file mode 100644 index 0000000..f7f306c --- /dev/null +++ b/config/ablation/Weather_script/TEFN_at_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Weather_script/TEFN_at_p720.json b/config/ablation/Weather_script/TEFN_at_p720.json new file mode 100644 index 0000000..5f7c230 --- /dev/null +++ b/config/ablation/Weather_script/TEFN_at_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/ablation/Weather_script/TEFN_at_p96.json b/config/ablation/Weather_script/TEFN_at_p96.json new file mode 100644 index 0000000..93bff58 --- /dev/null +++ b/config/ablation/Weather_script/TEFN_at_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN_at", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ECL_script/TEFN_p192.json b/config/comparision/ECL_script/TEFN_p192.json new file mode 100644 index 0000000..38582b1 --- /dev/null +++ b/config/comparision/ECL_script/TEFN_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ECL_script/TEFN_p336.json b/config/comparision/ECL_script/TEFN_p336.json new file mode 100644 index 0000000..49a5a45 --- /dev/null +++ b/config/comparision/ECL_script/TEFN_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ECL_script/TEFN_p720.json b/config/comparision/ECL_script/TEFN_p720.json new file mode 100644 index 0000000..4ff9394 --- /dev/null +++ b/config/comparision/ECL_script/TEFN_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ECL_script/TEFN_p96.json b/config/comparision/ECL_script/TEFN_p96.json new file mode 100644 index 0000000..feca76e --- /dev/null +++ b/config/comparision/ECL_script/TEFN_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTh1_p192.json b/config/comparision/ETT_script/TEFN_ETTh1_p192.json new file mode 100644 index 0000000..ca094b6 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTh1_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTh1_p336.json b/config/comparision/ETT_script/TEFN_ETTh1_p336.json new file mode 100644 index 0000000..b1ae66c --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTh1_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTh1_p720.json b/config/comparision/ETT_script/TEFN_ETTh1_p720.json new file mode 100644 index 0000000..09930d8 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTh1_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTh1_p96.json b/config/comparision/ETT_script/TEFN_ETTh1_p96.json new file mode 100644 index 0000000..f340f50 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTh1_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTh2_p192.json b/config/comparision/ETT_script/TEFN_ETTh2_p192.json new file mode 100644 index 0000000..9ca8b4b --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTh2_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTh2_p336.json b/config/comparision/ETT_script/TEFN_ETTh2_p336.json new file mode 100644 index 0000000..c16ba81 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTh2_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTh2_p720.json b/config/comparision/ETT_script/TEFN_ETTh2_p720.json new file mode 100644 index 0000000..011834d --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTh2_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTh2_p96.json b/config/comparision/ETT_script/TEFN_ETTh2_p96.json new file mode 100644 index 0000000..33019c3 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTh2_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTm1_p192.json b/config/comparision/ETT_script/TEFN_ETTm1_p192.json new file mode 100644 index 0000000..952c3f7 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTm1_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTm1_p336.json b/config/comparision/ETT_script/TEFN_ETTm1_p336.json new file mode 100644 index 0000000..bee9c45 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTm1_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTm1_p720.json b/config/comparision/ETT_script/TEFN_ETTm1_p720.json new file mode 100644 index 0000000..855e31c --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTm1_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTm1_p96.json b/config/comparision/ETT_script/TEFN_ETTm1_p96.json new file mode 100644 index 0000000..c9aa928 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTm1_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTm2_p192.json b/config/comparision/ETT_script/TEFN_ETTm2_p192.json new file mode 100644 index 0000000..588ff69 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTm2_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTm2_p336.json b/config/comparision/ETT_script/TEFN_ETTm2_p336.json new file mode 100644 index 0000000..db0e5fd --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTm2_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTm2_p720.json b/config/comparision/ETT_script/TEFN_ETTm2_p720.json new file mode 100644 index 0000000..5949872 --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTm2_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/ETT_script/TEFN_ETTm2_p96.json b/config/comparision/ETT_script/TEFN_ETTm2_p96.json new file mode 100644 index 0000000..ffbaa2b --- /dev/null +++ b/config/comparision/ETT_script/TEFN_ETTm2_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Exchange_script/TEFN_p192.json b/config/comparision/Exchange_script/TEFN_p192.json new file mode 100644 index 0000000..b2b3608 --- /dev/null +++ b/config/comparision/Exchange_script/TEFN_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Exchange_script/TEFN_p336.json b/config/comparision/Exchange_script/TEFN_p336.json new file mode 100644 index 0000000..e58ea0f --- /dev/null +++ b/config/comparision/Exchange_script/TEFN_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Exchange_script/TEFN_p720.json b/config/comparision/Exchange_script/TEFN_p720.json new file mode 100644 index 0000000..a933fb0 --- /dev/null +++ b/config/comparision/Exchange_script/TEFN_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Exchange_script/TEFN_p96.json b/config/comparision/Exchange_script/TEFN_p96.json new file mode 100644 index 0000000..2c01598 --- /dev/null +++ b/config/comparision/Exchange_script/TEFN_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Traffic_script/TEFN_p192.json b/config/comparision/Traffic_script/TEFN_p192.json new file mode 100644 index 0000000..d0d406f --- /dev/null +++ b/config/comparision/Traffic_script/TEFN_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Traffic_script/TEFN_p336.json b/config/comparision/Traffic_script/TEFN_p336.json new file mode 100644 index 0000000..4713c2f --- /dev/null +++ b/config/comparision/Traffic_script/TEFN_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Traffic_script/TEFN_p720.json b/config/comparision/Traffic_script/TEFN_p720.json new file mode 100644 index 0000000..c9eb611 --- /dev/null +++ b/config/comparision/Traffic_script/TEFN_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Traffic_script/TEFN_p96.json b/config/comparision/Traffic_script/TEFN_p96.json new file mode 100644 index 0000000..1f15592 --- /dev/null +++ b/config/comparision/Traffic_script/TEFN_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Weather_script/TEFN_p192.json b/config/comparision/Weather_script/TEFN_p192.json new file mode 100644 index 0000000..22a3a9c --- /dev/null +++ b/config/comparision/Weather_script/TEFN_p192.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Weather_script/TEFN_p336.json b/config/comparision/Weather_script/TEFN_p336.json new file mode 100644 index 0000000..79302e1 --- /dev/null +++ b/config/comparision/Weather_script/TEFN_p336.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Weather_script/TEFN_p720.json b/config/comparision/Weather_script/TEFN_p720.json new file mode 100644 index 0000000..cacb044 --- /dev/null +++ b/config/comparision/Weather_script/TEFN_p720.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/comparision/Weather_script/TEFN_p96.json b/config/comparision/Weather_script/TEFN_p96.json new file mode 100644 index 0000000..5a081c5 --- /dev/null +++ b/config/comparision/Weather_script/TEFN_p96.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..3630d40 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..930287a --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..38582b1 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..1904de9 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..96d011d --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..4858c04 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..dc109e6 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..74ba5c1 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..5d19db4 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..07aa1da --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..fb25935 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..eada788 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..7efcb51 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..3d00db8 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..e21812a --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..42dc6bf --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..e4a367f --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..18cb65f --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..d9a901c --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..21daa47 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..a94d986 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p192_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..9dc8665 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..1867558 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..6b23b1f --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..7b67cb1 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..f70b567 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..f6b1c2d --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..4e6380b --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..4fcfe1c --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..49a5a45 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..ffb90e5 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..f2ab8fa --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..342c520 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..345656d --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..22d7fd7 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..56431d3 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..154c75f --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..ef0212e --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..7026b6b --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..bbf09fb --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..46ccefb --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..35ffa11 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p336_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..3ef121c --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..54bc748 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..27b03f4 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..4ff9394 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..ea5541d --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..5338309 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..2718c3c --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..6ab8a9b --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..b7ca292 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..ba5d724 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..51f4a83 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..d9d2ca0 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..92bcded --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..9cb13ca --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..d6fe5c1 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..40e2e0b --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..a5fa309 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..e9665ab --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..3080669 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..4e2272a --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..0920f04 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p720_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..680f50b --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..9679bf9 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..bd114d1 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..7119205 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..a7c7af1 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..d41ef83 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..fe445fe --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..feca76e --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..3def1d3 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..aeb1749 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..3b14776 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..bedcadd --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..cfca847 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..f574966 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..86cfd73 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..7b2a9d5 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..476c190 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..1ad6ac3 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..2036443 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..eca9130 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..fac7f93 --- /dev/null +++ b/config/sensitivity/ECL_script/TEFN_p96_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ECL_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/electricity/", "data_path": "electricity.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 321, "dec_in": 321, "c_out": 321, "d_model": 256, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..a426e77 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..6d8f270 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..f92b9ff --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..2ef5200 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..772bca7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..926dfe0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..8646fc8 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..72fb275 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..667f5e3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..3882824 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..d5fa5cc --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..ca094b6 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..f036e2f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..f4ab4ce --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..e37400f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..0034050 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..00851d2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..fed7bb2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..3ca58db --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..953ab94 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..6935564 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p192_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_192", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..19d303a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..b1ae66c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..43d9e48 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..d3fa5af --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..ae11f63 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..f40bb39 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..8ea2878 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..52861b1 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..dd19e5b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..7db86ef --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..54426af --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..5e20fc7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..07aae2c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..a46da9a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..aabe850 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..8a23302 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..e482d4e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..788c076 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..75fb7c6 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..9017e1c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..be2994d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p336_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_336", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..241b4aa --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..903ef89 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..77b5300 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..88a7bd0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..dde0d47 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..fcc108f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..af5fdf7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..fa069f3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..09930d8 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..ca9b972 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..974e83d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..83595be --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..8bb3791 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..4e7d7f2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..1551a05 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..0839b9c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..c4006be --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..17b5758 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..30f064c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..113c3c0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..07af591 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p720_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_720", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..1136741 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..8c8f7c1 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..f340f50 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..821c36d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..436ecb6 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..bf0b1c4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..b04f8e3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..da3c8b0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..a95b2ed --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..0437518 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..f12e12f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..599d334 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..f720261 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..9b00845 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..5448da2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..8b8219d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..2a7744a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..2e3f000 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..1ce3187 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..6c0a768 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..b5c19cf --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh1_p96_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh1_96_96", "model": "TEFN", "data": "ETTh1", "root_path": "./dataset/ETT-small/", "data_path": "ETTh1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..9b8f446 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..e381885 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..468ce06 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..8bf8098 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..ab8a5ee --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..be2cc65 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..e9bcff1 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..9ca8b4b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..1de08a6 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..94af1ac --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..3ec6d7f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..c996fb6 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..237319b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..ece0387 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..338d351 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..03a899f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..a48f0b2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..358c284 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..81e1ff5 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..32255c2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p192_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_192", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..77b5d6a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..6b5f77b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..0dffa15 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..012546b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..f72a8c3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..fb54fef --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..70ead33 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..afa7392 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..9cf6e3d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..045c2c6 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..3962abe --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..1ae1513 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..e427a50 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..0048765 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..c16ba81 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..5e5cea9 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..883e822 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..256ce66 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..0bd4306 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..731ca98 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p336_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_336", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..d958db4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..eec50dc --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..a3f3e55 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..1f75316 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..2c00676 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..2ea44b1 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..552b73c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..408e2c0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..366db55 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..b46fadb --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..c471586 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..db9c03d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..48e0483 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..0b282fc --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..2fc0e97 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..f1b02c8 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..011834d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..820778b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..66e68b9 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..3ccb289 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p720_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_720", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..888df7f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..ed421d5 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..28e997c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..33019c3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..095e188 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..01b54eb --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..a544e7e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..e1b5846 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..4f15adf --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..944229a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..9c187d2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..35f0dbc --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..3b1f561 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..2cc5354 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..df09222 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..3990377 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..55bab4a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..c6d7260 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..3c30262 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..dffa25d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTh2_p96_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTh2_96_96", "model": "TEFN", "data": "ETTh2", "root_path": "./dataset/ETT-small/", "data_path": "ETTh2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..a9371b7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..3760fd3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..60fdce1 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..3ba2109 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..6108dc8 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..a9ec5e8 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..bb7cce5 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..6eac122 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..3a34722 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..581e106 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..e30f836 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..6f4dfef --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..b93bf26 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..ba85b76 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..d9f016a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..952c3f7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..b6bffb5 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..7ee4ec0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..619670a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..0ee134c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..2e060ef --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p192_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_192", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..2358036 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..e755bfb --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..bee9c45 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..d9da592 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..fd74345 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..a0dacd9 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..e9cf7cd --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..748d97c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..0cd6359 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..d58632c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..8a25c56 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..2138dbc --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..036e3e4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..283a6c3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..7711874 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..6073d8f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..a55b4c3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..f2dee89 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..fdf14ef --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..494276e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..47a7ce2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p336_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_336", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..b366b28 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..f7a485f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..4414e4e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..f86d0b0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..808bcd7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..affa1da --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..855e31c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..f8e9077 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..ce6da56 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..6a285f7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..2966c62 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..7b14526 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..07a2661 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..aa20895 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..1c77c35 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..c16a10f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..ff5e03e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..0ce6e0c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..c6cd8c4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..4770d98 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..790486a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p720_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_720", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..4e56541 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..1d2e225 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..0387791 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..a88bbd2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..74b134a --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..c9aa928 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..50629bb --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..8e02fdd --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..be6864f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..2fbe7e3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..6b54f23 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..87e405f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..6506ac4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..3ec501f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..38da48d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..a9b482f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..f646264 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..88e95ea --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..c45ec84 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..99ceb3d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..e124441 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm1_p96_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm1_96_96", "model": "TEFN", "data": "ETTm1", "root_path": "./dataset/ETT-small/", "data_path": "ETTm1.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..90ab00d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..588ff69 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..a96408f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..bb95cac --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..b6ff169 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..be59cd2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..ef16be8 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..284fe02 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..88be9e7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..4cec6e7 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..23b4ab2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..d84107c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..bab287d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..4882594 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..467b180 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..6e2abc1 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..9bc4766 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..fc2c033 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..f5305a5 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..46d0967 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..02ecbff --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p192_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_192", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..aec844c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..8500337 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..32fc75c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..ac28611 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..db0e5fd --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..d6dfffa --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..8f0a943 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..4bfcd33 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..258564d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..982743c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..d0c290d --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..bac506e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..5b75e2f --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..b753416 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..d8864d4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..6f628d0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..7bc21a0 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..bd71b9e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..b5ceca4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..66e3d11 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..31bdea9 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p336_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_336", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..ea4b6a6 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..c2babe2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..0499136 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..5949872 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..457f17e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..75ca5e8 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..42a56db --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..5115cd2 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..b184737 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..d99165e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..ed09902 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..7947c29 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..0d6af1b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..7be4dc6 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..61b3770 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..9587833 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..c8e99a3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..b412477 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..121a3c4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..18f2e44 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..19e0a07 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p720_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_720", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 16, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..5274ac3 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..af028c4 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..1ba3173 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..acdc24c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..89a3289 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..612ad7e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..8e01f63 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..f93ec7b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..b8c729c --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..65f2127 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..2315094 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..ffbaa2b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..5b1cb03 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..fe0382b --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..47c8642 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..01d7673 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..9f20ba1 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..f671c97 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..9093e8e --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..d9a9791 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..9e65b40 --- /dev/null +++ b/config/sensitivity/ETT_script/TEFN_ETTm2_p96_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ETTm2_96_96", "model": "TEFN", "data": "ETTm2", "root_path": "./dataset/ETT-small/", "data_path": "ETTm2.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..97c8fa3 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..dae621c --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..023399a --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..2254696 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..2da59ee --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..88c77ca --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..8205979 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..c0a3594 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..c54f35c --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..1828810 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..d0dd51a --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..be25e7c --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..f68c9c2 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..cbbda13 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..f459e29 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..3d692c0 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..f7e75e6 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..b2b3608 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..7c77853 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..e4bc6f2 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..d5656e9 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p192_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..e58ea0f --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..42293ab --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..af039a9 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..479e490 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..555d912 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..839d774 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..bdd0319 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..3c185d0 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..5e50ced --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..9944780 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..f24dc76 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..4081842 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..06ca2bf --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..52b3388 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..f5d248b --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..29616d5 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..ad0e2e3 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..c08453f --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..224f65a --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..69f854e --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..708b236 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p336_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..7a05d69 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..0db625c --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..963de76 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..3925102 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..71389a5 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..0e1decb --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..e008ad3 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..cbc31e9 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..9192d57 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..2520c9d --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..4731ae0 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..a933fb0 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..3a3c269 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..c648a0d --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..1133fa9 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..369cd4b --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..d962f25 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..f712b92 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..94ceb3c --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..ca32a0f --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..8caf851 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p720_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..41147d7 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..0c2294d --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..279bb98 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..d3d24ef --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..268aec8 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..dbc7155 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..8708db9 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..2c01598 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..f9bed1a --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..ec01e32 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..5dc6a5b --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..054dfa6 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..ea2c2c5 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..fa36d24 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..c0941cc --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..9fc90de --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..8bf0eb0 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..38f63eb --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..fe23676 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..0deaf40 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..7e2f6e3 --- /dev/null +++ b/config/sensitivity/Exchange_script/TEFN_p96_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "Exchange_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/exchange_rate/", "data_path": "exchange_rate.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 8, "dec_in": 8, "c_out": 8, "d_model": 64, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 64, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..dc4066e --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..5d948db --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..3f03db1 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..689d6c5 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..e6a5bc1 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..182295c --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..cfecb61 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..80ed2e7 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..3a0a8f7 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..793bfc1 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..9027687 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..a161d41 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..894a961 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..e27fe05 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..b16a4db --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..7ab2184 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..ec68d42 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..7161ae6 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..3b4359a --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..040900c --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..083e5f4 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p24_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_24", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 24, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..35bc716 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..159d776 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..67145ab --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..4ad7f0d --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..9e84789 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..7a62d3b --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..25c21f4 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..684aca0 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..04853d7 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..5d09129 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..46b5576 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..2ee4ebb --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..002f437 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..2b1102e --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..b266254 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..f2e2a64 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..a2ea10a --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..419f28a --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..783d08c --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..60b492e --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..825dac5 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p36_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_36", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 36, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..aafde48 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..585ffae --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..2da0e8f --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..e717e63 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..6ee39a4 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..e655492 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..f71a1d1 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..5550dc9 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..ad1d419 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..e1e0773 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..a178515 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..acccd94 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..3375f11 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..90697ba --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..a7e5b76 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..ad6cc2e --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..c1ee1db --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..f6a3b8a --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..38968f3 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..33d3284 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..1bc2a27 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p48_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_48", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 48, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..b6989db --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..6ee820c --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..b5b928a --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..27a6eb1 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..f925810 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..92ba054 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..83ff93b --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..49e9c4d --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..a0101df --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..2901330 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..0ecae1c --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..a1790f7 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..354b9e4 --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..0314f9f --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e0_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..e7c1aae --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e1_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..47d297c --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e2_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..fd7492b --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e3_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..17bbb8e --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e4_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..6e5cc3e --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e5_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..c3ee67d --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e6_d1.json b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..ba6405c --- /dev/null +++ b/config/sensitivity/ILI_script/TEFN_p60_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "ili_36_60", "model": "TEFN", "data": "custom", "root_path": "./dataset/illness/", "data_path": "national_illness.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 36, "label_len": 18, "pred_len": 60, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 7, "dec_in": 7, "c_out": 7, "d_model": 768, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 768, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..5fa1460 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..e8e67c3 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..06ec20c --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..b94a7b2 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..75b5585 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..d6951e2 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..dd80776 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..ebd6870 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..306bf9a --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..48ef3b1 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..d1ed1b8 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..902cb4a --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..5b1e1aa --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..4a61d27 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..d0d406f --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..5ae3ee2 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..3d58c22 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..2142cd6 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..9f2786b --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..0512ec9 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..ba52d01 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p192_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..7f3c0ea --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..52203c3 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..e0805c3 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..8707c97 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..ce6211a --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..c0d2b7f --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..d8dca21 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..7387fa6 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..ff1ff7e --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..6651f9c --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..d3724f1 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..794c936 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..018c120 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..782b75f --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..4713c2f --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..9bbc6d7 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..518007b --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..4fdc27d --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..e04f03e --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..63673b9 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..7041944 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p336_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..74f853d --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..9a8fc03 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..c9eb611 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..3143696 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..836432d --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..ebd8339 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..d60e01f --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..12aea76 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..2420ac6 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..c522e53 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..e4c9664 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..d774ee4 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..1ffe69a --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..3705e12 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..a1ce640 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..614ee28 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..85f0d97 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..1ebcc1e --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..74805ea --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..2b094d9 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..a5e921b --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p720_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..dfc342a --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..b252878 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..3571464 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..afd31ed --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..adf7ca0 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..7b84b6e --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..255de27 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..1f15592 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..f509535 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..fe4738a --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..a2d1cd5 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..9a8bc4c --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..a652b08 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..905b259 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..997df88 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..b30a34d --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..2802e3f --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..4c0008b --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..6933878 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..73fff0e --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..b692aa8 --- /dev/null +++ b/config/sensitivity/Traffic_script/TEFN_p96_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "traffic_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/traffic/", "data_path": "traffic.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 862, "dec_in": 862, "c_out": 862, "d_model": 512, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 512, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..e1bed3d --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..e3e8801 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..7b77e2d --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..739f43d --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..22a3a9c --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..7c38d51 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..d95fedc --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..f039e21 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..478da82 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..bf14c5b --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..228f814 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..d10a5a3 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..491cf44 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..b7806b7 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..9d16656 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..127db40 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..1aa603c --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..13b9ba0 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..08c2ae7 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..694920d --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..825c023 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p192_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_192", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 192, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..322f9a7 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..a3a5b6c --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..df70f12 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..95d7801 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..79302e1 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..5e49f69 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..dc9d794 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..0677763 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..058870b --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..d5aa86e --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..76019e9 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..5087b42 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..beff172 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..dcf0a46 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..3d0fae0 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..a5f3532 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..f809ede --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..2d8407e --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..bcab2d9 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..85a379f --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..f74e046 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p336_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_336", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 336, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..e6721de --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..556a3a0 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..da80d22 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..9537e70 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..e15b420 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..45e71f5 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..c226573 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..cacb044 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..2a28f36 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..0528ad4 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..b27c8e7 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..e79785e --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..82fd2bd --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..40766a3 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..7c241ec --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..2e59042 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..403b700 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..2d58820 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..4976510 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..f2950cc --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..08c1416 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p720_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_720", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 720, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e0_d1.json new file mode 100644 index 0000000..c3d150e --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e1_d1.json new file mode 100644 index 0000000..47d9ddd --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e2_d1.json new file mode 100644 index 0000000..5308eae --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e3_d1.json new file mode 100644 index 0000000..ec26c73 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e4_d1.json new file mode 100644 index 0000000..5edeb55 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e5_d1.json new file mode 100644 index 0000000..c9954dc --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e6_d1.json new file mode 100644 index 0000000..3347da2 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.01_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.01, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e0_d1.json new file mode 100644 index 0000000..5a081c5 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e1_d1.json new file mode 100644 index 0000000..9cbb5f3 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e2_d1.json new file mode 100644 index 0000000..2772359 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e3_d1.json new file mode 100644 index 0000000..2b11474 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e4_d1.json new file mode 100644 index 0000000..8b80005 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e5_d1.json new file mode 100644 index 0000000..4f292fc --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e6_d1.json new file mode 100644 index 0000000..077503a --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.05_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.05, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e0_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e0_d1.json new file mode 100644 index 0000000..fe72836 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e0_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 0, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e1_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e1_d1.json new file mode 100644 index 0000000..ca202b8 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e1_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 1, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e2_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e2_d1.json new file mode 100644 index 0000000..4e8e48b --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e2_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 2, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e3_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e3_d1.json new file mode 100644 index 0000000..61e1771 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e3_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 3, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e4_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e4_d1.json new file mode 100644 index 0000000..a6b8dc5 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e4_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 4, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e5_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e5_d1.json new file mode 100644 index 0000000..9e666a7 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e5_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 5, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e6_d1.json b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e6_d1.json new file mode 100644 index 0000000..1f18180 --- /dev/null +++ b/config/sensitivity/Weather_script/TEFN_p96_dp0.1_l0.1_e6_d1.json @@ -0,0 +1 @@ +{"task_name": "long_term_forecast", "is_training": 1, "model_id": "weather_96_96", "model": "TEFN", "data": "custom", "root_path": "./dataset/weather/", "data_path": "weather.csv", "features": "M", "target": "OT", "freq": "h", "checkpoints": "./out/checkpoints/", "seq_len": 96, "label_len": 48, "pred_len": 96, "seasonal_patterns": "Monthly", "inverse": false, "mask_rate": 0.25, "anomaly_ratio": 0.25, "top_k": 5, "num_kernels": 6, "enc_in": 21, "dec_in": 21, "c_out": 21, "d_model": 32, "n_heads": 8, "e_layers": 6, "d_layers": 1, "d_ff": 32, "moving_avg": 25, "factor": 3, "distil": true, "dropout": 0.1, "embed": "timeF", "activation": "gelu", "output_attention": false, "channel_independence": 0, "conv_kernel": null, "num_workers": 10, "itr": 1, "train_epochs": 10, "batch_size": 32, "patience": 3, "learning_rate": 0.1, "des": "Exp", "loss": "MSE", "lradj": "type1", "use_amp": false, "use_gpu": true, "gpu": 0, "use_multi_gpu": false, "devices": "0,1,2,3", "p_hidden_dims": [128, 128], "p_hidden_layers": 2} \ No newline at end of file diff --git a/data_provider/__init__.py b/data_provider/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/data_provider/__init__.py @@ -0,0 +1 @@ + diff --git a/data_provider/data_factory.py b/data_provider/data_factory.py new file mode 100644 index 0000000..35abd52 --- /dev/null +++ b/data_provider/data_factory.py @@ -0,0 +1,42 @@ +from torch.utils.data import DataLoader + +from data_provider.data_loader import Dataset_ETT_hour, Dataset_ETT_minute, Dataset_Custom + +data_dict = { + 'ETTh1': Dataset_ETT_hour, + 'ETTh2': Dataset_ETT_hour, + 'ETTm1': Dataset_ETT_minute, + 'ETTm2': Dataset_ETT_minute, + 'custom': Dataset_Custom +} + + +def data_provider(args, flag): + Data = data_dict[args.data] + timeenc = 0 if args.embed != 'timeF' else 1 + + shuffle_flag = False if flag == 'test' else True + drop_last = True + batch_size = args.batch_size + freq = args.freq + + data_set = Data( + args=args, + root_path=args.root_path, + data_path=args.data_path, + flag=flag, + size=[args.seq_len, args.label_len, args.pred_len], + features=args.features, + target=args.target, + timeenc=timeenc, + freq=freq, + seasonal_patterns=args.seasonal_patterns + ) + print(flag, len(data_set)) + data_loader = DataLoader( + data_set, + batch_size=batch_size, + shuffle=shuffle_flag, + num_workers=args.num_workers, + drop_last=drop_last) + return data_set, data_loader diff --git a/data_provider/data_loader.py b/data_provider/data_loader.py new file mode 100644 index 0000000..35681d7 --- /dev/null +++ b/data_provider/data_loader.py @@ -0,0 +1,302 @@ +import os +import warnings + +import pandas as pd +from sklearn.preprocessing import StandardScaler +from torch.utils.data import Dataset + +from utils.augmentation import run_augmentation_single +from utils.timefeatures import time_features + +warnings.filterwarnings('ignore') + + +class Dataset_ETT_hour(Dataset): + def __init__(self, args, root_path, flag='train', size=None, + features='S', data_path='ETTh1.csv', + target='OT', scale=True, timeenc=0, freq='h', seasonal_patterns=None): + # size [seq_len, label_len, pred_len] + self.args = args + # info + if size == None: + self.seq_len = 24 * 4 * 4 + self.label_len = 24 * 4 + self.pred_len = 24 * 4 + else: + self.seq_len = size[0] + self.label_len = size[1] + self.pred_len = size[2] + # init + assert flag in ['train', 'test', 'val'] + type_map = {'train': 0, 'val': 1, 'test': 2} + self.set_type = type_map[flag] + + self.features = features + self.target = target + self.scale = scale + self.timeenc = timeenc + self.freq = freq + + self.root_path = root_path + self.data_path = data_path + self.__read_data__() + + def __read_data__(self): + self.scaler = StandardScaler() + df_raw = pd.read_csv(os.path.join(self.root_path, + self.data_path)) + + border1s = [0, 12 * 30 * 24 - self.seq_len, 12 * 30 * 24 + 4 * 30 * 24 - self.seq_len] + border2s = [12 * 30 * 24, 12 * 30 * 24 + 4 * 30 * 24, 12 * 30 * 24 + 8 * 30 * 24] + border1 = border1s[self.set_type] + border2 = border2s[self.set_type] + + if self.features == 'M' or self.features == 'MS': + cols_data = df_raw.columns[1:] + df_data = df_raw[cols_data] + elif self.features == 'S': + df_data = df_raw[[self.target]] + + if self.scale: + train_data = df_data[border1s[0]:border2s[0]] + self.scaler.fit(train_data.values) + data = self.scaler.transform(df_data.values) + else: + data = df_data.values + + df_stamp = df_raw[['date']][border1:border2] + df_stamp['date'] = pd.to_datetime(df_stamp.date) + if self.timeenc == 0: + df_stamp['month'] = df_stamp.date.apply(lambda row: row.month, 1) + df_stamp['day'] = df_stamp.date.apply(lambda row: row.day, 1) + df_stamp['weekday'] = df_stamp.date.apply(lambda row: row.weekday(), 1) + df_stamp['hour'] = df_stamp.date.apply(lambda row: row.hour, 1) + data_stamp = df_stamp.drop(['date'], 1).values + elif self.timeenc == 1: + data_stamp = time_features(pd.to_datetime(df_stamp['date'].values), freq=self.freq) + data_stamp = data_stamp.transpose(1, 0) + + self.data_x = data[border1:border2] + self.data_y = data[border1:border2] + + if self.set_type == 0 and self.args.augmentation_ratio > 0: + self.data_x, self.data_y, augmentation_tags = run_augmentation_single(self.data_x, self.data_y, self.args) + + self.data_stamp = data_stamp + + def __getitem__(self, index): + s_begin = index + s_end = s_begin + self.seq_len + r_begin = s_end - self.label_len + r_end = r_begin + self.label_len + self.pred_len + + seq_x = self.data_x[s_begin:s_end] + seq_y = self.data_y[r_begin:r_end] + seq_x_mark = self.data_stamp[s_begin:s_end] + seq_y_mark = self.data_stamp[r_begin:r_end] + + return seq_x, seq_y, seq_x_mark, seq_y_mark + + def __len__(self): + return len(self.data_x) - self.seq_len - self.pred_len + 1 + + def inverse_transform(self, data): + return self.scaler.inverse_transform(data) + + +class Dataset_ETT_minute(Dataset): + def __init__(self, args, root_path, flag='train', size=None, + features='S', data_path='ETTm1.csv', + target='OT', scale=True, timeenc=0, freq='t', seasonal_patterns=None): + # size [seq_len, label_len, pred_len] + self.args = args + # info + if size == None: + self.seq_len = 24 * 4 * 4 + self.label_len = 24 * 4 + self.pred_len = 24 * 4 + else: + self.seq_len = size[0] + self.label_len = size[1] + self.pred_len = size[2] + # init + assert flag in ['train', 'test', 'val'] + type_map = {'train': 0, 'val': 1, 'test': 2} + self.set_type = type_map[flag] + + self.features = features + self.target = target + self.scale = scale + self.timeenc = timeenc + self.freq = freq + + self.root_path = root_path + self.data_path = data_path + self.__read_data__() + + def __read_data__(self): + self.scaler = StandardScaler() + df_raw = pd.read_csv(os.path.join(self.root_path, + self.data_path)) + + border1s = [0, 12 * 30 * 24 * 4 - self.seq_len, 12 * 30 * 24 * 4 + 4 * 30 * 24 * 4 - self.seq_len] + border2s = [12 * 30 * 24 * 4, 12 * 30 * 24 * 4 + 4 * 30 * 24 * 4, 12 * 30 * 24 * 4 + 8 * 30 * 24 * 4] + border1 = border1s[self.set_type] + border2 = border2s[self.set_type] + + if self.features == 'M' or self.features == 'MS': + cols_data = df_raw.columns[1:] + df_data = df_raw[cols_data] + elif self.features == 'S': + df_data = df_raw[[self.target]] + + if self.scale: + train_data = df_data[border1s[0]:border2s[0]] + self.scaler.fit(train_data.values) + data = self.scaler.transform(df_data.values) + else: + data = df_data.values + + df_stamp = df_raw[['date']][border1:border2] + df_stamp['date'] = pd.to_datetime(df_stamp.date) + if self.timeenc == 0: + df_stamp['month'] = df_stamp.date.apply(lambda row: row.month, 1) + df_stamp['day'] = df_stamp.date.apply(lambda row: row.day, 1) + df_stamp['weekday'] = df_stamp.date.apply(lambda row: row.weekday(), 1) + df_stamp['hour'] = df_stamp.date.apply(lambda row: row.hour, 1) + df_stamp['minute'] = df_stamp.date.apply(lambda row: row.minute, 1) + df_stamp['minute'] = df_stamp.minute.map(lambda x: x // 15) + data_stamp = df_stamp.drop(['date'], 1).values + elif self.timeenc == 1: + data_stamp = time_features(pd.to_datetime(df_stamp['date'].values), freq=self.freq) + data_stamp = data_stamp.transpose(1, 0) + + self.data_x = data[border1:border2] + self.data_y = data[border1:border2] + + if self.set_type == 0 and self.args.augmentation_ratio > 0: + self.data_x, self.data_y, augmentation_tags = run_augmentation_single(self.data_x, self.data_y, self.args) + + self.data_stamp = data_stamp + + def __getitem__(self, index): + s_begin = index + s_end = s_begin + self.seq_len + r_begin = s_end - self.label_len + r_end = r_begin + self.label_len + self.pred_len + + seq_x = self.data_x[s_begin:s_end] + seq_y = self.data_y[r_begin:r_end] + seq_x_mark = self.data_stamp[s_begin:s_end] + seq_y_mark = self.data_stamp[r_begin:r_end] + + return seq_x, seq_y, seq_x_mark, seq_y_mark + + def __len__(self): + return len(self.data_x) - self.seq_len - self.pred_len + 1 + + def inverse_transform(self, data): + return self.scaler.inverse_transform(data) + + +class Dataset_Custom(Dataset): + def __init__(self, args, root_path, flag='train', size=None, + features='S', data_path='ETTh1.csv', + target='OT', scale=True, timeenc=0, freq='h', seasonal_patterns=None): + # size [seq_len, label_len, pred_len] + self.args = args + # info + if size == None: + self.seq_len = 24 * 4 * 4 + self.label_len = 24 * 4 + self.pred_len = 24 * 4 + else: + self.seq_len = size[0] + self.label_len = size[1] + self.pred_len = size[2] + # init + assert flag in ['train', 'test', 'val'] + type_map = {'train': 0, 'val': 1, 'test': 2} + self.set_type = type_map[flag] + + self.features = features + self.target = target + self.scale = scale + self.timeenc = timeenc + self.freq = freq + + self.root_path = root_path + self.data_path = data_path + self.__read_data__() + + def __read_data__(self): + self.scaler = StandardScaler() + df_raw = pd.read_csv(os.path.join(self.root_path, + self.data_path)) + + ''' + df_raw.columns: ['date', ...(other features), target feature] + ''' + cols = list(df_raw.columns) + cols.remove(self.target) + cols.remove('date') + df_raw = df_raw[['date'] + cols + [self.target]] + num_train = int(len(df_raw) * 0.7) + num_test = int(len(df_raw) * 0.2) + num_vali = len(df_raw) - num_train - num_test + border1s = [0, num_train - self.seq_len, len(df_raw) - num_test - self.seq_len] + border2s = [num_train, num_train + num_vali, len(df_raw)] + border1 = border1s[self.set_type] + border2 = border2s[self.set_type] + + if self.features == 'M' or self.features == 'MS': + cols_data = df_raw.columns[1:] + df_data = df_raw[cols_data] + elif self.features == 'S': + df_data = df_raw[[self.target]] + + if self.scale: + train_data = df_data[border1s[0]:border2s[0]] + self.scaler.fit(train_data.values) + data = self.scaler.transform(df_data.values) + else: + data = df_data.values + + df_stamp = df_raw[['date']][border1:border2] + df_stamp['date'] = pd.to_datetime(df_stamp.date) + if self.timeenc == 0: + df_stamp['month'] = df_stamp.date.apply(lambda row: row.month, 1) + df_stamp['day'] = df_stamp.date.apply(lambda row: row.day, 1) + df_stamp['weekday'] = df_stamp.date.apply(lambda row: row.weekday(), 1) + df_stamp['hour'] = df_stamp.date.apply(lambda row: row.hour, 1) + data_stamp = df_stamp.drop(['date'], 1).values + elif self.timeenc == 1: + data_stamp = time_features(pd.to_datetime(df_stamp['date'].values), freq=self.freq) + data_stamp = data_stamp.transpose(1, 0) + + self.data_x = data[border1:border2] + self.data_y = data[border1:border2] + + if self.set_type == 0 and self.args.augmentation_ratio > 0: + self.data_x, self.data_y, augmentation_tags = run_augmentation_single(self.data_x, self.data_y, self.args) + + self.data_stamp = data_stamp + + def __getitem__(self, index): + s_begin = index + s_end = s_begin + self.seq_len + r_begin = s_end - self.label_len + r_end = r_begin + self.label_len + self.pred_len + + seq_x = self.data_x[s_begin:s_end] + seq_y = self.data_y[r_begin:r_end] + seq_x_mark = self.data_stamp[s_begin:s_end] + seq_y_mark = self.data_stamp[r_begin:r_end] + + return seq_x, seq_y, seq_x_mark, seq_y_mark + + def __len__(self): + return len(self.data_x) - self.seq_len - self.pred_len + 1 + + def inverse_transform(self, data): + return self.scaler.inverse_transform(data) diff --git a/exp/__init__.py b/exp/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/exp/exp_basic.py b/exp/exp_basic.py new file mode 100644 index 0000000..3d4a838 --- /dev/null +++ b/exp/exp_basic.py @@ -0,0 +1,44 @@ +import os + +import torch + +from models import TEFN, TEFN_ac, TEFN_at + + +class Exp_Basic(object): + def __init__(self, args): + self.args = args + self.model_dict = { + 'TEFN': TEFN, + 'TEFN_ac': TEFN_ac, + 'TEFN_at': TEFN_at + } + self.device = self._acquire_device() + self.model = self._build_model().to(self.device) + + def _build_model(self): + raise NotImplementedError + return None + + def _acquire_device(self): + if self.args.use_gpu: + os.environ["CUDA_VISIBLE_DEVICES"] = str( + self.args.gpu) if not self.args.use_multi_gpu else self.args.devices + device = torch.device('cuda:{}'.format(self.args.gpu)) + print('Use GPU: cuda:{}'.format(self.args.gpu)) + else: + device = torch.device('cpu') + print('Use CPU') + return device + + def _get_data(self): + pass + + def vali(self): + pass + + def train(self): + pass + + def test(self): + pass diff --git a/exp/exp_long_term_forecasting.py b/exp/exp_long_term_forecasting.py new file mode 100644 index 0000000..0c82246 --- /dev/null +++ b/exp/exp_long_term_forecasting.py @@ -0,0 +1,285 @@ +import os +import time +import warnings + +import numpy as np +import torch +import torch.nn as nn +from torch import optim + +from data_provider.data_factory import data_provider +from exp.exp_basic import Exp_Basic +from utils.dtw_metric import accelerated_dtw +from utils.metrics import metric +from utils.tools import EarlyStopping, adjust_learning_rate, visual + +warnings.filterwarnings('ignore') + + +class Exp_Long_Term_Forecast(Exp_Basic): + def __init__(self, args): + super(Exp_Long_Term_Forecast, self).__init__(args) + + def _build_model(self): + model = self.model_dict[self.args.model].Model(self.args).float() + + if self.args.use_multi_gpu and self.args.use_gpu: + model = nn.DataParallel(model, device_ids=self.args.device_ids) + return model + + def _get_data(self, flag): + data_set, data_loader = data_provider(self.args, flag) + return data_set, data_loader + + def _select_optimizer(self): + model_optim = optim.Adam(self.model.parameters(), lr=self.args.learning_rate) + return model_optim + + def _select_criterion(self): + criterion = nn.MSELoss() + return criterion + + def vali(self, vali_data, vali_loader, criterion): + total_loss = [] + self.model.eval() + with torch.no_grad(): + for i, (batch_x, batch_y, batch_x_mark, batch_y_mark) in enumerate(vali_loader): + batch_x = batch_x.float().to(self.device) + batch_y = batch_y.float() + + batch_x_mark = batch_x_mark.float().to(self.device) + batch_y_mark = batch_y_mark.float().to(self.device) + + # decoder input + dec_inp = torch.zeros_like(batch_y[:, -self.args.pred_len:, :]).float() + dec_inp = torch.cat([batch_y[:, :self.args.label_len, :], dec_inp], dim=1).float().to(self.device) + # encoder - decoder + if self.args.use_amp: + with torch.cuda.amp.autocast(): + if self.args.output_attention: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark)[0] + else: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark) + else: + if self.args.output_attention: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark)[0] + else: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark) + f_dim = -1 if self.args.features == 'MS' else 0 + outputs = outputs[:, -self.args.pred_len:, f_dim:] + batch_y = batch_y[:, -self.args.pred_len:, f_dim:].to(self.device) + + pred = outputs.detach().cpu() + true = batch_y.detach().cpu() + + loss = criterion(pred, true) + + total_loss.append(loss) + total_loss = np.average(total_loss) + self.model.train() + return total_loss + + def train(self, setting): + train_data, train_loader = self._get_data(flag='train') + vali_data, vali_loader = self._get_data(flag='val') + test_data, test_loader = self._get_data(flag='test') + + path = os.path.join(self.args.checkpoints, setting) + if not os.path.exists(path): + os.makedirs(path) + + time_now = time.time() + + train_steps = len(train_loader) + early_stopping = EarlyStopping(patience=self.args.patience, verbose=True) + + model_optim = self._select_optimizer() + criterion = self._select_criterion() + + if self.args.use_amp: + scaler = torch.cuda.amp.GradScaler() + + for epoch in range(self.args.train_epochs): + iter_count = 0 + train_loss = [] + + self.model.train() + epoch_time = time.time() + for i, (batch_x, batch_y, batch_x_mark, batch_y_mark) in enumerate(train_loader): + iter_count += 1 + model_optim.zero_grad() + batch_x = batch_x.float().to(self.device) + batch_y = batch_y.float().to(self.device) + batch_x_mark = batch_x_mark.float().to(self.device) + batch_y_mark = batch_y_mark.float().to(self.device) + + # decoder input + dec_inp = torch.zeros_like(batch_y[:, -self.args.pred_len:, :]).float() + dec_inp = torch.cat([batch_y[:, :self.args.label_len, :], dec_inp], dim=1).float().to(self.device) + + # encoder - decoder + if self.args.use_amp: + with torch.cuda.amp.autocast(): + if self.args.output_attention: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark)[0] + else: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark) + + f_dim = -1 if self.args.features == 'MS' else 0 + outputs = outputs[:, -self.args.pred_len:, f_dim:] + batch_y = batch_y[:, -self.args.pred_len:, f_dim:].to(self.device) + loss = criterion(outputs, batch_y) + train_loss.append(loss.item()) + else: + if self.args.output_attention: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark)[0] + else: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark) + + f_dim = -1 if self.args.features == 'MS' else 0 + outputs = outputs[:, -self.args.pred_len:, f_dim:] + batch_y = batch_y[:, -self.args.pred_len:, f_dim:].to(self.device) + loss = criterion(outputs, batch_y) + train_loss.append(loss.item()) + + if (i + 1) % 100 == 0: + print("\titers: {0}, epoch: {1} | loss: {2:.7f}".format(i + 1, epoch + 1, loss.item())) + speed = (time.time() - time_now) / iter_count + left_time = speed * ((self.args.train_epochs - epoch) * train_steps - i) + print('\tspeed: {:.4f}s/iter; left time: {:.4f}s'.format(speed, left_time)) + iter_count = 0 + time_now = time.time() + + if self.args.use_amp: + scaler.scale(loss).backward() + scaler.step(model_optim) + scaler.update() + else: + loss.backward() + model_optim.step() + + print("Epoch: {} cost time: {}".format(epoch + 1, time.time() - epoch_time)) + train_loss = np.average(train_loss) + vali_loss = self.vali(vali_data, vali_loader, criterion) + test_loss = self.vali(test_data, test_loader, criterion) + + print("Epoch: {0}, Steps: {1} | Train Loss: {2:.7f} Vali Loss: {3:.7f} Test Loss: {4:.7f}".format( + epoch + 1, train_steps, train_loss, vali_loss, test_loss)) + early_stopping(vali_loss, self.model, path) + if early_stopping.early_stop: + print("Early stopping") + break + + adjust_learning_rate(model_optim, epoch + 1, self.args) + + best_model_path = path + '/' + 'checkpoint.pth' + self.model.load_state_dict(torch.load(best_model_path)) + + return self.model + + def test(self, setting, test=0): + test_data, test_loader = self._get_data(flag='test') + if test: + print('loading model') + self.model.load_state_dict(torch.load(os.path.join('./checkpoints/' + setting, 'checkpoint.pth'))) + + preds = [] + trues = [] + folder_path = './out/test_results/' + setting + '/' + if not os.path.exists(folder_path): + os.makedirs(folder_path) + + self.model.eval() + with torch.no_grad(): + for i, (batch_x, batch_y, batch_x_mark, batch_y_mark) in enumerate(test_loader): + batch_x = batch_x.float().to(self.device) + batch_y = batch_y.float().to(self.device) + + batch_x_mark = batch_x_mark.float().to(self.device) + batch_y_mark = batch_y_mark.float().to(self.device) + + # decoder input + dec_inp = torch.zeros_like(batch_y[:, -self.args.pred_len:, :]).float() + dec_inp = torch.cat([batch_y[:, :self.args.label_len, :], dec_inp], dim=1).float().to(self.device) + # encoder - decoder + if self.args.use_amp: + with torch.cuda.amp.autocast(): + if self.args.output_attention: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark)[0] + else: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark) + else: + if self.args.output_attention: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark)[0] + + else: + outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark) + + f_dim = -1 if self.args.features == 'MS' else 0 + outputs = outputs[:, -self.args.pred_len:, :] + batch_y = batch_y[:, -self.args.pred_len:, :].to(self.device) + outputs = outputs.detach().cpu().numpy() + batch_y = batch_y.detach().cpu().numpy() + if test_data.scale and self.args.inverse: + shape = outputs.shape + outputs = test_data.inverse_transform(outputs.squeeze(0)).reshape(shape) + batch_y = test_data.inverse_transform(batch_y.squeeze(0)).reshape(shape) + + outputs = outputs[:, :, f_dim:] + batch_y = batch_y[:, :, f_dim:] + + pred = outputs + true = batch_y + + preds.append(pred) + trues.append(true) + if i % 20 == 0: + input = batch_x.detach().cpu().numpy() + if test_data.scale and self.args.inverse: + shape = input.shape + input = test_data.inverse_transform(input.squeeze(0)).reshape(shape) + gt = np.concatenate((input[0, :, -1], true[0, :, -1]), axis=0) + pd = np.concatenate((input[0, :, -1], pred[0, :, -1]), axis=0) + visual(gt, pd, os.path.join(folder_path, str(i) + '.pdf')) + + preds = np.array(preds) + trues = np.array(trues) + print('test shape:', preds.shape, trues.shape) + preds = preds.reshape(-1, preds.shape[-2], preds.shape[-1]) + trues = trues.reshape(-1, trues.shape[-2], trues.shape[-1]) + print('test shape:', preds.shape, trues.shape) + + # result save + folder_path = './out/results/' + setting + '/' + if not os.path.exists(folder_path): + os.makedirs(folder_path) + + # dtw calculation + if self.args.use_dtw: + dtw_list = [] + manhattan_distance = lambda x, y: np.abs(x - y) + for i in range(preds.shape[0]): + x = preds[i].reshape(-1, 1) + y = trues[i].reshape(-1, 1) + if i % 100 == 0: + print("calculating dtw iter:", i) + d, _, _, _ = accelerated_dtw(x, y, dist=manhattan_distance) + dtw_list.append(d) + dtw = np.array(dtw_list).mean() + else: + dtw = -999 + + mae, mse, rmse, mape, mspe = metric(preds, trues) + print('mse:{}, mae:{}, dtw:{}'.format(mse, mae, dtw)) + f = open("./out/result/result_long_term_forecast.txt", 'a') + f.write(setting + " \n") + f.write('mse:{}, mae:{}, dtw:{}'.format(mse, mae, dtw)) + f.write('\n') + f.write('\n') + f.close() + + np.save(folder_path + 'metrics.npy', np.array([mae, mse, rmse, mape, mspe])) + np.save(folder_path + 'pred.npy', preds) + np.save(folder_path + 'true.npy', trues) + + return diff --git a/fig/CBV.png b/fig/CBV.png new file mode 100644 index 0000000000000000000000000000000000000000..043f39002e2fbe614d43b11552ea4ead8bc844c7 GIT binary patch literal 379461 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 ~883S^hIDpNig4)342! z!b^6O{{pKph;3P`#1BL{UN>^u<&yFB3zNBLSsHNrudcs;;SFV{T5s1L8aeNL7wT!$ zBati=NSY`PLu71#Z^SM|=@GOKF>c*dd{q*F6qoQH%S7I1Z zB9o8kwl^bT0e9Iec6tAh@3E~IpW4HcX<#p~?#5iyi!c%xeM8bu@f$l4-6U-i6@xMz zeTr#b6E|4j(jFrjl1_G56_{VeB|A=-lT3t>t#D1%>al zy-l}Sc8FJuP;CE_^fJ2t_Wh#tY1Os%C5STUq45tHHz~>Hsd$**i?}KQg|P+DU%U`? z-*uh+%)sAClKeM9fbJD2?74__A$>UerU>WaJC_Lp-EDlP_}i6=0i`;d{dp6qx3mu- zTZ4W3DVLb-67o_f`GIjh_rNfcMRR#-Q6A12uL#^If67YfOLJE_nhu1so6ltTSF_jjx*fGqtM+|lX$F3RnNv1?r4&!FFpHLl zp3{;veN;N5bq`3_1`-G+g0=Z{)du++6qcL?b^hbUWhuRB!$P+cDB4^wj1ws>85g|H z7t#5upTC;*Ei&u6G$|yl0!xS9tpoAn)W4)=%o<7wyir2bNcgO4XK~jO>nqRpz6Gj?kOM%>Lx*BjDQ|%r=4^1a zYDZ;-`7rlayHdXzanM%%=!`YqY@T;K*7okGRuAdV{?gCI5Re={l(ddHvA~9&q+}Y` zg0vG4Es~^IHO9v$Lp8ZEeB4T8`fcLjW$aSIYXUZphniNsw!9p;%KD;ts=Z%~=)@0f z(PR^$d$)nR)#t@;SB1RzLUpo^&eAHX1dJ~FO;(*n)|%4vcRG5FrBDK8=*j%p)J4>{ zi4I!|?z4@8ST7H>V;K&>54}I`lFd8{KvLgGewVEgGa$jQnA|V{CTOqNVEB0sZBm_& z9T#zHmz2r2qm3h1Ym$4lQ0MI(!YkPrl}fn%mC52p{f~;NQBFw4sVhSKkfPF+LQFl< zXT2|$UvMkhotf6PbYhhXaq8lTa8kR-QqRgvEF8+xKd1=~Y_9T^QVv>&R!qVI45}k7 zg?uFxJ2?M7ucz0v>8T7PJx)hK%#uF zmm11pZXTqn!n}XHj_DL}jrUI#O9rP&=qJan-5R9%AF~De#2#*Qf8oSgiL|Xhw_RcT z+87jS2W1DL+aEIPstiyO{E{s}eUnKkh=c9J^&mG$3tT&|GzP1Lj-ExJc78sHBz5 z$&}9mw`@Hode#Lui_OFV2KH@*1O{tAAj7v#fy*sRljp-ri5!#NEg?{RVoo-C-WV^XKICjtAN}p~t z6z$6_!mixZw;t)KkhqnFYufVA9cTvss%{J~M(@e@i?N&UkCY>hM3=Yi2Dcx^!aVaq zo~L>aeYgJVQD5tNu5_}!4lAgj-r8-Oe!|M4ml`iWdyEQiB;2G|)pnwm<$5veUsh^; z&#K>idb;k51JFZ`z;-k@>_5`+54-<(tY>smGEUzEQ2YWi&vtwj$+Xc=*t0JKo$k9C zW?%Y80?+-xoqLAYX8-1P?- zfH?B|LiIoGR|EgZsLP~b!+)Tg>7uZk`-)+_{<@#5PvOTg#qP3+M?Y3+*HG{$PT$}h zUNu$ZI>Z0-0yNT_-SDEO-wg zL^Yf7MwXOP^Eu3VMl7P03o4}^{HDO|^BiyC z@H(@Hk+?VUsU1&d3Ra1oZc3zYQls*UD$@^hAqm5PyA+J`eE}0u!{b*=ozCZ*YtmGD zJh4DF$hX2W`CpZQ_^s?BR z6}rtz=9MlWSkK(s%ekPr9Gi4@p58djF)jA9%(=>sy4C@bgK~;75@z zMoS@`jOYxoi~e!RDjXhC5GNLb-+)5vXE?Cu+~x0)mM`3PoFWCl^b1`LikmJ6l!uckrG$Q!bX602!Bl`HU z2VV7Kwq0R?0{*j&{EPs%h-I9pO)GsZ^5Cwsmcm?SJV0vKvIKhO+JobK%oMpqY@#-p z#+^T)ts@YpD4KlhNR)~v2zo30ciC>)Hk+oSap&|zFjQXM*dPzJ4i$+Mm^MZ$pWR~LG#lm+UVKz zgq`Y-QYH-4Se72*Kbbn)$gtGmJ4<0bWVyK0p=Q3e5E*{Ba-hxsS~o1me~nmBtCl5s zEN2e@dT8|(uvRSk$qHCUF70`*H^R;!mg42x^S{sF>+P>N&smn4<%?F!O$@}n_Z`!| zm;k6~(Rnx9ynf>5c+vtX{9FaS_J6*{J%Fm^_}v|-YT{pdkr~|n(1L~e--LOLf7B0B z@xPm2?r@G|tCIfJVojKu_ISJ7z8(9~cWtTWtI^f8qO~R1o`+<)XZ6&NHKc#S;K|8n zn{>0EbM$TSp6ID(dQMJgGS24n)3qZsl(29%A7Nvz+5g$k=jkGEltupxwfi@IUH_i= zv*%lZEyBSZU=DI{)sh8v_>RVseS`FD$BB~%*ym1LHJ35-|F>)@W~&Bq=MA5>}_DqMs^i^^C~Rd8jv{h?BYh zgNfo3=dR+Qi8UZwauii~%}TA9@{Srl zC1dtESI97j!}%!0Evc~bd5PjYa?L~=Nf9bUlc#GICUa1<9+dhiN`tk+dhgMNy2I76 ziB4LQc_{~xZO1wmngiI1oE4?j;oTO{RX*~xd0|$M^$348&IDUcU=KGMSR|;aE4=J9 z?tDMz0A7EuV5N!k>m+%2lDhGta-Tc!6)UJqEP%Ev1$+0}cC@=2C=A#|^G)JW!m)B5 zz`pxJoJE@76-KDf{{HR&q0Yia>m>OpPIh>NJY8VvP&}#=B~^jsRlpqZ{x6BCy7FB& z(S`PmP?{3Ws~J;ux6D=~hI28E0z+_uc6=9kh`_nUlE`0qVs$@s%}@niaST#C6r^0I z7Pt-}k{jG%oFO0OdqE9etvLoigVe7*5s1S)MRrq%reZW%l>{GOvAKDU6evj2FjRia z6#enscE(}ft@^+l$eVU$O7sao{0>RsW&1I7k3~ydtY#yNCF^sk4QzzaomhU*FbFgp zA$qv?gFWv>KxP|jh*}(evc~USEY^}GmQ;oGxYmwp6{^1Nu>WHvngX9%d^xO+-tHK0 zG$2CNXt&vuxXy}ODS(yk+eDIvX~1|XyaZFs&#aWtL>#x_Vby$t+f@{u1phr&4ZW^Q z7q^r}RE${6s*vZv?8YL&4#>kI5aE^Ld+G_9h!PnX*Swx{rOK+p=GHvVWK1Ir^m=zC z?D!A!oOj3TSaUA%0H#ss;DDLv?cw5~r=~WG!NVGbj*gqU2Sw}!++mW z?v*X4NH@qZ={;yz?x=7yr1(fH%_ZW_7W4O@!@0n8Sh&iJq$zU2U0Cr%1*nm1%(Vd% z0?&NmJ&eRMiY&`v6FqiB3@fUvl7HM>r!L#&-g?7>z84NoXNIPy6&hXci=l!{&7!|6 zQpJCQ3pVai2}_F+qU8I%!bqmf^_a>G7k2KR_Yp`QMF`bC|rcqCW&+5KMQ_Waexjcx}f&A1!d zM%|OIQtrfk+$tsRPwK_WXT85JLNv0w&$oHc-+__w2@my2P++|Nar*gTTKmfv$rhdA zDge+#K+Y;ud{M=3$5miZEPtYD&!5hqn~}?DpIvT`gO3K0knUaHc7QFdZyZ3J{C5c` zuYjGBNk#s&x|C7DBDHTjR=Ct_s@(4)YcoXLABtws-)g%Gi?R1X;9qya?fqB64*ej0 z_lB)~3m(+}cfIRunBC8@5@Ow=(+&lbI?T!tLMOSWhX6X&am{&J6cm7~BJ$?cd-LAm zsHW}rFY7v`lARBWHhgFO2!3xy+Kq$u{q2FjeSW$x^P;f);l9z~Bsxxuj-b77e?@>r z%VucFrGcOI(NU=L#B+I~;Idj6PP>qT8g6Jz-A1U}?2go808XRaYE6Jx(~R542^RSt ztb$VR==4@yAr`{G3HoZ10KLzmC?(#wpzTbJ;tB@PCb>|8ciBMk#Qn)cM#|V6LgqcF zM$UdBMJ{xD*^CQ9RY0>FNfiTe6g}20rbEG_;@A|I^N80r#$nwkNGviFi5T)mv0y$Ppf#|!+#l;jvEbo_+AiJYwlqGhYAMhBz;1Bu9pW$$ z!Zc};q`zlvt4@C-9uKN_1gF~6wmc3nD-`-Kwhl;vjVh#|4C~IKr9zfRx~zg{;$7A| zON*wTq-RwdmM87HqpjG^dn($9U0mNa@~0%qXkp<5>vD-~eIi^PBKXT`Nk846A>fYl zgefm?E9*4qD9R{RpOmGppk0fW)KErFU-ua!xTSPV4@=5M7%YMbtGN1pqQaKgB3vYs zYsTw*Z_wfH{`>T08or}KT+$pNj1{bXZwpW6x5R;a>JGW6SKx5956A1RbLp!7ovR=z z-L)4FNl;zvCGP#nGl<~V#%VR{Z_^Do&WKGWr>IHCEE>0XC#-6yp$@#z2X{0_^pzD3 z<_}SaYVBwD%IhSsuZIIacLw+Ml+K_Pfv1y?!cPa2aH@Rw0}7Zv5yv@+Vv>{&cJT;x zmohfMM}rs9Fbu!A{$8WxbF;V2;LrPMd;MH<_A79Z=g~7dF?%?X*e%mZcm&=m!RTp(4%gI;U}o|lh+Tb zH&~ybdj#k3vxD!YP?B-}uFw~$s=eSG|G3S?)B?{YphiK6+l&Pr0UJJXnXcG|{*;V1 z;By>IztF6MEhe2Ygeaqrab0LB6MZ`H3mg&kAosWARwaf(_fb3wlY^&Loj3z;4d>>L zYV$7D5Ce17je(s1eC^pO`?qt)h77CLZk5b{okHNLA#3d+!9pP#H zNfI%$WF6&I^?K~b0jZjn>mB=MH%d*H> zQV5iy@A%0`#2QTU+WH0^m^uTh9wzsqHT2njPiiQEw)o(%f>r)Df?W>|iD@{JICNt> z;1GWQ^LV)FyEUp)z8=(l(I@LCDlEJ_-?DnPJpKYEK>eYF`Y53C#owX7)PKwjJ$6ER zF#kBUip~uT!0TUkLZB=Lx2S%wV2Z8vQ$K#UV^~!0Y5O*&&kha6cVhGGz_z}}lbfIJ zy}{()rph76_scP){IR|^u+5@xrHcSfL;TcjyUM5QzV0e;P@FWdnW8}F1N^t47l8+K z^VhxaqaVhoqr<9g8x%l6So*La!maZO_R*8JO-v@bSdnwNhck+2PP^V)vo(+H7?1g^ zjgYCVrqf_8E#zSpQod+*u}HsOYx(xL|Ajrt%Xl+Ty)DWZOn;XkM^AJ32>Ze%GA!23 zQK69XNR-z{WB?7r3pZxcc_mOni%@c8qCirX2xT(6p#{;?j6>z~2;OVD*Nnp^`D&(e zg9|GfbguZk5e8$iMYy|N-sXi&(XF--`p#?pLHQ-nm1N^GQ2`4}3Bl$RdXSD%;<7c@ zDA z1RN<&L_d}60p* z_fKR@w2QLUmLU$ErbnmBcYR^q^S#$ko}lUh^F@Q_(Y48RuWRWwhCKa`mK5>ad{(;_p#TLlX|5*>8kXICR7He|2w8FTMn<%Teb7+T|LP6pPI7jjrlgGu!>>O=|1_5VC2$v< zc<%hBZm>hhx9ShgY#{u!FuHxWeBWnH#p>g90AjksT8TRKv@lrE&N5Vl!ruWCEc$NdE+hY{z+{GzIM)b#n)iB6D9l%?6|7| z#t+^AQLzWu;LTNAUyOQ12!G%06x83HnmqZ%05)jvfB$vAGnT&_icxL-tJ9Tb<8G<# z_imQ`2*9lbM6vf0k@DMxYzy3c$MOphzfBVVeo&Sdi{-m7eRDhQkI7#2OmCGBVZd8L ze$M&UsWSgRI`M3rA6|-r=?-UQUQLY z;FwX-*8d2;mk$XSY~pDAVy7*-P#)MYkWDdTN1OCO&xB&Uj5*(2RPHB{W!1?PTd-@E z|EfguSy>5e?t^H<R%M)+<4z=Gxi`2?B z&c3xU6YBkXm;q3V>K76&O5*1X1Lw z$7^yU-Z{YC1ip(skPR0g+t^NrB4^oJa$A1LpZ6_12grlfT;v>Ea2#zWvHY%)4oehz zUn62UvxG&$z8B8NshvJZDf1NKuj5}ccyuZ0i2@_7qpDDuo1RHmkNsj>=Z2g`|I^xp zzIinK%^6RJ6nBff6MuIbmATc;O0%`@sr;(6J2Rix`L<_@*>rjztbxNm+Mi*eTNV!m zDntGWt~iQ*R;N{+cJ&-CA)*_c=ENa&I<+&jg9|d+aw$Qs@)zUKG%l#z16|E*NV3CQ zwR-ZTp!RuM>nFPq$-RL`OF8qmUQNM8i`i92l@N-}SrOn-DXWViYi$zdT7Ak|WOapVx5sH!t(5v1Hi%KF5o*g(;yw(2U4p4G@5^E9_--FA zjci+&7792+VzH+8%TUt_r@0!Vq_Pp1pT|{*>j9w2sU9$c-eTCt2sWVRp-xAu{R2QW!PhsTx@np3;4&<1Hw5=xQ*%`fs*6HW7;M2ofT+109^>MvzW{E#OM9`a>faz6;=&}A`{MEa>Ra=%Esceyvg6H2V9V$m(W{X zHgZZmgvi(TjPS%_EtK(@A2gO?(Wei%jIO6(BY;sNOE;gXL~%`6gV@Al!r6%HH&5!3 zv3)V)Uq-1Xc8xk{9n_0ygN(mQ1R{?6)9%~wz4ITTV;4h;{)nRJgtbRiqB?Yq8qD5l zHSUK+EdvZDI{o`!5Mx01<>r3!6jONW-OaQHf%fwJ#g^*wFwJN~`ak8}Y3Tah{<#4L zK?u9wS(L|Rl|hU`Nzme=rqAP%!6*`;Za`bliS5o_ZZb{kyaY%cFCIEAu#GNq^krJX zcMVvV2J&jqH}dXe1ZS zJ?PGz4*f*$Je`!G^k^*)-ea|rN3?A8G;e{E!z$D+MP3L3G`)1Axsk%}!KmEwEJrNZ zP2E?2>UI1K>zfnY!d<<_cVG3q#Q_^{~g(q$C!Za(e1bQyvS z_}78DR*47!D&~8M;KKKaslXPlrI zY9IZCF=;bGv0^DrPx~X(2)^TBuYOi)CHp2N3+Uvs&^h!>ejgT>eF?Z#SkLpzjSnrZ zO4HHI2)qy0ky82}GesGAY&D~R$?TBAs3mLc0u z^)x+z?>8$M>{me-zs#G1*OL{vU463`|_-jV9mR2S8{WB&JXZ`^9)gMrRS)Vi}zCt<+#E4n`_($>= z>5Vu*j9B?+;B0C6dh=nIzrd1Y<7R{(zCWD!>FNG-)V6K?6{!8@cNF9wj;7|YWmyjR zKMZjp{_H$CjrF@qjr&O;W0#V^N+lc_=~-0BjHG4NRs`0M015yA!Jlswq}a;I{(Z`g-R7ifxI|4Lp z;!qA^r+%P?&+Dpvb9&_Oa|_2ptXw{$PR3!&sM~_Yix(_2EG~&$Aj8Wy&zl+VnjIr- z>19d@k~%PzY`-#wX$0h+7+<4K&FJ%@6Gc)iTmAZM-0*{TDhuhK?yHQ#bZqp$uJZDj zpa8*8Vlkm>59xP?+>EjZzh@3O)04{N`NaK9ZpPr^<#elBYL;Ho{@eDfSSVpV z?7;LC$G8Enmn&rcWR6elA`ddmgbF|Qgi#|-&9MKm7^RUxh_)Fwd!ak1V?L8Az|Op;^$0DMk-oIIwTm{sVtn2l8SFmO zfx;LDSpaK?Xk1D$5{UR6tGZ_?)yk1X`aew4f&eRR1O4cc@k7t^DuE=4YFyYtaRR?_P(8YJTpjU!6xNTs-uEzv(u$us;m~h zUJuajd+jvMw&bdTfm^A%PgW2N(ZcJyATlDumda0-I(HMzAQR)rW;vLfgbjj6fuV=X zV8+jbt^8$2o<~eJFL-U8n$vwzEA>GW6`wqxkjRyl|CsG(!rDDb7HS_mPvL8upTO?h zGc@33XoRrS`(ZAMSDmMbwBf>XzSWRB^6x}+;eAl; zDVTX?Y&&?TXp-msh$L(wztf??)UR?rg0Hg$uvv=|4VAgUk{bqBx?y@VxSZ77&Je8w7sz1Y53Ck8t9a-*iQ z9-S?K4DjSK9RAbG8W1Z8PK#1V+!km*Xw|~;UnGPE?#fn~OXS;8B zX5^aN**SnW+w3=&M*()!-DHxd^Zu{o>^d+v_^ukT#P)+J+>VzM#^s(8)4CBEa$Eo; zHh-`c$x_>Yk@xJQ>oiW+{wMXTl=EYAq#OF!-7Q==K3jFkd4{-FEknb=VD~qK5CSbf zBy*qb1Nn&ckfjcgPv=KV8ezdV8hlN-Q<<;j(qyMuqp9XhP>x?ysq;U4nS#leQYgp1 zSJmJ4-~}M8M^XeO|{=t^EbHI{-yGKD)wOi<8c_v$<3ZjK^1ahiytg0ex_azi)Csj zcx8ln>gJR6SFwaF*lk?N0O^Q^|AcN_9sx6b>pS!-kBN6^U8xo>9-p*0Kg~3(HEPq2 zcKAs~u>5&HzZVW(4N;F04dj5X{XM%{lu?p~xZaMC$&S*40KGLSkqRB5cw0ft5nTe} zYQ!}OYbg+nkO?)YLFmB*HsPIy*uC$6{lTS`b5|p7)-LNm+xb&_*y_6l&bjWyP3=N{fD;_JOnoPn;g8&`TqdCCP&L+-k_aGZDq>XW=^MSN^yT)+u>@=J zNR)RglY$J>;{l9>Y+Be2%@s}|-Z1?+Jm+YPN!NJB;DNbHo^DaGZM(`Kz&V*TNY4v| zuf4!{QqkDx3>AycQbiKVq2dp8%-ltLKJc2_#F1*vHo|7AKMQeb{y{b!bbO|-lPY^i zW(o*9P?avCg44}Bq(2p)^gDUnTgjlvjkC8C67jZhn5nJ(pBKPispqnr$@r}r zm&oA1x#&!&;Hw$sXFnELVgnaPgeK6hC`ID>>?0kWHt`wv+)!kt+GZL!tW7^UIh__x zI@ng;Gqu_Ti?rvp^Z`Jv+Nkhkd7rL7fvZ9TEglN z)YeuZUu~|gcQ7qbH5~SIBJ)yr%SMsII)Cz(+YZ5QXv#pWTa{f|m??D`mGBqO%7>j4eD+2!wxu=hRs>TzOikaZxK_jqg`CjJZ%9ZJ60N1g4@etkrbf`EAA zVqaVb&<-pQx8XE%U0>vwq&xlod5s>>v3tJm1#E6xUpMavHm+LRpkp*~A-1b8v%_JW zE^P~m-2+Yx7KpWVwQ3(Wad!Am6EK-PoQ)z#+}su)Y zTy+kxpM5o4osPckEBVNWkQ@-}EM|NlJa;z>9sBou5R*ZW>A*fjMn4 zNT-JDB{N9u%%IslZ0uD<0E04%=dg)SC`w$T0CJ6TayV0l8!n_bx>;%?QTAcN_n#!N&0i@h++`Cv zH;TR^-f&bk#PeJVOO$Ae4k%j#JgiG6JB||Fa;wW%G+qC|a;aeP)(geN`%j|Mr3^4IS&>0ZcKd ztn^mi&u&YYcF=hWMqWk96u&J`P-9!nnEH(bRk7(kjc2(mMxn?yP>c{s!W@|ihKCAv z#s+`hd7LJC)iJ}z_@oLbJGipO<&4t5_##3&dQ~G&X3B?UR5EhHmhx2G_zwSJdhD{Q z?vEZHV$F?Q(V^1G$%e&CfJ^Jg0VA;QZ@gvrr_8Y&@cNhp-1kV*E_Hf>a;4;d560sX z=-fUI1e|y&9~#gV`G;M%DbgrcEW`A$hFRAY*+sD$)q)wd#;gO^JpFx6-lYa8b)4-v zq*5a)SWAZ0{gg~*iN7Z|(i_!%_8I52hX*N`j`3meaM-a+9-0tNWuUv$X61hX67yN< z!5UOm`@o=t0%e*kmP_5IfSup$9^i3{VvMnM{DqPoH|UnkOP-WpaimU>RXor*Dp=u zCPLxl;5FVzocl4;5bLA7nOF~PBsxk^O*CS}-9h){6S#2P(&GfYSKd6xnUXOf)a}d- z`*ufBb^jb;mTcb=7VVS^P#)WSe-J@?@{oW+fJ|AbHovnrAL!XS_o=fzcQe}0f3Tdr(Dhz*v4XjCp4YF3@)q z4%oXLrhQu@_PdRj#db_=q$Q~W=EbQjIPR*g@CpBIkDr6M+5s%HFl3is%c~l3*rx#W z!ArYjZWgx}d4U$_CS?R=^C=E$AjVmN;}9=1@Fp$CVCo8eACb8QD2SRceo9g)ghD>< zz@ysMaPP@CgT^mKiT-_hk~%G?*Wp*!|+_XcA9WMH!+^r|>Mu(wxW!G82K7zFE5f zrcj3vW+=g_fj|25t`r#y=X$9z!^}8y_3!hE%kf4JDG2tkCrUai`7VN_LBMa10$ zLM-W%&kv@udVOncU;{G0xsb*ZO}-&wqI=r4e*zLU(dHruFLv9b7Cf2n&UyE`x{ky6 z?T=ThXYT&j?jEyI`iM&N4zMjrUFRv@|Jc?S+T`Y6nRt$us647zAE2;&weR6Q;{@sg z_}%`ly*4}%>!bY>8v_U`J2)xC;^S}<$<0v9GX{kFq=f@6c+23^!aXx) z3lh&*rZJc#^?P}xi|Dj<{uuRx7*MH|_{QsgxKQ zabv{iTzwCTY2>UvL=){CsZfuYmJFN%cdCy^*Po%_ykmnD(CKM%Xp!`#y0H>Y+1+1`O6+PPrCRAv zQsHkrLYrCDq4!|9V!tW-wy$_p4X^F0v5Ff`;cX&Q%Yn|Xknj<$z1%DY`K1gpO~GD)*u)g-dPq-4`P&e zDN})ty@aKtX&B4tAoL|rJ+z$IFGYh#9D`Vl$sKvdee^pdv#l-Wp@wK!Qe7dBO=X4f z>J{GB8`CkPaZc-=^y!V7!3$beh%{AbxTqTPmDFTSu%XNITG}UQ-V9Dw8;H9Ja1qkt z-+=nNiNzUe|LyNxDr};wj7#G4@N(K5dgAaI5KG1!pVnhcJl&A1Uz7rt@fL-FJ}22 zYk})E=d*@5UvxmdwFiMl$=u&=T;yJFEq%2ge#zo$^`57cYb=?aUjESP#R*X9?mMik zl6|`W{hPYB_s$B`FVBz@LMH4MEn)^Rv}t;7#B5#1T)O^`m$(M=jnzaEPo-IQ3O;Ku zlj{K(T4C7m6t`m^mWn|eJWAcirtE{7T6&>*4?7GuQGGXPBKIrPueP$z#V<0Zw@lf+ zi4QNEF;yLVV4>{jr!gvi=SlToC-mICP_UmK#PO%#p5i0<+<~PK}OOI zA;06#poVQq3{q^_pqGfxycYICydgQB8zCi{!4(^!fi6kd# zUwdu&nusXoGmcp+_*^uj^oW#@q#Z9D(N)uyO*>a)h{1y9XAU*K&jDYA8ZiDh?1R`C zvIqJ+;9G+KXdJ7nf{j41G8`?PvwQ1Y zLuM>m>xqC$xDdnTKv{mr9&U|L7Ywl)SD&LlMvJ3rP}dxanMqfItH9nA%?S1b5tE7?YfqTi*~D_h+UIUf~s7PApVL=kN2i}AF|Xm@D#WYc(#XP zIE`eLb=l#Vvbr%J(`*8{IPTIKusn#jI!o*Jc&0|9@w-kfo|&5+5=-47E?k_gM=oz#Y;%K+@`$>NH`15M51`%k0V zQ*U20zM|C2m&{WM{Q`^OMqdVP5oYSdjz&55^NXL4!-5_=?M&XTHqp>ccN4EupoYFJ z3ny`{Kq>?pfbujlP1Z6gSFFI+3}q8x$8Lf8SV6$kU8%1B#y%>)b!F|EP^gtwG1a3u z<8&hndmo1NQ^ASd-k#Vcr-CyoSd}@cD?By|($YA>QaHTigx(?|IS7_~O`Q0Pfywr+ zC<$7|_%E7(%^@<_hIA&}yQ?_pTH;H9GLxsJ5rLfdPV7lx{)OBK$Va>XjZ31#Xv5&C z+#-i3nSvA9Il#E=Bczab+n)#1Fduo@7_7Nv59!_uSXRR8Y0glouH(xT@5TU9t}E$a z9$hF9`-=*$2K70NOx$eX%Iz*lA%gs}gJi%IT!XmZFeK9$`SA6(pF!cR?ng4 z4PfO}sjjZx0zS$R;LG)TxEU3H1?ql0u^(NkiQCZ4`5@!;=f@vpo%^WY4qvAlwnO?` z72wHwGitaP7uMYJeK}TO!ji*cbW%ZX9%%UKj7%;!oUf%as5&mn7#$}E{H5jXasqm0> z72vp8Te#SC!f`7!n9$nnO~Dr<9xeo^JN{Fpi@;MVV8qV+S)?i(ESW2vi!H;0J;d<@ zSoN`RrgVR2^5PSVB_dMeKt6*NJMjj*%I{Ez)2}(R33jKW96x|^w z_CPt*`fY4GKr#XFKF=^gHoubb{xDmE{6O%gO4{AV$XY(xbS4wx;z4REIXiOh+KYX+ zT(K|vyVqiwM+B%liS}i{;@XF$1S#7Yky~9cg5b-Y$6=o`p%_UYz9KC3qo2+RmCN9z z50p1^gW{Di%Q$xqTuVdX5Q61&_qRtyK&f6*YCx1^~Wx(g&G$K&o+#Tnahs^7~j zF1}!jLa(b=#2a+Z&(dI>A(h|fi7W(hCQNIr3%+h zh}Xz~HZ_loQ|ZaDr>mm;S}FLvi(M~iPkq|U^U%Frhb&ufKKv98=w~M&AaDTorH0z= z%BtFdnzoI|>%QklfwLi83QeLH`0=>^L0agpt@rX>H{h2a{y$yk1s6pQQ`fftMil|j zhoTRru+wK20tWAam-Z4+KxJh+0DV*|G+-|#G{6~xnhWqezX2QluzTOV9;hG4AxFOK zaPz%W5khzSMUF2-FQ6rp*Y-Vm;h}7_YxUhNw(l24QHJ#QTyI3ZR4)mfG|$6ckkw0Q z5p;w21bnQTxTQY`V^gpWr$2`*viZe5N2XPY;Uj^Q7D&(j9l5GpuJ~W~kTuT%??d*NfF%`z zm&6Yp3Jif%bFiOl5j{`CXzfT!{h%NGS{r>k7Uz*|;@BhtsN)5rPpfgb1N>*~o+SQ{ zfA7XB%x;Xhd?Mtgb!{bt_#)Dm4h0*6O3V2)n+SLA~M{GFndE@y#$YRYP4j6wU`QN+YAnR#e=$&fx*iHd56)huU`$WSI11QnR2%yKB~K@vR*x{8wqtyR0<`b; z*b*!czK(i-use}5)}e&*OK7ICM%%|6NcBus>8)ZU-KPYNh)wSZ4e@dd-{n-Bmkrjj zry7UoS~<>sqIuQcr9~kB4G!e|D60HOb*Bv~R5c;~0N1~OhXN(ca4Ke|mbENX2q0vM z1*YdZPe}*^oxSq@**84(AMxl03oduP-ED`2e=6xSBbC7?(L70g%zHzAn zb?3*`ARk(N0ftsGY4-geu47e&q%;YmvDQhb%Q6j!oPC&1SaF!*<^+b`Y?q=pz#Q6Ub+;(|uO zKKpIO4bEm%SH6G`6S$q?X>GYdPu+)l3f;a#|H{+SPfs9ij4p_nT#k)v(hAIvvx~WU zz9$$NaxMU*O3XZBI`}VaxbQcUxEyP051R+Bb0>-h*j3ZNxKbj78dF%!ni-2Rq_r6lerCE{VD#W{(S#JjAZ*>tq9y7H=X5PcQYi! zKLMRZ?|dfjH?GCfqyG;5PhrvFH;}xcyR| z=J<5GR~GwxS?7<@zsaxb@Er-)V44H{OB<#m7s$I#4--e>({TAYG^ z!-M8UOA;;35e&r^xZO#T_ZOx@+yJtL+b_OapadnxYLPuUGb7{s>Ep&J^rhF);ZKTI zV<)0&a#0h2PLTSsn8(DIIR=v&qKI*yb5|PI$b;TWn$ruBz zs`3B<{A*dGB+EB5A<|P1zd|yA2PhjQaEdnkia6VTcOz8loR zfQ5e^XrKG@u$VTToBE4tG3MWhP;*k@}w6-G0U6;!7G>yY*({v1ZpF&UCp~>;b zEoAJe9+l}N9g9WiiEl$fWOd3y3Twf%C#;n%wv%}OCQV9mk7#Rs1I;qRfTU@w@-MzP ziuE4xhv&YHmLNhgUhj#X#)<-qa&4Qdde2sgUtK9m7@f?9T{xGqp_kkt-Zlc?_y2(g zV2K5nG2FexxjH`OsCn2Mu4H(E|2P+m@yp@IM_d&W1rHkDqn4bQ8E_{pxRRw04Tb;d z+()nJ(%|Z@t^>s)0M2sDx7h6QbU8@J|Bt7yV2ir@q8&iGk&y0|2I(&8lrHIz2I+<& zr6r}iJEa7b?#^MPd+3Jyd;j;j_k4nxIdgWbwf5Q*OwW*N>&G$dQziCh!(P zRap?p$7@x@yx?I6uoDCc3;z20FfkL>2S3rm0&GyY6V}A>_AfvvSF)EB7p#Fe_kml~ zJ)^pkXQ9pnc?xr(1qc$y%|mY#)kfYGc*^lBI84t>bvTeu4~ggZBh3Fmdkz1-pHgY{ z8^rOGJby7_h?CJiCRDHqhvYYj4z}oGNM=Lg>CgoR;2c}(Xwk6xOS4V-r|y5UnHv%b zzi7e)geUm)ov=g@2KmyU*f2LA@S~HVMk-)eQ;u9)~OEwSUPBZ^r@#s4z{4Kpy1gM_(U~_Jp=en9-C! z$?{*^rs3HNeyGqYSZc)F5Pe1HcxK)%j20{kem)@tT%)uFZ0aRpjJ7b7Jo&3sbWlV4dv+ebdv3h=Kt$Ze$)o;Zvw&Z$!Xa@-q z_t+WI`Y5VsXwdu>^sOCbIgZwZ+F-oB)Hai-w?R` zHlGI_uNpX>dh>Jd8ygY?0p!T_v|}$mVC+BT{;XQwMCz+Iz?Bm9z#_bX(L@x`@+2iF z5b$S$2brA5=$Z}254%2JP6%_zjf-Cl(Vj=E`G-DrMrHwun~?vY9S}v{ZIT6s`_2df zOYuOPVdA&r;=H1_WAVbecEx}&2>z=>{WLw3t>2zPG(~Keb#k-=4gEVhzwYQy!*+jV z2QQcCR3-$N=`$~y2ra#@&M*NEdbvg4@(#fF$c*WpQAvXJH!~eqVtYEO++=RJaR=k}~@8oEdjLtWu7`0EX?!v8Fr>}7^>CeO;!b3+AILCkz(BSpHhZohc z(NwF^%7%`{7Mq0VC`8SYycQz{aaG^WL7K&mWMyuGD&(D?8weHb-5>s=*_rV)fn2SW z@TV%pk)%}eUNY3Pvzm0fI1XUDW6?NDFk-_!WDB~TlHsV8+|~dHd+$3~j~aXwX4&T*`h;*wL=rsAGm2iL++h zAx`g_!4S#M=;_wSouHJfE$_fR;ctiUNJ=+(#$b)B5gA}K(~4vjJIpE~+WYahEAv9R zk#c}OYQYm9B|=5iuU?!vTPT(y=ZJG=?0A18N+J@1bI?o;M|Nz<5lket8Qy_H9+>$t zlHVrypYQA5Ls)Zz1jLfoTlNtMV+(*oAMPxkB${`_zkMaQfB0Wmy4K^pc&U@2tGJgo znObxB8I3W&Ls6-U`v*9wqa@HkJ@<`zp;Q@JC0i1wflN2T4W541(k8V7Y6{@yR*Mwd zE%SAxUTHU}wi*Qh`H#s`J#5C;s({agqapZY@bWhWFQ?iSU=N4FZGkcOi4J|?`cjn; zU_%eTH5uC#ekdQu$I%!s&79)Xi~z~c{#fe1Cid(G+I#;2IXi{rm%EZ3ueec|*+YJA zqn-_OkkwS)9PRw%BUq|Bew0N5@-YSAUy%40D{oonT}ORmh1FT&w5~x&;39*^JN>rl z*Ix}G26BzUiRNInGbCKCm0M;DBgWLiT2vs}csq9ht*xjZ@2#NZHyIWYwxB%))WJ(L z^{p{Yb6xjMOd%EvIHPS;8o<{o#I9|(?s~px-vaPQf>&fhn`<&fye4?%Pb2_0+o8`b z8u3n}yjp7O(6*)G0WOV``IRgifD@ybb)8@N(YZHe2eFuLtr5a_-Q{qXMBy@(io5ma z?LLOq9f%8ug!1e7Ao({EgcaE5TJW95(DYCt+ll>MNz< zhGKlX$B-_Nz-s@4DO;{k!EfExC2#taAEylQ{>s`LTPQNu?tC=?8A5hO!qR1+;-h_WwxI0O$JLEt@A~dm&aMm+e$;gyHkT1fH8w4_^cDF zyB=R6V5nTNq#q#|uvY@y)wW$l7cmz(@CY{CpZ@KYUzv9W)2hTiQm33&d6IG`*}0RO zu!>(@Z$&7c(Swf^g$O7MBP*E>GE_^wm`_|4|W2sNnV4mTgIL|w(q!F5)= z6Eb{@98ZQmQ6k#qmCi_X@9v7YJqScYhnXsQY20*Bsr!6(_8r`Iwbe#&5$qVQ!4fz! z-2S8SM0bhXD}lEl>LD)OgH8$YiScOSQJq;+>2mG6b?iTwb(JG4i+e);#Z@e0)G4)3 zugiYv3<~k@mCnk$pK)<1i0|JdqT;I?muG&Sj7lVZ!FFoT#O%mQBFrSP`9e*(H?3 zlI}(cEiRRq$zKjvO{~2KHBh>0T+8Z+O$50w$2U<9cHZz!xN0*BvRaT0X)8&ptWYfH zK#P&aRL~FHsW@R%zE&}IwaD{D0=xmF=~H1HP}fn=8N2lj>r_4|5-4IX!D;&1hy(5;BVXW+YVRtiyCb zwoV<=WKTAHicZ{P4+eIcwpD?NO%%b9WNA9gZ(f&QFMkPKapG6+&3dwMpG_vb6G5tt z%xCPFJ6tTNqfBskjOg{(GsnGD*@!QKnc8Au=kX@bf&Fz`S zoOP4pY2sl0VYnQCj92^>X#IB3#um1MrasxT34t8ymPBsN<{c!Ao?g>jbWKb$renR< zCnKf5jjnKvFXBX5ThULgnWnX{&Ff7yMPJLrQ0qpP@pAYqep$vfaLf8>FKhFfYk)sb zUvqZq)E#$(v{vTLSXuCtgubouYMDtm^`nTSOuNdBpTnf9jNAk7qSd-1zW1|ooldV< zjxpJ3g6|B}oy|~<5?kK8p09sw7Qarn@d1UwG*djiE~GFrgoh;bR0e#;Z+0kz<^}7Q zF5n;z3{uJCmX#!N%0sW>Lt{Fhda-xFz&6q~pw*oVA|8<#pFH3zNeD_xq zT2n1loEmyL-UfRad?ns^y$Kq4G=0JLemxC}yghqW^L~ZChTe)lIS6oUqxS1W`ocEh zUbcds67JewZy+xx72Q z=?ITF=^Ksy3I>*bJxsT-;d)&pj!oIKuDUg!=%u8RGIaLNjD8Q*6G~QKKKcLmf z^W7wB;uuCgaku_R7=zFMtch07rk8D=9FnnE{FlxGnjWqX+7fOf{&`)t7oWL$P`p8D z9q*M*TPQsj6uLyX8^Pt{Pu*&+iCd&kv)A~Td;vE%4hz_qTNQs@vGk^qs#PG< zMFD+e9cP4d{T5|!=?(eBI9!ALN;*r*G#P1L8is=_Hny5KiO1rfB}WdAKWmah;64rkW*;+Y|-@!Y`nIYt)uWbChB_LD z=VQXA`Vi(}ik|YZHO3F10XCmH^auRr{vr?no1%?&};SMQK6> z_^GK(WX>3}3hlY@oCvqI$b5;IU23z%H-x5War~FOvO0E$;!#L6Df9jo6Yyw#_xX&D zbBDT&JLK?ewoUL{3TfDdlH=M;#%c~8cZSsDFULH6m~bo@Z0eP^pkmiY&<<)uE`myz zfpa!l#D<4=$y|;-zJxfpe*>R$%y*re=obk~#mN}>iVduTs{$(L*1U?3PF>6@Kf($G zYN8tPn@uEhjH4Dl`#v|C{B$ELCo+vab-X^(-t0u)<)w+5fUuzCQ;5NJrzIpy1_%zD?@7i7!^3lO;w(_PpTEu27PAON2xnonD${wbt+7KdFqk z=2M9By*6evpljE+r*VYoi`7ZVM+tg;#~wxfN*UMz6GhLNZne=I; zhOfsN0}=>lUT1x zEH=M*T6-tmNw8uC0ymV)DuR9130$z~hckAlTY0Gv@RDfOhl?TjjpPr@sA4j|JVa*< z7L>IywBI?hTvs-Gmhk!|yD((g@FsuYOj9`}7udwDF(o<3e3WG)>~DdY~_mc^c|1CQ&t_BY}hHLk3SKQ zNK^SjdrRty4hd((-yDX|29}|4%Kq;klAxDTwBw%Rseh-1*zA#b*$KQEN8HW2;V1mm zmvzrTBOyF+`ZUH_!*`|c30^i1vVoPfCtqk|#QbqE6~nH1qyK1Br$a$U@6$DQBH5&+ z?96+ljSxc$EEImWsupq56$~K5jp)ecMn^l_`#EwPl02k9n@%nj$@I(7rS+E-I4#|O zRuauI(03LDR%O9 zH(cuNivzY$7eoIz?tpbR{3P40NK;F_!UxB#)*pf9WB?7$J~*3zf44V+0T>N~XaY zW+%FqBQ2{_eF#w&UoS4G_WAP-hLsQLYcQWx%DbkhLj5@_?EVsDK@}XNOO6}@GuLAx zPkD^Z^ttL(`V&Qe6YL4FF%EaS@AUW<$9+l2hnx+Dd~8@TrVOfu_#iKFU9I zMX1~7Q(1vfJoT)>I%!0$SK>r<_#oeLj2U~SAmCqf?od(kj}MAP({&_#60D+oVe zkYk{{RWW0mR%@FdzeMUS>2j|gb0h3Z%BJjSGwpS{Y)J!>NLlF+4q z@m&uijb#T|^KUOr+60zgE+emV1@s5{+haVoIxU30gjmtdvvV^#gx>xB=+f2bhhze zIw|0Zd(}Jh-cmnXuELu%p?-bn-wE6tyT(>&lIL}N=f)8!g?H{@xZSnM$J@-{f6R%a zR1RxW0f(G@#VX|EQ%jlHv)}JDk7)w_mk=>wc|B%>*Ygwj=-@1OE*P%2>YmMg2E*!^ zUMcFR9_RKJ*i)-*38S}2Z-hyD=h~}q0DU$q_$z{N`rWM2&j^RZiQoftyWhb+NZSUq z_$1;scF)fT+>c+Qo$BCd%F(R87lnEVZsT-PK&U}(W1(A--7s-b09AOPU4zp0KtnJz`cVB zE0+|WzYW3YMYXy(oSyg<4>A?Lh=q#|!BQFi8nIS?<3%o{!ynmQK2?NuUP@VX*VJIZ z69wjhd*?tci(qCQ2iw2gq%}Y zdxKC!iR?^yx-|cJROD!5b9XURV&4B0O-?|o*9}a;(r~iYQ!8 zV-hFJ^v#eNjo`9UD2K`9r(?1_rA+3>mn<3tB$KrHZ!G9z3q6tgypDU4{Xm9G(`Qgs zh6iED7Yd!jqKE^>`9gHyq+OLDCDP-3_22N;N?JYDFPy$#{}V&?m^X;?kU&{Vh9WMK zlX42kg3o+&f3o`xMMc#QqhY}N)TCXIc|21b4%-wS@#1bckL?M#7)|G{9L^@A!2?w> zLKPyFo|fof#YwDt4HwZ(@!zEP5fisRz6wylaq;~5DC*z%nx25i*V*Le zn*k*iKVza_*(&WIR>FKJt$3EQzT=^uV`fHk%@JZn>(W0#UN`xHS^*m#n@bGk;liX` zM$+qs4A22;HQ=;1es=)g+*eV5_;w13H@>%70n6!Z*=yr57u5jA2jU6eslm$K2G=Fp z8-HKg(iS+-KSOC#3UNMs=J*-3gEUs2|Z1=k!oDXw&3`!7rFWo%eH^B zLds%b#sbwt`2|6s&rD^)0u=VE27pRvX@YeFNnU`#+|OM(O5d>!3=X5nS+o!Z z0ZT3V0oIHV%%oC&^(}WMYptCvZaaDoK@bJ%7;M&aq_m&NU~$MzMW5yAIps{~ZjV67 zU&r=oanV03LlaGR3&&N*tRbmJg$SY7$imv;S4+GhN5)ZHUSPQIfX_OutKI&+9+z@y z&4m;d5ecW^IBe|GeJ}1xI^I`9GR@Lu=d<6j>Qu_Gj} zf_?_g-uk!K(rUu$#TV_{QB!j$;Sb5`xl#4mD)C)eSUmrJB9<)?|~CSF`d z(~sG6C0#i0MBx@Fv5^(^7Ud;2CcC2Z2VGdybMOdE6@T8g4Eh?>{+anzyt|o}0rY<< z?7qNaw6?zGh>UR4=QX6-Slrp*ifH>qaPFdg>CsF)8a8MTK`ElQPE*pXyoX>qSuL`z zwk*riGsc-wcc4Iu z2g53&w+CMA5T2;02HxU+SZ(p&zrR=+iC0{)o)P*A;bq3`4zT~r+lv?~VQm?7+v!B3 zGXh|j6*QB=0zrf_dP>QHl%j|+WFBmkI6$e1G8c=L07aqW97s4*1S21UzrYc1cw(WR z$)Yp2tDMlI2@?0{&d9Y8(khF>gGOd_F73)XH?*AVkrP|i%a|m{5j+q5`;oNhJHTf` z&q&A{y&+jf^N;Wt0ZY}R0Yh(r?|iFi`ikXZw0~xq3m&Z(lW}DY)`a_uT@WoJoep3b z8R!8W?e7-}9`51;AU_kKhLbDNI09P&=82!&yVFajN>)ieZC)$YNF+taK@krY47$QG z>Y~+c*;ESyTMQ(eLr{P&Euz`lFA}OfW}3C-DBr--)SADS02+_SZq&8)yv+KQAxI4Q2vhj!J6M1Ju~-vAR!`U3{>xp zDFJ5zr(am(U2X(?{Xt)E!Zb@WntoF;fE%NQ44OIYFKrX+NOf+7xdaz8SuVElUf4FJ z5oCwreDvehuAIzGyFT0&^}XgjnGfuZ zCAuQsEDZ1WT2EeE5ElC&b@oM%0=jL0h(SlCPukZkB=|wLUM-zlrPt$SpA(+j$VDE@ zQ0svKSCo>}46L&b)ef&rN6X?igF}QQ+f8?zq5nbWtiJS)?>Y(KE^ku9 zi!P8P7Sb^&L&FgY<(|i3R?lVW#2a00Gf3At!!TEjH=pb91+zA!R4m6giiaFp_)rO6 zK14gn>7xE>oaz)omg!mTEpWcJD_3Y_VEIK<=7Af|Csau1XtDoDZ^b!F0y!yP1I(?l2io(2H|`HCTmnqvHND;HC{R=?4a6jTLPSRwcq}>a_?n zEQ^`zgKsq)BmaNC0I9V6Q^#UK@wA0M5kP;q66w_U8f}7K&VR1-R>`Xs$hDgIoANo` zchxnf8uO?FXyrD~l!Fiav=2`Ir+9$~d{F8hT+gIxAyzeWuYxnw_l4Aq3$fd8pvNhFtZPLoMpHcYA7dvbPA!Wj3KXsTzDuZQ{3k5!Q36?su?zW4saoZ&e zs{~rS7=5K$rvKvY*o_*uS~G9B@Fq$^&BS{AlFG8GlZ&fj4F{B(z5PTr|> zYucU?w%e!<_}Mk6tX(+bezrDX${b?%I+;tuEf>dwJdcgD0Yfu=N)mO`XPvL6RceX| zXD~87oR?T2`w<<%r~6qQoYxxteM74%C|Y@@b8;B5)uD;brnZ1s)L<=g!x>x4Fc*QHk4# zh4GU^!;ix8?L98!&WVnZ-gy}E7jT?aYMO^f5V(<$ms9M*qpUr_gT!fpt9r$|>%}22 zgV9`rx0=?;070?zB%Oq?_S{Yc7dW7%K^KXTo9!Ic zKYL#@t=lc{q&d5O+|aVkH4|td<8ePZ3Edfazk{z=b-Syj&FwMKL4zxrdi%;hd;C|X zSE0opAvj$7F701|+u;>nm0!i+o(8dO9Ut@&J94+4U8NsoVMlQi%BIgS0$CkuE~s%l$hU3s(LtE$bR|}Or$~hwemw2;_sGK&*y;5 zILkl0o!uc92u#-8Ly@wfAJnqpS$2OkB|ZwNm-uq$Q?PzFb-I@hi4wLh69; zjUG$ar%#GGfj17{Ca8r#Ie#JgS@jF;^536NxJP|)SJRS1N^`zi-}$Hk7kX9H{P>HS zFNe0I6?2v1b}h5Q_t;r!Akj=9I!faEFSea~8U#kG3ZHT6ym}LRLF6ZiFU7qz7|hrr z2|06ZBQq;DU-9HzGAD&=DtPt6dt&PueP$2eYNgoLpz6WKBCwGM3~&-G`}WV+DN=3r zC<%F%4MYO%@p$q>ma(6X%$PDzq?Z$4b)XBN6cl80I4#CI!(?bS!;}`w$6Fr6n`#XZ z7^64kuB&I6q&*yoB!-`X_ze!Dzq&?n8hUw?J1&#lD{K!)c997MZ>)W*)U=8Si!L=? zuyn(y=XMbOm+N-EI*${-7oBpkOs4G+52QOt;`_3q{O60(?uq*B(-6ZzTXjS-y-(Xs z>|3EMb@+pN)vN{kZAJo09}YFlUtSr|d9$Gn+Clx0K6hVHzx{F6@-l7~5nSlW%9WMT z&fG+l&aI(6XZXVtB4;;Jfd62R6P{elM^wqv> z3A5*Zd*g9S!-If3BACPA=HiI<-V}kzbfmVa5jdUv{}(?g(oD!BF+j!L7fryTY-i8K zIwIXrcIdJzc=SBHXzM#>?BNQivZu=him!)Yw|nb?Ab4&OJ9AuyEENO0plp=Hg_)Hs zWp3^+yEx_pOU_`QAK$IbYNN_^aLCD-f3%uVI)iF5N2<8Qq`y+;U}6eF5jqvDzNuX*$MW`Xd{PpT zb+`=0mUkxxE0GwzKTFl7#byDVKt@96-WX*FHY=P6#QUiyLNj2u_U3xm^KB3x*0Rd| zfzW{dc2l6q+s~gXU^?>n_w0eU9uS#zOT?GEG&OwE2nwW-*aW5Ab2r984T0FPht?<_ z+i2>)HU3Ttu^8uJZ2C$m{%Yht6mB#B;NF7_lN(YoAQ$9&9}=>}8I5$^RbW6eO3#9l zPX3LRur4mn>)}5imvU^CZUDHUjygey=zN=FM>{TrmUoA9F27ZY8Xm5Ai60oX-Z`b& zm7Sl_pcsCe=-54R2T(LQNa_r9k_LNJ%<}FR0Wi~l&w5{ADrn8AC}Q@;BJ@BS%+KFL zO57vgB*4LIBtLvJr>}E+tfZ1EY~f4CKQMcxBjV9Jad&H7eSYgg{a1v)UK1iDv z+GKJgtPnR$Hj9?m>6~NfWTQtsyd$zdT%$@jA za(y+Ybx87F{d78ur$%?3vq9-4t4jeL!@mGZ36!?BVm!n9@auG3Gbdg<=PpAO>@A&? znvkcBDd_8189?KI);tijg)i;@y`97vQR~p2Y5dsjYqap$%K9$N*JO-p)a%-kZjw^o z3GBSkZ2URLyiMndW&i-N+OAvZo~xUgHks&676Xlr^AJqqCM_4wZvG{Sl%QVf8e;#I zUiQ@a@7&6LEpr0M0__p(VC2>D?Q7(>ErV0(Y=1T>GgGNR40zX1=$pHfWkIbp5ciRP z|ABKqIhypVjoL&D(Ls*!q~fBB2gUJLafJq~ubS%WvoimdRz7fxq{|>_55Yu-_(lZ= z1(L~MbQDa4A@LE`-eXP$59-iG%5fXpr??=MHOUC)WTooUnp_hZt8;M<6mkD;Y$9XX zuw;|Kx6U#S5oetOmk4XWL;ua>TRn&?El*;DBygft4v-OP*f_~Pp+8G)O`djt|Gj>y zy*7*i3B$;%x&7@wC>mFG4DbS-%dao+i%B)ZvBc{5U*1|I6J&Ve)KlhNeiNVdj6t1k z?)^AB0Vyc^q4O_o{&_a&@=x(iz;j)lHI4hjfNOZyR7S1U+|~M?-doO9l-g?&NP1{* zT0-b^Pc(t(M%Tt=gOld4z(dIpY|X~_axeVI)x{4uYL~rsc}E$j7fp0){p*>_Feu~ zAO$JcNPc|VSM z0gO6#syY!ZM9aHorbNdhQgar6ZvNXFq+kwG`@-dgcK5H;AF^h?*zY&MyW{ayz|wX9 z*+k8kF_&l`*#t2!4OCRg2Oq&Hqv%|3q)s1 z4aPY8(6dDrMKC1^CYt-^b=2UkQiJvGs=~sW7=mGHSvs*+swEAR2QSZs+kh9d5(!C? zAVn0HfV8NHQC$lDVwLT9Tmvm(^?_37*1(?kgB=1tr9|74=%JNGU$f7taLM@s#^m~~ zXU;*RR1=u<)4Q|--m7!b*NE0kC?KYe7fmVl+8=VjABUE0Sl)?Q-_Z!a2_m0nm>dy3 zS4BhH3V!WPx&gJmpTTeY{;QNInR@!r%%1K|-aeUL*9NxG|Cj*%mZ2;_-BPWpDEcz? zPTB*`-+Q#v8cz;ctL&0DX&UerK&*Xb@~HsbM0U{4x@p$U1<%Sxa-dB`59kreCQJJ} zv4Rv|l%n^YCBXaVRN|^?3xE4P7nI3@)&_;)K@= z$kJ4t--n6&8&Pw3Bi>D2b8ZkeY8jKgJ5W8~j^k9a`0z{aKG3iDFq*m`s~-nPlXKI% zoS24wn8u4{;A{$3I0`z>CRII(nswa?7=q2;xdx4W2$e%I@wk$$9a@vhMgpU}JvDbM~eulsE<4U%Og+?@`++))#!=$VnE$E%RiQRibyT#4y z?o`twSqXMV;sI>c1s9xM?`iSwAtV^BH}3MHi$>+J>EWsbNjha;2bZn%z0lJVHfJ@4mC>NX*KR2P9?=db zv})&{ZRcVLdk=hmoR2dz8D|U_^fA{ASu5pO8VoskOV10vSfN-XP~qvScQL~Gm89vG z@>gF`0&Mze!Sx*WFyTLMJtjnBz&5%U>7k}lRYLqbSsm(Jry^QHbNwA)eopwVo)ES? z8A=Ak9}C^7?lZpnIaIj54OSp9z62|g%g@i`S1G!W8=6*0FQZZ}&99ld%?hnd+$Zzt z-_j50I&g|2ePC9)^ZREBo)8W4_Rl%uMf*wNGOR?EPaP(i z&zSNWqxtASI0>!yluDtSr113O?qUS|bb()7G%zQ22pAm!3sWw0&tJCVVHBW^7{x9M3vSuOlF}F_!e>wDayF04ON==Q}HO zxTlhEEb)6Zz1}kh3=dm*gefYz8S5~jtO~<%kt_1mwLB`)d-BM#xX&(*ZBHNf@lIqr zELM0i;N#)5trdK*4C+8kuCx5CycbdyOuPfSMbP*^cCFDmN`0=%U&>?-&_0&#;{457 zb1F(=`ox%~rw@1c$^H>&VX^6h5^&fn!9ghmViXIClp z+(wdv$Lz`)>OfXh;vVx2#)1aBwq!udca&>+XXId8NMU`a=*oQ@U*%Y-pxbF z4$d@m5;c2VUya*e6TdK=9)vszjm|)O6`gY@CZJft{_Pt-;2cMHIdGdM8}a%d)yAV= z1h7Dhrg+B|UfGy4v!(?iI*eg43wV3d9w9nw^w9qPN{hHu969g~)HVR|i~$ zfGwu1|J0Vm^`E-iwjj?{*yqt3Hy+Wb;JHi~CH%~1G?IRr@Zca@UwqNvA#WC|9Cf*trENXZ`47)DiFU~)1B1MO!iL^{(C@Z6p|+URi+o7jS136h{h zY-h4>b$qVATKay|#J(rM4HW^(C!7VE zGu6rxCgp6tpTh;Ip%(}i+)3q%%2V)ft-oP#{M@URTtisUA=xic*)={cXqNcoz>A(W z)`p4K5{{v!fU!~?f?8MKqU!cuh(teu!~1U@?_w0sxWQvIN)v6byHZ4({h|NnR#hah zMM-1=mX58Ah7}xXW8IxJ1LXi)2hirv?k`s|7|TjTQaT~m&zzVQ$`tijdJnGW3eqj! z&<(V)t!Z-mOVUf47Pb#9OP2_blQ1CE7PvA#93YqPnMT(t#1xVdnrlI$vFre!`ny5W zzs>rTi5wv(W;fqUp7n@D-$gK@MpLG{@{^0%LX^g4!>v>+W}xC>{q!`=5Cg(bpZ8m z0aq&MRh*`VmG0UZRB?z#Asq*ta8Hb0LjX-~XEB)80`#|lHsqME;nJvLK(#*$#b%;Xd=k^lHJNDwM9#G|0?mRRFxbz)bepx?mh{Ykn9J89{aRnhy6d(!6`2ox(P@VMD1Q1r%Ccu|202KJm zM%^gJWCVJp{kK!vSq#ctVvypedhi_b<-q9~ z(Ah$qTVm&bm}%dOcZk?r##DD2?$?EL%jHo)dOaV`#_uYQh5iTd`!W8HY%^DoMKE)~ zD#dn|j0?-CBJ&rkbhhNfHQ{2G1O-<)ha8EIm{e(^v>{`ldd?ahXG9yaCtaWr=c-Pn z{~U*vVOM+c?cxrPrFSgw;Sqyy$CGzg|79eiVP`NL-%D6ym@+)}=M`C6-Zgf(Qs;b} z2$}bD_ukT6H$)`?y5aenJ#4U50sk=ilgB_2kTggCo zSla$Bm1kJrd0pN>?)$u4xiXo)-iX~siz6=i{`Zkm&c&id~8#g1)F3tN=(NX*h(LiK-PZ{an~CM$fd zicj)wbdejJ1(+!FD@d7i@;7=2YD)5({{#%n?$e@G1MUc?8{&rKrA^^`jM1XN2+Yxd zw&?R37QOy=H!@G|d-_q-CY8qrcfvO{8q;g|#qwd#fkN}L4zmqPip+8F*h=xA%UBkX z|4w4?u@TU*!R-=L>D@Y@`C^p9ua-Je@;rT2Av|^V`u%~q;v31f^6*1~caw^HO6GqQ z02iBsL$yN`XBF>5wp_GDW$t~dCi3rJ7Pm&f{aCtq?IsU%D-n!1r4Gk_205TMQqf9Y01F-3m6cKzM%t2uyd|T zu_u}e9peDwGtvzoz;g#2PHp8pE1i_XrX#-Kd==!+bCzh1M*!{eT&~#$n#M;3-nl<> z098gpZu4vXe0N$AKA7#V4KDdh(;fq^LHq40=DrGj>F;&XNZPM4`}-fI##soGp&?sx zr!iTNqf&22zpS({xPGhr31vPIG9taf&xZ2wV2o<4g8Y3TP(pzPSG!S=e+B9!My~?8 zj3hSglN+3(g+xaExpnvIB9jRD#nFMzt=8cMTDvd2?=8viD=DTD`vcQA^;#*QCQ}TN zNaLTFqGc^IWqb`YadX>^$_5OzfRwl}?fGpOR^3W67kvd?JfIflr$R~=Gcwt4Gy!JQ zJlP8Y^+ekOWb%z@O)=B&zO-}#7N9;q&v&a8t{8XX2xKn$nSx|3?pOg^_-FgSlG5l# z;j@+1pETdb65~C=zPKLWY4gAryWyfYaG;4^&fRW3!r69K@V0?!V>l79B8GezE$LH= z<=u^nSR@970rfmGO6FT=yTE%EEIOoI$EyON^lT`RE7+Beb>kB)6kHH&hMn395VS}g z>Tk!!<5g7}OrVN7+VHs`4us)d(ii^&7c9 z5&DxrX$5f4;n^i$zO7=0SI@%RP4Jfel+0<&X8dA)M&+VZNX+WnX7HucR9pkj7u9LCCHXGwOI0(I;v`xfmKop6MG)?QTJniE zQgr@6QZ2?}b9d_(gcX8JVKAHU$yj%5({g0lbMWDiDI&I2j>Y?NEs4@h@18;da1G;( zu{_@?VK>PTF9C$aeA}yqkrkpSA^HNY&aEndA50!q z?sk!!4%q6Ea_-btC^GvSa*ajr!?wx{9|VREVAG%}#E*JqC?d%5+!6>CfR6RMH|0jP z-N*Fy&~nes<8t59#hNCJ=Jm4#x?zgGjbNTcNp)LahZky;Z_(*~IScvsbN;#+ey#@W z65lLM_NtthZks!UNbX;LX?$Qq`zqBWlqZ2XnBOKIdrImJ&+gR=tye9V=FHz06Y^PF(&@Q~aF8X^|ex6S6U?roZq~p4HrsN>3 zg;{9&HM>>3Y2J3t$=h)npuJ%`e%ii|JaZ|NGTr^MS*d=9RZPic%?9gAf)Ia)U?s@8 zWKjBNZ9~D*iZ90GkrZiMbws79QkyM7X%@SIp7N1ps|oMDX+UOE+^|MLZmK3N^qn8? zIKwpKMY?M{7L))n9YGJW2%_x&q3J68n)=)JXwcCh3~7)M$(kV!HhjfF$28*1}tufm&j*k2CnC$58A-NvA7Ps9WVF( zrv=cWC!4K`#pTYr+1bq^dEUV_3VqG4B})o|j)Ey)NB-mEGUo998WYIiP+nyAj_iwUtH4TIhWSofpMtja)?g5VCUB zU`|^zje3jUdr;tOwMx`)Wy`frZ2wjkdr!G1wJx6V7*x6L``T2uzirms5$qh}FJ zD-&-3T1um{g(~x4kcAU@#_1+;PF>0WuvsSWg{R1FjG3}a1t!RgXeI`VK{WMe(N&vG z_0;$dV{bA@e)}%0?Y@E;>{J2B?Ca zyt=cTF#-655CmH>*IKXsGuajK^A2Y9>HYgXGs(td^82(fg3y0*N&?A8W5_vO*q)KJ zi7&@0-Slm6gZ5TI0KB+fpz*vT#LI8kyr%UhV$~y;+C|MdJe+j_v)mecG(T0Go4uG? zAa>5g>ws%YV^vP#0sm$PZ59SujMbD65dO25L|8a6ws3i&=ai-)acAr*_~m+YOLTnr zPAS!4RBRWSmbepWMD`k5)t~enqj2HG$Xbv(T2fz`OXzXF+ZeK`(0T!FNkC7X54M^H zCiE|bENah`M-(ikA>?g~S=jaLpOi2^f&BV$Q1K1GRJ@hoU{B;xVA^cxjsd#%(oy?{ z2%x#D_j8xe&X_U0G)61&Loo%8|9 zSn9bMaHG3S=>4i#d%x2717-3b zaRgV-ca0WPmlMo?`S6JaV3)h!ByHKE0Lo`(_RoWe=*4~1@|~0sXFJYF_Lq&iN&4)a znwRN2ES$%9q}E^N@*XV?0^hGin~)A8jbrj4i=Ksg#Ph?iF5!jG-rke}F;EkhS0A)D zzlBDx$LBQPPG%#D1>DcVz10rr86&`}xkD^_IyLQS2oo6>zGYJmlS)u_NJS4=%5Bd| zCBP_W-kk>0dw*w}&~n=05Mk-_JSXSQ&z&U#odm5Z3%lrNsjKyW2i=2pdmMnBFlKn6 zUf9sNn>MRP=`*FP@9)1^%axMBr!2inG^KnshBUPo+;A2RYA;UyJWDj#W@5^g51ca~TeenTJkacH`pIImbxTR$^AJAra5 zM;FIc2eZclP5yC1{j?kN7~>Zx{E`X&K9%F^NHc7Q?dKQ0^;{`SiiC;-7$k)4b?LT_ zG==6UOo4(tggU^PY5Y)hO9znzmH?>bId%#0$0t`?E3Yp+a@Ka9N{*d6QZtS}dLcTR z>q3P|+jn^H@%0IRZl}Tw{f-bAwj_M2rXMqw$24IFc}2L1%?AzQ@J^6}xm`hInnbvp z*;srl0q#Xu#oE@b;8Fy};OiDgVBW-?`cgw%0w6f#IXj#l8 z0iGs9Ku2*1R8F_$4~UGf*?BKYv6A4w$1cE_(EEcr)uxyjD?FpKSwMRO?I_af&?)TI zHGfmL%ga*pSOi8HD3{7szR?5bro2$qk^7X@A9l>&&YNBR;Ry+# z9T9D@QUI13K(e8VphJ;ykaeJSXUwK}X+WRSr z5D>itxUb@!3l_MinwlOv+ljIE4AbVLu7`Hdce~(xF0DXQfZh~SX_Re8Ytb40ogIIR zKtT4gpETV)^!;h;X9tSx_G|0U-oMksjNjmGx}v`N~dT@ zWmESABCPH%uY#E1@5eFEv)IH<`91kN#Lr|0BRKQ)e- z`QbVj20U;&h^Y?gO4u|Drz1W8*Z(AwvC~CahH>A0xI-WW)_0nRpmiUm>2AM1&RW37S%zTm@bA8S8QQBt%(r~chLYrjpALZxHj^}lV~YiVUG z$(w+fjUs1=xyv4sElfHapH?ExrrP1xx+sOgRVw2Wvr*>LeXO+G`?^yo5Y+?_ZvUYt z%WwWWpfZ#kgRtWhio;hrEpjYr31K+cae!n}BaT`MOWL-HWAcb6%i73x#Y5bReM&&;UyzU3PQ-m+Rt?~bG~S9K9Zdu&b@A|>SLx)a8rCdMDXDZ z!bAPZ%IOuSDTZcGwm;FUZF>P+;QA)lF*8Z{Vc(^fx^Wo4;7)lZiM?cr0vHTzMn$_2 zkcLQ$1yxA;&KHWB`B7`49%F7^1Y4zgA?Lq^$|-{?lnmunSi_%E)!U&{^BAR#F00Lp zgBg@MmJcx6PtU|Gz?8&Vm5_p0QLANG%|{jTdSAw&)-+KjSkE}t4VT{t>>(c}G`{_D zqDz!xD-W1NjM+iQ1q6+umXso%%~4g2p!|qPi^HTI)ef2z0vv(*kCes_&Xb z1wq(0Ohfgen}8UT)`xvOZaf>QjAIg*VaHnCpR$9fvn0D3QtMoDBn$Wg<#;t!&Wkr5 z`b5YBfge^EEiz2_5~JkiafV?;d1Djc<-WNgsUIAZ;l$JPvr{6jEH*?AP20f={54OHzR}Y?!TTZ`ch)D4QvF^+(aXx7su{ zBr!Te*xMQ*{P;W?B>#>qb7AcH4vPw{$xe;U6a+`$N9*yGTEU6F516EtUjhdkX^t;E z82N&lE*KYANm5!10@Z#41raMJxo6EAhKK&3CR1WNESRF?W0R6^QgV0;)8A_EB)5OY zWPNnB`H~iJ3l=U6GrhCFzyK!%b=#_%?)W=724)SsGm6*|br&0-1W1s%jnA|{g#JCL zeJehD^kS+2I!J)tC|XH&!7;x{K{Tc9{{j4C# z%SJlf6c@8k!26!b{l0a#^V5Gik=6fnA{?J)XX+6`YGHXvm7%8W;@uoH_r1qq2T~`Y zw1H6Z@Wm<9a^o&M;Aq%Vis(NU7AL=M_BZ=NHVZ%>M=b+_Us4gRECq9Y$>9;eCh!|A z4DfxwNY#3gd2;_ng{jlQ=kc?0APeQ=y*>C5>!>6sUPQ>n0rwii6Sw)Z<$NC)*TSQ+mkl3bG9r#umo{S;8#$mYx0hJv2zUgR`2XOa(+*;Z_TFJdD+@O z2Okb0K_As40mTG&!gEId;!*JGy!|$R&Jq>FI{}dcWmwXC^x__{86f!DXywPlWcg6o zbu1sX+8Gt}{C0g(lZeJGPBRmYZiVKy^R3C+33Mg6{-~aIC7eL&B4WOijM!piF;HK5 zKuCF%vGUOC$<=G`?7vC->rsZ?Q3Gmnuq>T;V$5}kPg57chY`$2axiXOm0`;tgkwO+ zz>pt?Usq6A2mtkKfDLo2pD!{j5e(F&(XC9cyr5y@v!YyH=h7a zUG^x&jQ)fcHUbilHeCVugG0cWkVU}MlMZzAYmDREd~6JQwJYY4df8QZeOwDp9)2fs(&7l7{pF2j_^&gSl3v6cUiw-c8J(2A+)sZ=F zoKW4lBV|B-An6mlR+Sg5%PWNrS~JO}?$Y`+jcH;_%{L-Bkgii&HbueL1vX&|clYzU zWzs7rSGW^mPS4YKiV{OUw)yq6`Q}n+@&E=(`v44Kg4yqp!DFHmJWCZc#+X`o6rVq* z4qa_uhH*)+o^|4nq1h{wEYtJcjD1LvB=nj=SYd!}ru3+=n2Q?K3H>d&IJq2dl_qB*c*?@R`_vTk9`Ke{clPWFtbcRSzn=4w)f zOOZjNbhh%pvmQP4qIkx;lK;oG+0?QD^P**S(_=Xoko2*C!s5=xSp?&C?G`mw))Sw9 zjvLmg@Mov_)BNKi9dnylww_~C#L(MMeHIiD+WsQ=H~)}CGpz?h28g6<>?w_VUUxeq zMHAAjoqt^37RAgl62W55f@m!f7h*AC=v>Jr#uc_oeI{Cs>;opJz~DQ3<0sz%B*m9T z_ppKsj=SzRoj~ph5_9gLrPMFfvXG!f2G>>D*OFlmFNgnvlpB-3@_Ma%S(dDPnB@<|b#SqZ>xhnVOx?nnGEb(YSFI&3~(woPLl zB_KUpX!95zPLL}G079qGciReDnmg_Xyx;v3l_u@8?HpWo1-wkO#J?R`z*fs;*}rQ< zh{mWGj1MC?0xmso3f4|^TBm0BSB5XCjlqe9c{4vBju@QLZo&4MEfezwcdTqS;U zQLu4Y6qnkdbAIi!iookSyV5JmB|bVK)QFwZ>?<^;;e|t zTRL2Q9t$9Zf<5a$)pd+3Q+`&Jt$k6SKgVLxFIaU1GpDfuZoIebgS_YKacpXau#xBp zi+Y8taEHDRk;Dby`0#-I9lqTW>vo~syPj_B#R}PENIWqclA5SkziD>bFY$yjBuW zkDzz0)i}cq!@VuW0l*#i^w?6U0I($ntY2UAZeHP zb8pM{JbalaGT`FFgHioar}&_Va5u5$k`8qm6}Xs-F3j|Sx$RhXkPQ0pm%-r@8bI9qI!FidV)X|oT$%aBX;w$ zNu5Bn`TU-mU4p5}>3`PJB0}=}v07SPR4~mlu$l!N?CtcRsQ;dF({C4DF~>Wu-WgIg z1(T_;gE5kX=p$XBL8;^&k_&TIfM5sTh|k<)#DQ0ql&G+(-1poud*Z{gh|zTWkEgWw zco4~-N0-4GEvDp<$yDTYxxWu;Rf+)pqKRpW@AYF)2cXzOONy4eFValO>BZR^>LhBS z3qP?dxf~ez@AaRWB%rzsKKPV~DNfMcMBIhw9kl+$_B%5sA(tAd@5$L-;c}-!InlLk z4rv}@c_^DrZ1nBxsI+z#E_ufGhd~I8+z_7)~ZH+{?zVHnDp6 zV;-rMpc@FFk9$N~qprv(&u|CIm7YR7gg`I@;B?)QoaV_;L8KIdZAMF|VC)4UsKWRYzv&xa-c z2voOuDi>4xTwKi2u|ynjVo9I^0aJ&Db%JBMMYrP@;yr&IY!S1#Aw#(OyEz|Oa{;G2FTC8xK2yFUVCvGkgru&=k61Nk|@y7 zFx?hWKZHtZkTP@PWw_K#BOZpTG_rF45doccGvVQfxri%EXwa^RrlVUTV#I@te;DVO z<}c;E8>RS`wI8BQ>lr*csK$B>%*}A_`c)vV_t}ykp>u2>h=*E+msAv#?Olj#o*Kih zMgSfHY)PL*zhscBqE9dHBDtlHP2ZF70L-f)k$Fxza$etX5fZ8#z{IjFeujR`=se8fvL&{-;-246-B zrvYbgtjrk%xyyc&D?IUIWzdjl1iP`W?zy&#Oz<72=4KJyeTsKNDH#j-**BJdJb*d% z$r!Tz&Ozrln)*5NVlPAq>; z#*DSuzIx#U-h6E{8_}bSoE$F4f&%Vm=Do{3fI>@&-Ym}vIvQXREe8m<>gudNs}lmA z8&hqHta7{$E1k9`Ghcb1Xa)W!-5PrE2SprOdp1OE3JCE;m#+V1(23Hz+z$5aNM4Xn z6L)~Qb;hr5PIiMJl9uY=nV>iHK%pOSWH>!7Xky2mNyl8bJiZ+yZA1A&25zpb zS6s(G1Kel9^;oILl}KTOPLMJ3k+i{75x@H?&xXBkTRh`$=G%crs^&?Z`3@Pj@^pq7 zrO~}HN|}a}N|o$nK=k@5q4_5u8`^VDX?{goOwS2*rZ8MajWEMk8}_jTh#?^X7~~4J z^y`rgS;`!S!)VAD2UuafjxpcpwMPMy$n<3UN8l6CUS~}lVB-L!&kI?7d)0-}UK&su zLh`ypqbt`mp+oHViW)^_ z%wn~HwLP95A@2yfRo*%qjq)~ZtaX%X4HX+n)@8@rDZf)Sr=*IO%)|>_#sPf@wzdE2 zSq!ws$wwQ6nCD)|%IVlxy=Ygzgu*Futrd#5iz2K$mA_7mYudsFEwNul1dz<(=|v|6 zFIdRu?-*H``rF0_6-opNtX7N(KPvH(STk7F9CZudUn^jZ-6SSkY(+Sok{dNJUqNymE#3 zoN5s#OwYBTutAjBoNjI$94gIx_@vxHxh``)-a$|x-DUfihSZ%oHr(eFqiVt|=E%VY zixO_SC<{O|snlt00hlecNQArlRW>l`VD_csX|fAYhXW)kf*3iKYjqFixT}s_$Z|e{ zJ|6I_aLSH(BeYWPB?{y!Y;|`hK?>S6)Y@RbXYru7YBzdtUZ+X6VFBa8a1L?qNkCMR zR1o9H=*AKJ-cAnCJGA8irl{~uT8$0!yZIC2r%YdND}}yMInZSF50SKami(XkDk%7ywH?`VQdFbM}yieV-ZhgSE z_RaxTS;A9IPipFMu-p+$=PvR{v@lJNa|7J4;iV9$Kc~<9+hOzS9~1w|Op_}W0QJl{(|6V$37hO%QW&&Lf z#n_D>^>s(G(Z?k&Zl`~kGf>Z|(r<*(ky_^Qzo&k^j7U$k1D~8UtIuo=Jq5Lnw%|GA zpRlrBMei%a7N}G{cLNX|MebVcC^Eq=wI599rb=qUlaA>;CWTIFqfPeOz;x$X+M`wK zw;?@ceXNFB(=~%B+)z_PLjiA}M2zc!+rLG-|Adp-LX8^&KLFtohB#fGk!g*AXg0(*%iT`W;8ptG|WJ3P_El;ad%qK=Uqhqj%iVm=}q3H$_{FW8Q_&(8VESiF?}$Y{cX36 z1wisz2V0V8KFTzy45hil`Yk@1z@sWr% zb$y(L2?NMhg=;TY$HDuLD|y1@sCjWuu0QTo|FLSu^M?T6J@;n+)G>6@{}OtT%l&3_ z008`Xu(1ipnAvm+4$^H&#}V}anU)thsoYhbNeq&wlSwp-RPq=V3|nyQU0p- zgaNcP66!10JqM##uvZqNNSE(dX(ZtC3tCc_r?1KXBt2#%hTwwM87br^8=C5<-=U8} za;3JzCZC;F(Ql+ zZ%li>ME%kMh%^$f;l{#-%8^dZ@0;ulAf-e@!55?;rcDm#lUoG4o7#e=r z6gwL3N*f9zc=-Ej(iMZxp66|3k0Fs|o}Ci@+nOGW8ny^vX;Zw{+yV#3hxVQ6kXHf95*btV~D=p30%j_;B)8)x~slW=f8{=-H; z*ZlZzSCmvDrwM7-B72=spjLr=lLr%O$Cr}vIdAMaT#Y~aq?*dy%3r#kZtFKL(rN1l zo_=>dhJ-Kt!8E5z7a>c?_I1`KW93Hk1#=#LeNMb{rJ&5p*vB=TuzPf_emUv8_SDN{ zW_=}Q78~@Mj!N3rY&R)GUPu6ruPfA?F^6MM65yu~#edk~Od=B@M90LrUT2w^;XY`K zSNMbZ0omdD7Q+*ht8XZKcBKdo1&CZwccw0s{*`#7ss3s8|Fi&LvnSH=W61AvL&z_& zXrqjt?bYj+mYO`KzuBRr5$`TS^1ZehOc>lH=FFgD&(>8f$9axk;H=Di+BpNnh59tt zKS~`oJW(5C*as4BckI;zEMBOl6tnMd-_v*|{Oz+P8qN=6##HEvyHg!TlCBPN2{FSl zMp`CZRDyW`+KJNEgNZvGZN@A2r8Zd%SYhSsLVXV1Y2nl35F7>47*%;De z()`3MUvV4$eKC2J$>Yj|Sy|ke%88$sjy8G}(FCDOiqV8^kDY4yr>OMz2gbZJ^_z_n zSyGa`om(Ww32jkZ7^6r+diVx|H7XVCti%jUuc@AszG8^scT^Q+fS-*a$&Ldn(Ju;` zR?*}MRIk3TUrW9cU_99Pt(PlU^awcPZGLH-l{k{+L>A=ijf~W2oSn^};$@<{;}!7H zxxWqXwx9hNiMg9`95#DD(WULAPh2~kWE_=peFxqHNIv>8{Jf%~T)X$-)us76xE89g zMyWH^EOh0+XtsX6uD@32FUUy;e!Z^dH-u!nv#nr6pTDNujAwr()6UudC;kfo5M^un zFpCm8*)rI+)#s?qtf1i?=bCs8b0)?lTF{8!LvGDJbA{@Z^G<*XL1{&Sg(@$vgXEV# zazg268aEDwbx0i4E`y!ed`-AQyR_Ph3w(KB)3HyWEkvyuJI7Se;q&*eUQ(I_7Ye9} zjz7X|fb>#=cE=itCQu?U)hBb!jVU`DqwZAc8G4102eLtD+|pDLrVm4+cH1}!A2wKC z)wU(8hwsQr(_4Vh0rT3jMiUT{s4;6+hUvO`;O6QTOIoGeF)38x6GXQMO+^ITju)5p zT?)9K$CaHD^RS9Gik|YHg%vI-#r5INpE@?x6j*d^oaRNHzE+ETD}KSu<{iNy50koy z3r+m*EY(x{FD?4qqOC)J*0jiTHuz10J94WGf>dF={cMqV)pbkox(oYJh|JeN&Me6g znw7_TXjvYdyymdV;84a!H;i*TM!2t*m!dK0M6pbXTGX^d+GY&;LKRVawRf8azP&Bk zptP1WkAnngR;lq&?2G?nNcWqzf9I%1jawo0!rbKnnG=mE-9eOKr&}yb4 zUllqHJqAb*;LY1Dq1(B}B=1_jCu@7SD!|OXvXo|%S?y)fF_@lK1Du9b_8>I_(cASq z=fG>oqaAqT#@Ny}?xl9t0#OPeot987?SV5>-@9^N8dlc=HLQLgO1ZW!stF#hVzp}60*Yc0IEYzT!^_cqfB&y-c9=4Z<5$~n)_L7o1z?4 zJo7TFm#odCfT22vS{SIkXsOS68%4y*+`F>G0eqy|*4dFbCi!T$?GT6V8NpVuFVt8? zxC0-A`MgYmJnj3rVvtGC++<0A11gQ``z}H7+WH`@1;iY`Or4}LJ5gJ-;$lNy^3c~<_ z?yfzd51VZRyd4>OS?CKA#a&cWh;Bc$Hh(8fwwx<8afJB^2rB+Pkf`*;PMinduk?L= zsXk4#Otde}PT7+M7VK|x6qm}jD=njsAp#H^LMWU`jlN~9Sgz4vv2$B1lZI9C8}qoI z)2XCDW#5b~zKWGzx9$F+>l+}F782H3S0_xu{eX^Q*e!hcZgdbyl+a1vTQ_A-;(sl0 zQY0xF^nv%Ni64$pl=toWy~v7#TK*%O7&>i={+<{xcN=TuMOEjxXXTW{BADCLM;y%N zC-(+gm<1g#51`8F`D!|6o^7UXce@v4Bj@PVJKl-`%9O&`P<+DjpH}nS{6D^Z4o4Xm z?F5x`opk=Fc^O;?TC-97_HZzknpJekXnz09{Q={KR&JtNf%Hgi6q#6gKghcdPC?+r zG2L1F@qu4X%cYCX-1_ovy?nF+hu5 zSZp}9X8TFce#%8%hWD_{)k!AWrX;c24Mt89x}7`m77aOVUAHJ%e(mLTH&ML<`Tma7 z!C?=3vk5ACG#3A9KV#q8k7(&n>>9=}QbA35-xoMNE4330tyw>Wu|Nux&0AIlLm%Gb zHS)-|bF#%6TDhjx?LIS-DmcIwe;GL^2^ZN|fsHz+^x`UW)H2-tNHdJkzJM|AuIku#09PS5}1P=^sv&sCsUqkb%Uy45_uBjwOI{d*%gSpiylii_0M8Usx69 z((l*Lx!(FvmBNxHulL7d=3wc&I|KGp`I{;v5f9^6AP-|N zpdyLJRdg4bNYt6YBFdD+gxTQO8kU#s2BX8_I(;{)nu0Kfs0ntnJ5m~$R#6qH;_rum zM!=Ttph4#-#Fx0fY_OTGwcpAwHEr}Sw=f>wN6(@=2xdN*ns|EPc#Ka7HCMWMj3PY> ztlmJi$KQqNEsnp9MIlw`q6@AleSxn%Hjy{{3jO1>P@Jja#(=|bmeTI|i^9>KsSOqF;J|FR_{xRWbwXnQFB{4jc;*dj%|5-j0%c71 z0|Lv3fS;y!6DRRS%(}UV9XoMLK7vn2j%d6&pL6S#R3>Xf1@G0w1JNw<&g&&pC1VJr zq@pP`+ArOLcW}ecc>Wn%pKhW>Zb(NG_q;x1#qci7=XxL+P1K18WkP6s@amWr>V{3| zIl>Bs8b*<$=(NPuuiMgl9L`wv;-l_(ISX*MFM_(?R>7V%pj94++6fUAt={>NfYo%2ZR&xZp7^MHE_?&0_;E>lksuFfvYy zZT*1Yu=CAsw5uv(HMP7{kR0HDH-4fpi#>!sDCMCj@b85K~9xpVTSVz9BzGA9z2csnOmY(|;wtAdAHTHaC+ zCzvy9m<;Hxg+`GKjTTblo@CLeV9V)IvOH3DhxY1%Pz6xNp%J9MMHjVdD%4Auh;cG! zhFWO)Jk92{oHm@A8ngV7t3U#$^XmIkJJl0QnRCbt)Q{f4_9}AcwnV>;_w{ z#FCv5sEO7th;Ut%5w{4dBMA7ms((D8lZH2~ua8Y)7W&u^ZMQJgE~iCe(4qf(Yx-;6 z%bl)+9$%V25RurU;MJ4m)yq2aE$_Csf-i4_qBbad(S99> z`%;+z&m$N9EI_~Aq}VQAYq_qS=+0xaEkt5S8D1RHpapng;c3LAr&%xNoM=ZE6+%Id zB{e(UFm4El?Y1Z+J^BdgM%Xve^${4g_KsPWO(Ht=kfAC zFG4Oywjds4oh9vSN+(^uRtJ|}I6JwKMmyfB3accaNR{Y->qN6Kk^vGzW2az^YTNTA zIZd-_UaFbeW!cU{(GGp>`CDCJtXL*mxb#-s=E>*J*D<0`as2qjSfWDw201oO=YUY%nzAMb+ncRu167;k6-zKh2wX+iof;{ zm869yKU3>HJ9(Sj50hUg6RrVOSt5eJKkWOB3|1T3R%aBOlF!?IA5Rlj^hGx~y>$5c zd3x`r(lg%iW&Xo;a8x#LjuLM8fnkg=$46W36`)g6EPFvvInj7V6;HYz!@KEi%Evgg zf&+T-{(2UGEvF2m^)Z&yX3zSWY*gK8>pqI483goN{xY^syy;qOS*bS8n6pDm0cjbz zmc8-4W)GMr-(LxSCjm_S*{hz^D-u2s9R9I_zZH4U*$O%*%_c_TiVuFe!*Pj4^Adv= zzL!xzc>)YRNl7s>U?KE#6}ZgfxTq1ACNd zZW`jp4(&Id;L~<@_G}Q_&&%zg03fb0o`q=izfcKhx#MuH~tJ9 zR{d;~LRm(J5=v)HI8z9^xr@|PKmSKSh@FYcBlzlZG`>K_z=EPx86HhnhhhZvBM@f6 z`+jRjb^=?!Gk)Gko(b|SKA_Y@h0p19!fH;}FixbiVP$RQa`Z@7nd*?w^t`(4pEY(X z?Er{Fe;1ZPxL4LEbw|=S9aAs)xo!QOOXkUZ^x#AoBhGS{otfME4KDQpZVNhyQscF^ zJj1n&l0U<_lXGyY;jP0EGML4O>!o~%CcF})N(K8Izd$cKE6igLJFbv;zZXx=bUY)w zgbXV2b)z3|q(?UenDaZf z^OQ{U<4xeeh=ZAwR;aS&WZb6)pIn5uHLBqF*`*;9b?LfEJ7mG;C~HP8kr4@A;KYCi z8OZg|UK*bBGs+re=O7MN@+oFSx(iyR`e#yPtQ@{#_#B5dW!-xIBM0m1M6IFAfC`3A zaUqFg9TZLQ;Kx5uWwYH9>nr{|YJ*+wb~&`ktxP=w8V4>O?h2RAp(7kxH_yVM?A66C0|K^Q0iI0HJ{A|z5q^(W}0!Nq# zg~?-+EI6ZfiMn}&3q*}vB>{w!h?rU_V@SE$Qe{~ zTH%E_6p$oprf^s?D<(!OWdGoY3#D#i4-`hHAm$1yFu#lfxj~dt;~ade-*9Irz;F@w zBC`gA7oR7%#y%bKhDzidyeGJ64oin`q=cu|{eCbt0@TxknLDB=Iy2hG;jPTKZY(tS z0X0-IszB$!2HcBRnpdec$a(l*v4^ZXML`aPLsJutV|Ec>2MOy1>6MOyLz{VAz9 zA9rnhHoh+%g%fravr1-eW5bBRA>w>X?;>QBdu>Q0Xdfpu%2FEI-coaaF9aCSgr^Y{ zQlB)43o1upz*IHq8$S$;#RyjUA#I3;!%@FP0zrW0VR2_zHL8w`$@%N^YNaIQub$MeVZx|w4 z5Q5Zo1*YuS#s@4QRh=-@jz;R_PJzoKYbPJnKJF<;c++gY_4IoGgc>T|KxYtI{sx;S zWcK84AsG=khBPk9V1RVtzxb;*jD#ILiHld$IDVHlmLt%h`vgf7-8sHI7+B}D5IBrQ zSMere;Zl~K2ZX_8#(vg;{nhe69|<`rhTtS868}k#z}D##NBnFd-zDJT?Bn+wcv*QVMqq z$q)GVg5RJI)>FyU)k#*|U;nAISi6#P(|>_pwj(M`ck}v4`+~XDVbcKb>U(0V>lfCS zJYy-P(%)a_Fqer)70?FK27&{h>G0hGm}35SdfT86uih=p%>Jqro=9NPdNH$o^Y#f6 zoXGracfkO-*DTDO%-&y$cu1z6I}j_sih3wNTm9a&a}A*Bklg^mTN4I!*Ka1w^+lfR z7{nIEu`-QL9h##{hGp<=GqwMc$7Sb<4% zv=AGe%}UkM9?%4auLG#%zwJ&M?(Syk${n+oTeo@$8%cJ88924<2;XLl8dhZsWYhy>?86nl9JwP-5W9y-b$6D?M>rKY_-4%4c*ucbFAWv&bud5mAO($J)Iou;#g| z`rumnzF4C{fVQb3CQ%9?IOi_vuL`hmP_M21jDjd*=*XUD;>7qYAy?pgZS2;Z+((s4v%R#t=40Nd3xF-W(Z9GI>D{m|?%rBbRln&)lab zlI5OF*zZ1;BqGQCF~Y(i5ie3)+gKlAo|Ve$EsYgF-g$z1^+Hjftq9?Zal(F}+ zyz`@oBiEj-MIQK&QfGVlVG49XSP|I@{VlR9^z- z=;3En9ss;z5ECa}pY~k1rN>yq)$iM%`%&?NgN03573Wm29aWr-49S5cI`O|fa)upA zeY-?4cr2r@bXzFY0h>5*z(ohZ@%{FXuO1gDcRF9Z_|6Ys*mL?It5W@G$4Urk@+bW% zdXzGvqcc-789X5Xrywan<0a+c7Jl(&qS%uQa=-l4T+}YlA*L$sGI-D;hg;(jq7TB) zH?`j2x!IXL#?Ye6z`;?m&1Ck*uVa-Zf1pp298d8lPPa0!6w4{bll-RQ8s*v1Ke4hkL8;*Y(lWn(-J}HC<$-xWkIm?vqW39V zev(XLIRf=>m~KAF*(6%|X80?N;zKmCu|k6d4P7|;S&9qz%XKq}j9)5u`C%L1+WB4p zzw0LFDpWNa0C5k#PZ`52;1g!(eR{AVfr)fXX@T3pPg7n=lb%{ioz+!b4E?>`R<~_e##_AazMuH5MT9{tXeZ~se*&97^UV#NXoAht7yvX)}l2!NDab zWQ%*fTy(&N56Q!vj-{#P(Bvt~C=NZkDgmN%=ZrAzkFP zo(r2JU^n!p=X@DE7IjiNFFqcFLdSA+j&)sg3CZd(Ui{QWG3typ_VF@xG@5c`FAVia z19g(XYmVt)00_UlwkIj@{R8Uio|+E9Sol7Zsmzo{;`SA6RpuV{<2X!Ak|x9pXfajY zLyAMiOG2QxL?ZBGh8+A{gqWcG?`F%K+6@+;U&>krxR~*b0yLvYYDRUF17Y}V7}!k1 zT^(QbZ*xa955sM;uC1RC`ar;2c{@fuD>C4XDFgVE+{@`^&5Iq=;#YSh@*oB5+n5kn9%w^3p^37O7ZC`9|=uHH3Aj@MS+;A&R zTpnilacYN5OaH8~MrFGWkE(b_*J*yd zr$yu>*clisOoteo^#VYU`~E6+%=U1dshF{8c8`=ZDwSez;`so-BJOB*6#mt@|1XzO%L`Y8$0mOBg)Ca zIRF^rM6WEnxs{N<_*gW`JcP1}xp!E5_GbLTtMlI*sWG9hT8Kuvro76!I@%g_QE|^g zu7XZb=bhTpknVy!B?D{h7nu<9QeL*$IbRRyt^@kNZC2UB9I&x{mpK1A9EuOg2pkqs zj5{4^kuWa99K@A}2a~?gu(vJb7-c=Tx=ZE#l!jeRX6Yyw)9x*B{waZECT@QFk1=D{ zXFmEhAkw7}bxDnr1T(h-mL)CV-bS51``Cul`Ct;*!Gt;Psa%r z6h4?E>B`y3(A=>zHz)aorU2+hqxOMI66g0X|7N+xNkP~QRP;59nq#FL!0r45N5r9z z-=WXNcQk&-GxO-AJt_XgFRH^5nixm+x*Ki0Yn|r*@3Zp%Pc#ZPmIx?$_l9v&OoHaV zHc@@rAorb8d2KiPw}_wedcq?c zE#7fu@-Vxk63$^HcC#Wo9xwyv{o1IL)_*1Wc7ln0?k`p8oX<19Sy`m&)svV;8PtgH!!&Y`5ngvI*Ca!GFL9RN7M;FYtq= zY4Xn(Dh*+scYEy6SGuUsvby{AeFXg*&m(Xo~>rw?P zmc@ccz*CJQf$!UG{)}0v%P&L;#K}_q(j-*I%&Mfaq|PRY6HAWYQr#U?UP+o;^144> z`kxlSvgV>4X6?s*6{XFl^Nl$~i^_05h@X-&iY+#&OzcSHy;$ZHj^<4K{*3gtOwqHB z9c@cJF}wAfI^!|X@qb5r)2m40mj_}m4>AM^HO&n0#DM^>lV-lhoYR=yP+T}D>@4EM z@`UNwPg<>ul)#(^zu%LlB~jY)^R}G8)PYjJ3!a5wXT!ZJ|F90(OPDq4R{`5vj^kH> zQr0|h;o&Uii$OaxoZ77vDo3Kq>9@u4F7e_R%N|&scKWO&ey2ikYuI-aH_y73$-yC@>v7H2c2V6}J|s!;zYFl${iy^!wIEFwreQ{#RYUzaLsq-mIX+5D<4if1;@9~rV=4VmVB7}? zapzerxnE9HhV4`Xt>>}`elaPWbYJR0tdcT$v~Zkk#L|~h+Iq2&RS~;BoKe=y`D!Eu z0vD<-k+3V=%d@Uw+qW;UmgG+_`!Caog9BE_Gyx2lr79>iplt7c-p z2Y>Iorj$HMy}uu6tgNsyBA-_q3;@Nb^$^7t*W=eRzb?~~=$v70&t_GJkm$=^S2KZZ z>VhEvDV_qJ5Q4j%LSx#(6?yP3 z`_fxh$6PZhY6GNak+C>X7zdtchk_KTl2ah}n$8yg`szNV{P56|RW7~BOt}ae1?;&5 zn*?ey5i!V+|Sku%V%Z=EK>Qe+2zScc_W|`wEb| z2;Q0~y3qg8bd~{8_0QX1QoyAomo5R3?(UQhL6Gk5?(XjHQc6l`kVQfoq$QSGLZmx< z4)^c>oVUDK&Yu0AnYrdO*NCiVuojT_)VQ$vxHztWi`SArkP`vl0v(fXktbs^? z%I?9EMwXZc>PnB@^XNMz6*Y2wC3HPc^3~t3RgG&hi{wdv&i|CFchwJ{lgRoe+BE;- zzWBmh0?lfvtv~?0b-Hkq&*{bAV@L*uK=^qHA!)GJeu6KYxv3kg+*`JMEt%yNY72=( zisB~R&d6E}niJAT>1?|6iAvVI*BuRe%(E{m%55(40d60 z@*+L{a0(CGI|1bS{u>osXUHo_kUBS-_`b%T0JE`#K_cx3>B$acWFZ9!>4e=tJiJP} zP$)_ezOLK)_p!9hdo+aaMJL+oFt$bIh8AXp%qmQ>Zn!<)&uBp_4OoyZ@P`KKY`C6o zKy)}xK|A||r~%L-28Q?e0{=kTSm_Oe-{%tVV6hh>#>-Z^EE+8=?a?pIVg3el`R9R+ zaP|{Q$VaiPcGwntY0W$Xnwk~57fV`Z`)GvETZ${;3HtDLquFYLn7@ z7@LaLz&9i^t;k9sYVhfIqnNf&Kw_-YE!$7@Xh4~K7AGbC*9(|_O(7<uF@2$M^#j(n|MUlU(P*+>|BjF4y&GI3V#2t6uoP zbb|LKMQnQrM0A4POf95l%PwYoUmUT8MQ^S7jROdOUqlzQC3lB)WWT=3k2@AG?*)AN zXD3R^xLC1Od(~8agO1Mx_l`O4T+{&f6|H=SYjC(N4poz)wV&8b9 zfzNZaKtxOQZjK|<*ICf}K?7BU5))Yu9?;JwiKc^(ZwfXDXasqQTInp^9OCnLUm-qv z%&M&Rgb^!K30BT{?u*9M$in5yID#;0GUnvcZ>}0Z$az>nOQle^4Xxla8S@D99fp32 z(ssfw*W2oY%JMv~_&iQNC;&O+++xB`DmAy<1K_(svr><($2@;B#&j*c-=7PPkB<>Q zZ{lXUP0r+7QFeIMwvh+Bj%p1uXGeE`tO?anp*T!x{ST}({V99>e5ed)&_YI$$e*qX z-qB<4Et&h8{_$&Gp<*FM&8s;MS?O&)u2bpZEQR_haZTVz6j$+YUfY+u12?Y_$E-k8 zzfi@6`;!`~SxA|hiI~mFrvRvsiEn0s?z3(77kb>Z4@UTXo@UauLw7ot@OX*Lz4HE- zRNK8+z$Z%?+B#2$p@>Nsv2jP;_1hcD*V^In4TgMF)`Gm+5wLDHO$k`5 z>saq?PHCvntZbLgR~X}&i~(RpvxpVfh_Dz56QE>~x(pH%bMl}3x4`z2kl@I-^3{XB zp#NUy9GVRPH(0;Yi~f*Mv^7;HsfM?;yLjEm!vpoBUI(v3i0usFp19!(En^tya%dtl z-IahPCT2wrvx?zcUdYpB(zEctzVLMNn=o|xt@nP}Y(0>KrRJ1g1p4_laF-!{G6gz`mj}kLSr+V{FGz?EuI(Pd@U#aqGm3lEvgz^7~%DMP=V*jRYoLmA;NTurlw>R>q3%`MqmvL0V-WLPWSV4s0 zI5=Hzrdkih(O8bWwy#x*=69L;m(LkjKl7OF6^8Tc!rd|7smLXU;vHt$b*DgjBqHH; zX>_mE@Nqgkc#`hVIRg?-4|i;6ZQl?Qi1L;8BZ0baGXNb$>k*>nbIYKF)D0v}nSe?K zv>bjvtgVP^ER123c$6q-&Vxsh7I1-NYfg0>G(o%2Zjha=m_E? z+6F}v+9dXwR|Fw*6n?R>27O878q2P{Qciu}+l+&1ezPOOUT_+>#QEauu~vwzmG$J7 z2TFSmd2@C6E0x9T>Pn7H zM~Mv#KQR-s8l6s_%8F0K9V?>G-gN5Wfvbls)R+653n?c|_+q{mNhnFZ{^5s)$0S^A zYF3$YCK^MUR2C;siMKvDbgg!@egUuD>f+RSjy#mFIY{27nJKsEVf`&5rzXMs^Hn#J zg|@PG7WU6GXteYDdBa>$&BBA_-PxMy(=v%SR#PYyru;EBE%fCT{`6Ogw7e?DNwed| zG`+CDKDaFdY%c(QOEQPvKP%%eS*q0iwU$Gxu8y1R}4;R7M77b39lostuVRr zI=L+$^pO6GXI)%ALA(B8`yu;|j~fl1SHZRhY%4?oq<+0Dcl{Wtt%9VMPbh2Yz3eD% z1J)NYCGVBr#MpBq|L?xvo~{}pfB*-DEWBJr+#B~Bg}vr8%#vfzGuhbCi^7OQh66U6 zQoidKniiMUWs8+EKV^yOccYNY)KxXxYP>D7Mi|FWYMFp#D~9mhiQOd z)*Z|SAOe@aiX=jp)7Vh2r2le$B8;UivTN<59W`S8X0wItviFL1Bnsq;LJ zc#+4qQy~CPyX31)8zTr4ydy}$XKJHTHhs<0yedX`EsVGOfI=lKZrS%)DA7jIyHJlI zXIvHFEDwb8h^Jr$QQ5HXWjILuBT0GLu+H2eUyH>r*u@+iHe;)kI+kP<9tATkKNVaU z{F2j)FJGB*T7($yRRwYXGx0?I&g}@)Y)a_Vf~1PP@v^iW&y1yn(`{PJ1TX~)Bv)p_ z0!ri*+C>nGsVP8@$gNlCWoaedYz5LRi*%qVaLADdUY}@oX0SGgAX_Pu`#Rj&8pi#l z=f(|RCKedMXiGHXj!9a3Ks?=k=~)Osiv$X$8pW(7`-ep+irb*fa&h6EFT`{Ora8Kg{b~> z;cNV*E)%EcmL(C$c47>Yw_OpmRQvfZmlnBD6=LbFTRq50?MqrAIH~)HnBQ#--~KPo z)wVUM5{LLNcf%VW@4gkrta<+8zMl#mWhDl{XCFGU?nJQ(sGEe z>I#kPXk1S(@vMELwynTt!IsUqoRR^k0|1;1Z=g+uhU>GUuMrs4gMW5%( zJsrt&yTy_PQy0wG)V=A5q%T(ZVUn5%R4zI}o(bben%ej$n9(_v5xe&equ>UPr1yHi zCC1oVDoed;{!Y%^(oH2M=^t^$`+J@6&rIoA1zKZfYX?P73?lS&h}Qc75Mz!xk_iSJ`GO|EPl<$@Q*e0 zi#l0z(;ZnyexzQ~<@lX@!I7P`LYyi4T6e5$Mocp3sk~x%h@QimBv)A72Lq61w?6-K zS{lcs%Q1#ktE5{b+~ew}skLKcU=E+4YTaB}#Yjc;D&`hd zy+v&eOxw;dv2z5{*`O~2=Dug-<#QkpLMCj1nv{;?wC?%eqL)Zr{M%0&x*KxiJfP|} z%P0NEfYY+4o3LkuITc2ZKu5x*VNg#ywrQPi?p+u=Ke-#(fuhhx@AtuW<9Kp7w5O5gXw#Skz+9=6Hlbf0piR0phim#reTZiE38OtaNGQrku& zgrr`Ub{-#?vsYz-clIJuO=0`)840+QX|e8Xr2p=qA47epe(|Ad6d~@g0}{B1hgduW zUKi6v47gQSshe_H6o@TVj;@6b-ruN&rvY~D-` zYOV?9FcY}bZ>U=I?bNrm{q_mbIb|FCB8nL1=yx|jFl@M*F? zE6<);%?CvEd?cv4*5?u~9+Uj><&D;jsPsBxKZRK@Ja(edtdE_%=MX;;cNTD0IVMgT z;W*PG|MUA)7sTr_!3*p=EuAh9NyxT5-|40~c1{aDMf{JGMMVq z_IJ_V$Px-jQ(x6`8D&0@EsRQm7Z7s`@*EV`({Uu-P(*^h1<$B-vC9_lq2U#!f|FF0 zA}6ng)^*U#IJ*wfGIb+)?bI?Q^}$5Iijqyo*@El<&IQt-zg}-9cy=Eg3aO7v`h{>3 zq#HBl;PXLU)+8KH3wGme9~hBFFPWwD2?(a&SGoF1vZC7!-hA|~JEjaH7RE|+ABD5OP2{|sOi$`0qw zg<;(8H+R1<6}p6f7_rsY^!_{QDdJq3x~0xE-OWY-P0R0afyWL);3Ro4O5hc`HVZVg zBP0?bO`sV)DfTiGv8-1k)O@SgN}}o=D6!H!@t8^+pW`y4x|iGsOS@{^2*q)}RB}#F zvM@cEW1QZ+ITU;bI#k%m3vtgy0#We+(=d^HJu8W5hr*_@D-adg3mOueDo3Tz7r+88 zs?T-UWSstQUlcPyi|P~dM<#ZB#|%Fn9z*yBQGQ*}l0ys$#h1_{jdorKm$Kc zTCiv&^9kn6oif+DL->0S7-YX)RB|4?6n?H%#9{_^c${z1E_Sn?EK_q?^~RU4^L@$E zA%>m2h|v#!13Ys_zb|SiRm!2whmD*_S>6;ra#m^IAOMb&ZW_MPM;=pEk=d5Ox-X{c z5%o}+NY&W<)f+sxz}nxW(>q1h6X&4l3R+8ACI#cmJNBH>-I)K?YCV5ue>~S}pAUv7 zIX67L&(Hs3BU^fwj=d{$o;8wxrt3OOOJl6uNWnymci&V*6r6u*@K|=frj~Y+`xPQmw+<-GzOq(P7aEb74XilCE_nG0K3sB#i}SU%DW0boC2Se~ zCAQ06xO=i85knx5%R(MD_{sj8lKb=__RnxCDHH8WxdL-YrF{Gq$331d7^u+h3ud^`Q*6PX|HOCd6Achq|@j1$!a-j&D`SAC~wF4!|eO!^9THV=zgFvFEuSUKCay>K<72z|kk?>=x#~*s-n#iP4M#&l+f;vz2 zXYAiA_|hgCFjr4N>=wdk;lRSp0VNU`m702gP2xilcU6dw;@2^AIR1Ir$vZKQjo!C! zz7dxP8PPIr`l@bOY}{K@WV$1VJZu|VH6Ytx@IAOE)nq^Xct>bZ?o zB>nHSN%!V{QU_W|DNf)u$$*gAi4O^**cU9#ZE22e#{0PyL)MVv&ZZGi8@I*pipTY^ zcs)LR0`wCX9{wKjgtb#xX?z}0QTib>kz0$LKT`>p7`FRAh5z>2oiSBFa*xy??Q-8r zQYzw@(>8{|NPH1@TRSLOc;R~l{nr>SUECH$<;P;KE1FUXu1OhUAXW8pGNm97eC3lc z=v4QP>)|H=2!2ABR6?KBl<}b-Id>*J)YbSz2PLh=ZKr!mPxPcEgo0J2ZQtQToegb# zusLAr5!XJEZJBWgc3stn^!uw>(#jHGTlscdL8w_dIJPB%?O-xLK%(r)f{#AevaMweNjk${Va#2|3j)nu1+8h^dN^ zPUKcVeB<^<(Y4KW4@ zBPRvd(#w^VXYeLW*yVNH61TMUPw9q_I$H>)fpRLr<;a)9c0c|ok$Ko_OgSh#}f^x1&p+Zodhfad`uY6{q4N7a15|NtcN<@)GX^rgv#1>0cw#8`u0D zx^)$toj(GBPGKUXE}u@ygRz>~5-O4YM@Q!TZ;hj9JCmS)E-1ILg{|^DE&RSA&m$~( z@eP{>dHJ>2m%ncW-Nljm3KgTgkU-^1l1LWF8?@xBx{%8>u|1@*rD2mZPX+%wpu-%#M#x^U4!C%VV2;z4W+cZcsiPv+Kl%ibP zz;_P(;1(8!=#H_EBju8jDq`d!Vn^v9OSj7*H8T@*r* z@Pnaq6FgPw*Srdm&C@53%u&@RJ(FxxKy;N9DU|c}^o++_uQTg1;bt&UmBIE*<5+x6ZAs)1#2KGA@a zQYg)d^Z1E_=7IoMX61sIWYCcW~&IB!J&PTf=>>8wHyj2ACCxa<-QeX&ZV#caU z8Vn~d$3cnX3S+Gq(Q5LcqXjcArjb^}5vkIvS?G{Jm!V3GZ{rw8>emhqAMsEppz@^a ze^a}Dz8R-k`^E6KX0mesPYZ&qR8%iX0tsx{Pqu8@h%Iqoq}RrECgYu;@GKZxoM(bK z1!iClFy7sHxv=k(>McR6e5%w6O{5Q`nD_nacz?K=o@W7sIlIQNca^_0K-sVd$Cn^A zE@`odEx@`tI8H8{@W`w9TQAR(vj1h>l`!zZ6)_7EK>hE4^&x%`hbYVb`P^EWgtu)> z$Aw5e?6>J{9(x;`o_G$Q=sFEkFO8LX4mi@ha9LN@L0{oY*=O+a6R>`X+Z<7? zv2m#S$0b5>@L$y1%O*h2T0CdBt>qf!p1x-+-f$I)g!CMDR`WoOMCzYZ_(-_?y-}m*J2L8{N}>#IA><(x zYVD}3kRFsb=4mi&9MZ2q#>(U|&K~ZS0)xlX|0`$2;m3MQ^kqcj_xzQPk@BT-5hLf^ z2@{zpne(+_0pC{L`g7YF00L9SJ3atIrLHkcWZ8^Rl=t)dYdVN>QYPXp6r&pC8X zPfwvXK)ksmu4h3bmIWQuLKod{;@JCXVlI)J0I9$KBfjnL78R2LMOOqCF8}%?5`g4X z5+6YvV4MMp^so;1jC^h$=)JyPKak~nTxfv^B$TZ&NRG7?tkBoI$n}+@8ver~pEkTV z0t%^*I7Tr}7$HD7SN!)>x|DtWuWKHUsVXHY<#^L`)~T!3PV}s%-^Pgcos?lsav!@w zB6bTa;uotK7(*d7gkobB24Il}C^)jS@xsLH?OIggJXx+o(_cybCiv5fO4Z7~7X|(3 z80@*Ch<9%c_$uarjAhl`K+ye2@avM@{~_Ke`&-kU^qB!L2WZ(FpqHO*IpIssy{%!& zWsK8HK|Vg-Dck@Kka8stVRY6l=LOk@F5SFK$e!mu(m9hIwDd+s=v2V(Gf7}ai+{@{ z>{Q1*F88~Xdv2X!0jB&({_0@KR5H?trA4+#!-MOgjc2z<@mrn93<0#fm-*9)j94+;-_d?Dq5~C zBpNCcr9h?~lH@gnjH(TaK*>leKpVjos+t~CS8CPFiLPE2iWe^ODtHtDY0&HF6tPvV ze)a8%akHH8?$){oqdG?zJ~p=>qtQlNP5LY}Hr;_;0c!+_+~DuT-_pIWBbn46+{qrAx}w-WXLkqe~;Pl3t`k+p5K;9Q_7t#!K+{Ak7a<$fXvRzCuU-pNG#)t*BfK$kcz~aH=zwPVYpHr-^ zVjeqjlYYH3i6J?Bv-&?7l7i{KMRa$}uT-(!kLc!SV7&+I>b-i{YH05Yf{^TktdbrQ zvFHnHH}F_8sO8eYWB|GH4~NTtsMiIoq0i}0RADx-#7(~T*2Fl{Xb4h?>$KGzlXMMi zi_|tv_WUT07CrsJj~Qg_RTHlx$ka6!(n3ppm;jp0WdnxxfsKM}4Yuw#-++|*J@@DM zHLugc)EZ}%I)_aQC?W`$3hsj&BaT)v_7c~j%e#Rp}xzOvhVA49WM=%ELV4%Ix;)8?8Ycd`&A!I|7%R?kCnc!6%xtV!8PB!Jrm0j1hniENy1M(LYx#g-9mpuq^z0u#S2H7m5`$2$Z(-(g@iv8n)@JOU{xnW zB%%czCFt%G&Q_-+)f7as6O15&S(Fa%yT@YcI+PR+9PHo&^s%~{PftP~&5rdU^;^dC zQor@U_<56|UpQiORimyW6NDVbdo{*?*BE&Zb&6^!**jxuatb4NPJuW05yBzO@9j7k zh}7^gX-iMCXIC~wHeLvC34@kv-%o_7v#*)k&@RkUxU6flT9`TU0PgH=7DW`FPG)hP zFp4tftQOp{TCTs1ng~9W=@}-0ep}CL0|TV1OBNmv>&N%wJQE9>LE`&HoA^Az{N>`zNWps*8-8+ah&rxV^=&HHXP3Ed0d>`=lBC>^^D zX>JG+dZfoyleHBmka92UPF$EGb(JQ*^y&-L;(FMZ4cFYwA}u}1QCM4^5O2wd(WO4te+ zT7(}sqLT}^j0wZrws6*j=xz35$qoi-=JbE0%<3@^4;IO)r%6fq;y?_^9~6d9WS0H4 zZ7{~KS6UiV8><1U9yPneDK3km-48!jN9KS8b8C`*0>8r6SlTfk-pwrz_>SH+ABY)p zo2C9UpMtS5An42GXLH}Xi)!2P!Q>;4GH}M}MRl$7#K`5SF5W-8vsVFT z%|fbo(&jhy)8E0I{)Y0Gt}e=AYWRh`4h@P&gN2Ro=6QeLN4$I@qvpS_Sz-@v%PRUu z$%ggHHXl=L3->ybM42|q7;wHW+FvrLZwT;{Vg^xsQwTAz+mtEN^~ti5_nqf{o8Xy8Lcp&m+(Qq<)s26Scy2<998>3hU17n1QbweudrXu|3^edw#Rts zL9efQNRHOIg9$-QRUb*X3B~r4UIbesi-X2m4bejS+>)Kor}?vC%EKp;!P%JiRe*Qj#f(=W(c{c1DPZ&I%RPpbvr8kX+rgX^xVZIfP1K&??K`S+w(LcQEp+O1I z>5k%&4-j}h7H;ML@<*Fe;dvz~F6@VOm$1Z*{Qg?e;(OiWNaA|!YcjX~ z^-DWt_5l2gFfzIPZRb(can?(gHyu{mHvQ&&By%C!`dt3GpKk)?rN$A+G0)Nm9t8q0 z33`&lYm?D(=rvMbUHs*Xt}<#$4ALy?7i)gbu-XTR*n&^-FV4mC@FoQDI}FQA*jX^< z&65=NOp6HhJ}4L|%fhPwAF*FXO@9`>7pv5V?!Hi38yl?vGhj8c|AU7 z_lj8Ql}yT~O3s81+a@w5fBKhb`Mho(HYo!Ms1K~xJ25jEKgsXSfOPYgi`{QN@8j41 z$gaB&|Lqg0nSAcLEv+4k$H6eCMzKf~1Ee(@>U&-|{+sA1>T`QLgSi4ej)(=9L(<;* z?wzF56%JGozkvRbT)Pp2tdg9wB?i&u{z4$&!nujr^LRM zXoIOx%i@Z*uCwki!MMh25W=-9%uWl%nzF#H=)&Ji3L%CX`>*&b{`5%N!Wvj&D6pvgt-cxw636)yF%D3S-E|;*rO9 z_1J)y&8lMjB~KQz4w@U3-i$@>Yi`#>PPx}JDjDbWVQ7BqKBZo*uvUc>k+g3E|?X3JOXGVHq* zGA@i&phu^0YePx%Cb7AcW>%Rt$-x$A>PvAK6sbh87XzH6bAwHKkU*Xe>fN_{mZW$7 zfzfrDVh2ePrN%U9zqHUR5hriU&Ak!6Q_M_1HRg9A;hvt8EUE0wDnG4FC(`X@?tEnzH;806_Ty`tDCZ_?s)lk}m%iS!LI%1Y~6!&ELg#AzlI2Q?q>} z>~&ASfwTPp?0i?15PK{Z=~0gAwE}(CAClM*SoU`;f{3zgJDW|;Z5=eYpF7@I4w3`5 zn}BZQzWuIQOSPB?tJ9=c#3X~u<3>J`FZ$BFvQpjVSB6|J$9&UsK4~^tWT$l#L-~c| zq*3g~Uv`Y&H>hg!vfTmeKX&r&qUkRV(AJ)$cM0^N+F^9vNbbp2f_>v9cJd@G7u?!f zQp{+3M?B~QDzPb9!u(aKAXgnP2rdMH4$7hTA_YI7KwrOTqS{qnLwQONaIXqliRRI(({_IS{Bbsu#vvW8}v+WmW# zU1~UtCy;ms2|>KNVvkMrGktvKScq82SM{azVOVUT!E#Yv`r^OlF-F);=9M@HieX5$ z%DllX5~Jwd7Tq{>+TX_xq zg2~SsRtDubZ-G9{Q@3)|KN%xoR?K`p(#K_n@V=!In0X$dZ<%suN|K2<+xQ8JjkVpS zn?Gge?>+z?5&sVHy2l+pi3bU=(IrXytLbn5>6hwkm$ULjE>?P>i|X?DA&6PM)$%Tp z%YKSMa8*@+V&fV=Z@pW6clv96Q8m0ZW3EUZz^`~o)`A>2AIuGej+r_n3Fz-JzH5qE zE17t&bG@mrQ`iI6T&FSEV)D^L&oT4*vGFBR147jf(N-efsE&U@Vv3t(Hnr?Th?62> z9k0ztWXGx;dd!r;Fs!hF@>i7gH_Wu85CN{9dSz3eOZ(43h`{Tt9I#+i%Jb8Xy)F*v zezM@U<%aIfYs&#MrR~(@PY-sNR!xXk@mmPd*4*-~PH!*t=>&Q|{lW!^Z@ClFs}-@V z<{m<6hQTSr3KpC&1c<1!{!PAjhksFaWPU0Jwpj2~_DTp;ulN4nlHWNiUn1Sgx$mD3 zcsWY-G;cm>)y<6gHNfwK;ul2DJ8C+#O66niSQl|?Rvuu{;?jM5)rvGZXMTw)sp(vt z!F0^O$Lk;Mk$45T22Fe~OXcja`U(ThJd9LSiX=nediHRqHSh-fo(qTdz;vy*ZX||zRn+;K1~FpKmz~u*0~No7A48dGJvL;ZS`vW z#e{9ZRV#0QxK1uQx4dNn)A%91>AwGwi}BB~Q)0FJepnq=(1X)hWrQ?>bFq1RrvFhf z&Cu<#V_4l;C_0u`RFd2A9cc~v^1kd5*=qyRv6ChnQ4&t!v^hUC%i;|9qc3OIj~@O8 zTdoK6c_Bk$YHiS$^k8)RN^1D~h+$M`w2k*KWo=|4*fgjA9H5As!%@C(zGe?JS55J9 zeZKCThI3#A`T2o5JnlC~BrRGD+5VGIoiay_2t3&3vN(q&h4Yh@o#2D9Q{}GoRhf+g zS_V=EgaU)BOPDMx|1DnF=kQzwX>%D}`PWf@LSP%xD+$Hw$Rz|h2soBEjTRwa9U>|1 zQu7P^^nQmfy$bY3w-=2LH>?%tJ3VMiMvAtKIYIW#Pn%_!V#hc!_q_4CD+|GzB!wf6bmq9;f!*CfqX>meW$=3$K>nik1f!K>lR4+hSqy2-1C=EEi znGqoqH!etx@o49()Fp)8WAzd?fk?c$*2;-BEo!f1DM-dnzO9g1g{j?l%}l?KlCb_4 zC?F7k7~m$*zqEmqXXvkQ);LRwnKm^@ysUUKPY`hUE*NxsHr zto;7Xh=TTcOTp6Hj<*h5UDgr2!^Qy-e-2jOe{Zu+#LERD)r#$o=4f zVbf<@jN?Jn1ykCq9}Yh>ZDtYPXS7V`a9A1?d%E6rdkFBV8n)?qBxI*ChO))r<;!<6 zw6EKy_rCMe9xQTsW$M7Fzr;Z){(D z;wd2Kdu_XSLSfcst?amnkHQ-{A|;kzWF47Q)wiMX;QQ3yMS+9Kt!qoK`S;Rp_~b#F zv+L-rM_`uTJ)irie%5>>-ts0?2NTE2e0BhtEMAjS^S$c8tx3}-9)dt>#BU|1F+X2j z+{wTv7iXRNm}AC)GxpAGgu><{q3k)Y-x=8ba*c%Em4bmW#>_&0A!a!Jz6 zLCzG|Uz(`Z<*S)1XUfguiVU*9&n|P~LEgHr`z=1w z?&(nHLPj?n`8Cbm|2?bq6EHDTy)=myql}(}KW0$l^lWrZXFL8W;6wI@c?b$QjBT@nfn(MleJlC_I~s8GlwYvs zCia{ur5AkInr;)IU9)_%w!*!!;C^$fy4xC@{py`L-*>D~@FeJ!&v}U6d`}J~#WbsZ*PkpJs+c4T_p-kq8$&KE`dz7J-+Hw1^fs zbJsch_w)B23{|S1rmlC~y`>D(m931Sjg9jXEHLFenz>X+YliQi6=~M(U5NQ^<|IAeTyJd0Nu=9YU z>1WCn5H`cwKw_Meuyd!~2cj97?nB_PAbAm}} zDq}hDoJQFlj!21Z()|+!Mr>JGu^%E5QB`vqq`fedp~h_fXea0}(2YP>LH4n&Q- zCRdso0j_>le)<3mKe=>nS#L%7SY)rmJb_j7-Kvxs?%XXAY)ogDNncG{oC zheE2Y3hR#wCzQzd=TeNh_oUgGiV2RO}ILfqG~FG0mr~LAq@w6^3Oi7 zx0>f7J@t>0@T`c)tbD0F>JYu`#Q4^aGGeW4JU>u}x%U*uk+$oRY$pC#hi>0j?(vwS z7F@9e@H#K_FzxYMw`}xzicEk^ z>RzsQ19yL6<;_L6r%;kZEhk=K(r~l@Y#l<&8($HsXpuq5i1mAWJ>u7Pf?YfiQQ-_Q z<#U4Z_m*m9=;NQH(bz=Uvcq)kos<&sN|}cC(aMr2;JyBYxu|3L84H&Ou)ey!9IRk^ z5xd64Po@yZJs_~R%0WN@Hcl!cIUXI^*F12wf66zwHa${O_a3jo_!yxpjE)%p5w30~ zibNx3teNfT{xu0{R0oJ~AGVd42dj`krSf*~L^Nh!->sy;9Aq=_;N)gl&Ftv7@c!Z4 zMFN``dE#KOEU=~BQn%`KUwA$!DX;e4X{QiYc$UiNQ>Tu9xhLy1fT= z%^Z(f1F#j|8~7FGz4!uHtcAn7^4q4JtEB~VsZY1)G@=6*U(2gWyfBx-&lnd6&w(xt zew8MhpD)^IKF+Yx#61h66hrCuakvzrSs!9VYaHf!yNCh$0wZ2zlHc*$x0U%R;=%n_ zC0g;)^5*GD6TLCCtW*mvj7bx8@ z@?E?6ArXcf=MGlgeig6u4$OH@E%ohwvUx`&Bm$YH&Y$Atz(QiWDk9FD<#QBexBZ&V& zUxrunqs8M%W!}GG2lu%f+e8CZh0;JMs8-IQ;;2$+wWP|^e#d-5vt|4wsK6-CZ22Yz zRH|kn=0ghs5#GKs#2algEomUqfz&F$@cI+2# zV$CsK#-a3jcaV-r5w{cJFrR~ER~#Q=CerOQhr;AdvA7V_bVmW)cbMtA80Vx5jhobc z*pT>p;DG1_6zS#%kHNfmnE*a7y-hr7zkfGH%k22s*`mtPlu1d?H@fa#nH zauWyiaP5VzqcJOAU6XlnLY~ja_u`z~)rF{UGz-QlNIt!*+zBX2bec8=`8~*u@F2u~ zw2P$Pm`aC)yM*~~IX+^7@&0C_K=G2Y$@Mv`{>$i#sCE6Isr6|4f0gV|uJx=Tp*(mD zTz7}@Gez+f{qdGQ4&mANL?46%7T(spcKha z^8pM(frFUGPj2s$f1Q^}A!SKAxG^I+I|8OhxYjN&$1X-#2?zoO(OL(J3=BiutQjKr zhUsG{slKuo3JL_U-aSp1bG^FjU2BL>zx3N82KUYVBrDpSa;ooL)XQcH%S6v>O9|Bt z(njy&Z7$PG3{_K56HTQ&V&H_7*0d;UoqL(f*u|N;=`Kx2BS?(a^6RE}6Lt@B)! zqZB!Q+fCD-VB`8KSmBj>Wtj~DUEdzUms@KmXKd7YJBV57hCOL#o_q7oMBC>+mEvrj z{KPSNjmzT&OH=*aSgY9ABB{IIWHs2Szz>J>w>E?f%gucbnW5hb-xEdNzhO!=U@e4( zG4g+M0fK7twEMiW=d0j~9#E>-ch!N z{_3-j9C8ixHewz-Nv{;o3{}3g19Hq!N}-@Z3NaKnZqq6@C0cY7f6cu-nw;Y>5q}yI zNoMXiJa+b)kus2UnR-f`Z<1t(@TP2*nN41&#cc4$gM~pQRE-=Z<#(-+H4NmrwZmoZ z07S$)(^8C@v6H}=aR@^3Dq*?r6UnEO3LXG>-dklePU_*Tui+mWdKCE)X#86a$fD{^ zP0+4@#+M_KZ<*5=S%ird=gwE=irICc1uHOgm~WSSnIiUUOJMAhjF}!EP&`o(%32ol=c@rP0a&_kFL0Uz!~cgwm5q4b`y?-giq#T^P zo>1t`y;<#dC+ue)Se95&>W>EDXFr&2zXSSvijvmf!g&a0A%m+Hp>)wmasV7S z*Q3aDSA|jBek3uSqSd03Eqd3T0pRT@3bP!;KZvVdH05@UjKzDkr$3I-Yn@}nU5gC6 zRcUo)6}ZwsCb&l^fk$ixfD%1AO(VFpt{yE9o$X6cY(!v9i#y+N6x@FlS9fm?iLLXw zYuHRRE<5_3xpaP7Aj==SQrGb2|)O3 zja3>gjdKy=I*LFVyHy1K2rEgd{_W3vE*t!V_`*W^Gz(yyGfK*MX|h-^yuQO>=J>~( zQjLZ*9@|$LMdZ)@#O_VmmnIzSXcjy6ZH|c|GzM#DM+IX0pb$7)g018-_0%$@nLxbw zg0`b;^(L)SldHy!u>F-E`(9ti&fQ==nMqJld12`Ir!Selvl6bsi3q9bMyq37!hu=j zzj31XWivne;V(?5R^1&808Lr{)>B~+6T>JwRRMn-{+)GQG0{t8MIoEJfcmw`B#YrY zj<3!}p%U~`8v1Q!V*=RZI(-{D5RFVN`2h=_Z9=Jt&R0v@8v3)wT??Uj7Jex$<0M5oJ(R4twnMtg`_K5} znd<(SFKH})60x(6CTg;%J&`=mx`n$NR*&DQt$;m&6|!MnRHLJOxjJtI$^I+ROqRq! z4Y)@*brOG;B;i@K2#gR;zQdr@ove1Mq8(A&WvDXALF{Tr?!aFsu@>mGn0Q#S?fTu5 z4XhISN0&tUd%+4#_%sK8vsy$URd3bD7PSljQyB~cfmY4;4_$QyyCpj0FbSI>@Q@;d zc5+U$Z3M0F3wO>(UKy$ z7;WCj#m(jaKTIl#3w8s;Bs&o>+TNxNc#?N6vn;iql3MbGoxko8NFndLydU+us+(dN zTE?}tDVbLjl`#188ZH<9oRiEUDECMs$0x|a%)}s|N)E)&&oT#C?t?jDi`ketnhvT^ z&wOEcBo*G1$mgjLv`<$^yfst?G_s;?Kf=jC{h&%d!`(9M%OR#ZxCS=?bTj-)td(tP&;?>hiu_+`WdRqDTR#doRiS5U+$w@*jeR>%Po~Mldq3z>? z6nAeS33P(pG9s%UpBoQD?M1M4EVjk;D14x) zTT6U?#l6&w+vx$R6lycv}o@&tDpUYt;6cz3qj(t$D_7Xn#ywFJJ z!cH##q?tyUD-DstB-~ihcZD<@$t zzX!g&&N}*G>!8dAM!6Xd?M~d+ttYOPp7zQZ>#fWb zXiSg&PhDIBL%f+n7vm$?OLqhNWwf-c-W!ufNk5V_nZyrCCOLS|#7ieg3EpsErlr6# zh`(WhY&J$K4G2@S54tfwhcblgWG@d2~evDkKGg!aiw$0N&&DXa<+S z`Ek*1bg8hPmSn??&bHGV#RdUh*;XQ0#Yw}IMM-$jzcqxK4P&in=-JPjt~aWX|0}p+ zC0@zn?d|h@ziSW@EfV`2QSW22eH$cnkZ$2)iTFKao!))*#OpRteDrgry*9%JgCtW5 zeFDBMUU@p6P<%GY2=WsQ%qOnDl*g|*h`WR$0--B1WYQT@A>o28i*ONL75(w=YVbw++8g4b#%f&dG>n zGL7I%M|U=%PD*iOU<~?w?p=g|5;vleiq-W2g9Nw{QxkpcEs zw45l&@0CY?G#*h^o!wVVHCrB>uxJ5vMU5Q z0pyCJWa<(bAuZ05mH^v&?4BkW9a4*v-`jd!FJjrzXq5uCIy%R23knydntZYa;LAT8 zu4cY@3F4x<2^arj#(=zhpcd%fu>^SJ`|yT}-lZc86rIqf+`2iwhZP+}1Zv1d(vPsY zx!@siMiFfFbcwC#dHgl!CVhTURMOwcr$7;C&dSG$%|$fq=6BoWNF~_r2X}9qOAJvH zl4KwFilKa5Gtn@Cp>2))fom4JK()05;i^Q|Y7!nZrnyhH54RAz!9hG@?n{qwG4LA{*i3dcc_hRT%|U~ z*prEy$r z{6Td@@$)exi2dKIGNR+ZRWBnR<4dXF)dlqjwa_qW@neCoPXeUeoAD)IxyJ`LSkCj$ z=O*Mf(HXGeW571{YG|UzeupTlS>;C>Pv>0@5Ws-0$IDZnOwh~L!dicUHCwH$${%T9 zXsUxqfHCu!+U*OgjjQv}3TgJT$S+@&!RVF{q@177|;1eHi@$aC5mWoj5d9P7Yq)&D7^#gm( zMBasrk&>yz-FOlhUVMdI!*CYT454VEK^Je3oq`<9IlSmvNu zN)ulk{BI$4no#yPo~X#Dz;rxDc!vfab|}g2~b4 z2;T^et1u^hdYu96ZqhmFL*NNYNde_-SWew?U|z?Xzi+yMo$hC-V+IKiZmV;zEKfsr z9ezgvS5moKg~v-E#ZWmWYVh0D?984qs_O_6G4Imr0*e>NxX*a6pr+PYaUcBK`VOw798Xeg_-( zp-uFPH2VL?kmGHS{cDKDh6GO&@O9DX!pYflE{G=+q~JgOQa@i(Y}|Mbtsp5~VbEo* zosNUe<`;jR%yR+SpqALBf+jN|LxRdkUFDiTo##@B)j>k&cl$C~4$ID0#aqIOoFb%7 z0(pS4vo~`e_U12R#q1H$_hz5@FnDH1_tj?u2?$1yj6`X+^G>17^gaWQ zZ&t?SRMattqmq0Db$GM}Sg&+X!?$_k^+FSE{}sZ=yyQ<%3NwBAaH( zyCa2lK~aw1!zKr~)bvIsXE)1#sNnbUU6I{dPp*n8HR^nr>VzNXZ$i-7EBQ3N_qJk( zW0~9xeeQX`?mSe?%<%0LRH@s@G<)b?kX?d0L^31s);$46dwxo{NOG35WMLqp z&HB3sNzCzj+zTQ1;`qZLZJW49f!!9);@ot2L9d1;R%yU%Jcc~%V6K2M(j=~x7CAO& zUaT(Y_^TqWg&zRUI`y7^)#*lKo1+7&Ajq&;L2ojPSbAn36hKW?6og?cM1X?zB7d5} zgw%qs7mr791*O-M%>k8RA_m1NAdgDs;xAsoy@MSyS-6qN-%!<4Peru3@ZX5|FMlaU7-H4EQ zPDf~pvz3_@IN)%_)$I?dFxeXHV}2(!FP_6ycTMWa7YxJk`LtfeV^@y6ppUsYweS1r7QXBm&b|z2DC#dDr!74(iNcKYor)FxAH>q5707WhnHn3N=D)TI{0<3kXRSax zQI8e?1$|%A$~RH_ZE=M3(L=TZ_6cG8;_5F@^-b4}1Hd3Hgdp zj8>8kWEXXr<<7gKtLf92XM2Mbb#7jqQQ zJ{H)UmdB7$g%{F=2f#V_*+x0kqgp^TW`rwec&X!qBX(B4e7c<7yTD8ws6tSwb{1SG zhM-rGxcf5V>n<-PnS#Y3HvEEQD|eSJNfE1r#|H$mRTl_d2YbHeZQB&h9Z_{kVGv!% zm7NA#{lP6A-}_=4!cQ06`&{c;n??fuugy@W>M7w)wx*3*>?IyvRniT_Ko$C~yAg^x+_H&HI$o># zj$Pr)r)E&|x3h^!rt?rR-f3cZFwVsWQI7IY^-H{lr*=0XquIj*{6N&Rhnv^G!O$cT z@>6gM0DnF%(b`Tkyd?Q-;CFQz(Mv+PKBXb3FeMU6VA$f18#&(nD)fvD^hk>uA2W;iEW7wH~wo%8SO&%tG zI!W;T>QKxVkJbo*h>5S_{M|_NaT%784{ykIe3m$$04nrVEDJpUo|_C zv*L4yi>!wTfaG?D9(p#XW_5*E{wz7$2MrxjUr0IxC3u+=b$)l$SH2Xt%duQ2ddga+ zOJ6ObwnXW^6SCF4iz34C?iVdKP}KOFe6RJdLN4p&A^!%Tq4fLNWv^t%lwMT#d4_SN z6w?fTg?=gbv12E(bP>9v(7?Z7f47#bmwmJV)g`t`3ALtTYnm-)op z6&Bcn-3^!>Zv|4)pKmUkKit_zGv+uns=;IkB&9n9 z^_w#TZ4i1dQ!*t~T_yro%@((#5xCR+W2$0U2s4$kD#s6Sdt zg=klcZ&*_FfD^j>!S5~g+y)m{d*8>WNdWK2xKKW4vcPwL zpKjf}`5ihNrrDY%gQ8jxP2L#^Ey;dI+evdB^4F_|_YEnls;QR-8J=#z^Ofg_f90+m zJu-Zmg0H-20fgv#8s+t&m>;wA0%%K2(o*k!Oa}je>yHXJiKs6Bq4X--KVIQ0$P7>C zc+b*}qu~C&{`eDvs{sE|in^9+jAvF0F!_fJNnbLZJpA;l7&bjWz*ubcOgelqp>t&A zxQTTT!njP)WA+D?AyX>DNIi8RZV1ZE^|b=fP1G&%D_Qd!TQz>hAL+qvx@N5!o?g1qLY(>_%2-89j!4l2+1& z!l@-N?UCZW+1P8f^jUL0KTJ?2TD*@n^a~oIoY*(_1B9Lt=YK` zU=Dh8`>D51YQk9|QF~ESL1?MHB9zMql({UZbx~cfD3HDMqTCfd?z5f%@Q&3*zPrSF zhn5A{!K0Gx#)W&Uu3VgVn%N@$n^^GDrN#a2a|~EmXC?gc%IJ5O8l^v5b$vp2ZeGcZ z*mOPug@gU(;EuFT1P+&rm5l;7CfZdDaSnx(QLUk?RNJLEFIzKP9=T?@j8=GS`(;R9 zTp}P2LSvpV+J*Y7`=8tU9D0ZhBq~EoBqOg?g83}6H@H6I-)q*BC6M~xGkzNooSGjE z?^s0Wv$g&w#hfVsq?o3j#9w;=I`0O~2znc}KuZYp^KkUY(WIGnKlC?GHN~eW9dL2z zEIa1)*PTX)p>LF5Gf@?N^YJu(75R2!eSwpQMxt74rTd^ja~Kn#3;8@2a}dG*)R+p1 zZ$fe8G-FbJV_yN_6YOartLB%II&8j%A0Oz3j1_YjUa|+jpHUV77^nlyLo}RUtds4^ z_&dSYHuh|?{PUUu-im4E?m5j2lcJC%C^$ueJbwXI&PE+Nx$F=WmiEchRF<9^EL6+- z(!jKJYxoss*mdc!S7~Yenul)zp29CdFN^JOY|)XyluL=IfEH5WT()>Z;eHAVcskr&Nigy>>CLv z<5piS%^+4ns?~t%xfMvmozgtT+V;mC^3ch>=*tPcq zksQdQ{XF2qPOq@oq7yTkK}ZjI5z*(FhyeBn1t2~pc-HH|r(I~swjhkTm)A1qn7V(h z$=Mm2f=XcGyzufML?c9G@4MZU_S@xJb*Lyir1E_uZ@4-Se@$GpDvszR>Lkp$vhkT;~- ztXxC!>}269DR3LzTCkl;W}Isv$`c(()g-~3Ip;SqFAKblM|o-Arzv~iT?Q}iPQ z$;OTJ^VzXc%0nR=k}*F(J+u*`AsMXy3d+aX@Uyt(du;6bUfczH8iFjChDM+}hN^dc z+a9${$Uf-bD7nY}1I-vfG+$Bg9|i^+FgA}U_nFgGL=J>U#zIGFG|!xUJkUoY-=Qjq z`RfBBO8`dE=5mAr!si?Afu~YyfxiqRq4<1g`_r|kYWl;`0CLOumd~ z+U&%mB@EFH_&EgOls{K~pFxyYZXX1f78SCE2P>;=PCb3^!g=TQLA&b5_gPeuC*N)* zq)E$|5}Mcl<_Q13wR8nkm&7?hF%D{JF(nNFq7c8`0ZMov0lv^F1-+=L;#QCSRO-0r z?3}T+bP9t74^$6)#=${-*gyuNw zN0IfHqxMiwDjTZE+%I75Gn&(adD7%{zF(8@?`rRPQHg9mab>O-3pohLy+pX-jegXC{^|P%24H$rg^bv0gEx$F5TB%})aRpi_=LrXeBq=A5wn8 zxq0Px=M80FD__O?uerBj3pa-pW{>CEN_ZueY6a@K@sonGvi61Wx@64VB&U9lY*jA55X-pDLX6#0XaE5rVW-?3UAb4zP_>_B< zT2mV0)bn3!&ZY@k?w|FA^tcIA$kJ&44T-Qs*;kO7BM!^p0NK2~M72Ke@1FmUB^S+< zBoYG_H*#C=nZ(JmT7nlqzya8MiN>slN8NlM7aY!kEz=nxx~3{!loFk~lvstgX}4)? z7QdXSnf_j*szj4KU172j^7zBiVs?G??+EfKn(a6v?7|^P5At!IlZU^VW3glS%OP=Y z(vE1rTR;ieLli@~TE+VeSXT&re7c_89E2{id;p;PU+uj?<|Jb7d|J|uO5_1UrtqDg?K>x%tVvyX|PK3(ep z3(k1k*0u0rPz^Wc$sgSB`bFGfK@}no+<_SBQ>s-Aj&%v$R75}DO;QetV9*28l*Z%X zQZRev<4NPr@|(dW2Bp1_kEXerFvr^=64a(e=drypwC?Qds&C4u=A|~i_Jj$}=D%RzzXqQMa#`7L8ukH&cI!=o1cq?5@dMtSjgfE(>=XfRVjKV%$>A5ji* zou?k&N&A&FQ54^(e$5h_to2W%ghe^4<>peq7STRZ4GIzLE__z89nhS!e9}WtX(!b} z8fSYZ0W$sx%E7Y7dBAfOIXl(C-^K)OHF5iRQs~X(J5gO$T zhCMqB87RTYx& zwLf%!OgK(rRjqmtS)t~6bgK7@s-+QFQYW~6E2XHwAx@n-JI^<#jOG^uf>|F!?oCtb z*xHPW34e-e&j0zq!4)Q`N4HYH>3VzL8L7uOnL<4#!6|}D%c|FC5?OQblHdqXBXDiG z4dN&d5}8e9RCCKO(4%9ll;q(8LO;cS*v*#hEERGCf<*8*RTu3rxOm4-hK`D7L!Ifi z#QF`%*e`Xb5x}X1A<9MR=GclAu9xLYCq)Xe?|x|~Wt2(RZdyFvmAtMHTE8F_=*A`2CTaitfQt`A_+D&q>r_AN2_%PFPde`xi^2KeLPX#>Lsw5m^pF zF_6cRv$6*dP`ESzj-mBLg@0oIXTXWa&Tku7wDy=(Pp%W|K5oWPE6VoW(6B;B0e$dI z+n|xwrC9y0?*Yah){Rchn6)6Z14nd4@asJKwa+JSc;pK;@KiZcc)wB3E}hApVs!|z zNJEQcFj!7S^jLna0FGKq*atlkyn6s7B|*NrRg3xB?p635_E#c+0?2_GjZ8*e8Erv> z&PtY}3hBLp(3rjR`#kR5aP^?{HfE>iA5Z_eW}jg|^j)lRx5ksZa~)~MXbAMXT4GyO zlde$t9QClgUblrCUd&F3_V%=fqHUdX#j?YWwBIIH2)rXkXXfnE5na!wo1Op=YMABF ze}@q+rz5@-HocfIj(f ze@w9br;OQm9};vziRonigjLI9i#-%9bgjGOY1h7x#K0m3$N zy<9P!N*ghJ)I?#GDSuNDJnerI#=;=9tZb5>=LdEcEuZh@7pKy(;g7sl%1AC!mS2j+J-~ zVJI@Yrnc_&J6Y~QQZJq)<+4=*u(dA(tW8f9xC3qhjFh?mgUE~pfJ+SqBYqV_SSe90 zQa5!Y`l8_FDMao`LiPK+s~Q*5ZKXeI0rK2=O0K{G@O#0}dEm)B3A@XuneRM&kRqp9 zz%54ySZ?GZ{E#|Hx4oKNjcpnrJD+-?rc{;Ime0?D@d!imTskj%i=*$*gGluL6ld`AM%LInxV0v2{q(JvLCNQzj#D!nv>cKVGhtNF5XJG*+fpF92JX5)46p#;LDeHPn6wNY7_hJcum= z2oiy2*~k;9?)cJgjf*GU~=ev0MFJ zX8roGU4D9-yB)Dt4%n8(np_g%Kt!lk`CRjBu4mU|-C1c=mk5QLss-W-u3MxL#;=(< zS`-7dV;c=%Kh4h1M-B?+C;$kX(|m7J#y6 znY8<+(qkGt+Wa$jA9?sbRX2WEXKvIvRA>qi>QN5KJNo45I~5sSLcmUm$yT9 z$HYwDUR;CU5-mQLmL~vlXhv~k(3P4~H^af7W?;)Tv8;^353t%E+550$X|OuC)p&myXhk+6UFX z_09)BYV*Tgovu{vgI3S}nA<`5Y8(VQ)d0n7ld5*o;hOv5JqQjjl^K#0UnOfk3+eB{ zDhce1>-wlr#($&{x}N=u2)nV-`~9TkKoonDdjW|68QsI5CRHXpY#k5iyJ4DYf_@N{ zb>cIcV3)s@Vf?hB^8WKi-J=v{!Z6bu#H*&a)gCQaN>3#^An-;4hpSz?=mo}gY|0Px zuC7TSrDMly>KqyAexic^y<|#%&W-?z%vN2&iw5pU*XzS`&Ta#|urj$X&GE z2uzQoJ!B+*49%!(_(%3?XV@@o!jvUD0_P%o_pMF zZM`sy+nYiBRe4$*ES6yR^TX?|rp*3V{5Xs-o;?B-iEZm7s;7&ye6Ca(&YQJl{=ZoS z?uxi=IFJEDDY1&~Gu7HqQL0|2a5VD4Z(mO(c$##CQl)cT5@qwdA-}$TDEpxGe&paD zpu%ah6B(=ZGN zC*ARy7U!-Rk+z*$yRw=@+~SJ4G1xHtU@xfG^5r48Ri3rZ5d>0 zeU|%I()+~bvVEE^hdX-Hik?TIT!bn?lr?r_q6bD=V6W^{baDY?5sU`-D3sZ=ttx7$C_9aUlm9-ffA3*w7I-586kG86Jp)MVk$)QT+3~xX;=LOw#^SFm z0Yk_TA;zCDQ&Y|&tjlB3LBSp>%NdO_7C8Md_13o2Bt?i~(oGTJEc#>y5X zoZWTJU;lm8Vz0wJ=LX6wED`U_{828YvI%OF)Sdf+XR|zgJz^dU1+jM%N#zO$si*}wH-RIr2Dh_-S@p${I zKH&Zr3udY7RHic}mS%c*uOMmOz2UTyARf+MGSj;Kj`TSP_-{txGA^;r(87z3(RLv? z4Q!m1o!`Nx|E&|ZFqsY4rmCIiBzQJy?}xVaWG}G8S-A2wx;y=*_?*ig7C!ZPK{tap z-}Vt>;(SM4YYwtrq}=SY z-uLW}7QO>uH4yyjvQGGq0*Mf6b`G@CP)5<6LY&}X7XI8-)tr6EnEt@Xvu6KH#_2iy zed{mR(?ejS%-6z{D|*IW+(Cv>BuuqtS0|{c!0sRqJ)!^Xu8~9Leb&{j%K0M|(ORSM zW$;!=XwY_3uFDhp{QQ)%HYVo|h0=FO-=O3#uA9`4WAFXJ_0Nv+2<)IM;|O{!tw6ax z7``lRRH2peG{O~L;j9e?ajQkv=xUwP4n+}Tzfy+26HY$)1qmR1%ybAEmEJoDyaVJ$ z&e~9RCYvIo!39pN7lW+=MFIV2Z6>vNl@gqx;izN}fJs%=ifW<9{Ri$-aiFN_HIDwE z@PEd-`BmP5*yB!?Y<5a>G^LN(g|MWh)I;%$Ib^;&mm(obkj1qiO{0@?S5Scx^qoix zjl9X&V$(W191Aznrats!^`$U2ZTzmOz+D4(p0qa)CNv%jE;b?yeZuj5vR3iw6}Q&; z-}V~9S*2Wdj7mQx7B&*CV$)y#|8=u)f=}Pd0Y<>F5{hrN-9N6npSO5<>NF>;zSI46 zC8@#*a_ypxv5*n2ui&^rREGh$qgSX^Bh;k1F~>cv&{KW zHmy%VV_yqCzEIb|v%k_bd>^(Wl)Kw(i8|VE-p$4f5DBPYzF)32v>Ys>(OwML)mmB+ zAdKEvPhJAZ#V~;jV9PSLdq9-nFTJeTFWRdwe+g!_yM!scbkm0s_bWw!x<=VN_|Muh zG}r{DJ)c7fq#Ozkrk@G9!p0ITrm3nu-hZ|G1Pa0c>WPF%hI0%l!Fd;&Z$}&Z4K*bh zS2h6H+GOL7wTY#2>BiEH4#A!tKQNMk$OFQgkCxw)-noxMnaC?J7DOX3dnTJ5CTTD& z1%Elc%ikY_GYlB&bOTnN_~|+cHOEx0wb3+xAe;miUMI9X(x8p zoYsBeHbQU`oz{0Lp;lp&gU2768H;Fp2r?aKoGrMqBe5pVxBNQ&#gjF|1b`$4yvde( z)6rl>ZZ}uLx0Ia|jr4dSdmKo@E3o9CP*L(ftR&&xPCFpBDKqY)Z}g|kwYM~*c+F$$ zW|1SJwZFGs#;7f~kI${6k#y)9{zPP!hLgf%nQ_0GniaIsB?>t#+K~}4S=xrOsX58e z1E4r-68k&=f}cqie}0wCI7>MbAtt+xmE?ET>N&6gG&9O~V9=D!&07`kjk2nb1~Ldz z0Vz8NuNOaVi`YommUaY}#c_AgN?9gbjaD=y1vJk_vO#>xMTWwst-T9_y}4pq=hwk< zl)LdDy!e~|v#DFrLfNz4hlxSEO4&qvzpJ(%V@xC=ci{7fq-F>Q;1_&Dm>@MfGn;>i zuhOq&`Q)5ZkGc_%3BH?7$jDww38Ijg(Tm_)7S$HHY_P4hV;55J(C}kF)irS_ zp*Jt?)uxB%*-QQg5=MooEYn^dT1_fJv8bNh0KV{vDaG2b7L7k=d$k9|Uv}tS4pFw}5*tc|ZTVx1!9VJ?k3J99!=9FD1?spR@v( zKaNtugA1HA&$zL>RL)J!#*J4wP_sUH&)F=1t@fWR)_kKC(@qOYvsG zadmR-G5l2poPumPv{p2C(o~OX#|-!d#C>Kvd*PW=w~sV?(z?SBZoam+zmh?nwFU;| z4=6vr)qFFKE4;+jc7#H8yIvE##Y#_q;cOt1B3#dCWq6c*%BJ=LM-8_T| zWiC4eC3c7!euy%~^zZu}G}V(jeyI?qP16|XYeNVdcL;i+*BnsCN86bn9yXK->D}(0 z1xWym+gVwW(uN?k83jl<@mm<6L_7RN_iR!gH~seBkT)ApP{!rTwmt6v9I1zA{jHuL zeu$1;S#j@|_t;1@b-`{dCZN}71I88Wq3(cU0nY=`nz*C9+13E~!*j`a=ULbaGs&KP zr>HHP%Peb?Xu`3ktcbYXKLMp8&t6RULvz033(QE2p2gAqh7rf7n7xVkjp7UIp9!vH zkke9tMumL?NGn$WhN7t2QU(w_Yv*Pgn!vAMWeLI2-tsCVdX|Lcn zx#G>1eZt(m>qGjVbs**cqayl>v6H&5-u#l%N(Ora50ez#Za^@pvdU^vD*`8ZF1}m~ zz#)oxFvHxv5#;Jyiz+c=19OjWC$qEumEMFv`Zh1Aq_3TSY zeL_&ArjFCTn}*1mUv0%7{-OS_l>DJ59$({?h+mXn2o8CzqJd`3Gd;$Tn8XkUVlOt- zn2)lO0(b6{=Pm-lHb9P0E@uKEJ*obcGchMk@w_w2y4?%dh^`_#RV+eh8rVO14^Q2u zoVkNLpPz=8ip-fO+Fm_{|9D}w7zbpT`0)4*1@HK?Z|TQ4p&C?)z<0@vv_xFyF&SrC z+F<$En-M^G_Tw(}-rF0Os+TiKsYrS4{<=W@!k5(}weNftrQtKtD@!TDmJ7q~tdf^lt?I6~legCBFGx%9Q|8%s7>uKohcJ?!Mc~7gr zheYYej0*ruUg7^gEdWsQ6vDW0=8QnoY!^i_yEpicL*0CZgE*AnStVCIRa?_&rl$wv z$n*jgu_Nkh0l*4yi?5HHn#EmoP<7d1AJkTgs!x#N5iu24V zi#r+PUZG+x8BCBqi_qqY@bOTD%7*vECx7Vp$==UBf~;*D7_f#;ey`EHqjDvF2U7C3 z6KZ~b*|4lV-CcfpM5jsw1YXp86x!Ed zmP<-sOD9MDe96DhULaI4fls87!GJy`B?#Ops2WG^v>V!Aamq?XQv#Q%cX z(q#bP_YB>lhNbSyL zVM}ULn6*f?cjS0G8DZ(|=KsN_?=pCva5?sr(bC;lx@Qq^=AWq3KvGT^I~d^KFQ#Et zKO?epG-S!1jepUO=8BlAbI5#jka`{80!Y$bCWtI-YpzP>G zmYBr6px^<7i$>sxc7N@kZ=?yPLw9NEOvII%*dP;e{$x?rAwExLr@ zCJibIc=22_=JKE2oPZn9-efeG_R8@7hJFLewo)w=T zg3=b603Htj2A&G&;Zxi8tyg~HYJB1g4}a7xVw~{VbZ~*_TwasZqHvOVA6?)Tn%dzr z6d4Sv2!;N29=tcpIng|Wr)6K@%WY>zgQlip_ID%vCJA-G00R5a1?*)nftbACfjIr9 zj&-5uWKOLzb7?{gPh*J;gByevL>JD(Ak%uMV9LRRp7NQEB^iqE71hF*OG#1XOl;rB z5at=;JAmOiz_;d^$NZrI-ur`k3vB}40~4LmFX4`@4!DBOKzWbK`ZL>` z)$|m`gFS;f&Wokl_`iJtdlGHcn5#npr-hb)ynl_e!?&QA#nfnC@!@>K*2XcTSsl&I zcRDw>rgz}PV#@f-|JX6zxbm9;I$ z&jwTdpvhT1DNrQ&&YQN6NWRTOCHa<29RU;@Fu%VnfU@cgmZmsT#9sZ~3K3>>r&f-; zsQB%lroR8qy>K`_oW)K6xHiti6vikHL%}nk?LYn4`@+u0lRXbSR15`s+Qja5*mek)O!_D&G`g$rESR2MgvKufWOSLU-85A({4{r7neTRY@ zOFI{sCX|oiaugonRouC2Z}=@$i)Moj}3d#tYnD8*h_tB zl1f0`VL$g1G$--IX#~0Q-t7+uvl(Zo0Ldg(Ow~wKJ->RM&yYT8$!|h80UhkB~9&22wbVSMIibe3e2CZtiT5kcqT>HAX2@(k|bO`ndv=0fLhVW?I(MayJa z1ygGfcr7D(c%x1)y{c<4ab^~;-@>IIG1b}|n3i(G8p-aVN4E#pzHrGn*|=@uGv8qo zoiCR;!2|@6Yds>mh}o8b-@T=N#DkRi7dJpX3Qk8w>~_#olA^nRR$4590eDANhY{m`SdfYiR6NfA4Bq|kw==-;g{tG{c~ zEpgs#0(UhdDJ}`k^iJc)!3I>784oQc!oh4qfcx}^X3hIkKQ5oaGzU6{i(l9C0NnKt z2$4}27mfc1gK&vRdXDt7Kz{AY%Qyhd|0cRUXLe9;N!*W_RD|SPoaoa^U>^+%2h5NK*krp0)r{>ehRi8Y z+=$Qny-;6_!XENf%jm)Q^pP`p$TMq^#7v>Y75C&;d5)ytCI(DDgmm^efS83qi^rQf zv$uDhMxEc<)%NVt-+naN{q~-lA#ND{{OFYYvx0loDcmC?$zk$4rE8oOn}8IK}N({6es7gTyD zt2%Be#UZEXAJaDAX5wTIe;9Ls&;I@kX{<~IT3GajgtW$1j#Anj%Se1v=8@hBYc!j< zI;cUnr`ZRvfIE_Vw~D~|+{cgr{K!BNo5s;X zA(KSJZmRM*dSL&P>HP;ywBjOs)|yW|jMg-38%-u&LZ4$8(ElkL%Drc@q^(O511ERSL@e4m?Rc#IGoDv26wJwBH{*hQRcF#dN+g@P2M0yZ8?VWfh zjk>MD#Dc05zF{RIh#*-WIj^c7Kr@=p%js0)3#!X@HF<)2LZt}Mb_c4Wn4CG~|1@}= z{C+fXGOR7~TpfJXHK?ELxuqamE6L=w?K(J(-`Pena-qCBrcqCx9He~{V17(DY;4%W zVkLMC>OtFnPFtPd@r!)W$#{$@d<-HIEO|bxM&VTR{sEeg4*o=J3yUG@`UQi9Wy+x2})kKg;Wc`3DkBzKzrR^lzTura?@;RIWQ*;Zjsx|QFLC4abE=x>FvM1 zYt~ZvhhCuos|k$SHVv$-%ge@twVTchQPcUo7f~rs$eg_n;g|EmUi1^Cn@*O-cv}jk z#nVvY8jqTNT2&aKE{8pjzEj%w%ZnD~Nyx0mBw^uWS*_8|g;@byKjtQ;!g0aF%dSD| zcA{Zlth`}KH^O&ZIUDiU;0VFLyAA41u- zDTKckdI#Nlti>9D(_L7!bLBI}`{qY>USfsCJ^glC%-~t)c)t+1adPGqn)w8uu_YvO zSWS&GrUeVR-_$r9p=%!Lwo{^ZW^;2Ji}IBI@)O-|D&u&5e~r3P(GI%N>HYVmK-MOk zjem#HOkoydi0TJzhDrZAq;l`%5Mf{aI^Wwy?MaWut^!E#db=fZbYJa>7uClr2|^o| z?VjY}t)zj<9hR)JxW;-euy`#&%a7s3A<`LeSYX{!X99i7tl07=?w6oXyq5@pmp#r2ZPA3(bOrK8r1T)#^)S_ZqVO6 zMEst~KS)oH5jx^Ri00qY+Jbpf2Dgjst_`GMWCNlIOfXkWx0J&cP+zhAbm&tiJt8N0%=c?s zq4UOb@f7gqsxUVlVrVEgMihu~`~;ba+rBf=nXu_y$vMN`3T0T2ZeW3w=Vt0!=ea~8 z_SML&!IGXq1!sz&zix#HjX;UuMf$dY^r4IUPmg)lDXeN%9Jt6;)8r9`is_{`r?1zC zc8Gwl5d6Di@1E#S0O1Y1e~PgTGxJju8ajv@6)OUtJ{t^iw~BSwRvyMK@P==;iE$R7 z4S&z8kXrDUIK@6v7(c7H_4ztv&?iIru5L{g@O!Ydc~~`bJDX`%CFo$vb;b@?FX=J# z%4b#t3%@@WIWfh~si%^GNWmFT+s2{{c7>q?lMtS#0}I8 ztAImCE$y1DxYL7hprO81tz>XW)t9R&pXui~xf29N&tV5-y8eSx9YuY>clX%K^rNM9 zmU~z99N6GhzQGEYZ?=mubEZr|0Zk_2o_4}sQH^rbnc!lrZ0s-lnei4=x-JCylbEPy5Z zQETCg5vVxRU^zu9Z#a{|in{2;eE=lj!G%zP@!Y0~1G~HaYVWoUIQ%bs52#!CZ?=w8 z#eodVRlWVSgXlGR{*ml@G-h6o!k0po$+A%E!I6wli_FOUJs|ix2ixJ1|1;Qnupj+jzOza=dPjHgY+L(t{>h}n%#P~@^`A8AUe5OH1*^$qjIkzp|gIP8is4|a`pQ~(h zE$1xhDxWCHu1`}ik2yb&W4$8~!88929$x6%=?m7Y&rg#10v+Nhx6VBfvJGur+BsJsW@GR#N0Tc8;PkB1wTKtRA}oKv6L? zO0=SqcwAY2u-|wi#Hl;vlf8o`ZzLH7CPaN?nYP;f%(%$5PhZ~8#1h5B|LcotlqE>9 zH5}zP6Y|ryMBoR3BaT!qYDs@Qm4wtx(U8|SIzNV9xXi*pk$ny%0e2%D4 z{CkCIR%$cFPW8tDG;1_9-(O^+(@yU7>!_~j%Swvqg( zGJxu!UW-rG#~@Ee@tZ451F~X9h7vx_yJA z5#jCou9k+zwqKR(EP$orGL>DPy|?M+J^>w)9$7$%6osI-kN4N&`=W#H(SV6DHV1UJ zxh3A>HEsH$xNJ#YG9HVuu>eRUU%No#@q(yVuMwF%0f(K-zDLMJQEc>G&JmSw5rFy{Dq3(gLP}TbBN#_ zL@s5_@-^HDm+%2vQyJ9<0PN_!(-#$X5Hd14HJA?C1>VtLSzHLo;9v( zSr8HUvnKqH)0nC{nq!_3&_?Qw{nzUWvAhtD(hsBQxNdw1Bi8PWj8p`9==Oqy~ZHOe}K{JYAI% zC)V@1RP73hrp|jyEu-H0=@w02@&wQzOB}orU@KT*i5z4dGt#w+;ifVO9hwxu89+=S zScU1_p0d@Tt~!&&(;>9L9B~sm9(3UQgvvr4wqB8Ed03^LQH1QXKlSv+P>PM z&KQ4y*lTXE51Jz~tn$A)+vP%x0gAm8&Iiz+9v)yO?xn2qp|O~PxnuVFmFyg#mr}wr zX?xU=^2CNctAk^yB_}2M7bVc0Bly6L6HT5cIl2vmQ1^Mw(jBpMsOVPl_xNT7d7=~I!set78?VNfSmV!9#BC7(5kgyz)Ga)vlMcBkt-sbMG zkgu%mE9?u^2foP!OC`Fo5&JQ2Z zN|;)yku!uW_BYd7^eVlF;-qcmo5Rg^C}qW5>LvKInE!|(c6UHccI#(}kve7HhZRc~ zk5y;7-A%U;T)F99xQmu~3ThmWqEZIco=&in&n8*Ydi=E(YFp=~(V18e(p}5vSUK)e ziq3p;8do-8Y?$pWvd>JE-!ON4Gex-J>?y?Z%nmL+#oFPYXFn+2AG*PS(iY`1pY^wg znRm#!b!dhrRc_H0yRzJL{MBmAmL^(MC=1!ZUmxE+_zvue#Dhn z;M88R70ibm@z~@3C0VQ=hVA{-fmxTE?FF-wSY1WflfG{87o+5e3&X%OsVnAL z9^ZB2$qCAY^5aTLQ7N|Zs|>?N>nU823{oEM=f3v_>YTmQvWO)jm?xl?ZK~iW4-@=S zDy9!BkU=x$t(U+6tHLH-Y93JjbyTga9fq0AFBbH8%}lEQ5NgeSkda#ZQ+dhnyY(~+ zCgTMB4d+Uz%{TJhlfyyw;W4k4fT2RGkD8f+i<78Mr`Ksh1&~oKMPn7=J}_Z3!NG*3 zffV5<^xb8T4y8FFtFm+--rz+#tq(K8jeu}RTuT#v>cc?Nxv*!hM^yfb;j8ye_~G2v zSXR9BUhA*6CzW@g=h#QF!gbJZstBjD4nP9h@=>Jt6jEoo~cXX==d{7!}5q=@s zWAtE}FFtR6u9LF)p4t1?fzU4ei7P}PTVR${ILQA6bggXbLWXzB8C|X{m(ubj=#4x7 zt4(rTQ^H05kOggz#)vA$F!ja0%W>_0kO=^qoPEmh1`gb!>~n*$0f>CeXMU>8!3!Be zeU&%WXhG)^9|LV%u6YKDZdrAGQ#V(o_=8!}AdQ}++H<>7=}?LJtWBSLT%EKn+u@V< zdl62JY*{`jo0%R-mNubWHK|7?G4ly#YE@QMmt|;0 zXxa4!K_7@jawt^yeG#a)lzWhUe!a!y*++F_u>K1N3x|!Tm|_FqzurZk-OZr#%U55c zzp#!d-+JqH5Gh3VfBARwPM*}TzxqW8FP7iz7}O8mBr@ni#?!yYEWum(qq848AnIRT z+J66W;6Y&T2WRgJIA4aWyYR6#(0ZqA@(VX}a4z&nM(#Z)9$312k-kk;WEo51K=@Y` zY)8?t`hvm(o4#&%-E`1_G4#8GCvSz?o>&;9$}zlg#KUjW)%F7BKorPi`f17~jbY19 z9U&n5EOn(mknN8ff8lk1jv1mJ~$lg-o9tmC)E= z1LErFNa-2=T})DZLLLO~f^a=21&Vu~wVh?0YW5p$~W24{!e=lRWPjsQy0}px&M7nQ6ltGeCNDku^Th z@6GT=AT~6#Xiqc=3}|0%wTU*o4{BvU+-EX4% z&ki||{Rio9xP@wV z)QdETEezYKT-~Wmzn-OX4>zkhii?uV=U}SRE-JxVKFZ6)LQzlvWC67&_eohZ`2DaP z`7x4$`|~05onqDaiCbv_Q>M1Y=Qm=1=BGY?Z4$$m z(osU>H}o7&ZprI#lN~%knru(h*d9lS#7UDU$Ytn#>dZLMtE!w|P1(_Ig|&GrM^8PG zKfu-ld{LOsTzbNiA=X*ss{Ee5XiqQt_^#@NwqCnj6fDj+uAT6&l#;`G7rL7jiBE~~ zO&7ltwS5Ydy@)>8q6k1mKF9ZT@FKt2z2TTNz~X^~D`|Wc!L{h6w<nD$;>*)q8SP(tCtGxL5{o-B7W2bw zP-~&Oly^uGhit?!LgZI$UQ!MC_sDnEP)tyR9~ZROR%Eftf8EsEpMLJ(P}347SjXa? zwn@Mr>t6%kG>y!B2Yu}hvU89VR5Q}Cn%Wbqr}dM`+VSETonY|A3&os{8$FA2JkNg#!Di4)%&BRx*44=yM_m&(Uc9=SCy1;4et(zbgUtXKTTFY zKG!*FD;ggL0xAw9}Usu@{qRb z1X4_;d~Uy}6=(!lqyz22^wKel^VQ!RKG7;l0x;bBK`^befG*JqTB+RRL>5how$?ka zd+gAoKCWE`gbHqKcTZhscX_4j{Y$y`n`P;W!h-J1YEQ=5kTmW&0P4UImc+cXtlFw4 z+Xq-e|A$vn4C~JV`Ob_s&rGKjgGEW?j#^D7%-zx9Hb0m~=x?9@H{j=k00@Z-(G)9y zFqpWPkj_unZY@u3Azp+r$E4VWPhQFopL8KJ2wvqKKr%gmJ_(=RS)oeW!R_tv&9f<6 z*m`bN!PnjL2ek?|solyG>$4aeAkNn)$As~%SgB-DX$19nQXd9%^TWB4i*e4F=nZy@ z7X=VHY7mfo%1g%pQn95r|6Xa8@oF85q*+F*G!7$2JWLViqrOsa2e$&%{qX zJWD7Xh{=z1G^g!C<&eC>5GU<*#H<*4!VNG&0^ejuz!CtNXskRLHy_CA+Z0hS!# z_Pw%slE)_F`>Z9nBwWB?^bc+1YGB0~JUS3a{nJy26s5EQ9_3{jpMI0nTJO#SAmMB! zDsyG)g=xJGsVG%UX}|>E#131A^p`BJmjoRsuJe!TUe-wjQfMHMgz!3ex{+irpfd}xgd>xdcy%750(bwiGlURzQ zy5m3FM6*^o83oJj_Wp#x5gR?3tt1=1P=2JY@2O=I?$s$cmx@xUXwLSEeq zcR7a^X%P}p@dylkoAT=BP7h2RpIb5&?MC`rer4P*T@%V$F(@k!ja9}HNFV?f0N1>|)B+edY!}P1K;yc{e-UO!wv06Z z?2>+eaWXy|Y(0Z~~frabeG zR^9oBTj<58!z>+LK4_-`T=)yF@BDl^{f%5%c6fmd-@Z=)iq=%AJUEZ&ZJtAWpV*gb z%Cr11DHBPMjJ_%0yEyi)gi4SV=U`^*N`$>_7cgElziM{pnjhyxW9h@;y_@ZLu=lnt z6(p|v0j@_h%TJd@;L!?k1Y&i*2TH4Y&ehzxg^v%Y65$z>f(jZ!nRW=`TfCdg$I-!9 zHTdjGO1Hv;Jo$5|^)qTS72}%9FrZo|FwX@yyc-h1ONpS$#{cHzeUSbJh%87-StDyn zrsGH2IKwdoFW_m?kA#Q4sP0eFha+k|3NC}3!rKDH0sHe$f%JJvkV3@qDQEnX-Vt7= zM9Xt6qPZW#UKrGCUeuWND^P3hj=Bev@4U1q`L0A->YY(K(5ECZ%1VG~F!?-+8;eZ4 zamgYo^GRiJeyw#^imFv-fZ6i9b}i|n!%*o{`HBud^|D681Wlm6ox0p(S2TMm!C zt?hhykcuI?ST)5h+HJ!Q))`!;(lk-Kfv3)GK%ns%)h0DplVu^?ul z@j+E&_oN=tN63wcEIRmT=j6ih#EWIq*R7!jayToSkrRL8xB+z{88LwhL|U@N)G1H; zDbTD7LcB&NjG&@Jn51UPvCO0o`vmucGCFf;ED!~?Wk-*eVVK<>SLjEj& z5Z--p^pnM&Y&50R5!~>jmJh|}<66u4VM2hV9Dd-z@{zArxD|NdY)$CM{!CWy>va4( z6k|x*f(LmLHk!VNTWK>{B+rvR7nLs>f|Y45V3JLC=fpRWc#>VZ<%O`N zH<$vg&9rQ6dCWb9O`8E7>V46=%rrmzbTwkubHpY^TGN`0$u-Xru|N87)6I6h77q{MrHT`Eh~8`Ut1lrQ`PHFCWyU3SMo$jzv|24#wzp9M?V{BB&l?(NZy%esTYXT=qG2ej{R^I3vumRu6||oLOzd zg7?nJe%Hog_YVxMeBj!qa6pAV{HtnSLyeu-XWgD?G&I?O2RW@Bd~U4ENz^#1`O_yE z_QJ<<&QW2 zt&7TYthrGv0Op_}{{|C~58IL7|(VTgE_X zP{?^0M0R4URwnxM0xgxU3c&2pwmJ@>v4DKJdPo!7c~L7#XihFbP9Q_LqHDhHLyb+- z5+OS)2+XcP+c&)Tk9-2mO^_qmv<_|KO0xowcXsJnMER{daCP@3e!u%#a+3V&_t)J4gBL@gB!nDwx${qKa)8x9o!C(QZTPC%bq^iz(> zX5EdPNXs#?YyT#ha>utIkoxC0AE9Q&04UKOzJ=C(|M9DdL7mH-qT9g)Q2|{(Ky45K zG2id&7JSp>TNbFy<*?pnt(P4+852Uh;1TpN_}v>T$fva#t;u}Hd{N~yV2a`7t@Ag8 zopcRNrc=q<*0yDF-a{A88At~G^%+;Eq|M+ zY@%38d?CTGekAbN(9rN`zLpqIoccj%fBqE3YlSg1(f^UJD0j#>P$z~GR6;%Pd)fH= z*{4cu=q#lqUUY9H(*ZftKoVqKUK#74l*K?z()6sLyXHfG({0EXO?yByUK|p3q(0<m?Xw4M8~^Yn8w38xA)rYJ5M9uIpZN9>l?<%m=Z0y^?8~x|5fbPc z0APW#%Tf-?F1eh%W(2nK07<^x97p@8x**X8a8B^dU;aUMRf8V2EoZ|2Y> z*wr@d>!kqw*J~%>T$!7@k495eI6(^Zd;q?dyV~2z?&MaDrx@Q9=HoFUE%Ph-PPw@P zawG=-!6E>%&-{P5$kCU2GlOz37Wx8lw~%!os&4*Dva0BGe<>0-u0WM%_np{Pc{0d| zCf+6TiIZ@i{p~2rRMusj`du5*5LTY+2m44{Z{o4kACsHgz>H zcWd{Ubg$Djm|&>oij~Z3Snm%s?gHCl7Q&j6F;7{qgnS;egl}4_jl;r?hhA4DulTJv z{6dTt5#JciEMYn+er0!?OIp7tiyn_KM@g7U!|dQfmYpW^5q-|?BgVoXv2K-s4oGv z(E(_Hl3Cp1Xc7)@@Ukl`^MKTb3gfxKu=V5?`%E6om6N*#4ICgZ&cyfpji#o4Sh+ps z)enMYfH(kYK}$vV@^@nQ$06`D{c-Dj1IXNzjlWu$Q^~i5(gViqz_;Vv3oqauE%uc+ zrCrkF0Ief%9U+3GvpEa+It|H0>$+`1%YRn-<$hiwlV5vt%k+UtEz!s0B@GCeuocV< zy$0eOFwY*eDWCxc0A`{9Hk0J1baj*6`np`@4Ga*`cCP6 z5uG{9oR*z`{H0;$NR$#K7w_bIL7MXyqow0K!$(HqLU5Y$!pdW2p5P3;V-avjB-Ct@ zQ)yqW>Ox0q2f+LnYFllRJbW5}&||##TuZonAo|NHFA!;&_A?N2nI5VF9OTwnu*V!Y z2r>MU%Vk*>N0DG6I17 zBcYD*!qm}3+8;`-@~S^KH4!{MhTHkSWjO4B44BGVc!8k#41@C;6zIagZ+#}TOe1B< zO5+Cq8)I%6nSf#gk}4zd%&F7&J7|>N18@1G5xPM`8cIcob6p`hK6}FFR{{%f@P$z_ zt;1iIE@|Rr;DM);TMO+KBE0B5I@EzU1Nk$-ceC$U=JtlhJ#nzW(jP?KOXojvkwd2( z(4!8Bk7U?WVo{<9=xvvQ+RBtBIVDeo`8nM4470Sp}kHd zg`tDE$j0hm{SvzHhJep9qo*ixe~56m6Odr0+R?rc72CRCO%;zxFv600{hI|hgWm*5 zFQ!*?p$#4d1hHx8MH{Yza6!6Y#ZFjm;dp8>0*sU*1|k3jbj_qf)A$#-QOGfC6PG8L z|F~jY0(7|n-;L$lQ=B9fdj!gv;MCmTPNu#4Zl@m+nht6os-zgG#4{L6&_T+q-H89NnV!-mi^}~VG9*3cd1T%zOI_Jt6Ejic0e>PWmgeU3WY^~*r;4~t zBC!j5dKZ~Y5hf0Smm)mD-?1ooCZsy~+}`;n*j(>?AjH$n_=&E~${EA*0ZsFbgaNR) z-&gsbHU*^$fMvjZsi|Iy5b6pe3;s;c#M7tgU)~D-k4^Efmi%ABWB*#eswq#_4diN&0ULLsgU*+}-YOhr*;8AveQ6mTCf*sxA8x$Ca6#ruenPqO zr!km4lL9+Oiz=y`el;+|FpJVEQaP>Jz~gi21wiQb)b?n+iKk6DsS;;&3V&zV$K2CqF|sdVxR4RYa^ckXH;J zU2#(Huuzv>W=}vN9aT+k4D13KsK5*wRwMyRl{=4l{XxT(qP03Ff0rg3AOB9FJ^nq? zmFi{}`)H|W$u2gyZ62gmL%a8On+c~2KNcvg%WjKekftktAKbN*2n+Vx=vm?$Bb%Px zi;~~Cbu9a~(*G#lsxqk|(on2ce@rV-^{w*TRks^(1lk`f701|FrwZ^c@QcU3Hs+I7 zWulY%IZe+khX*_MtV|0O@HYn$hKTJ*Md2z2g!Bch?VW}G2eNf0qIuf6ids)uH& zvF!e}A$4&{=oFN8(x5t9wXR%U$o=bQww_SvbbI>t#}^O@-ZVluId#&x_tk_=peOauedk zyP#xKJWz8b{2yA7`2=vf9=O$vH<<(+H;2!->RrOSR9lDnZ#Eqp%pWE>nn(y213{p` zp`f#kLyr4fF^#X~S!>s5l}Dw*nR#=5i+jw7CQplXusX|}Ud4tsFn?r2fRff}idU-w z*Jq*jDu6v9HFfipRV(tC07LaP=RD}CrCVkuDrn$N{a>MR@nb*8jO~Ms3>|Z;)yJH+ z5&9#USuS*pSs=S{N`!ykwLX;6>3Z4hwlkxJ5UYfG&$zyHdRtEAn)sGRo7Jk5dr}`; zN(~|BsO)Z#1Xz$Lt|Cj*>#|m z=mM}o$?uToxitAV zs!w0L5>!)H#CcV1nr#XVM%?f4qUl8{;-~06CzV)t6`7~4pgg5GSR>XoQIF<=ZyvK> z{k~_~pAPWlF=)AaBS&!oJiE8`gy(x|H2>@8pqoo_YPZ#_GeS{9A$ScHC~b-+kd zfIDsmm|G-p>)wIlOE zHdTZm_%9c4H`xpzs%bL+mD05Kx!`kLp@jY;hu%S9!PHIr#Gs)lIysE+;5TFd`n7!( zov!GMp%bA}8?>mUM0vxZ6#dz)>O@~ZCY~F%6_E`o@QNE#101hL#3~#QaZTD3pkeBo z@6hC7>r5TlccR@zr)xKCJcvJN+x<4zNk_gi-jH&#L5A6lh}tKwOp|F|u;$C-=mZAz zev6*g6;}DN%)X<@dq@ZLaOg4lF-7H2_OdTdHNV<=4+`zMoPmzzv z7itax_>1<9v*&+utBQ7-4xi2EL{>{`+W9+mWlw7Kt6y@7)R=PpS@T};>2^K&$KHBJyjZMZyolwK&3h=ck*Fsjd*Oz`h0IG9TlyBL1@3tW! zvQ7WntNA~kv6*pWji4U-r0_|%tJUY_gSPSS$TrGl2QMI9nMhI-fazxb8_Lx%5C z?sL;xiTJL-_7Xd9_vD#1!;^Pp&k)34YXGp(5r*XEA^*OpWG0XT)ghco-@bb?E_aPa zLP`TBcN~5aQ0sp9Z$vw<@{SvJRsTzEiB{6wam407+GFAR4zz=Y43soL!(lxTRpM-P zN|nlh5na@A{gV$*i-a0jSS^GL`b+bONn^97<9T_gP@h}b_-As%`Gh}XmSWCkZE`L+ z9z0-FUIqDl=MWl%Vv~KEcSzMvwRtS1#rcwSZFK)D|Nf2t)u_Z%&Mhih@!2#sjl_=Y z*8k51fYFm%lp-|#NJEQuj2SotSdvX>WBz0aeN@`J6ZRA@&5iWSW?oINAlwJ%xrmiNaxRS>(0at#pF@ojiOy zsrS4~dhlzAEmaZ8MYxba>T(D&Vymw^g9L!q(dI#XrVW7*on_-W9!R}b)GdWPhn!*L zubhP3#%e9P!nh2cvGBaTR|aD*lHXa=#q|%~wsVm24!>(!Ui|O*|D3-HW~Y{zJ}<~R zcx&2)d$Zg7J9n1rZIlZEylrxk5|krQ`xTI_cQy3H=&J#%KViDqnF{u@W}S~I*&no> z$Qlhe>&`d!gKzTR)Nfq$msP*D>`+sm+(qMBE!0f)Xop0;I_Jk9c~010|5-jX?8BFz z%-yq(}O_D3|^>QGcH|Gi>7xB%~8ZRpS= z(;Eb_OxV1PC0A8j9R2(Q7T>4gc%wL|(ar5H=p4ud4K)C{1ox`3Z-E&xprLw2sS3R+PseQXYmh@Wy+~qIn`W6ThvRgwM7xfnjO_ORc3yC*|hQLg!!(Z|)mJK1}Y1ZTzu6^>QTx>Vwgf{ z?C#3^JP7(~^IC*ph1ss;^0G(m(~K9W>L@O@Y;b z;jrqTqo7rhF~zg+F>;0Si(TNB74CPBN{sZckFPje%E{J!xQ?*1+_i0@`UkIaQ+Fj+ zN(0XlC>IE}qda&{S5rTy1?)N9m^W^XeP4`>?mzk|1Rnab zlP6=y!M$!rej6e1IZeBD_oPDW^UGyCkbPq|Xr}KKZ z?HB|qesFs;O=T~Ok zMeV&;gOf)URzs|aZyH|mH2L9q_2p}z9C8y*aEvk4$E1p0ZGRLHV78L`eU1sd8Q$W# z^Wip-w;Lt$b0@JpHK8r;%<`ET5z~cTU7wT^%dIA(%y}-pcK#08F@Lzamdz?dqRdEeaCvSP3zFUY0Dq;XTHdnsRwsNRZX3iP)0VqsxO&Eq)9z}A`iAaOiK|E__N?^11tK@to|#MgIIn^ks7 z3LKQlTAD8>RetHFZpl0I_+WkYbFo#tkV}|o460He}@6*x# z%URA+a_du?%ZE1*q{lE-&|2X@POC-iAHU7-p_$!J$!Qx|ZN?o~=bM|?ooS3czAkdrb-1?b<^ykswk zYuUe`Pb1gX@uP{l6{*4es7`@OU=3;5*=hN~&##)QM*K_(_S^~>m5t=K8F6};aLKN| zwsQ=bb)TC7|H92c<)B!C#Si2wQ`E1EspZ<{&t1GUfxY9rXwusHD1^^ zzqN`#bItyL`N|B#kQd;8%saC$9Av5~-`siB43l3sF%d^i)`l0zRt9EBsQJQ^}E8 z`w#2LG(K(`B;0lMy#dY37}#J#t~tfxs*Li*n;nJQc}Jtbn14yDhjmpLn$Cu{m9Vub z-xYVrrB4xv$;1Kprf@Or5%0F`@$#&-wnl3`>Ju9t6rU)rOCGIMVKFtbB9cq1^^YIs}Hp^QohQJ@}8geI}01krQ0xV<^0NLb^~%ia74)eR7}MXW7uO zv9nX^y;E-+NmQ)f6{cXo!zssHGuJ)BCvNd9qusjD}4w3ohwYKkQOu^-B&G* z)umlU{c=XmnFc-FY(rXE+_g>@nD%>TZwB2;pH@TY5o8`iQl=P%6w}lSnI<@A7TRZP zMfC5{H3Pbd^6dPDySSbJYZxp=2Tl{YsKov?;vevLb%96uB{)Indd;vH|nDWT6Qy)Or|;-#@}xeF8cM}Vy-U=j%7B|J3H zuw(#u*AqSo&6c@LK>GOQvo|umZ{nOWD?^ZgnZq7c6 z1PBys6uW0{zVKc=l;HLhY2aCeniJgq2O7>(zGQjUdo$twgY)4B=SfRL2tnBWVp!t0 zS^^{g`P-l754LyL$$y1H586Tx{)E;YxBXiGoc#ZI`s#qFx-Z%xB!>p+ke2S2kdg*T z0qKw~=>{E;?v#>lkw$vx?yeyO1Yzigclmzry??3U+Rv7U$z$aSEh4@KD&GSQ_?sF`xbncVlZ1{xWvI$&Ya^hB6T&|6tPb z!6xw!iQMgd`SFd{nkhJhykT@rn_EZF=U}sDEKQ+j`Mc6Nx{qO=(D?prt)yM_T~hAL z!CCwTM}u*mQ9FdcR6iU-_QKth8QYcdH-4xX08Rc4o9Awyojx!TQsgE*hN5M`O@*=Zat&#gbdP`i&=L1I^=etEwE z##^6-x|yTwNm=$kt%>0AX1)wN{TpFfvY5ud;=u9|Bmn}?N|uauORRcUwJ5`F=j}{D zyZ`$9oX(tr5x$K4n{`J8;8i7)foD^~Y%ATk?PkGMG7qk-S;)>s-)aFIo;6A0nd-Lv zb_06D(EizPsr}D6v{=#^;Pb(kE_MxEFAKB4&`n>U%SUa0 zeYLPthtpOKfGDRrb&-x|Ns^qa)*;@mvRLoL0}*l0;V!tHme?GLO#*yN?*ns3;L%== zJW!|ifHs9ev_)pZpj-Q~w(L*e-_y?-xon;{?cBSSYtzb^{J#j{;VV3^z+$TEeGbBO z*)K?@9o2v`)fKdN3gX_#9y??TwZ@hlDg()vix9rG>kNNUeKd0Xi6Z^v}-ZnujbCWMv&*ZKz)YmA!q%5H0YA!<-W^9Yg! z!)4)c*0EXY{EM!tmn%(1WCwIyK!b`iVtOblBX8@1_d7m7C}+?a#qw0Y63)UOizZJ# zV!yiB$b`mc({L90s3HUnaJ_2@Kza8c5vSu+_jr@@L>dT34GeM$ILoZB#z8^4|6BdY z60n~dfF9aaPQ6C>cEkAT!nkJD@np^Sxb5`pNq2vLy7+oa;?dl1i+mmA1QvZ78NUYy zYzYP+c^<9Yw6~*(jsa@Y#S#FuI^SuSZPzkYnoT`BJ-IZ;re!2%53ho|__q|7%|?k+ zZwGhZCw=HwFG(aqic?djuucxEA$~nZJf0l}RBF-zay{jnZpp8x7`$Q+&JAT18oc-u zR;eb5bZ5RF#gR8a($U_`>C%xMQU5Un+JCdArEFr>=!L1qm!z5V4ovGJ`%5?Ua2YcI zwOvcBO@=^KR>%=@LKNM} z{J0n{dYQbO|ngIMpm`#SqBT5?8yy+n5-LEh62SRdb1 zY5q`K#z}ds(6ru8uN*S@*@-QEwb0mb2I;hd>Ngq28`SqK5k(4N6EI3S&2WU75yhgq zR3-FznXn3MOQ73r3E;50xxw~>zTrI*0I>Fvu(c55R?A8Skysel@UU9DuAth*Z709o zea$Z)ZP)bBY%7pkq4$w>R4|aU-t38ci}#T*N`*UQCx>q8U!cZiY99>8A17G3(E)_y z=H-SruY^NLWr?-#s((@VPG4UB-(4$!cO5>*Ew?XUx4=qj<9Xd9-Y(G7H?0%HRw$Ej zro-Ok5rrE!P8EzNjSYeqAoA8edqs|87iJGSuhC9nO#Ga0^9If)s_$cpzo(M>XOKaR zL>-R^@lj5i5J)Vl3>-7#cE^`P-$w1bb$L5LZg-suo=X%@%fr5R^DZ~Mz!C_^6F#BQq8)PlW(PM01io;EF#_W4Q~E1 z0NHQXDah&JxU=KIbHl(Gwf!!z%mG)Y@DWD+h+up(q^n4Gul6vb2D1*lw07AYqpX;> zy9d7aD&XII09Nz9_cnw3)zL@$#v$Xg9nQd;?z%iZUR`yF{^#Af4aWW5z*a+kuJ~79Rv&rDA%xNzqo2L+RDy?kM}W+(;+X7iDuWBGsv~@sy;}9DRqtg zmi-+opx}-Ow*>I`*OE8a*jUKk!W}dCOp1kevUMberRn}NUwLR|Nl@+s?w*MYHHL9_ z_~l@`-b0)9zak`{k^UWt7nNOuz@b(gb6t|ViiV*hIDQ?V`FqjG2@XZdu`Lno1(OO>X zf`T*8PyXFJ;~T@AL(HY|lo}7A!T;+)jbS%cr@p#(4R>vLH6r3z=*3YeaOF;^BY>(8 zbVRt#j&;Z;Z?x;Ym~}^v4;3^oPXVuAXS|yGW0(O{FO`PrYcEr@|MLyV4AO0_c&@Gh zl4;dsnF{`OrpQa*^7pV>!ifq>t13G~ZAVK>_a;^Oyso^{(_{E9{ZoAsKh6lUC29=d=^e|IaAX z&Pf(S`xi%Loj))M62jcT?L)ZlTP8s)Q z$@ev_K+p`RWk2q3hbK5x{w+om5c{PcUM9L*f`SSRA}GRlK_m*5Ny}J2e;fZQ&3ksF zK4E=oh#vC7yxBJWXLmT}yB${n0HI-f?u0%eh~0VaeD%F_>I{7%zfP4vc-)T-mVcW0fb%Fd@7mns z^!UdK5#+ei6#QQ{FfH+*dH;C)B>s5m^z^dhl(hp9blo3#FYouy&e(Tn{wen9I`;Hf z;vOn-KQ#VioVR|Hwca&dtky*Wb$YsV0${*3O2F||08ZddYT!4C+kA<)9qavOHJ!R0 zx7u!;*P25*9snT_K+_{fJc91hF$D+1$K=WEGLnKT@&YYXMn#8$+M- z@pw5z)*sG*u1T78sM~|tQ6p(7;J{{}QItGcqDYWyz0fotUpB}2RoAq}g6)_^v*dU5 zC~|VC2Jg9+4ni}K9P+D0AV=M~=vb*Du7CR1p8eNd7o5%^NyN`K_Bv)fwL(b z=64S|oD=Ok00j-Ft@-8fy>pL2y}qN+2S91*9jQ^9sbc|9ZAZxlu;=^fqvXp;=2_eN zKZJ5KerTI-@}b#D3ytq%{YRO=+JC#+S!lH~-cClG<7kC_a zufp$?-K|SnpXn!(P`-Frxs}&6is7XnR zbyaD}0nucuQ~-NeO}s2KuN(L9kHf77qvZluSFc|?xH#0!D?3HvRBfg@r8^TQ7fQg_}doggA)di zSp5SsGy0gegJz78$r=w+ju_~7K;-@77Dn$AisdF?llNgTn_owSm;;_mX~us`e}&L& zjUp^FY{ODPL~8EK`?Tv0oJU^}FY8SLb*liM16fem8rXOonqD=hxI&jEoe6VWiy0N+ z5hMN`>>t*}kEKBdpkn2##RI!O^j&&o1kjOoXKZ5_oqv0Fzhr|({bmqNKawagc3uP( zkf43q>ii0n;p-0uCTFd83pkHB8<~N~_IrMC_Zc6RPD1|MGl?fRL!&Yu=<(yx@n(O( zVgJzaSJUw7fQ$0$!JK;qP-o8lV2(-sR46cd;VbFmSe7VB^tpR7@oZ%4lUlix|AE2v z?~XfBP^WJDDbYQ^M$mpAYCA0sye&RC=y(Kn<8xT(T7P<24_r5j{I4_ILuWXVopK_{ zCq4!sW3H5XfV?W`3BAB)Z${v1#xnGKXT-Whby z+H?_V`-zr90<5s06fWj;^MzS+{FTM^jsUN~=W?vu?Bgk%sI&C=A(VKe^5P-1CBCLe ziUB@B&+4nETF*aSDcZ9SPe;7#u+ifS8BbnCL8*MXLABp;GKGYRlHuPrNo1H+*uqK* z&5|J``ET(ndN3y6%7%VJEShw$X#yV$#He=2Lo^w%#wn5j!CDIJ6l*MRLa#wKA`!`vy{ko|b{uc55_@CH+} z5s#mH!~N-|K^iEuFDSE{t8zEhS*q`p2sOuV7(+Jec|caZ^ap=O;Is3=Zxa{G;#n~b z+RQY+(KaB31fWkRpnQjzMvVnMa?HgHGydoe2>OAI-YQ&5#s!{Gt5uZl%Azev|i{*uYw zG+Vuh7y4u9FLp@e<_JuQmxx%5G40j}F_Yu>AG+tmR~v#rx-<@ z7hyHFSe$%ja(fa_!;3jwcJ@j-Mvq$^nwU=NGpgIN@9vV^A|IJ3_0Gjc?UF3do{tX>R|Ko!X$PJ&*#peJGn z7e&K|on?|3S8J#DA5i6=;~1q<%6FdEL=jDZTa+Y3$CkHloadTc2!pb z?*3g5ss+65=rIXecIu#PTn`XEYTl(f<-WT*9;ZrVh9qIjw;AC)rzXyemZ>l-CogDO zj^}QcCn9J}>`eK)?@{xV3(z6?_u;R@Hvmp~JRbNCe^*NScvw4*0y@9*UvV8~zn%ya z|8muK?B4`~kWbiZgPZVgJ5j}hlsKA^bDr*ZdGntp-`_qU3^3nXesmpVfXiLnP~UH$ z%KtO`>@E)+&@XtIX@qqqXd-?eGW)k}=I?v#rFad3r90lY>pIl^i3~ORm#iRLRWWJh z6=bcVKRasX?Wzwbs~Mx;BT>)_UrB9L;K`AX33~}LK+B86QXzPKV(u^&3HG%TuF?yN=G^>uaF2E~;&R*;xWnw~C(W;oy0tVvV`LL@ZLwel)S zS9n@Kn7J)gxCiu|mDffb}Wcc9q9%fJ#m zwBCvj5Z8K#oPzJzLKS*0l`Ca`etSLG6OhYGU(Hx$Y4Xd+k9|y7BosIC!mP`YL>8_s z6HtOa2prI`>S8C3Y1lsE;9*+i7dN)^J(9)qijkm&BZ6qFz6fcE0=UODs$%z@=|gTe z*l9UkL9Vo45yB~7d&)0s>ho<=#;-NPs*bvM2;u!$^UO+`Ry@p89MOEbbm)q7yP;&J zPr zy?pW1!CP))lS8X&d=97{rLX?=s1d)@bb1Q)1b(OD&;R!BbLDF5sYm^ zXEV1^=-basX>!Pyu@@AW%EuLef8?jd>pl3J?vXJ@#x7edxc~3uYC&Nh@iK4*Nal$h zUU;|BV$Q<)3m+!5F3;j*7Ru$9vSpRdrknu#7GXy=Ts{hKJ}c*fV)FRyd*KtqSiFT* zI=Ol;G_(zJ=u65Y4!lBl7*N0)peQv3*Mv~Pj5*j zbT*2eUDaM1Tu==|1Wm=Ai?aQ&)i%lwvqC2gj&b2q_F2;myFp7a0?p==^SMxUx6|Yr zc2p(t200L^m>PXhgN^-S4yP*>O{uRt0u5p)8T@xe*SmI7jbj>Hci6X2I0H^1o9<7C zU2b+#x1iLITsLVrf!EOIFP-eG1-3{6Bm8<@qMi@5*Zl9buMW!%us6rvI7h8#W7?Vj zLTNfzJ=d{7UURkCg(Jo}HzU?ofsc#h0Up;(;`qB1S8KkUppA;!v2NmyYgw_UoALg; z^{0RpudV3oP2!GlyQ*fCao@Ew=Yz^d@uK<1oAJOH9KQ`Dp{o_QlOn-3^!58cf_PdE ze*WKY0h|LET9@kWYFy~rNXr)O%?{=&K{1C{x+wxsI~$uU^`QYs=pzq&m5F42IrN-D?7i4pNnwv5N`ZIe{oAApGv_ulx^i7_dd3#=8g z^8gfJ^KST-Sd_YjBpcQUM%t=kK9UjBsA^DA3Ee&s!3({A<#6ftamQ8$)cYgp?;kGX zC=m)CF&%k`V0vD_2*yEwD#X;(+4jeu3A?V}N*fwz01@nKwZ@n7O ze`|p%3c3v%{@Yx#4%s#)EP}be-16kf)|hMs?58{L6IiNhMrIbz=)AMoL1~4C(Ol{+ zm##-E)wwSP*?wmnp@;!S%tf#6*rp?rFaIm6liV{Uj?k z$U#K*M%<>#krZNI5rss<7XRa)Tm%1?er{)z>hp{d6O#izA|s`PPoJ!`KYK~=o+j<| zyO?r)8gYT`1Y8Z0p~z6RZ+1TRSe>kod0d#Y;e^j1`+$P}Y2l03F6diMDQDtoTU;kI zr|-C_Pt069tA8{A1iE$K)( zLSgG74^|UKVi9$3_$hzvJ>w=lKKY^|OJe9ScREI<*2377nJmp81=?HJ(voNwTyE?l z2B#LdsJf%QBKmbC9}&MY_Y?PpRYsbH25c7|)Go&gA4dJ^IOpDTTW+#9FQO{%W}8d`ju$G_`|bYild~2ip3> zk>|-=V>{7ug9G%xVB|jkG1$GBFaLHa7_jHLzx}2% z8V*4OwW}3DbCfH>Y4_m}bmc4~g)p^9E7nAq^v$2L?ssFTuSv7pCldzXe?2+h@v-lj zOWR~!iWEAnYBuA?UU{V-t;m99KAff!7x+rJj#9aZX5 zka2RmrXSa-*i721Jix#|MP9!j6ybS+m!*q)jmtGp_&yJRUotou)k>HQd{) zBN4X-jWs`AN>J2<)z`(e2l!6^%8Lyx0)`K9iT*Jo>C<~Z@r6mQ$Ok)jm1#3aTL3yO zchSOn%5QVw^~l{2y;e2=k1(UMvFDWCaozoZ7n?7nkr*zIuYxYJ>wwzpM&bF^OUs6`Fpb&x@7{5(A55 zmcJUoxf^QL;mc>;+`AqCudkH`MD0{A@R`OSY2jJ$@cI#v252djlEf)vDU`8Oib((i zYcfFJ$yCwZZch)8H$t-$z&Rb%rpjZM1Y?-7F6@{p-D&HjUl#2?v9zYl)!^}}{Ir^+ z=ng}IPhB>NDR9G1gD^q%gXsvfR@a(6fe#JJRm$Uo7c%Uc8kh(&tLbjd*xysT(kwou zu3;*F$d3aSug6*fCnDN=8~sBHTX-j|RcpT8lBHGbCr;EzE~Seav~QN*e9aL78_N|Y zO3gl*%>FaFnAuqA`TY(EjC4CQ(JToPQc~H?A!#57?B$+b0BMUxLaqV7vau7Q|Ds{u zUjqb5PUC9ks|3I1*iR`wUK-v5;d^Tu-hM4u3Z!Fil9G3F|vU+lZPr1gGit53`&`ljDzRq9oZlbiHdd zu=az&;v?~zeb~ECkK#OG6x75Q$y{KDmTSTG6RgA4-#|+bR}7HFpQBdstLE`wx0p(U zMl;~3#vaUE{#y<^sP3R5Hu8GK(SB{__lGy9>;7I04DEc5CV}_;fjwECYv1gu+g^@) zkGbhwWZ;OwB`3Jup2R$Si^TZ4n^@WH3XER3hs1t}4VVE3EpqMQa8yob-6<16n z;16tl<@5to=$uFNSh3TAE%7JmFl2U9W3c81|1B z9M8ueG7#N5AtBvN&aj?Q4$B5uRy?T@zbQCZ6s+ON&LCTx%Bv?p^i@8aej_X87ao?R zI;^W_sj5{=%WE3p5QDZOC1nmzbG81b=`SE_{Yg0^XLTt>I5mm`n$8YW-B8j3`q~jv z2GC@}0NUh3!_rSp8a`)@3Kmx5xcBN@)3-*m$PTR-yneX-KUvYzU+{?41o+ih=wxZ7 z!6x-Vc6?vcUl%_(EZu80szl94$hMl2(5W`fyrb3aE3P(Qe26Dko%~7}zOkQDbFPX}G@v~8O>P}gs zmwJsm15fLZW;{ki1q4O@DD%?1oU)HRdZmz{>oIv2ETJ1L)v2E>Y8Je$`xcpTUI{_R zsQ|b$H)H<=EM8;!&~ys++f;8L@QiVkOCgEeD%r$M;dIGIv zQF&Fg&}tKid}A%e6%oI=I0fP(uDzl7SU#HHeE!#*n&{%7(vh2IZb%D@R`)Fx-MU>33(c(GZuh^A(@UrR zbLSaF1$seayH058&kV)m@lO2Vp}tg?)wX(FkVJ>mO_Gh_%8$R^NN&HXuwBCyQ=3=Y zVrd@2Q~OL2@pDfT0{x&+*I)0JV=ceN9lX;)Qc+Uy~y zd#%oK|rhR3J?d!(=aC;T+r zv^7;{8_1 z&J=?{&)g~ks8WX;^`FP@rkxZ65Gd6+zE!yxAw<)~AQ#eoD`kV6}kL#3pz*=Hw^l&Fr@URhP^5Iykm5(cfD7oxReKAHN^9 zU9BCC6C3++uU$4YcCqZ-KO>Ij-E2(I^<`s6w9KS+;kFR=n8cIcJwO%n23$j_H|eNv z(6aAVc0;%!tG_+Bwy2+kIGQ#P?-z3(NS_0usi{;Of5iL8-+KS9P(h(x7|S-)#dV}c zz`5#~KDYNc(|o?Z3$!&TI>#77N`yQT^svNpBPFvPtPD{ZfN+j5jW0<4m1&-ETM-1c zE0v97Ht`}TkXp{m%?svluOf?1~^ z8SAJEUnOT+%Zt6zyli@&jj07S)h~fjERh`i18AVfyiF1{IU1eeM<>lM3<^JZo7?o7 zTd4+;3nd0`VVq3@+qzVvJ)-O-Bf34&E8cHGT=ULMWTTOmJboWz3dO*kzDoE23da7t zcl_-~H|Hgya*B~e)RrP|`G0v2Id>ntPGz`9277}TnQ~14OL>m6?hc_loFiL#MjonU zs*Dq?-wcqU3O}6vXP9?Dw+LCH1`vcuQj1WA#C;vy$kGLU0cdp$n7W^+#*1F!eIm@D z(C+IHdywajrK*X4YlsHrlJL0kG9Kr}~dSfT}ja=$Ed z4eCLKIk!99hvn$3sl?uqa=k(s3zMo4kk_YD&w1f?Q{Uv zLS(LwyPE4o@@D3cp)f^+TPZEH(ZB@5+>!~7$ymw5fWy2tOcG@}lt`^v(5?H_kq3kj z3x+*-udlWE9&tlEcOQm<5X6NI%bU0Fr={%;m5;25-+{)3us6T6EE}o}Ta7Y`aeNL^ zkj+3J<-UI|)dHu4wxySvknR*WLec=-H9EvCdlt<$MMbc6%h{sL`p245c%vM@&-{yW zRoBB?yt#jPh@qLy*k4=?7({m0RS#5O;rJ}p+xSaAW72H2n$hBK(L*>-ir|b? zdVoQ@m4wz01pAE_xycWzaq}ZZ-J{*(T0(N-15?)93(B0{w@E_P=a`2w-)IFT&8EYU zrocJQF&rB5q>VcP>416uJVj#+vpr>$WxUThNpzm2GZg4S zJ8D)UqaDhG{a&^7T6bt%g`iS-fr_(zSd2~+Qac+QkfqeQ6ax2^jNewzLtESr;0dX% z7TU$m%MOjOe@=m-4GznYtM;q5>&e(Ju&26dRp|2CrGVcv^#V*yikffz!=IL2wGdJh za+-Aa3%#x4+$%jQP)KnQK59jvYvf(%s!mh5-?;2>e)l)yeR9SqqtWeD>Sk@u1DoUT ze*%WyJIO+KhqVZxj_Y1dxM$#%=YNFBGmJ5Qx}C>kJt8}Yp_VV9#kq*MK+*YlzLWMJDn>4Zl|E{MWB z6wwA!Jta=)ofNG9j&evyi+3bh1;e@h@Wl4W_(GlwVtUy74HrYEYi&~r8s z%+VsIfMT zsdyD5v|l0QiyKeT3zsOVeO~oYNwElIc89IOZQtvY(=r&Db`W{Wsgachx%4yeSZ0?9 zllt$I<8`FNBxWwS^FFOLAayu9){4YIEEkQCreXdfpV_w> z;_7UJ2SRN{ZGC8TEVhSQ*=S}1L347pY#)As zvaro}ZRFlAvhNe_{k}OXVK!5;Loe~tUQ^h9@hsoWa2zKy(c&7QM3o^-YoRUn1)(ZK zgxto)B|N)dg1-}l`O|33=*i{8mP3AnOtnTkR#>8P{nj}ch{P2W4sZXar{GiM0@3nw zuQI`5QZeXJ5)4k^gSEU+lM;nnQooSNkqF1Pk({nqN%)XJFUFgMlwUbEP22G&3_B$C zpn;xL+!~_muvy>}JQ8=%O_v;&PERxV&c^XbYjwIm9?p<7gN0-x8g7|ZLLjXiK%sobUc%-o~!7U-bs-I;kCde)7tnm7l_D?N}fUpd3&U+YV$Gs~F zB!04M*&$xK-z6&Wt}ze^)OzGz9oja8yMY+6QPPX$7T#>{*QNW64p(PT28Bg=VoT>!@+tB ze~=Yvwad`c)sMud=f1o^%Ya8M0nwm-GNYO+#p#@<6fDaBB01{J-aj=0+n5HbsoB-z z2Ebt?!0x|dQJC0AWOaSS)sv=VT-O5KxhfU@Jjre67^SAz--9GHvC68fyYtOiG+Yj4w}Ap4d2jBQ2< zN%>y@K#UQac_-2DX{YH8|9J&adHJlN++yxquByq-F}@yySSv-=`Bs@iGZ%x15!RWc zlVMBe2*d1-Z-6Q&Gxw?i&eDtK(!X;UR$gWkpFhY0@PR?0@Pi9UzcZ1_-l;$$m2|v1sD^zqEfJ@pnWF)=$Wj$U=%er7iIfWng zZ}aVGvX-Co@_%cD1wtaMp}>`c zvH-Z5q#^^`Nph8jT|$lDm(Z=Mh$xk8i;z@2XIW4ydTeH<02pI5tuMe?3Sv=mh(Ayp z;J0k|w5~}pCoy5lk?V+g#!QKJLk95)E0^J|3y^3)DM{=xGfCH1b|g^Ic8W8Q(T*$n zaz=a2vaU-uR8LsTCutm0{`ojY$wj!FxcqeO6ELVtH60dq3h7i{+dHd&IRG6gR}em> ziK=a9_Qrn1ZCyp2t6+*fKEC=j{#*4w;GkZUsD{dhdY^|%PtYPv#0oX%+o)XLqz!r1Yu1GdtKmv8800LR!x=VRF*{A7y>>iLdEY_;QT3#|$< zt-kFySU&ya@2B_G-1gsE7cxOw8O{$}9WZBoBA*?@vW_e$RUkh$7L{ zPuKlvnVC@PrxR)fnWM98A)P(xJ`=y`D zpFV<7h=Q`FPUtQuQwm3c*rU%>kY*ZG`GM(i%0}S@r>*78C4-r^iFx#=4Uen%D`mL&MeX*j4Gd7O?JgtBE) zxLtf$3q2|{yR9;;I)wjHmL%I=JDR+{*!_B9Z7=<8ug8X^)fC}Bec}yXMu~75xq&0S z=I86y58D&Yk^(mU6vPdtCS6Pk)@J+yv)d*OSYyq{#?y%7}^~){ZXW0%2;(d36U&`%%Wch!60e;L#{`tPOf&Z{Lq;-AXHdJj4 zn5I=U1>Bx9Pxq{5$BK!P`-?|xlwfWq+B&IY8?($_?H5c zqM`|@7o_cui`yCJ%0+aiwnH<}@P+h13N7U!u#d##!-h6_;sS=nb={(o6eN~_BRz^o0hmqM*9pZ9 zr|r}vVDk2rvZ)~a{J7JRs@t17dg{KMa=OZ;`s=_^<-ZND7p?XZvy`ISB5V4)E+<7c z(;nQwHEHGUbw-sb;uc-E*&W`E5OOpDz@GA9l!o3bBq-KpxU6XMi$& zFCT~X&c=07-v4N`x$7jQL`&RPiF?D4PoD2J~?IEJZEkt+o+G^e+ za61e;$>>XyE;SqB!EdeAWD#8}$$FjF5yL$m0G#88vToAsn!$4xKG(^dkM*Gun2_{y zkykau>jXVd~-W^4XB_Z1TRH@1O#l z7*yitc{s46-^b##U(Ur$A1CFhEB)+!{LcQ+)qbEW>_+OG&UpkV#5Mn`RZvjvmB8TN*HC29dtH=cGV?DV!uzH4%vcZZ; z@<8;6W+v=L(dt@^G}}kqrEQmpFy~&;NwR_|iI421$*4=hCj?NI=@;%;4tng6Cds}} zEL8o=ktT_MXF2zd5KKU$?!7svO2Zb-tt&1JCz`*F#T< zfa~HLpV7lG0!Qvb+Ho! z4uSMN>f3z=*K%UIOS_)@i%+s$p8&c7Idv%gRVIvS6@&MlaS1FDm4EoTQ0fOgV)s-~ z`bUCLM9@zz992W!#hxS?nc3&VV(ZiJ3*md&EY3vTCru>@3{0)f<`wmaP3Q3N0fjfq z$mT@+5q;meetUY9s12P4m1JyoQ|K1e5>uH}{N%Cu91zhesEY55y<>tu-XUmilElqC z`ml<@<7bDbYzi4)57dLa!eVDjf_Q6dd13ztv8a0N$t$#^H`*NY0wz9F%(yns-~Z%H z?`u@$Aa4kq)sKro0x`-98vz8ujh8zdm=bA6`YyqYvWacl}l9}br#Ge_p0HsmVJ z&6|r?yIs!ITXv%J-F|MldB*2T=rI~|@IE3of*6{#iOhy>uie@)g6TWz^~T@tHmt$+ zwa=W*8;w&oJ3uGyBLTw3hVP8{fF9@W!FjC_F*|hd zN2fA{B_d`uty5Sv=yYTujeD3%kB|hTdge&CC4!^=_?fzs@NZV_d_UCi*A2>^(+PP& z&s0}gnPrP@6|Pv?+;z>c{nf?sz{VYxRSqPO%WG(7(w9tGzuCOq0|g=LelKUm%;Q1nMILr_Ag?%&D3X) z2T-P0Zavy{|Kk;yDk0eG)Mc4jm4=TZ2eY+oJi#KKjx7Q$0kUkA>-3wSk3s$`r#%xI zM2o8)dnj&2P&(j#5{Q8GB_fBXR?{hJPB??o7}LylSa1+e(oPii^+@{n{K#FS!k zS&m5!?+GiVCq+ro2n!9e{qqf|sUe(nr}YhIVhy5S0bAb;f5hpumc_M@LQ)VBaJ4>s$`2mQ^LxV)_dboLPe~*2oeZgN@4WdU`nJ@^ z?Ab_NQ%D#~3M5!LT8);5-gY}^FO%E6S=BJbM)5hNz{~__auGD0@vDILd=@Q~0#W*orsV&B0i@YwFepD3tR}CFNG*SGFdlrM}q(a;Ert1uxxCLLlU7I;=yTrclZD2CO^krIERt&!P~$bL}$o+U`q%rFsa-W1_b z;7vWeq#t_Jj5QUl7||+R`9g()lB^oo*8~MiY|Y7=KP_h8RcqTW9095YV8;Z3p5q4( znOIQN$ zyVszSQHaD%qC^*#;7ZWL-TuG#Ec}@&-@X5&gMxrxmA`4aJNnIecNP!q*+IBVMb*=D z-HLSeJd!z>(|=!ydfJzbgJZKO)3LkU_`&u+cUS$qQ6wrAuH=Tb*cNHi-?DP&yMK*a zEeBQ5NaK66CX7zqUuub$-007V?J1FS( zEd(q8CmFXvpc^ z_9#1YR{+1o_2)OuW%1uLU<&$VYCX5zT7~2jg{E4}ODb~|EzI+PC>lfbNy??0yF(^W z(5^qSw}(rS3v3>>Yvw&d@R@a_d@FXV=-H+?Ferfaz1~zf408*)V}*{G&Pv{ZM(gwS zH#|yl<)+rhIj+dwNBX2sqA`|Mqnqs^dWUI@LNvSE-arHS$`o)8=1|h>!~xN1y|STR z1a5Uje#RD4^-lrIkYJR_g$+?^o%b;FY#I{(fcd&@J2`K(nV%p7L(H4aSFXLnEL2|78c!5be|c|47{ zR>dW(($>so+F8poP0K3!Pu8I}i$T&sOahGOUPo8nOJ^7;@+@ZcXbQ-OFY&-&U!I3IF=tj@M5OH` zfxJAeEOUQ4hzm)@libWYuq?%oRD=3YT%*{(0g0Kbh4>O&*KLN8wcUw$p(Sy^92NB; zsz6@ZLkxX~YT47!gJjlk(i z0k0qFh#u7tXQ^_1v4F{S{`ZwvK_TgzKatn)^=UWs-G@^kPXuFlOyBCHUf^0hwl%9T z5uW44bNYlsWU%2 zq>=6x=@1yY8$m$nh5@AO9^U`G_k7_KzcbG{=h@HRYp=C-*2Z?GBR$o5m7^bKRSHNY z%XOSD?809i@Yn>f8hoA6?_E+nN?KWH6D#*Xxf&B=k|4ZB(dPXrp0gf>SHci3_O8v zs;Qg}dc@V?J90j(Ps_iyfBa(p=9<2Y4HATR-{~8D*AmS-x!tsJ4?%E!ld)$a(&ah! z-WOU#t>o|U8=|DiW%J|5kJxm7TbKk*6F|uJY3UY7{D10|X*CYz`g*N}eS9Ryje2wz zQXK{JK|#N@h*Bo!L5eOrZE}I`6r7Yc$(va=4eXgVSjJ*gmx7IWL^^EW6aohh>g-xgC47 zl0&Dr^Epb2>)WsME??XCWKm!VGXWkL?vfO0v!bA`hUigG@gc2lu%RTBbpfO%x}N5` zluL@%=bKXs+YZ~7W%s4P5En8nqzSw8x3I8GBHZ-sAACnORPcuB{!pj3xSALsfaBP_ zguT{g`n* zV;ipvAQ*WEW3)2@a2fCQK0zG2jUmwz6n`VbQxenAZYS&v?2|=$UIeUv1V$hc7UB2j zE}*|*AIT4GIO3CeV5$w87?I|sO$%Fo#321J84=yB{wBKQZr#8ik_5ORsOC4$$OD{1 zk89Nq3`lR%M!Te#O60@jI%HcFUfqa#P(hr(-*N!SnUI(J^pij^Yky#pf2v?&#+nGg z`lbbo>$y!yYPEf~2SN(zBc|asVm@Qfv*cvs-%Q-S(JjF1{tpv*=7TzPTxjSy_Yso% zJp$7A0H=)@p6c5M1E8}Bd$qOnpBGPP=sIeVBVd$qy|4KbLzHCN(sHY6Lcrs=H|3pf zt@#L1J0MxnKNTV-Ca&{1VV}JMAR1{kGF)Mxa#{sA<)+5Q2(GTKoPY)l~?0m_y;)dV(aOAl0&e01~LHK4+ALqHPTOuS6HuGJ_&v_=k>+?Pi z(#HLLUIqe)oX4Rz6eyi~SKCK&^(Op z?Jpx1Tbqwbqh*y-FrPs^`^6b9Lf6hLJW}l$6yPKY8%7QosGgz~*J6ngH?+(iA0TuYLltAf z&p1*IQ(W1JELq8CX3?A>Je6CVMX)OWQ=jy5{Mm-7eO+#C7V1~KlLWhaP~BW3r|~J$ zFQE$xyaOsIgl->n#V;A zj17Q&ZgONJyZ5({>di}c2A^pA0z-3X6TuG?rYmMnK1L2f01xG}iWW#FdCf*nx&X9mdrulR`>4PeY}+=g#?y!*P8aANHY2 zy8#(=k)^BozobUfq?*}2hH++XM5-eMW>Q(D`&r5qoP>6W4&w3l~fk=|(UzQc(#c z-JA%ni5Eanu;-TLQm>@M2`1q}StA8qcdi)O^2F=r05rD6$zK^d;vM$S%AXhb0`{0) zV1SUn>TJbQv+yN9Vea#P-zfb>*7Jqy>Ixib))(WT|82@8z0Vs@Q!Bp3P$fI*~T#Y}{ zj}2bWsVIXl2i0xZO@LGnunKrYod7tjal5s$2J&?(cp+ z2~@XilRbydUrmlwax=Yinub_mBp3oJDu4EXoo<~?ZPJJ(%z;L+jK(q=QX?eGX-_j> zKknIp7}`t~%FDY;ocZcAWoZq9P8{Nl%hYoHn4O*C*s;1qsJm$DkXEki$lVD(( zX=9CJ^lSZ39vp!Y@In1An@yjWpM`8MYLP+1@nfa2FKgde4*z&o#6+ctNc7_WxHp!H zQryxe+HZ{MTf-gGbIu_}RjLR{%^=&o+RUR}AY^`7hL~;~VM17Y|EJwWmJbJs{gyqD zej+ZpG~9+(QWmT$IS6(^m44m7H3SED5lBKE-vusy4*EjW|AMH^&D4L)^VH`*!HjmU zp&KGqgb8w&3Dldg703eE78V)g|8@!;MXP;2sU`yQA5R*OY#=Q zGU^c>XjMFWz`=?1+KcaxBh9RqD5&K8D43e!yXVGiP=k9WRT;@HKOZi9^uThTXRb z=~ts!IEvY{KA`+rHRDqCj-gxI#qM(-Z2)iCJZHoVO87~V_}+=(&5$LnJ#C_XO0?{$ zzau?Pfk|YhC^JLzWu$gg-QvfFf?ulMY*1$$Ak5&C$1MFuu`8m}sEE3A>$7f62`b9t zXXV!B0>r&?vQWj369uCY0B@wYFV_s}v58e#R@UG!1^ODjUuO0Fd=~tN0;%Ba!~reb z^z=kqY%V^;j`D?3^`(_EM_(%=3;(3*=P)OGyF+m&#pRPk zs`a13c%VqD1EJ9v|N8joFF+OXvFQIaUVsR!ucg^pdJ;2aA#gb z$1VR}{D0y6Jd#kHbrRFw2{h$!BtG083k<#8Cdr3B%A|1`fu`eEMiv#f_W(}v?VkTU z4p0UY9Jy*$Rg%GzMbuu6XVw|QgNfsNuVw+phN92X4EzuPYfp0~Op~oMel^;YKc_Hh zze;tA0DQRt0!Dhet$B(B*y?MhRCiiy*Ec&kaaZj-LW`oJ+EGzai#dvXTgilfP5_HC z6za~JINwcLxF6LYz>Mfk`7MxXIbF^p&bZ9Mex{u}yt3y0`!G(()cOw1_dCwnjT zKchr{Cy@$CJ1sJ;;tWi1d#${CW8&Z9v!rWk;(tLC`h|hvljzj@BFwsWKmy9(gN;nu zsqvnqSnb+7#6eIrer-WtLgWL=}( z=B6y-szcCMvVUj-;!1BsM~u?!i7+#&`~%aMCo~Fs+Wu2#2$pSYc@8hJE%UtY0m#)q zmzuuRbF&Oc00R7s_m>T5KwKp`kL){lo`7}-e!+}%?grzaCpz&mjh{a~afG!a;>h3J=;Mriu!6 z2291z@oL9PrfafC#zs&<*S)9}ctx?S?p+aBnw1)<>z&UiWWi8tOvop3>xa(M$L%lqd<)PH2pRxq1z?6xM*uApKF8(g!FP8)52@vJ4Q%rU~Ufs zDWL%l6wtlJnHXR>3Bi|7I1Fu&Zd#_!{vQ{>6kmHetzwR2MzN=ldUWZQUHvdR;;nBg zX}D+b5pb|6t06~2#Cw-Q4PSI&5ZZQ-;Y$A%i|^Jwb74VJ9<{#4_~QH>pgfiWsyM}h zzi*sX*d}volt~(YyeX#&)%GhC!+Ph84VH>A=>bom`LX>%4wNq)J$u*X-1X7jw-dsO zW%s|rz9hpuj~q4J)tTwzOTKT_+Bkw|wnMq;Hq#fie{pJeaq6nyJIlNedoE8gE;z!BAuVTx^H^+SBd!I1vS~ zCCI0`&%+nr+ett~4?(kc&MZjLY+zV31owEcxCcyS>27R6Vl?CW_wFi?l>$*Qam&+k zVQb9&RH>J*M0t5PD^-NWuD}wSHySnKPG-aVmV}gv@++xugv6s^d4OApQsiBu@kg#K z>R4k4YEo$qI+NhUx3*3i!-MbbO9kf^EJtKPc$){$Et(gFr!ifNHK5}g!7i#yJc>a0 z$NNj$pxeqbnrAc{p0y*026CF$woHiQd%8cbb1n$v%>KM&EgdS+NhYL0%WDd*@fx#* zPp5VgJPUAM`NGAJ#R7+hWS{dS&wbS#otyh-@(n1ktn6(&&?+}LeE<-uowZq2MalX_ z2_P$D5I%k3d*bs4_Dt^e{}~7TbC$=d*K>r79!QX;`b6tn4n!%mCjiBYIPt$~Yu<{6HulY$>KN(C}(qha>0Dw|tN*XV9`ahgoc z9GbBN3HVc!dV{(e!9a%=!`(Q#SeoFvYBn%k6$K>-2d!4lc|&F;E7Tcr24emA#+kK* z-3VJ#97>hGmIv8E5?#Py+r~R^3TcK|$>Z@{JAvr*Dk}*FNe}@{L7=D&RAjE*YWqGi8I$R?<^Co0}_Uh2ac;xoO3K3i)-;)7y~P~o%9v%*oz7oEknrO}YpxbMmPvy1<9tJli>c0Yc~?-&GHb&=J*5RDB2QjBCe;4}xg zv%ewV>-t88luZffCF<5_la2-phuhiN+j|Pr zd%prMS!-rs6l6d4q#lCau!kOQI$6LOLjKH1MFhOIQz~Z8h?+9ekg+$R{_A*@{(4IN3>3t%#?&NzOE+Raji4TK_$Bgk>zY+4bbqha zZ4rJ7=`LCEd6h$8O;kk_-4zH%UA2b4q*8||Nh9tV#a8mh;O0F(2Eky(3c*3ebPDFC z-#7bYD1kl2B~Zy(#^6}cORaAZzOP?Z*5vU?l59JcsQ}SX<$X5NUvprz&JQ)r{{crN z;wz1BCZ%}57(z@I89;>>c(Nj!u{J<~mSUW{byoV$DDNOH0b>IMT&QDTT>piT zU@av2$iozdz=qLd&ef#F><`I**eGpY^Dyn48>nYkbWRXYX`A4n*x>1XQ|FeJ0*a z3q&+?IQUD*)~!9gi45tQRmc>|tEK9Cfz7hWDjVj?v$wwirur_Q^&3NESAR=B6i zJ|QAQ20@Yvx>K7zgMz&w76Mv~l%|dPoE0Ve9#L`Rggd8%;mt z+cBeIo%^yOXq>bP#0?uRA@Y(P6X%6E_~c_zk11erV74OGMnxUH*$?k!B%-5m0kf^- zcV`VQOw-$lgb%haa=iQE%%V@ruKg+-ty%`kkk4V9s}})28Nd?^Hc;Y*sY1OvAvh4J z4Cfx+@eI~2izCZDBT8=6=nDRO?siDsOqYIYA&Vwf769Z9ihBC(TkyZj9MXBt!d2o4|TJ~dHh zVjFF_48P1RTmCsRpg}0xLGe|UUAP19?Uh%l7Dn_ayyzAd50Wi9qc7x5AL7L1b4hgi z;*2<<0WNDKl8g!Y)jWF^MjCB9U%`x~4^%R-RCP0WonSSu~3Zj6}UZX3j3C9wjpduP!Pzr8CBB z=2BruKA_*&O2g_>Tz^esURcyMVB!$6Z($-s0CW5Ovf}~!lTU98*Cvh1b2ms$wFL3! z9rxd4;`plr6fe~-YgSbMt14!)wT4-YU=YwKC*I!Peujk4B80R5Snai81ON7igl%C2 z9O(N9@{Il0P{#MZie-6D|AQWPmYgF3_Cuua!_wepb|8#FP8?z%m>w#{UeEH~8Izg= zraChqIu2I+BQh+q!5NV+2jw9t%zXC^8&!!%3&amoTHHLk9jW=FL_q9iiKkTAMyPfz z@l5qlz_rgRw{+{J{#d)AR2Rgy<-JJO)hLo24&F0e3S#AQ8#;RF*CN)V$D`YzAFs^~ zOU+G+!PJ(Ky*S7$IyEhRT6jYae5MpY^%r`bV6%x>#!a;ZyO6|61P;$VtixFw8 zHNozgbI;TTY!rlv&Tn0LokeeIRbK7*e2O=JYqb6zfAeUf`H6jUG`8h0XuA!$qrd)p zv1kQnG%#nO<_3@409*Y&CvP{SEkxRB1Z8k>>seNngzjX)G~>OO zifl)|Y{Pqr1uqduo1{h9v@D2M1}iajSMVt>g-u3GJ-g&B& zDCjpQ(~AsX)dLa3+a0__Zr2GGwhh5e+eSlQyoRqOG^AHnbbC}jHfs%6TCZGj3Gn6zIAY?d5fVLF4mS+8q+B|lM^V%9mT9S*y{X1_zn~jJ}cl4 zqF4!Myr?IiC1MIFMyMX#PrEnp>11_)lJpwaGRS850HhM^eT1FfHXIUilwwInhsO176)CGG)I-B&k zWAd2_z~4}Xnv($-S%^x9ra3k1Y^deD85Xy2K<>4ujVJrq8w4+Ebfx$;tnX5IRVFf= zTrh#S1ORICN6c-$AbY(Nn^dS2Ak!d(=2)ryIgcp0!?BjLoDg3LMn~kH6EXIq>=`uf z{VIT+b^GCO%L(GR|C`$Frl7K!pi}wvpSC$PGVlp6G+;{Wzkcp2^^q$-J@+~F>(qc7 z;#r%>j34uC3IF;3JV-?V1fiD?yolKE6$#slBiv(5*yv?U4i5-r@zMlQcBu#sia(y& zaTNSeEq(aDYi38>gyE~-I+{3#a zjEkDOwdUJpy51lPQfH87jTDRHN?y1mA%XsSy3vf*Dp{%anit4d$4e5_g81nzcY69( zvDK6KDAFa%f;AH`{xGKT@aOiUN1KPl3yBOvIXSe8P$k|v z+HQ^pJp_(tk~iw-$`YAr6=Zd~Wkm}xC#-Gld|?Z#`ZZ2K$HoGSH}UG><1eyBl7&7! z9d>9Z=}9LRc^w{i4nVs;fXouV$|`8eyGQ(EEelKV$|<>NQ(fUm8kM7$1@)3eo%r)` z9HF&E*)Mbtdyzl+o%1*Xf3V-*>+HsK^pJ+-zXpkF%zZgT6r~! zWia!e*ia}i39@c+X@LqqcciC`ov=j)Mwm8STf8}8?JrhdsuW$w`7wZ~7RH=D<8X5}5afk;IuFy$GOzQ$9SVh{NsoAn9C50QcX*(9{UF1Rb+#dJp?r-s!yWHS>WfWnw>?lOdC#^e>sLrZ#m zyjBQ1cr)EjznAi^F7Nkw&8eA?DS)WKh@(l!JjJBKm!x3fqtBDJr85hHK zw`oHUP0dm?#vB9^i-_kN`|aH>?6f*>iWvOSscA_oDsAp^aU5vlp2ywniY^|s5_J+X z7*L)}AG<0Nz>X=&QHdM z;F=aF%bO##-lAU~7F|3BpC1bwE3ZX0T->Jo6F*tyUHDMPV5pre$I4p6DsJ56#O&-Eo9_gJ6} zL2dV#r-6ZiVXoY@v_4XsKlOw1{D4ldeAv_451yU-o6F(O$044xi6a5NO)DnyA!eM( zwIs&fQJ(jq2;|F4{gCz+g?H}+uugbCKs9X%0@X`?G1o0g`W}ydT8uDX+FR!&`%t%W zZry?WJ%IwGPW80qc#B!WQ7gTAy|Hys#7t5MBlr4q^9C16w)=5THY4xlatqrFtH#J< zA6!w~TCoBT?I__(8?)<}ls_3aOvJNWo8prM9867Y_w^yUv48MhAi#D0i0W5TY*2kTU=i`cE5kWl^c|Ib$2N|3^zL@u{i@aqemus1! zh#-GV=?dKe?pSNGH6`aN;e@`RB;(h}c}fT&#Bp0Wca$;_3&6na)dBWxP-3pzEPF5l zd;3}o#MEa@Qj_)7aAr3%_2kBn7YYcQxmH%Q1zSWa0x1SNXh#NCUfSV-?PYsy{?c@T z7q&)^%bEHe?ZEXa`kr!PWaOYbLdc)~Nkud8LnNO($0%0*uX2{dvhDhlpaZJx1qV#a z23&_To#bIyJUhy$l=M8(t4o;L@b>LEG;rf0c#z*}d)Xn}a=W~*isiV@u8??^OkMA> zvijoB{^k{L3=0w?-q3bmJgNUVk!Y?W^ZB%VgG|5Z?vSm4frprJ?#x=iZSxeSsqzzIs$r18eIuzA#8!EI?cmeOMOv>-}4{sz477{;0r4yAn`P=MfS15ck9mYfUxFA%AZ4D-A9lC{qVQ5T8T5{f%xOGE{1X6 zYfCW=;=X%g$ul;#@te(Y{Oc40eJMB=O{)HfaAa%QDiG*mJtp~dvMt2uc8_5*p z#^p^01s8Mj-%A=!%Hl@dnM|?&>0uLf2N4D=fwiq{rMz*|1bT{2YA20wIc4t(GDDaA^7Bq z{OdS=z9s22`fk^n^pyUO6s4aZ3aef>K$11FO%>BXM*NiioN~~TdlJ%4Hdx#0&Tatu zcdRrod!AnTmv0(Go<D+POhW`jTo|TmRT^+=kBu}L}XYd%y5SQ^s_pT_c z6n^=11Z?h3JwHF;z4hODo1Q)uJW=YV6La0%e@BxD5KOf)#$xJ(j0*ASCOH+>5h9ED z)o7dLBa}A2$}%8&gNkW!qb3s8GPf1hUz??TEa<1MULljPNCGQ<82s8GRp2=Y4&Yme zvKa9T#s7+7s6MZepn;H9pSAym&d4rh=g?9&z};OaWwXe7;{*HOGe)>!Uhflqxs2h)FJqyhyv7cEa{1A5dNN@zKqY4WQlJ0wWG$DwlVmR zR`(3%1@k;oaYaH7Av|l{vV7{=_4{H{UbvbkYfal*3t+BjIp@o5T628qcZ0v^y5SEI zAHsOT2uYEM{tW(P4R8+d=SHNYf#Dm+V^cv;*^Ho$KXXQ8YC0{$orYwaZArGfI!`n7 z#o4j7jqGXW&{NXwp(X03$%-o413V3_U(I$SurYEC1E$ZnPmw(jV?=-mDT!b@|Cy_+ z7*@|`=CI|>$zVB2X3cw zxXxC~i}Y}bVKz&u5cAHi8lg~@%=#4qh|Es*>wbyRPU-``Ce>HgUesN<{OT_MQyXeQ za2Me35u>;CrSL~!4~@9U7x_@MWi!wE01cN|2zr)i_rh;~-QB3g<;P|5PoW;7Xc2UT z{+GVE5`VXzFL$b~wgTYz$5ElA>}2A~Sf3eEJ5y?!gHJ74B^){*ETI0VP|RHH_DRq z2Qr;i9fF)k*MOve@#JEZnq{?XXzU(vUk`#%gwB@TsI35wUHCbj*ffDvqk2S7xF&)r zuPnz{G9s`pY4u~f@oL3pebhp;J>7*QFwdB|R;K${1~ zO2{FI2N?u&HGE%kVTL36>@q`|z)MsxSVI6GBYMAu`xH7D)PPM7K6{MM9JO z8o@MU(N8}`M}L=dRgQs0pww3mzE108X2utqm2HVf~;VV*QK}D zWDb`_`Yd4I(goYj?D3$SR8>9bQlR!G;T%%)R?pWyg2eBkc#X*kk{lb$$C_b@YSVUl{NSWD=GEyp6os4v2PlilRK%pKg%|(KJbAqQk~GsS zuua0)PqQTu5@nu9Wzl7!IRfG5`KXOlblNgS4g}1+0sPMeZfnx*w#gFV*UyqMSIpU! zpHqg48G{bFHsZ%(fP!3YVM{7O!O_utaxK9kFe=z|np|!pPDPDYTD8btr+EW@Dkbxl z*MvAP@4a_EJJYRS&;REFuyb<{Ggqg}SZdo%MO%Bli}L+Q>lKb6@`*Mk+^vn3jp}0T zKwLkMLNu8jGHNQ4wz=iL@Xrv7|NiO1yX-+AN?fiUy{T>51{|G;t389PMXJk$Tf~nV zbKq>5{3Uy@pAH3qUBkjSyo1*8>%vpEnJ3rlwniODo3%Z+pxTzZeN~mv>{owQMA&jO z@zk6&wF1jNBZwj+h!xco(y+WJuDwTL1pfE zGk@GH-$AWB0=3LeSGp1fG-@~~vM{gia#W$RUyK1)CP8HTj-~Aa~4F z^)j%#u-vcz-`G12c|iG&N8Ow>KSCn@ z5`~e;L-3)J^jlp47sk!`;teZ<%L1zmXbyha>Zk4=7#Lw|RmSzseCN_NQ$43XhZn?j zP}Kf2jqV9Jv0NWmkbG{J{eJ@44sjI(9l}2P1sRR@vy7|US@mIRPhIH1^SKA7y%VhoKqb{pP?!}aJxm)RfiYq? zWH=I_qNCYVzvmZRG1#;CJRn6wv5Cv{39XSZ^CFUZ67^6wUH8*ivjMkw*%K-IeKFHJ zD~*?5=Hr#RZ3|S0@ng8kq7pSPH4Hi zUB5E)qqCABv2`iEX*X~y|;V_xI58A^M#;Vyc%P75^G*uWHXxT z4bLayP5$UGgy`prQ^RS>V_G?q*>LriY@jYF7fEzGfQaIpTB?&U&IEo z9e8nYk0&DMiDjj#U5jWf5J;?CCeeW}t_W|9g6SwHwi=U|? zQ97Xn7XX6H4Y10p|Cf8;d-LRz* zrU%EvOx~H{PgVkEl$x*D5tz=rzPspv5=F~ia$#}YD-8XK%UGjyQ?!xKD5xVGi9r9M z9YlIz#^f^D#qA}I5)8B9i~3e;lO1VMjldA_A7A3%;F`@&7ANdZRrS3Kn-HCv z4(^QL`A<8pcFyH}W8!^mA5ll)Cjm%4_oI>ZVXgb)jOTQHzua*En6On9qw`J-+wSpR z^XPPjWya*fK0#NgPSyfv3ukIg-@+3eVOj5jm0t=4x98a$_48rH z%q@aI1}kipawlWpop2jo=&U}3p55eR0c9I@R|ajaE0$OCa7fC>@0`Ml>Uyo2)YP(J zPeOhgulaoJi1Ch2N`T1@=(DdHw;M_QHD_fuCi!TpxUGs~O$F zm$C&I=}-KD5P9DcT2=lE$O#ZPaEYl;78#Syn3gVV@J!&61g(-b#e;7a7;I398R1Oe!S&*Uty zm!s5QqG(0OWlA8faf=dVd9bN)S*;SaxJr5rNm?$=|F9Z@|7`s!DoDl+8yLc4zuy^! ze;_|oQ+NHIF>&@{;~OsN=Hz!|UaHEv$ulB5W1dMz*9UNZ^*bIOwRE*>b@5Of64+=R z*E7I$9F7tsAI6HIq>4YDkIrF!HzDsoxqfsNN&3h-LjF6@e;O>sKMH3-52Papz#iqm z9_0a)!UX+$S~Jfrp=$n6>a}V^5(%?Hel3fI*^eY7{Zd&{`k*<5dHv{&_j6peNf$Vc zPIfO>s?DQ$z7=Q&ER?}zF)j~7AN+w2OCXOCoyDd)6Z;AA-?-4ISE2)M$vc4E`k5~8}7v$FqP z)qdYbC#gIt2#lU{yFfUM5DI@Xpg9)F_WbWKnw;6`^2E5kV6azpq4=U>pobaMP$%m} z5LVheS$Y6Kfgj4S>Z4Z4MVY{6o4=T5$n= zJ9ccEW5b6ii`E&;-|^c~nTI@s)YOxWOEk9cqqqEYI@UE};9O1DzjW;K)90;p=1u*7 z6Thn1tTZa`Gca@)E`_&uuh?~AShbF43bwYTsHBjOq)x;#3^f~~=pQ?7xes*u>!j{H zMS7y1zE#=SWXuh5amb94vdMF9Lh-~RVlaxeIHRx0p7r>OL50k%9kQ=eo$p3+n80eT zYIfG_7#*d<6Ve#Tek1bytSdONPuDBsg6Jt9KST&=#ume^`FlFc6Dn*?>l5VD>Aq(U z%kFcZl=jhbDA4~*1v?sEx>{VTz$cQ{R9C=H+U&kQj;f<@ss#s*8506p^~i(~{jzjD zpocS{EGVM_loc*L*Wx*ECBKDdgjBK#3aJQ31Na7(_L8 z#-iY*tay8wEP*MH1O;{&P_kYBc~~(<t3Newy?8QLeS4 z_{su*u@8e|9{o!GZ<;Nt`DJGuy3}#4bxWrid(`-FHq~(u(=4Wpz5(c&dl;wguR80M zg)gjM$*QUSjJD~<;ASjMe<=5ts^8@J(mpNwCA+zcvycb5+&P0}HbCY_t1rn=!P4z; zBO~di1%v@$_07fej9q~eJc5m8*PP%Zelc6EVTHqXKX+zVkN!$6EYJ@fM4(uiDq|7* z*)eS}VBot^$N(&Pg;IW_7ggYtOpgmk!1FL4}BSE@5_6c0bHGC=-^01lwC2s|=mp15n z6!Kst%74Gy<6S^qvkX6HitO#1KE2j_OsgphGYSMNZu?QAFI#vffgO7<@@ZiLCbTbZ zeu`dwsHAL2^vWOTPju~gwY<9^FXHCTm!TzYGDsdT&n-H_+SIj-6XyMl-3iHg4MaX; zcSHhwM;V1ol#i!YCX~X$l$X4veIg3QNan^is&Xo;_g zOi41(j`WERXd1&h54_=H7hEciY4NX^;;zZscw>~f>j=?!tS@lq4_N#ehRxjH$q&G&z$~3wqEIOGU4MZ)E zps6aMZ^;OT#p~>P#8dKfw1>2P9tE?8cZG@`vKs*{i_ReyWMjYG04i$&Ejn7A)xe^3 zyED#{mZettBPK%O8s27Vxl9s6I2oTuS_xTtzap@W+e!lb^2ik)HyRYeex?-}frRUGH8cu6@;8-g?Py;xhK4E=mf#=*u&K zu7_?HbJs1K&ttSZR%4{t`CX1L3wam{{|1eWNc9~8eX56W5x5gEpgFb#Avkh0cu8Xi`4E-?f?yWnmD0dDjaR^h%@fAqkE*gzd*xH~7ST&0NRPb{p7L89V*> zUIEHE%r3cuTg93erwbyVbbKp#QGFg`9$J7*&*P&qE;ZL4d=}?7C=ovXO2l<~4MyE1 zDBG&HIPHn3vfsNgI|Z|uP3IjmNd92NgBGylDagqvyJQRWHo7dw;H69**j=A;KjWy= zWFw8}?x@gAbb+#W;*%?D8n&^ibd~|25-pzTWGP zZs+589D>+BO?)p!)iFI1#;v%U{!t~JnUawwK_+)?XYbp$BmZh-wl|K#gG)=yLD>l^ zcfuo?$J7-Osa=mBvB`SJP9&Uo2s^oupCNg#m_&5L?8_&ir+;EV*N53mI?3e)$Z`?A zsl|Ab^tU86KZ(UPoomwCa}S~fR?){qOxpQIgMtRumNBG0Ll>bBrT*HQ^3UvgE)P*t zc-PI2Gb%LxitEj)fjwrF3&NmyH*Fs{pp99;l^L|7v!;>6_&LDw`D`qzVWsCKy*NEt zsGv;2*b~A=V(EXOarg48agTQN`gm~X61mi;2Dripa`YHjt}bgEt9{57FTV*C2S3oJ zEy%e4m#LX&f2CgQHel&a0dg5nfO2n1a}gIATh+J)0MOrvYz=9jX zI>o;!?sE42u5bTkC;Ib!hu8h}oaoMsM@xu!?!6<@AN7sZiB@XmE3BC^C*Si!wplZI zI=|;&;(NU(j$J|}6K{{g{*ytg|HDf(gP8I(CAO+sP4KKJhFyE|hXPH*b zqIQb#ot&-zta7l&-(Dxb**UYkbFIe%4QL3+Y+#wfEUqC&PN!NRS*XX@mvS@D)E7zk zG?2Z_E~6O4KvYOtnwrteu5JKA|Go=C9nUzmc`N(vV@$?A*}rY#BlE)>p5q|K=jUEh z2D|U5VRm}cWTu!C;!rIXD>j+Li4>IO=9yv<_;)4Oyi2R;bX=`3bo3_iZCCOFBhsP8 z>e9SHKpd$7_}?)okdvdGw()CG=i4%p+#V!qJOSH95GRwb@+YmRgHF*AU2SQ$b+;kD zYMirGt_agne8;YTXRV4RVxY^ToWOGAhufsfEIx?8ZSOJ*Hcj{s3hpSh{pzoYqu&gN zMR0s3HHL&Jk-n~M(`X*DZ5ZHc)e=nE?JAjL^L@R*<7h99`S!ZD`p{EA{^e1p5;ytj zs83(!3Tl4KLMThud6_Zv1p0}R&$To8s-&@h<3B|G0<<*-p!o&{B|9s(EMKvoO!%dZ z;@|wSFhy zkOt`n=>}VGvv% zZ?2$LUy%s`uj?fs-G8yyK4L^UQr#3~2a{A6h*Xa^A#eTlT3TIzEXTSO>aIktmbt96uHG0Mdqfut*+xdV8Yi}Fe{&kT?|dxC#4oZ)DKk#x%2bU zj8z!RV)I75zVJ9Gd7rB>eP{;9ur$^+6tufc^`c9Bg9wg*kL-oS@IfB*3gDz+5BKlO zJGXv5$3U5deB=PP<+%Bjc^BC_WRl>wxi7iam|=ZcuXRaz_C!wH!NEu z#G(tBqxy=bECLQv&x(c`RGdlKI7uR-fU74h=$sv zBm#WjVS2sj4?$YtBfkDH@xKl>-}G%!n0t-VedIIHe{;>Lzw{tuB0$?W6^iWx4mFU% z0uw!hDr$?B4sB92fUm;DFu7Wph+fjpU|EDhRPlka_Wv5f3$8Y+Y?p`j+T!}cG@{n@ zKKnk1sR|rOH0t{IBaP}GDYq38JbB(CSJmiXd*%+R1i_kH_P$85MC%S`(6i4(myWh? z{588$LaWVHGh!TPOd zVJ+zS3QFV4_qiWHygNrZ5lv3DMLA3rYwoRbGYOV~m2^;&&8q2WNBTpVf#R@bQpm{j@5#h5FWx!DezjxE+QhPGR)lF^(y>%tgY8?{y8)> z7+Vdmm*8G=Kxn@DI;iey)1cYngf!bhlhvR;+9)*hX+h1Z3wghk*eVcfW)7)J{`KzD z2tC{)kmIS6Y=5-}9YU!9-oW9R#zgkmgyy*hy*D;X6V9}Mk;z=XMN`3;;xd`KvoKaw z7=W)Ehv>fkyZ`yuw=}d#5n{gTkgx&8Ti#zr&mX`g4{7A#Q(v!6X`m^@e3=?QCY1Pi zkQ=O-X*Av*9_2O7Zv=yL?D&*CV)k4t`&xa&Af%Q>8xb+u!JgB+HA%Fj!F@x_<7lZ| z!mpz>g{CAyfoi&+#cpl15wvI}z9JIDLS;}JMPb~XQCX!; zjn|F6njI7BU%1=(#E;)5T91g}!kbS@dWN6C`k-Uw8wKjpH-$me98M*qCV||RU_$K} zJ)h6{>(m!>0MaIYv$XXZG!?c!3=9GfmEd7x4p;oaJN1zqBl`C( zc=@#QDEm-D`g+(m0hSDjlMhKAL-A-^DMqj|n zr&rj>85|7KB=r60tBa5A&%Zx}$0lSmXS{!;Yl3I|GJ;9Z;Nk<?^9sGT`o^b`VhK48cS`R)4(w# znvK7;06>*M+i3X3wpHkzhBEr4Y%B$Z|DH{x=GvHPI=)Mq*=tjAT|jNQE^`xc42_(| zt9^o754_+nQ=$pH8qv{UGz!@nuuwB;n=pkb$FYS|@)(NP%y(|OCE*V$G=EOM1~N%W zD?v0-l!LTO6b`l*w;BLOxzB2v$Oc@{TWr0B2|WH9FOz%;AHpQFvp-{^G-Nfe?I; zjZJ)C;$3NL4;sj!^Ar55TCTdA`OZZy6DaVi>MrZ?oO-KD^_GYrjUegd6%#mIlhNWE zy|*A16AGw^k3+_rR-RpX6xm+LH(fexVOx-jKpQz-CGZ!IPWaT_T(_hO7zyhM1SIur z^GFH9zk-Nfy|h#BAO^Sq&y9{hDuuACFFSBI3(AaH*i`ggbwz-T$FDz+S7E~Z+!~4p z>h+EJcbAdUexmr+6qb*2y!~zAo)(z|Yh92rN?9+{HvKUq+{RyY2x)i3Qw!p;``8D# zC(OWj_jAKc@Hsh)qj^tp9nS@VHmey0GdB^3y?GC!KjpYCtf>F&!e)fXYOl$uOjVML z9wP?`o%H{-sDPK%eO4LxKP?(ig-$P~1>wv2nw7(HdGDm}2n;)$I5Hf`yid)~!sdop zjS?ZM+rTNg*w~KOgrh^$vu{dAhsD>}`s(T>#dI%r=6nUdNI*h)9d1WiixLNv#x7u( z(38Av{r!9g2GJ@06B60FCUZ)Kd#3G8A59^~z7}2VO_|_*yh|f8AHjTW_qa;;bh|PY ziz28E9R_gCpycx%iPA9dzLk#y*8nMpjXz~d0&v%7$WUFv1VA^=6+w8=faK3Y!Q*8Mmq!{VNaARNorgBdcu0!)0ycTvaKWIq;R)#nYs zgc?A0oZ8+&;s{64lN$fobc8xy6{|)wvOn1kSEn-+JOx}4(g1KvB7L(tOl>UCvEJ}j zyc8ZhB*EWtoMQ_S!F(Abyd&P2U=DOm#p@n7b;dKx4Ixaii5~X6iN15V`izgf6?6r;VYg2z2~r ziuMrrC`Z;<)DLznq~nJR*v)Z7Mua)4r6R_{?<@swyS|A}ciKW~2xJ>Gd{$=WWfzGq zh#?foQRfo*-vrYnaZs+$j;<#zfzmz3SwPOufQmz$e0_dxz61Q2r4x_di8We`@M-Ww z@0;1EY?NYFT+H(B=-82#EH1v-jJF|l&@&7KrV+~fhic$8AF(rk0lVEYlvSfpcoUI* zG7ek5!2T2-C`%5K*h%;rooY=c0Wy#alkUI>{P+3XpIgCiRRylHr2Y7TAAS^K?`Mai z{*(IK9O~ZC@&8_cF4ts5;(j$V6L;5ebvDQ1o>RyuQnBymGUOgROmaepmQcC0_FZ@M z5+wa_5aX3~J0~8fU_ebES{UoZcujt{O_^wDkJIK--3aFWuGq3z>o-u>oY>5je0=3y zz5QoXX*O}a&eVy=k3_uXa`FB#?Ex0y>#nx|ZL#@l_qM+1*<^I{3jBrm?K7Z|;4AD_ z%>5?qoTi^@$`G6<-n29i$UbdXh`t_QP zc|VS3T9*e_9@)xk0ZqXL)wcPNguFS}6g=5TVckN5_qEU5cSi#Oe)m&G>X5b^kX@@} zeG8K3stMZaBnae3|DcNmF!C4)*W(K-guTO66JU2V5P*BZ-HU1H@pZ=Qel-JUY2$AS z4AijrsFm&W2!&>eJ1K!as)e%XU)(!=PSIb42lz(N`b(h`Bnf4~l_5 zT`{2Iy*)9IqR++qLcoX#wogM}>S*#@77oGw(6l1Y0!Mob&*YmGGB&ljRK2AZ=um|C zeHII0r0ycIa#wfjags8CNbw5B>2UW?Tk<&mP=dGo>2Qj7(!I2@4ju3YG(<6ct^JLe zPK-Vv(;0sU?ORC~%SdHX&`X_0wmkRb?FWpRr6wYegKJggMd-Uszjk_NA(Ukg7%FX4 z`DGz)R{MPXL4TRxgw!8q?8L1tN}h1Yh>F+}ZRZ~>F21p!+Iyp~o)lGQJokT+5gsxIUpVw7|~RBkJ~!Y~kbQi0N-nOvWiJ z?C|Yj;9ePEfgXISt4Wsl7<=)5^TC^sR10BJ&lUa(KdFlw`1kTj*q-LUBg?|Gp^fZ!`G$_hk>BxX zmLf;VRRM*nQt{Im@4G)Vk(8h5&UL>FV_l()k_KmX6PXAMputL>dsO70n2pB=YBbvp zAsP(3QR@YmzAQ`txd5=Fc>goRW*D#}5OkZVo#2L*rj;x12Dh&jYGYf8{%1^Tvy)gb z!Lv-8E7WD^_4nccRA!zP^=)6NHXk!V0@n|N{0`8)DHI2t!5Nx+dN^pQP$@lfHrze? zVlJn+z@^Z9kBDrTD$yBd_&<~%qnSD&uu@oUQj9N)roGStl9DSOv4Mj?LZI{zPw9z%wzmc5o&G^ z7IrZ`thYDX1$Aet!hio#5+NC{FDp`e@k^Av|Gjk>B@L&4&hUizr{zNZ#G?5^9G}?w zHC2e44NYXczloRUfE6gfg)~sVAGX`eMD#P;9G2Vp{k0U<=KWXdeY~OodIecY4-$Z{ zk_tuyEd!72y65G6sYPX-w&dYqNU4g)A7JTE&bZ|pjR;Qthx-PBAzYfFIBX{UV%g*!m$c&NgrjdmXOeD(LJsM-WO16}k1~aFBMx>GL z|CtK#b!~pgj7SFT<+`r<4i8xbbK-uA_^d#2B}QMEYZ@YY5B5&Q)rqMfi_*!5Xg0j# zdixdqywxn}%*0Z=6PGhTno~$~bSz8UK`sMm@@DNhR|iw?KuLctdO?%w5b%cYW1r$Y zCVcJq$V2suOG#Bhp1zXj5=7WcBHewKlfN>azL~^F{cAQ2MW9UnioVAv@;c#$A>M9H zzW97i^wnstb`aSw){Q|b-W(nC7Rw1`R^Le$Rrf7Gq>s1LC_E$ok*Ub{;@54{i)-#z zA1zaB2w;cS=F|Tt_x}Dz9>@bMJ<6n~mf>YZaOIa_HEi!a%!v?V8hjkNK`f5apEXQ% z=7Nm8FPTywoE*~^uwR@IfPO?Rfi)G%T5Hv}XZJuw6x*zDC!67|$vzXi%Z~o%(}aF< z$x0_VR5SjIE>Ft`p2y-4ILi#Oy?GVP)7*CaT~FNa=rh2Bv>9mcAiGx>+&OMgjoMv5 z%eDxsII=rpzKs0*)|qC(?lJ9?r5FOY@t_tB75-pN;I)JzmNF!ulLMp3&v9T))Ur=U z-@s_xfQ{m#m#UojPWC9H!680NlAWU;Ve3jpW|9?eKP;*?Ugw+SV+ljZGhDP=9`iFX z3vTR(2{*Nu(gb{C%**>~RhBR+cp>%p0=dw;&u`1C-Sn{JP~vH?X;4f@-F^vUet$Wm zufgB(%)ogF33)Q@AUt;~U~{RGH2rFQ)x+wC()&9+z&Ts#)F@xBMRb~wYG_GAA}-&_MMTZ=B8|cdYHJsparC~1M`Qh=E3)*At347;4PVQ#TzDsEwCIMYXZEbcd%rxXs8B2 z*xzuTN6VnT#6F(RyBVOG-YrBA#CA+oqS58KiKk}RPHKaqn1=3~TYwEvlOrEGGy6}D+Wh)4%2LL$qXR_Y^MGCB-Z~X$ zPFVZkHM!Hh@nhV;ZOD>KcPBqI{QGFQCsf#;CS$jDeDQ?&_D*NbS!zOQ<^95vNhu5n zWngbrpd*;!bB!9_n%W~XuGPZ2>e+7`6_hM1R(f9&lw9)(1aU{Ir$28FjuwvzGZbEE zWvV2H+EYYRJym<+>VuaIavDY66!w?6gQ-wjOjOnhi7kW6+!t?G=k&x>qBK7cu}p_; z0Eza|sd?^L<5|ta(b8wTjsU?C7zV=5o~n2065pbHYJeG@Z+L;9Qbz)xK@1;WiO%Zh zU(9(^3DEPU{|uvEWrgF_|CI@gU;9k7;!AS%){=Nnk6#k!$qXNG}0ux@fLOHzu@>3Au3@I(&EpF%z3R#~_d#%q9~2RfBgKdnCW-ZjYP7M{!N=(*8vr?J*Y3xeaED@;^alh$AKd|r( z{ z`zzv;Nh_W|D{JC2|83vvPn-Mp4ycSuxV(WhAn%V{7#^ZnaQbF#1CwAgmnjBWaP>v; zWf)%f7eEhr`SEL3rJt*QKH*W@fM&z%xPWHG>R-%kj(|wqK2VQ>4cf-X=8bJ@kTfl~ z^QWY~$D~3UI&^l!80MP?kv+-O_a`=&!KOZ99v3OkVY;o+iV{OCZdX-YM_{ipEy+1|AmQNs%Ng#C^TkER+e%37dK>Dcgw))n$ zR<^3+3Ol9~eBcAgV*emWl>q4y@OPZ~7OnwENsvEiI-ZIb4p<8tQ*!&l?RNK}v`T1i z&GtnC-q4v3hqjkx%F0JwG;{ORL^A_2*R|bR6-v?v&`C*|UfN%-j{+Hqk65D;40IC{;$?Hm##j|cPRjsXJQ!1^2vBp0GOls&Rni)q7n04|9eM@ zVkac`-14BLH|Y;i9K@k@{F#kMj3_QlRdk2EYU|NKc*gWe;Yo=9EamE}7szeDPRsxI z@x7nOyf>zBvzPbdNm&#? z!6;;$1V?W#tbYf_*q)ywXGpldR^$|&RdN*>V=m2NI4KEl3$c}71E{b4GiDO)7k(b!=>&AUUi}`lQ7e+z9RE;R033glx zBlzs!dlf5HT;VBeu*)3Nc#0yiooXms_Yk3})SoNw*(?zm`tueotP4t>rNo0;Fu*Y> zD(dM0iXpA-cMjkX;~$t%_rZTGkKV{Szw`-_{RQ@vV$j6I!hXDfYv!9nQ4RBdBG#FH z=u(>i70mC5En&$DDCg=2B4AVnG@qn&f;ALyoQbPECgvb=&ccKFjvk_taQD0xQ;VCw z!=q+r6iE;ks|pcu;sNm{SXY&pcvjCP7obtutH$d5O4F`n{r&WdW8PC4WFwuZ&z%PF zx4>d3>!<*n*CQiDam>Fv`0Un9d`>My=*>9!$MQz>>aMf{)tw;h`2t?PxH^ut&g$vP z*tm7>RAG~u2>PT7dlBaB=P9(_1<7@;Bw54S)zUWMjfG8RqA~ktw#HG~l0xzS=3T>B zF%8$22yT$}_mH-huV!q-gqcgj=Q6AR>jnPerjK=UJ`a?F|G9Y#x|B zj81L~^$BWNhz5yCgA7k2a%gUijI%TQLkYg|N+=(k2a$gJJ8!%yt zfXX3Kt7$qL@LNEP!5incN@}$Vww#RqQIW^ZB}wdqR_;M`I`-KLKhs0R^gnY1nm(;{ zG+7;pZy9oKn_^AEPW7yW+9jD0He;x{TK@H86`kGXpbNzQB`EUAAbF{gh1({mxQEz1 z712s0oG{M}f95nOmazooUjirn;PMt%pK*J}U!2CL!20|2R`lMT) zCR*cN39zH3=9YP#;&KT>%V)eWgd&8J>uzt-P{e~WPmTFAWSlbWv{*S|1Om52)C^Q5 zaIAPE_8{OAqM?3Dy*gO&3h?!V4~{-90;Pyl&369qV)>D!E%9=_=7L`&DkQvTeonw- z;ujJurH`?b+!%m5Dbi#r{h9V(0^5g^&Em~d>{)!O!5E&%G}~ab@_xQ#i}$! zMX@WD+JL8kZO8&^PIrc17$r5_4%l-^9v1*8~<53d029Nmc_BcgJ5? z581EvlP<{7ef-;V7%&zX0#LmcR@G? zY=JR+uiK$UwJ2Xen&CNsKL;x}5rf6x^4NDGjxK}X8a1MD>YCx!dsFQMT%K$(Xa3K+ zwu*qcs0F5A{b?}|Y@2)_ z>FDOqZQpYYG~`e|ycsS8s$H%S6tLEbwz6S-${$*ZZuEV`gU;#ukj8U|80foY8Y)sB z3_BKvxttuE%Z}1t-sECdO$yL)9al6e0CxNqJ)Gs_g9Eh0ORwdp&NSr%@dS5XV$q6VKh_#|H>GNl^J z&=PM4-z~&U>u$)VM2wMh-JX>mo~=x5{+FF=6misB>2NDxg;-f)`(DkcM$4!RxRX#c zW?-NgLQ&NB82|<2DDG{XEvW6JL(Fh3938Xz7X%@!+>Dw0i3VFB8uU$VYi-4kiV5yU zDEoIl6F2P3@S;cGSH5Z6f5n7uJ-O0z4DI8D9JJs5ZTiPgUI4Y*43+bKGAiP?YwyKx zSv8V5wr_(?o!q-TXr9z4_??e4U*rcEc@b%8La^RX2TP`(;plZFXQz`YkLuingiF=B zZB1;shb&xjR*G`I6Z>8BIj^ zDv-+DFb}AS1=d;erY6TDE+VKCMHy!p3NR8V~GPU|{sBIz(*SbA4X6;$T(q718AX{n?4 zd0hO!b%Zk&Z~Ujvu|Q`KqoqC90G$1ruzg(y6BLo24;Zq4IDyJ%LM=@SBM}oFuU;O2 zfxf@RroVqaQd_R3tDX{To7KsXQs(3dN>=1gTg)e-m+dgl8~h-vy$Ib)jyMO3s;pt) zH9_T3W-46UyJjnh!4UF^wIN4|&U0E+CHXv{07P@TjD>#XaCrPpH|NM*m%fH5*v*QD~`Jecl-hTH2Fwih5Z47te9GF=Vt; zps1%H=D%hBy5?+7T&x`t>`dXA=~zC)?OUKX00uFtK+TI~w3|jE4(N59o`9$z8fc+h zI;PF&>;kpHuH)@+OZCjxos8~XndzNY+KxvZ3)nGUu9eGN5o!Aic#~s7gY)s;QyZ~% z8ekBWW*c`Qz^_ZBfeF2pya8eeompHC;%3GU$U18GPJnkIMD$Z+XKT@2e1!X)3Kbf~ z6qu(R=^L`-dcJanwdu(6D z(0<`)ew2l-XYWviznmHWu9iOMp~{Ch%v2X7x2>erNn^SENH{f$BGGLGrBsF+n}N+7 zWvkTO>F8kHt^6Ij{}vaeuhpn8C4s8Ia^C86Tp9jm-Crc4^R5>s|9c1RZv3zD4$Ue< zGh3b*OS%&a)R8$ZF$^?eSW;h;&6LKJg&h{1Lz|3-KeqY2{h}+-;Z)^UROT)6Wn|Ii zt?tv9@A6RbsFh&l1TYURZ?#@Sc1Q0FaC*euyNjqM^q;=Rh-beW?mv_}0%1qthVqu> zCZv{o`LqG|?H#4{>mvArXX9R(c&X!TioL#KHU1@_5%J-<7m+PwR)}^RKqnn>$x5hK z9Ry>feczqZ_gzj4izWhR9$OT zF9m{LMQwkm<>ms6t1;Nw;XTh}p;0DqgZ~o6G{IiKq#MHy9X+MyaowtG$XLEdEYsv+J?G^Je#}T@!oZIG8coQj>ZZf1MOhRtT+X|A|(50&HCJ zU|?kL$&O8`=sF3L*QN)R#168eUX})u$yv8E%!{sGKgd6Y_Se9<2EULE&jwsWe`S@b zqLX;{^dOuupPJwHZ4UaiVI?%YjH_|u?Fbx&Ne1xBe<`hY?djLy?c;5Hj?1m-hX1Yo z+te;=oZ#M{Q?{Bm$<;?PgQ02O!I|3Gp#dEyJnp9oT1wEhl=tP&08J|49ppmU0#ot8 ztSFcWeR3DIs`ob)wOQzBP?pOdG63qPHgnlMVr$v3I!A3OLA0A9uLH}sLjAcVAwQ*7 z!TfbQ9qr1K2R`=0`yp)q$vCw%%5`3QcFNI=nlO#=N|X~(FyBW~=V8?4QOyBTu^9qt z`)L$y4>J#U3KT6F&@U*$)Of3gCuJCsGeI@a|>-eAsOkcNf7IR`MTNQu@Rg@9m8A-gZb;{<Tm_#OiGRbv-aZX^u7T(LM~ri(*=rG|`0(SecYu-NaWS;qastxeh?DGd z^>7_W;eran{I?o=(pi5Y!`kj&cD>Ho;|OXf(iY*yr5vBx+(|67Y(#u%`#vvC8sZ_I zm+jd2PtouLO(V?2g78xiQA~7diRE&T?J)p;VG6A_rqe0F&Z`7@8nN`}xRm?%8`FTD zOsF=Yp==7SYJt_vNd=b_34L%cN~WWJYzeVUfy)=-oQ-g-Nk!;nBN?D}mui8*?3=+Z zWj;XhAq;v{sz$?=wJKY7PXCeNImqhjE<>U--&b5~G{c8`CqupH&ez{T{q2jZwYBFG*1rYgQu>}$H%Hm^OKLUgKfh4B zjsJA1I+Mjkz1NHfFrFZ)Xuk7Cpd$5a8&EjrFrWxA`1pgI5}T?)A3>sJ4LR~!{%WbF zJ=6;VA_yh$xau65GiO@!wWxQl6)2HN9+f=`^?Cqnc6&-c`s+f;c_9r$yny4VpU7rl z>@Bu)1#S|V_OW`3lf2@zU~g9$_oGRCBd@~zfH0mvUwS@i0B2AU620Pp3B~s$IC;%Y z2XrQ~BVu9y%Ix<6<3B=9kJ*$AJyYaIBdzuHOn~($E3-4<0h3Oc7XNEppa%3k6aNm< z1hj_=oV{#OB1c&-CkARL|gK9MBYpg4X^1>dyar z0hX>j2QyDzPh^@F)ea$RbLU2ph3QObhp$fUF29hJmZoUWQFPQ?a0$Np=9JHOXDGBj z_I6c-;_fIb2w*l~*TLSG+xZvWLpeG>9icD7YK6y7E6Y!s8WBLj8k`i0 zxO=^0B;=9EXNOPx>kj}<2y#8+!EW~*ww%#gpC_8VIY8hUPtB)Vt(9V^qD}ndQFN1` zrwW0$rUJZxHesz?wF2bMh>v5GBrh&^OtH?fjl!a)WJnbZIX(P7MV7Vvg&D{%&Ak^0 zvc6 z=HX!?Gk0g_+qIhF$4@P60@j3Uplm!C0<;`am=2{~@Jb~3Oq`O!5D*?oYZf?ank3PK zaG)|1UZwuyYV+ZAs;ir}e!B>-_g zJL@-$A;e4Nm2Y{Sb6OkOPlr=3j>nKCVU&?T@kpF1Mc|Q7*|kLy(Y0)6#G-z7M#M$W zjy_f>#n#1A`uh6pbgOU-Klmj2>36tHXm@i7#EJd%-xKUwV5cOiFVQj#%<3;J5`Sb) zeDY_W@K}LU5?(9uXOdp;FGG{J-DS!I^F(~V%Spu$A%Q=%<5N988(R+Pd`2r7x>lnj5=WPyYxY;_ zmDOwYmS8W>1iPMs$o;u*hiA4dSSVi{p?`QOAW0`MZAmK#I}PIk0*W9{Sj=#0P>NP! z$@uIAlUEBj>kRWh|9kIA7e6BZzuC`O1a7e=CYRp%d%m)Vtf2$wM}@8E;*fcy6Z7Z&$D~YzG8}o` zmUOPxK<5k8+A;Wk>K%4xJl}3Z1 zFF+vZ6bE2MjQrYzFKd+$K{~=0}y>p9sh$ex)=byCV0pJ+H9MAG z!Otf0R-)|u-S|^K-7|>u!gX{mP_9ziP(hRT*v0ExbUM@?XmPpl9 zkg)5dwQ`oI1V9DgyqL#h%^=YAq1$=g$Zv)fm)DeX7SN|n6do_YJWqFgX3C?d4kYem z0OO8;r9Y>S8Oo$jj0KA%FI?gbQH^po2SsFPjJ4yX;=0f3oA(rn+70 zoGQ3qC_)GUV>fuga7*BQW+pv}{m4B$eIvre>0$J`Lu(yWTV2sr5#WhatYfiFOV7S# zSM3_%u1U5B^P~JDMhelyxGEyXuet^JNn`IlCF(Y^EzJ1h?<`N?L^oZ|wH#AD*5^`F z^UW&GbFd&BVl0vRb^{Qz#eLTO`x&#I$8RW@XReX5B&3Vj{9;xV%i6PCInbCoFa9Lm z2>K+++SrEFqjK&vxrkPrP)D3}u%UVN86DbrA+5rm-|VI= z@$JWY>GG!^yrFLjRs5&J?= z<%5zb>}eJnEFI|o&Mmm-m471Oz)&f&IbmnR@FC)HaIAhhzddbPldZ5FZ0KdGXGZn? zrgQl-yW7#K&@u^e)0Ue7jdEr%D_I}!C}aF2f!pitljrasI0PXanoXFu2YQV2S2uT9 z+nu>6%$T}WXvYMFnPD380ztn0V8$;vaJ&Nc-PTBB>t_9eDr8S?+v1gZHm@Y{!j5_x z>#-99`-xZth|uMAExW_>{B;xunwk_xi>N%FC$6HGaNbaF<|n-B<4cGrBBDH?YuFSiEOz4c9(H9Z93*ObLs$vLRW3-{Y=x@dDZKe%;y@)fjjPFgaNg&_P) zIkit@M8Ibr76Ww4=auBdcz=WYr%op8P~AQ%8fM+pD*#?+(l>yeu}G!BUq5iBqU+cn zd@DXJ#UT%-l1@aQs;d=?w?JNpyOglAyr2_-uPs1^QB0|1VlmG?PJ)lN=%C|Z8SU;c z=gP^Xm|EH)_vferL5CfhMXY9w*NeyuSGJSFjEeFozl-XE`SQ+_uSJmC0Y1_sKR2|#cO6|v;k`ocSip{ zb0yJvD}mCQYAfj#8P4s_OGfO_`w%y@XCjF}JEV=8rx}Xj5_5&ZO_H!_c9VwRBP(ZM2f4XtqUc`L@PCPg$qXBGga)Fh*XPv<4diIuF8P%Wxd{ci`!cI!0iS4GTGCj&hR?tncD-3x#Sc>3FD#S6wp z7x+?1bdZv*>5|jfYv%-l4m^&*OkxiI=Ik!(ZZ7tLF)dWpJ^ym3bBS=)-bjMs5;w?Q zben}*lu$33TKsmlHo-(*%`@*}iS1+7-GNrdZ?ljz3Jfd+HDrgl;VR!w&3J|58dfeL zsAlOho7r7my)S){m)$NMNnI*FiVDi!z9-}=kzG1vdnKQ%;P4cmjk7O>N)q$$Z>#xQ znM*T!LT*)jCrVd%SBwuY*4vgTq1lNKYeSi1sk@7_mI}2R)?PKVU+voN2w-bAriEzv&N90pjG(W@#1rPZA5m z#~2t_S@JC%TYtF>%SBBCX==6M9TLe|xFwuQ>2%%iyPt`_keR#L|AyD-V7h`8bR2j?k)y1DlBdZX57#UP(Cb=mb-V zfYWWkg`2DzV#xV0dl=LqzJDXXS} zV!k{WD6IBeDUTsnRH{>857o{c^1pSse~NQYA9~Hqi0g_I?jNpLUiS)8=QQ>bhDrm+ zkx5re?&62(^7PANGsfH(4d5(J(SvN7&kbFso1|-^d|y~1htn9O@W5k8(C@`CJ(g; zR$ju2UgIB-ftlE2U>CWljYETG!92zjU`B>a&D0qQ>=Md}C(?v)WWt@tEQstdya@di zao<56!YVin1WL4MY)C&rUZLYJi*Nl+)$Uo8!W$|e*DrQIRnujO3vivtD9xcF{s@^| zvUST#K?$9jzr9EnyGw^3;F=kxWckBI#(~xMDw{aWj2fYZW1W=sl{S0olsigIZhMPP z1TD{Tm(bg!cIMbqES>>hPF`sr={>*xjiWwqq^67uDMD~Q)wqAe;VvA5gLY=BlSy>tRFkvJGva2mFjA59OjT>Ufg46FOPl} z&E(y-woc<~%lUW9zoVHv2GyA?_+*A$j=PmW$HJrOZY`;lP8xhKpGUU@h}Ob+8t77p zA_4=672kjRdklIqe)Lex{K?~ub#)U6IPzA5@qddv4Y0gK3JCkGCF@o54c~8MN76^) z!1HzsfT2-;$28HN-R`-j3Wg1^ocREUy2l;J&@{rV^ZWF6hS8QSr*EUoXX|u!{T74b zb)ShgJ*L7C{x_y)I*|T-EH~~Gd1K|rT?6&9yzD1+bjh}~o?;%`?`le| zvIm;uQ?^&#Jq$F6O;syR>A!tW)psuq#h&j#PtQx5)p@*0AU~0gTtGCiTg1tz;|KXC zvBo03n~-KjG062EIfTYzf@>ngtahS*jwtPdlBU0O)?DwYT7|1_kztEmtfF9o?x-)^&W_l-K{isZQJSUB zQT9~*EQ!oPKGT#-4`&*WS9J?N)(`YvtnK6$6%t^+D-F9s?hWERaa;``(l~G2C5h&r zs?f%xxODFW=h0ud(hH!JUxpSk7wR^vEMu{OS?J*Mnz-WGcWuNWuj~6zf4;h-#++gz zxu9j-JX@JS2jDpwqq7wgOEbn55`&`{k4|ac7V~W>erT6Jh;nc1r&oPe-Z8&$h>Kk;?;tHrDku=7_{p-ZD}tYYw)>-=IJ zRoe8+ZnXCyTh0Yfd|y)FHkinFH-ynIF-rqG+=;YOMz`uq{de9#JK*~!EzqfaxbEFz zsEcvm6x`X*##GjsxSOToM)~b_D472O7)=q_qm;thw!mT7JT3Zxh)R%OQ7+73K9kYX z;R9nwKlfT({_zWlXPiH&R6qOwi=r?QQ_oHzY8mvTTkLO;ZR-tUsk}8)V@J#?}HN*VC zxq8Bv@(7cyw0pV~ODZ;|>n-CjvcKk`SoueFoo$@AfhPgEzb!m5jYw|xEH0$bKP8}6 zGoB~;q($`iB0Xi^(v~ci<0zyUu&4KQ%~uiT3BgDDC7hNMXXGiy?Q4opdy%$Fe^$x~ z4?|ns<&M5uNBPN&AgZd_{pw#nMvbKs;=fCToypD%wj49rKF7oyRA)$Fw(WcTXR8Jl z-5oIDXX&pR+2(`m;!#5Q(H1|&mdM&t9pos%U~@^{7rohHXb{4k+{Wpr5Iq?op)7L~AU6W5sSn!n-SCk@sFWqOXC~rOD{4J@vNG%}NgM5;2(u?y|&StS-@hvXb zB0xvG8+icljv@`$UcR;`3P`+Y$7SIc{UP_;E;k~kR!pcR$4<0qYyracA5c=dWSj`X z+j;LGn3`|N8|Z|tsH-Dz9g69c+SAc*a^uxw`W-qq*F(Ps+jtlN*FlNE`csZ zb-W#3Z&o-qF?c1uH7O$K^qsjv$GQi z)Uk4*z$10>k;RQaIgSW5O;pjPK^-1WEJyT8TI1U3hx`g7zQXpYS4%zC@CY#wzVGDl_IZnvP-eEiOt zKfE#d5kDM5?xkMwrBi4!=5K^|siFNTX_Fte_@4R5&{!gaX*PARVbqI&-iS_OVM%f-t!;E*HrMv zxM)K?bmh|&FrmCJ*sF7SKeD(f^4{e0KA}OJV3SC&E$OQ1W+(YcJiT;^5C5YhQsMinI_Lk+P(SKp5HLpMF_Q`<+F?L}IbSdP@x%ZWu1 zS`^UKN4H-VR1m&mk4Qk_D!lPKI<<5rQ8a||TD=;k^$N_QbWl0#D@)O;-k_pN-VU*R zF8M}li?>%O7h^V>Pe77596LfD(yzNHDG+o($Iq@qO9mi(57ye8zfMI>7zfR;C}GQv z6-+EK2ym&0lFX;$#|kPz73TG~tB@yxXM`|nh$Tp}E%W!!`etO;O1gi;Pn0je1QltN zTUO4T05sJez5F?$F*m^1pIHi(q7wiSiwJwwcVp0W(O+wBqi*(%Ljb!HlHl|dzrXLmCtmV&NBf^QUIdAxaFU<~?!{Xs82A}7?>bYtUcPP_NE?{COS zVL13c8>;(p`d}?qObY)er>s(xz&%5>s$1;rz!;YMZlij=AH2pDH7po1zIMLA zbt=cdcmG4vSH?x%K3^{#E{$}9gtT;bN=S$T(%m54y)+1@bclo?Dc!LMC@BIhnxZA1HK zdD+6&LmWbJ4`ATxD=)$+-#$d+M>HHphFU@SDs^>hosDTS(}Qc<(y~(}8N=fFonYTC z#5gO#aRb=)?I__1bqBF(b6~C6p;54H}7b0inmzz zNN49iSPP?j@qi0ZBPX7LRK>u^OGb^^94@6OqbnJS<4Ord@mDzD5yXOCB+$JtU%Yk_ zP?GNn#P5X*fTXsX#da8iNYSQ+TYeu|8bAku(g!w^$()OvHJaWW#? zw_GsU6r_%hA=HhiH2eWtOpRkgjnaz(sKM0I&QV>p4}Yz#1!TskV6=iNy(b!WHojGa z-||k@2XMQ2sU^~gKn5gine|<0u?##luY`zm))B|(AW1>^^!b+o$Lu0!V|_>K2JD76 z{#kf<@<1a8LdbL>kp6kJrr6>8{>eX5XEW~LE_N>r(4E^p*b>udWSZNg4hRQ%R^CNM zIi$UX=BVU~`COX0LXJ^0zfg94oIFZLamh&6B4j5c+G4#_(2X$dj=H?%yb1bREERTK zg@8)&xg;0XZOz1_U}3EQq+Oj_IyQOw386X@leJDn#p`boVH>5@9k%yK8+u5}S8OG! z1vLBNpX6IPXc9r5-HFS+4(Rh&{W>Xu^IADUPb9{>t5G*$~}bqGm!_Rq_vS`GYU zW8hCy?NCS4(LG7t9abVz2}ANC0Zb#Sm|9IP@yaApOJy9t=39+kP~aRj*MrZophC5V z!sdkvE$cBmt2iOaEPOm0{&NCMF9&{Jd-Sr10n8hT^VKv7wbs_p*G$?QEp5|?{Of56 z`PvsAaCZkH;;_LG%@ETf#O`d(%v2V~AOD0BE0h94$ri^%YGF>Z!v>PN1=~|i#2_#H z8PN?4!*!cPG4PO<;uy(+EFMvkVk9HZEY@xAbhChqQ=miNx`cyq>BSFuzVe%JF`q1~}L81RC(2t{ucT;;O{2TqbcA#5IByFDr77>Fi*pX%2bb|GHN;FYRP z-7Lu6H}aCRm8sd_BcFa;88u=~mT$$1WD-~Lr57PsW^G84k~v=TUb}@35ScdQAJ2c~ z2-BS+--2R`+`I~V6UXZTC52Uhw9d>vFjV{kqhY@rmHz%nYUOEGw!!sQW6OkycJTm# z7fNvi#8&Xk;a9-= z2s^mG)F`yWRYf;3+0B{)vOAPUFUc1v_Z%Jl>bc}B?YOE74K{lr*4 z{#_@`Z0!;C-4H0=AL99Vbu0HhA|(q$3vi5K6c91!-(e2dt-JigvKtat-vG_ltZhQj zvV_m2QtE72yUT2xz=}TWjZitYiZnK~jM>&t_L#A~bdrCc>JKoW8scI__0r^&0Hpsz z2_7W`>s^Vl`MfZ|5^zdV+ZN%D@3-inp_IE5`Pp&bjLLHLh>npdo`Ft^))bHsLj7FH zwvV&Qw#>bJ|G~zC|E~U?Lo1kXBEXhgn8n}jLo6_W3rN4(`W4Udb%cz8c|W6MdfYnAc~7Oqoc;kPTgUY| z@*KP%WMG&);(t4%v2hvD`ePKqi);_!HkF?CQFA;m)`?`tU5cfTf}aY?FI9x|OD97t z{22RJy{jpuaf4A5L)ib~K@*0A59y7zk7KE4B!edIA!A5^XWeERLxYt+{`7KvB- zZwlXZ^%_dvq~~Y$^MO4f{@Hnr&;(J4-}j9J#*ig<3eSYD(?-sL+h78FsXu```C zSx<_nXE=gyLzj>sbC|Q+k~f=##HjMrlx*$}r07R8Zs0+3!1epEAKW5rLusmg`U#9GXjL)+7qVr!d7UiNmkCd^rG`~gR{K*(my^k}xJ$u_&6Xi~JV z+?7a7zV`!w;Rxt0 zu_kY^!g;eRKIPBAP9lMdnubo$&N_cxxWC|mZ>@zkd4e`U6TVsBJO0@EP}pL#y#xLX zK>@C^(ZcQ_CpII3s}|TCMJ_?|-Y^)CW_d4%RDm4AhVFAI`ZwkGbtR=VQSlQ~6f0Z5 zz|Mk2U5s zT;hXaOihHckMCjLW?Y`WNT!hmJGBGAxym*ldqM4qG|I711a&1Y#%`E+zY;2QiL2?m zTofC=u#G+*-yRr2y!5%k5fh^+H+jRjtMW1J*Gl15}7;%jTD-f7hTK{XlVQv0urkN?{o9dR1*zk-{?DzFl0&{us{fF1gJ zR;L)XVp$4th_IO`&a$k(l6$jofOGyzBLLk_rVMEb!MSlov8{4?%1CBuuFPp1w}=PD zaw=O8RRkCUQHx6>^}uf~Xy-QO(QIKyF<7%q#DppTeW3r?9KacN(n`;gyYBsVqmw%C z{mqmlhwVtZOPXoAj~TjqptP>B!25b)DBYHM^kylWrm|Okk1AGy`Ypejx|?Y$j6pxo zYeG8rl5~oB5zU9uEB)Y$gQQxIk|{&77n+=ne90-35@|&mfbz!xa_4++A#jnDo;$w2#9h=gtk9Z1;vZ8NoRada!g zg%5ZS_S@nB{qoSv?ASZqF?UYQR}p=FZ@{qb-Ff<_V)Vmi!qaDpq~Y0^XMYLqy=87H z+@gRhcZFS_YWpwUnL+K5toittdFRR0+POX&eJE;`8 zpGjwmUrUbG4vB{S;u|SrE>c~9FHoI9eL-OflE{mUoVFh~e+=_i^dm{Dw*slJ7bG}qQcVBHrb&N#@N4?< zpbfg;e(6%1Ma}`Z17d=02tu}%;sy800zecv(EUc=>}NjQQd4&!V#!R!OjKIp@t(5T zLa!2|$pLLz6VP+V6&H1WkwqK2IdQnGmaX??!X4UCDk|t^Eh+;04u;NvQ`eBf3_j;`$V>QHi9dTM3J>7TS)ab}a!lXNK9%4YG=! zM*bc60Kqg2ImdN^AYtaZj;~I4sE!UlCc6{I)+3euC!5T-Uu9)ec`Yskpc7dfM!~lo zAT046f#{$X9&yefE8eXCj+a=GMqwoK*OxMqw5FfG9p>lspE`1!ICu4rR1O|%sVw^L zPyQA(FrZ%bf_2YX<2ED-IiZSIW(}l@V4zO`GsR>O@;>AEr3c@A(s^9^gR&*Q4xE;P z`I#B9AkL0fSCPzy71X8W*(%E8k&TIxuChYW zoc8|kyEGVQRw#gW9$x0T+A_$J;PTaWs4lf|(eQ?I>6UH~-jH;%e@J(fz2l-*bT>rT zQho*-C3*$*l%J^O1QL)K~ZT7lwl*$h=D_vTJxNf7Xf0}QRX%>EY`;ws` ztm{Gh!<0Nba#2kTx$nX9;TchKqvB`9^`u?&DPqDmBG<$1$N(u`0DOK??n6X%nG)gf zmhtgH2lFVqo#Qu?r6i*+b``M!>(V@rvg%S`%jG~eJ9A3p}0+6LCz z`m!TOyv3jAPm2j;A|f~HbP|p@V~31E42$cGp{zQnI_T0xo%0KweTT^^X|mx%U27;C4R0HqRp?DwmPa5e6h>T|fiS zW(60JhXrC2&wI7;b+pfjVKN4OILLNv`MiP&8l zreTDu1RW%_MG#A3kSe1-#Tcj-du9Yc^r~E5_bx6lhlI8_Tl4{poAUF@lsmbjXv6O0 z#;M*s*B81m6)3u~OyQE#oAG*^$0lVC@d|#T&Q$8$y+)j}kqoRLCxkO8BMyG0aY>=9 z>L`k$eRKh9d9ao-y!*#EQEJ}6N9EM~CZe|ssvHw{?q*z3VScw)2%|@q2PihoL|^zm z|5*BE#_RNq-#c4=B}3)r;gsoT7w!yfOuES*5I8k%F|~ToJ^T1NIHY3mPSle!;ZLJ> z2=cLxH)o~Gxf&IFY&>fY`)qmJtDLBLP`x~zzkh7b*ZxbI&Z4xW?)0-@^Vi%23GiJF zKYzE-+q$45i0@ifoAB{tM8AJOhvi#ID{bbOiVdnPKpyL9fUuXaH$JfaVatItU;0@3 z27AFIDUIMcRx-2%kG;Q)v^IbywD{tLkz0WRv4->&#fMU_G#LKTOf?l|tOUZi@Qsi#@=7S9ZUJ2qBgEq6IQTe;9v0J&ROv2kdSRjK=r|FA z_0H5H(9s=SmPA3v<4IFN=D|X!LXnwdGW$rR@XBF_KOD`%pQ1bw`MtJgAVPDn~4>Rtu|4 z`>;%c&0o}-rZbZ=*hly#&2kjd+<*|oMW1CY;tGk;_37}B(cg%ffJ%MmC(v8i+kS7x zAe+RfRwBY+8$TaGfxX0SUtpq^%E$!FBs^s4?&9CP zv@H|?azFWW?|avYTpoJS<6w^J#a9NjdNJX2vd0TcZ`yb%GvVXY>>wwIj40mAyiK|v z{I=F88Y3U^OTwyBYeby{X$fTi&JOOBk%y4z(o%)TT7^`JqgM{u`07~|x!Jow=7#2h)CV)q|a4r9&_#w!-vxeAT=C=bx( zo*~al@|O99&aq4E`Fe}KIhGqX;pFJOH;~4~no_ zD~}cvsVq?>8@$j!-0jAu>uuK-{R}9}(f(U*#a08o;JRpFv2G*OU@OaP}t@Irr8f0t1w^r|fVxLsC=#}K zULe(q2OC7HYKr25@H zK_0I+EyaY~C6DvQOri*~jl)qGOAROBiuWO)K=PC=3hqMO;d!(<}~_c~Pm!5%F$mwq_S9A&|uGSGU+FlP6GftjMOb;R1mwPrCN0xLnL- z88b6XPLc@hdQs1CgSbZNn$n0{JukM6;Jl}CLPN;(Pr04%JF&Fr!xFldM;;N>NLlZ6 z@Z+ZspQ8m*ymSlcOP>qkLp_u$6RhLFE!VrH|)iuH_Q<`JFW1Ik`<-;s56A;KZe?-;IwH?=0p+A61p800 zrZp7dK;u+z>-Va2F3C0F=ic6d6bLw5ih9Xj774o;*bU5zyOU6h!+7Lxh}!~&>Df)m zY&+baF>F)7C0u6tB83e|`31I-96n8i{I-x3z#{eOpX2kXOBiFD6OZ;h#etT?{PCGp zX*bUN%{ncqjUVg`Q9WBzVTBLx-)a0;3u{zZaQXpKk{;QTNWx1qSJnR2=kli> z_e(|`XWBpyevAs;VO6jpu^dMs&H*Bo0um5KSeUx&9p=XWS;qVZ%reGio*Y}Uoa$>q1F&f-iV0}cta63yf zY7(@1k5+`P`XAp@vu&9T?=2$m2t~RQFrrttDHsq+XX>oUW53%{a*N8vhtco#Aq?qg z2HJWlN(kt3LCFinz}DZ#PJKvB+TkNAAp{-_>~eMfBf5X%n7s?NWa>OJeP`k6sM83A zu%pld9!n=Kw%u~@kRpu7L+v=fg zS^~*wVU?+6by7j126v|ZpNmBy7Q>>jBz2!4ows|17KDHKYw(==LBE?spvT$s5~SKi zL-SiZn@Ga(uDx#U3%!r59;j0>Aw{abLdd{Gj^uv3am*Az;k~61NjQNFsC{H2Mpf)- z+Jk8-6~ow|Ca>jvV#bvsf}he*@s7?nTzv`U5+)J*wi1cU==Ih1P-~BG|AYZ7BM5yt zt-Z@o0fbMO1C|A{cXBu&^i-(yxNa3Hnk#W13m|M?R}_dM+h_2_hmmTc?)g38yt zAD{kMxaB=p=1pmDol6Jbt<2GJ!vsrw_$K*v@A>I{aD1HU%e-@L5j_e_}B zIlq^6Hx1MwZxpvj5v^{3@i2=Mhg}m9TqHx@$Zak!v({G*tfwiRbHvcaJ!7ivlL-;$ z;eDiL6#+A2OeqSHoTNWyz{9}zP17w5{aJJ~jj&Q>#VAR^3g6>69MV>&En9{W-Mz$q zT-i7Oyn$If#wk2t#aHAi3qqa-Ne-h;NIMlxzf$+M4w%}4n18nA2c<2c-nFk6D;}C z(s+Xk0;etEVHQe#%>*2dulMPleFt7TL42hn^>JS_AF>bWad+bHj!|gq zqQ-R67t3@^=fOO!qTc{0YjejAkio8=-CpUe#GW|@18l8_iH0-cwu{Rp_T&emM0ow4xxHc$gNpo4B=%gD=l#7dh>#gD z`2W4pFmTK_7qFI}RUF@gNIX$r`<;5`Yn|B_pLXdMxWak1zVMZ;x z?t=3%Q&dm?fkn#e{iR_Q`PompM016Hsg9?c}<15ZS;UYuSvJDE@r^$Bwk5!p9~XO5kF z{b{ZN*~#NXOM+0f~@(WAPo-V*+$cPZ@RpHEVkx> zYE?y&n|};`M?$KtUj(zZ2k*3l=zD7UKT`qPG+Oy+4NvJP0CjWNDK{JV0Uve*uuq{Y z1<4;+X|Damk)@BB{g$l%%>za($%Jnxnt5r1*!aqu5?2Fa)W2KC*+nmy$Fmof>7mI!D`^C@v;>oGADLVY zel^`-y0?4RV)0$A^f~0$`$3sv|A~oP+y8S?y2j#QYlTG%;hPUoaO zo4d0v*mvFP04kOh?i|?JPL>=(zuX@^P_PWv76-AQKj*-TVa&tHY}!(GZv8QS_?xVr zsVi{h$LXt^^?49_9x+UKZ<-|WY|Z5GC4qcGu}zY6P07y zYb_%um&gdAXtXDD+fXOl$876Lw!SsskR~VV#*eh=c2#H6$Ss#`)@pfgT0ASk>dz&E z#SjE27yHz56m*8m^n7Sz1EOH)OX?1kvnYJfOg6+lNn0bfq53SwV~MVXu=|NyKW43MaWola+W@L3@Dz)?vCFB`v*Lr^Qxl-mCPoyt*6IR%fQZYKg%VaeZHK?=2nh!k+c9um}ZB;Xlj?Oze04 z5r|{r`T=flQ{JD!FBMqz>p6QzK_~lE!tUL)EuXg*QPO92)iXWu4p49)U^bgF8qvjv zA{qc`M-FOFiZcB4w^4wFpQG`_p)oLSbtu#&^jG&UJ6)~^&=cK~Ddsz+4uw1c;MpYm z#mo+nK1Sx|J5)W`jf>Ty*r|*q!yPxHR@_#SftRfza^5d~kPs;utda*{GBXn5ge&g} zPYTA}ZZS;H^WD1kgS!QVfWb8FgY7`?9X5I6I?KjCjcGxD3S^o}KI54N@!uXi0x)P0 z@w?5(PQGeU5_OG&0ktzYcmUrGS05IN;`-o9&#Qr=PV{9D^@Qn#?JzETDcqRxDM&Ru z0t!cb_^O~o-^GQ-DG4H7@;f6E07Q~n_Unj+u7mE-BT22C<-XF;38NTsyA&^WHM~%s zA2u>C@_9wL(TFIQ@W3FTJ<^1nJ4<5^ahmYZ3W7TA!u!aegjy;BP@?0I1Kgc4l*f z+AdC^@qpiYeb}KL*d`@p%=MY@DC*f`?>F>5jfuVv%Ely5w%d62sxcp@#px0y%=`6x zxzed*Z*MD7MHf^b(*y6M57B;7cupPi0mJt4D1T*vBIkV3q4aoWZ5d2Y^V}Ej+ooF0 zNwuiCCqZ3H?dTP9EIUt`s8nrF>hn+jEklUO-2AZRe?%c0({Q8aY&gEeqUhh~;;i2% zuwm(r)A938d<$Dob4&Su``dRnWF)V4YuXKozc}92DFE(VRqTaY`UbY%QA!RN_;`jL z!~jewy1x+Gbx6B_7fzyIX;Q@PQStSv*S$ymw}AJ-_8NJ5)EJx;!f5>HZMb7kLsv78 z$xsZ)Ug$~Qi2wgyfUj%;zqbL~SL<*GC|puPvea{8*W8K3iY8jmn5P*K;rV)Fg1>}) z{+9SlZ#5q-X5j}wZups4iR_>*teW{j{O8YSjwRGuR!HBI`y}CwoNUD5u6+)OPSfuG z90=T7{8*Vgj9ANWp%*@W84`BDE|>Y=A!GPvV?1G6XTGdp0&gnmnW|$QYc~0qVb3?| zJFL8$YVLSHFxN=qhjOH0bt5m>nN&*-qSEM*#uEO_#6;2sIW)=+R4PxluSIyh&?=nb zft&HDA@*`8K9ivVxR`U<1!eFlk zUq|Cr#P`@#2U_^yFe--f=^=fvH$11R{;|Fv`G@X6 z9KMI^wTSkevtuFI7!Hg$Ay7Rr=F@_gn>nkwmPqe`#87#c-!TG7_UX-J7vJR=Q zyS8!g1w#?o8h7eW|iWcMb&}4Htlxi4EnH{>g&pb$$~(-p_`Qj;pVETKLube17)9 zCjWK5urDF`HKHYL^5_aBxTmXH-7Rg|n?GFN`Vgr^#Vq4F^jJu~w_+b4;%lF459OZk zUwHLPjv_{;^qroa1hvm-`}ka*Bkux9No1SE?OlidV!vKL_WY{qH>w?Gn$$iRQPvS$ z%d)pmW$G1)${@DE6 z0sO$3();AS7i~z&zr5Xvvx_ma6=PxqkccWVgVu-P0P~>ZSu0zGPxdK<73Z4AJ@&6Z zBX9r(?T+P{Ec%z{oc47zFYlCpx$AxeVDr?afgcDkD$7aEcw;m5QUA^Ss7OSYn5*_! zMGO@A!~L$G)plZa21fd4GkQ{Oq_{XmhXABWmm@HLdW$AIjk>0;y<6OF{7Rab=1mOT z%A`tO(I>)wCu?tPukF`M2T?h#Mp^67@DSEODTeJYDLEh7lCItQ`L*Mu$ zsoH<;j3c4`bl#EeSKmq;{E|pww^nyo?7Ok10jYg%v7q*mdgg4+ELKg2YYC3E+-5#4!4*ek&7>Y{nL1Hr1OB)|HCx0aLozuwkOX#+!%Xv&)) z@SQ~ZoH|Ec6=zVOzZLz>LMMM^4bYn$nVknNTB6GC1Vl4xH%Qfgx)YbMh4?xV!IK*V zK)wckH}k*Cb^0kkY%F`RF1$5c&Pp&ej#Xd1`zjCNN$RXo2yHBjY?o%-JRa52^VM`jXfV(BPE1az-|Kol>kp*LCNBi%q4uNb4(pbZ49J) zzFo`wvQj8k*vV~?+ouMF-TdUNSot_pbT$g6^;h1?XQW;Nl@iCGvW2XAPWQ7 zE#hlKSEQ=mVuhD^^-jpZCKt5Jk+AG;9A8Z_%1~U8^uONkeqo#Qcoi9X*8tJSB_L}R zCZLwMeV;bJtCV9^1wC+$T|(z7GbD!`qvif(IgbzpUH?)C4QQzsg;Sb7R2n>IsWYSE zuyJBbaCUrfhZ@1nI-~p$Z?R8CYOKM?o!5sB1}9(iJ#Oz9Krljftk** zY-M_{b~w=CsOq&B_-f`W5i1ZK*rA32{)4cduBqb!wm)-!_8$vlRyeIGywnA5%K|jK zms@L-Gr0L~u(ptPzoHx^HIxN%5Qu27jdA4(^yWfc7KV;#;ddq!Uz2gw$!oTH_WX{hXFCubWS z*AI>@TmURnjY#Y-($~4n3CwP&*qv8IYbSc1CY?{E$^JXOm4wVuZ`!kavNO08&%ecm zK-WFocx?X)wrJrhd9v&|yy*%z){=$hkZ&{~Vw46p@VAN{@No?+?o-*$wkLA?`%FHO zs|vdQOFe<=l7^X^jGL+|J2ss}w)$55X_!PXZ7a^;Fy?IM3q4>*z@s~W`+tP5ue@YX z5rO|F`3txdfasP_8`J!PXVCx&eSyA`f2r|BuK2o5E-DkIGQLfqKu73TCB;ah7Fjz8 z?7=KK3eHwd*|o2VS^M3H`uQ^^nu=uzKX2k@*>iwb${cM^m>4K(nP82t-3JB_*of$b z0mkmQw-Ne)fP+e~GqxBM!rkrgtpNx{Rnj07{DQiJfYzJO#M<92CM6Q{+4Rn~ga%5b zvFFm$xomh|m@Qy1lq8zCw79(C1IrA{s)q|Zt*+r7H+99;uLtB?nKfnF;3RYZS0x@Y z96qmhOYTwAr!@AM9EDYt!J0&`gs&NjREZmk zog+!YdcZP8cvP8>eyl&Mh4Vs}mEVE;=A3`_&kW#qn^Jr&hE=gi?eol~We1tRITJz7 zep=&t{AvQm{z7DU%CdyAS~b?EvO|zIEARCC`HSnNmp_YZ2#ByY-Q&47d~v?{VWzEA zOc0TGj{k+yw0k1wY|aVnaN@M(~DKv=Of)y@f*Oo3@|N zc@LJm*V`rxE_rGia^0=iA2TQbGO!afep$pkVaseS=Twwm&0$IGTyc?>uZ)W z-GfL`Ug|k5yPU72Y(CpLGB94F{ZE4FPH;#AJ8viHvM(4cz*o9Zv+j18Mgd3Dd>l&f zN^)uM*+?px63*U`;l9cUVm+I95WLd4oOeLOb|<)1`se1LcDJiS&ilI)gW9WY697Rq zWLhUb?W*uHx$3n7&G#+hG|*|3sxl=f0hjJr>GsMPgu2(>%}AE&t6Z}4V0GNt#w_u} zbAhtXMVuwQM&XskwK zC} zGnHybbUDHhMtvG+$+2Qr$Y8>*N6WuW+e3Nj)0))_UXbD!R|2XZKO|b7X}r>h7Cx)a zGVJ|>Qjc1}EYabjvWQAkL68N%`}tM|9LjEZIdRkV4J(HIbReRxP3fFlC5F?Nu*(ni zr~6dZ&4=G6i#QPsK`i;X+ViW{uc^Db=RIodQaXN_FtFmIZs{C!$<&$Zk&a;(6i?8E z?WCd%>5u*XD{W^FX$Dji`vdM4)^cI6*-@SYoh;U@d*Ag$)u~QlR#_@Fv+0|U37!Tw zf8~%W!yl)+7~-cH7N^)=wbi!(pLpAMJ6wO-YjOI3T*tNIMv~*$xV$|yiM16wFSXo9 zJyF>@6L%U#tR5in{_B=lxigziBI?4+Vgh+qdk$P*wWo{ZA^nV}s zTm}biB=-3nLQfKGs5csXn?Gp1Qj4H9hL7`>$mtVCr9kST^f1|G8x$m6+pCRskwdEt zHFbkGk-PGa;#LNmY|rtMBlkAAtewbx4lJ}2FB-fUM|=(sVWNG@c09P`2VA~i>HBK_ z%JsG2TaNQ`JQu)Dn{Sr+awMY|eblyU#~b-ao%UBJ5RB58jvkPJv#0Mme^$F1r@mJ3 zG?95Je-X+IHiPhwm@KbaQ`|?|UXE1VgeXYHzi#OJXuGF7MF538MJFYvYL+t!-vPfNiF zkJlTOr!+@*%I2%ETTe{c2%5YWmSD4F$2UBz*bu}rv=<%x( zcQqW9#&PLKTZTC+mgRm$6C}f_$s?lG#_Z$hlf9s0>7{X-|B9x8Hnh={}g7R+s7_WIy9-{*6bbA1TKGW|%knNM@{E+3elZMKe4 zljB;#%KJBX#VldaBA`2^*$}cft>T>D9_eg0*fQES&Y#5OW5aK+)tR9+Yx}yrx}ao| z;yHHTpo(UxR^g;o(~7{Z5W0ySR+kA^++EwHW8n78+9oV)#rP0)|dHAd8oVxGDzr>s6B;Z9>D0i5{o;ZxNrg}YWktb z&0D)~+?;Xrklc^Ui`}PUOQy_rh=?xNNhz=h4VhjJftU5-QE`_Ecs03=pA1+B%m^`V z?tfL&EPMA1@Zh%-98HS`G&&k@nd2wYp8D)7e1`9U`LTy4G1Mr$LP-*PyMmJfZb`#l z=QlPc-ju(EW5`{4eOtLB0bTGuXi-5lpw+h7FroGzEdTzdRLm3SW`@K>@2!R3Jh(bQo~K4;TNT=R>a%g5jVV*gmV+W9g2%ju`}wesGZb#DH24mr!rSZEZuIaqFh(7ixe~1B-~PfVWs5x_o8%@u6=9%qtH^5O*i*C%MzE z6sY0_S4hL9!Y#Xw6Qe!Po;gh31@|-L`cjt(II{NQ!zHd#LTz>6p+7=YJQhOo^L!_1@}Wp`b2Di2PTr zYe0^OP+Y8wXXNoxcswZC2+gixlimhWa1%N=TG#E z!l^vTq3pPG(JNh{fO~Aw&XGz@kC#eNXz>nvc$;mL=MnNS+}{0P;xBE4zIm#Rf5ZH> zZ-42tuEX1qCnBMki`efs*X0f862U1b(eWt>UciqAny#Z*HV$5VAYc{G8 zY0Dn^q3+l7t+<;|L&|?Y0^$C91c|WbqliX})A``MMG2_@u6#U&;>T0OsUq#(or8A= zcH7V?_eyfa)netTrNo zY;W`nX1}_39K4H`DDIqZiQGK3{TCfNa!Hu++=;+FVgA*$Yj6&P=;mIo4u1*N`T4+l zul8D1hK&o>OjBjG>Yd!+b9%aLu1?0Wu50}BHRFe@y^D!JV#o(yEL!35I$z`Nn&VFI z+!l|6$1fN+Y}m)qYPEvjEhZ|_p&S2pe}*Aw6WLSG!os`nv$T1TWh`-g522*%_C10< z|9GEc;b+A?aF&z_gueflFszek&nGzYU+~-jCrXK40;x)` z(Dt-xYu-JTwry1mabLS#z|$@}PEQqh{f`>yeIASq*tNEYqzKyBNO1DIYSKo*cd0H8 z?Q0e*yBmc}80uGQYZPKj4>t&_NYfd-lD_|(sXF~7He+3IxYXtY}XaedA}k2 zIKHE*Y%xcp?YaS|oow^*7x|Q7gW>#p{llFhO*-s#dw%slXY&sa0d-y^ zn!{2%AmSClw!69DJQ=Yof&U?YB)~I1CP)gQtfqm2)jQ+-WM}ArQOKg}>hdxCnjnnR zN9b!4el+hl4m>&ZlM`K9A-UlqH^`f*X&{jR3y)n!dOl*ha=o$YF#lt?AY%B7Nvf&O zX%oM{s&V$5I~OUQ(d@<`ZeegypjC+gvZH$bN>1axqruE=gSh*yW*XUWBf-@>Rt{e! zt-RvFEexwg6wlliCQ4B>@!hzoUx8+J-L9sn7zOvEP`zW2KMe?)y{K$PDTu5>Nk zAd(W&(p^#t0wUegEZv>5v?wJFf&$Xry@b*t4GSzt*DAsSOWYTK|9kIOJ}mD!XU?2w zo_S{GnJVma(ULo2{Nj|89SQ&4S>49%+4xE$HJ?E?7PfGF(JHU8JH@)ts`yNlm5zdh$}~F zv3pYE-)=go_+AuNw;g_A1t#`(dH2u6Fs?oFop>I6n-tcYQ+>&qXNj`%w?KUh@`1|} zmkv69SrXV@&|bMV6JUG_9rj9WIvV(4M3Xd@vE!<_=32N&FNU7pk#5p6Igwn2Xpq>4 zZ*H!o1BR(8A2vl~QP>^$F60jT0D3|lI=R>at=P+5EW>O3giBqu#lXaQf{iTTRDaNT z;Jr+-^wFrv>Y^WOv*8EW^=1u?fkC~D==5J!@;M0&{(5r0o@eCRZXp_N7ySnmt5av}`KtYipwByXL zlb@)mq#X8oN4uh0XXbSws}mUeXA0fK#();RkIy^CKz(4Oy%&F;yzhal8vn}e0$pnm zmi?rOW5WF#fP3fltET+l>SV4)Zc3j72sUS<@r(Jn4)}-8FR^my2vv6qnUk@*zqy`| z8Al9Lihy~Ixrlsxye;Uk*ZIHAh=Wcv9hdV%{IlO4hugG7i+kw52#1-}Qfe@I$83ab zd?h$10F0gmz3QUbKIZPAgZHC){CUK{G7r>nv`ucs@FSL!XVFE^THBN+dF_v4rnaxS zH}#*sY30CGOA6RQjCBI3>>ScMi zJb53**R|zxNcSAFyR97Jo12}q%4vN~+Oqptoc2b-=U}(GjLUfen+>hZv*d&8<}XzL zkz=Wqn*O{?1L=A{!e^p&=F>~Zg|wo|oT1O%wB77@iuL6zCr1U8@eSgAw|_DAe;AZa z0YveqLN#!IJptijQTW-Fzi9wP-;HV*ikbuX00MV6DnxqQtok?@K!Y^_W7m}O%s)tJN%-k-lgl=KjSBw2}XkpR9;xl_yg@%E^Y#- zH!h(^O%2Z=c4{Lqlj&pmiim&)BX??8xU++zRw?QC?SJIYea$+b*25d`TN9jB!WJPMhaZUunCiLV;K;l>U~E(S8S(s==w$7j z`fFchSbPmOr?L<5>YShB=K!LRxBF!QYujzh*H@AQ9yI1Y`WK?`%K0I*+y!3iYyAZLC;p7c@9&OdOsvvCmAa321~;&o@o zsKkpENj)RzlgX*)9{Fr5b~u?Ylg**Wek2^#YS^l;V5t8$BcOy~e|nLhex!(SC3zeX zZ%(tCBW8VcMA2k1nZD6XgMB<{F9=}Ez(G4-LEI5!))2Ep)NCmf@%-PpVc(uz4z8oZ zf|@ph=}57%E0Ro1KK|s(Y+a(}n_0Ca97#J;IF>~+KmVcztz|eOZ0&ML4*}>@MaL(b zV~SQlKXkp%3IeqtjIrWadGKMyiOyt?Px4XpZ(Z9@heU>lDDKL4W@?Rh&B@(P7=`yB zC{VBS+*W>HaS zv8q{--PGTiEclrYG>ja*ei3b}R62s#^h({QC7|W}$=3PhO~W2)?=#^I&YNgzOt?@H z;Q2pS8~t@^YcU#<%k>M|x#xbOT`rqCtZuqc*)Jb#mDu@jXcLbijJY)AKsD`jgZ|)^ z87?RA%3W22=e!J)IS7>5AmGbCy}-+XTmkg9SB~JJWx^SeT;4jlYuk&VR4(b1^<*a8 zf(-dRUv$+17rml6i9vj(&}K#wFXh;7)Oe=Y8P9KME) z1fsJm$X%{7n(u#F<_czsjm5+H28F8UF5hZ0g z0>LLTns}1Gs>P|8_%_}aRpT|Pa1WxOq1rW}b>d!co`IRn#RCePs;le$CDZ!v-F_rO z4k&oNKP$Ym1@T; zt)t_$34IN&Iuyc#vH}9`vbf@KfvLkk@wci4rEtrK5)T&XMtC)j71EQ}(2L?w68AKg zpjF}JRj7T?-DpP=z3Oh;InFTk_qUox+GodLE&{|sSylNa7j?L9*`P3_LnJdB3ExwSH+uML2AlGhkUN;dCqoPXZ(0M;hBS^* z*N~8w@BR%Ftzuf=MzUS>pC&1hh4t31Qm=+C7LS-hiQPFnw6}Q@7mzthCPLTZpfGO& z2W7n+-#bF>84+VH^eUqrXo!oD`at(pH6c_C1;)}SXBZ!G8zpmfOD1%&!X+*U-Zgj( zY+r(xTmHi{oapD|NIGe;P`VYC_+|F15gOOiL~#&qqZ7vI1ZZ-N2&yXB%;;ng-#4+4 z`BF(k49+*>w16NcQFfhHF+(9r?L!ib&0m=ai6_b?yqS~v>G=@Tp<-E`DM6U-@cX?z zaGhc$X0x0i=SG)|Sr}^nia?g7H;+PbcGg;PDns4R@T!>A*Qbb~ICo!ZyT2DDS71lH zI=VF$6N$flmTW@-beW;v6--}lQ6)F9IM=+>Y)I)cQJ{!=wa`+7bMm$OwyJU%c%7;2 z;CNEOdO9-xAlrzpHuQG7UYFG)uUVU+v0QNsjFCbDXle}(`7T8+Km^R0o6H|!J}xAL zF4sR0${liU={kwBf-&b!|-VagsinnkJmat^+KD|ElHg@CXsM z!NO2&FP4>Rq`6^PTXUqF3j-sYMd`t-v$gtY+8M5E2gvrb3oZDG9?LDT!ENACeH&PtmjHP8Ry#OK@IFU8gX@P$REn?BCM6}*_B(k?# zyLn?Z$=r29M08%=n{maWr$gr_NcF6mRs4~x*sHFJhVyj;o#g5zo{7J=3PPQ83ssDZ zyHG?7= z&|FvZ{M`1t(L-|1aTh&8-V?%ABCUK0@Uyi);OBm=2aZE&+`FLc@IInM`RK24bel?H z*Z%eEzH*H(Ovm0F?$ae~bV)Q*qvdLuF$rIX=cz?-x8D=o*taLtN>bN%r++d~r1W#hBo&_uA39;AzKFG}y{sd64!Ngp2ER{%YSJ3=FX#1qZ6HX73#-DHnQ&`| zu@g<*R~ZsH%NvP4`NWaR#(NQXm*$dIA?{%u=wFtMV*sqVBhM8rNk6Cl(MNNJJkyln z{QBo$*EtIC-q1hv@(N8cFcYNl9>uZ{lmqZF;-H!!y9+G+A?q0boMS;c>Tvyhod0g5w>jl=8ONmTbpjc{6UAa03(*4OBWs03 z00_4*U%e+pgl=awX7*#*?WO(LOT16vEV(V3`M>-yLxiOFZD_iU=rF1*gF~s6tD8;J zwT~c35i9>Mke}I6@0FxoI1bPj#N<9b>JULD{oA>I?c|=wOET0ZaxC%j@vJ6NPu<*L zEaiRYQ_Q~Kiv~Ww3#-t8%BrhMbeYVJMVYU=S@4(|T5Q05&rg7QXyL{*(ou47u6Y~*eQj=< zjSRwbP)gPv-Fri@xoCnv!}dyGWhHT1s?C2s+oLQ1$VtV7b--_JmO{hQ8ML2!eE1B6 zBu-DILO(z!jOMc~Z20kw!)}+N(B!>6pZL6IAAQzlCKM6 zz(1h&whmp=8R4412}uCu~F9X^K4B9Fn65iEY}R!ni| z@#Pf+IM17gfR4_Y$9J3JCHj1y7jMmWXF0XAr8Bj&?e31|H!2CB%jM|*u*gBWP(KIP z`B_CD>T6Bd=HWTu;R@o6C>S)8N6X`{e(N5Ni=40bZ||r_)-{7O3MMjN$83K0lBYc% zLo~Asz-0BfMI08KcXQx-VprTpbbF&@!e!+`ealOh$lIoHZM!DVxZNUE7tK6J3eyXlryNMgMafs;|&t>{j2Ko^vAg!Yz;x}G$9w;`<-PYN_3~4VfdL@S+4~)`QVhz8;7R@ zI5!l|9f(G4LfkQ0>mM<)vm-{l?cf$;!T6lR3K7$JAYJ?vk|1nrkU>$bllb7gc34I5 z*X_Czk}RuaKT=`}JFF4id9Bk9N2Rcy5dzfWO)ib$;LK4s(Bv@GE=C}&{Fqkl^C8Zo zDdLh0$E5cePz&_CtLtFIO;1<*Rv$|rxOn}rj5e)KbIhZd{v)ux)j+kh zErc;$@+Hl}RCalDR8(4LwOZ8s4i>k0H+Pj*b(%JTYXWMB+xZ;6+I~Le?G-+_62%kp zNP3^0`~G!M+|X{w1wr|qe~n;}<<4UWC2jk?YWTv1SIlUL2ajt%dn9JWsN3D*B)An| ze3FASKOc{;e6%xb!VYY1DQ|uoTH{(_9&6q~@_wACtPw2WME955df{9V`IQJ}kK{>B zt8&Yqe%_>ccW-v&UqqY)D?hFZVb2mMWDFsC#eScRq%gM7yT#z>ueH^r;#u}B!#B09 zd0lu74y+KbxXyr)i-mcXTc2rVv+E9K)9kH&oi7hgL?=yqwVL>#j<&FxtLv7fW;Q_P zA##oV!-D%2)OUkx8Ta1-SE#)f(IsH3>mec^4vIG>9C1tXBHLPs?G^VW(w z7BVq=4^e+=avf#fKd*{^NT9K4DR5S%OUHjrbWA#zbC%@3j{2S!*MC%%4jGsqnwRUnuGow#0ygXar&U>h z(lDh;Z~pkEsGpf#pt;d6n^U0u{KLh|&C0(YEv?W!#CJ{g@t0Ec0cCDP-(cYvHwYu` zT=?I0e9v)a4I|q9C4sn@ZLunMyNwRYG3truR=my@Qs7cq(nGwTn>687oP z$0rQJYx+>c&L9tDmT;&)=q1jQy$^??LJqyT~+h0(oW95r4G{tHnB$< zNj;4E=14-Qv6oZn*;mL^i0B(c#>hP9vh(;>@|86Al4SD=2PqN@^9F66BwIVL0V!KM zf1#&Pdh{w7oiTF%k9+quOM*H5wVV}6| zX8GhX#D|)^G^_<@#KVrgXvt#urHQBv7>WRL5C@df{u<^6D>gOMpn(DopeA zy(oWnhcL*HsY|WP(90Km!7?(E_@etk+9(P}2M%gVRtbNVH1|W=tH~M+fH%tMnim6~ z)*77o6y%8YmOSf>?L5Y}HIHDcQ}+)+GP7yQri? ziYaxT`rZk-)f78Eci-w)`R=GI_#Zg+yf}ga?XBBjl)LRx z!Cl{B%>BwKp1QxvzW?35+^%)DBN!}~0;UrbMGQol0F;JP&|EM(D>x0vTKIGlG)8LJ=q7nUEOv+ZH zR3b1&V8PvJN8?7et&Gt2s6SPQ6ThY)+%5x+}Pl8NBW#72S5yoY&yMfp02!b`l23m;H*EB z)?`Kc*k%>Ib42L5u8S&z6GoRpkkeV=T=Bnt? z)n|!!hHJ019?1)1@lI{{+6-Lbn+rqG=M`k5nsx+)zFLX5fcC#j-B zgdQAx6bK6zCe^!V1K(N@0mIIKXB8dL`zrfdy2eE(Nf-BG#TqLNMnn~^CR&_{uOf{I>=#& z!_UPy?sp*{sYJRp9m|(UfV`G1i0Z{>j5#0#3rMlF2#EsG)&0812dSvj&F?Nhby9b>wVx(iJAuoR`q1ZNFizQQKF&`(sZ`38i#RM< z9);|!hZ`w-@UO@MemcrYQF87T{eg4l)~=;QyeXj~7eY7h@Cti^pL0LZ^2ywDKV8Le z<;?de$Djr_&l-MU;~v);wkL#6n&M~#qU9**{dV5QWD77mg~8}D)>@_J*E(ua9l;PB z`xv)=sdWwLcrT%{J>-C)QT zmT!;O!JTu&&2Lm+a%Fx<6uy=QH6>uv8p2I*SyX!@;InJYHg}%BoO<3w{_A!2)1P(= zhnrlH4f^`C#Ly^7d{guzmk4wzTxf?(`?yzG2cl!#(^*KzShZSV)+@6BaHZC@ZWhIl z521*os??=@Eq1 zL`Zs$;pxR`YT#=F|mbmPv2j%$VY`K zKf$d4#wxWT!x{StZ>KwOpAv85cS@`qD=Kp-3kzEykIoj*KFpyToMv3DwrH<`+xYiB z95id~5`?16>YffAm3o{Jfb+6|LD!5O@9k5X$@2}@iZVW8aCbIQ{Y)i#YphhY)FPXs zhImEtmY&k>SJQyE$;x=d54^b ztdoBGxLInbPk93_=SO62+CCrSp^si!p)@IEp02WQ0lsKlNMY+T6}nIMpu|RZ*_YQv z?V4?e4foqYd<)7oa5rI)j3~4q_e%Zi0i)%)woT+cxJG>VAOJ*J{Tu+16nKFd&JlwF z|3>#au;okp1y1WN`Gc?g##`wgbNTF`wT?)jd|2KH=!v)LfEWT z7$u%l#8d+YR2j?VZ*`gflsk=|U`Ta-H8m{##A7UUy(bX723iA9^%6WgP%xpcg1-6y zm%IS?m2qvkU3RW$k5=S+agu*gB2`aFt7X1--#}02ax+e|K~CZpn-j)Kg`(fMN_cs~ zd0iE)Z2STt$O&(zSZR;k>H>cYJ@eL*wFc;+DqY{tzd_@3MwEi*RQF5U;HW+Swbb1o zsvw`E>}OG{YZ%f0?qN}@oZRZ>yCcMMr48xhUrj=NYw1`)@L<8qZgY!*@%FUu>L*9MIPhq_zA)DN1^=boc=)o6Xkr;@!Lf(%xv}G0`9TSw6=g{p^ zg_w){+EzhmO{H^q@Exs2)bGe#Y6eX!6?Y`BB81Jp8ZO-Nj}^E_7Qck$??pTw0gOeN zBp2m05a-0E>r821YuAH%diz+Pm{zOE=P7+yrVAAji}i&%P=n$u^C4q=uML(eiAqE9 z1QcJ5T2Z(>w{L)fe+~z;=w#s&ozrL(Xj!bV|0itpUuukC+mBf4bg82wcP3_uH{-y0 zQu*m8VaQEf6iK@MF`|gaY*S0gtmq1U$#PO)&lm#_QF>h_La}`A(K73<*_Am|+YUDq z_Zw^@)hUa8BO*<)SEunWfB7*+KmP8($Ua7F?$1sO{kG$`@d**~aq^a-Ra;8Cso>X7 zfBzJypNgR z;wty3WQxG1JOKp&`kw2Kdv)J}Mk=E0gJ)4k?PGDN;BqD5Y8~A5C(9i}mnHh{=PMy* zckA5{AbCi|p$%jutP|<=h+f~yOU#5O!wSk= zi_&5P+#^Xh+v{D-$Al5DO#dDt+61Kwq@;pfc*9nYEa5iXmEB%HrBWLSKXU-u3r_Bq z=5s(356$$Y8FG$HZE8ApQ}CFF(P}PS`WS!8rR^q!TC{Q%9V=VbdF%U!!%9%}>n8^M zp{Hwi%J*jbY=cQWCC-o_CPu6FBy1=HD}j^!bvyW5u0~e&M%nLfkQuD)X@%GX` zabKT@>y+&gJZA9Zi z|IjVf#kW^w)pL>9{teS1LpH@-8?8C_78D^P6ug*~f;JJAEj?-&1H^K3#!fDorSKmi z4;)FFt?BL$SUB{~zfbshZd|ShCV-5g73;`7{c2*J6g}?XlDk*lb)r2p)*l;kHzlrS zj53Z|76shM1p7?oIFK}fFdyW*&{)!PWE!k}$`5;Ct04umes$C#{{zJ>Pe@dZHj`=} zHh-dgf0G58q4#Q!^X9q!=CaIT!8T$Wa|R-f&G7POKAWt3sgA{Mj(Gt_w(6IbA-v4- zb+%p$mF?8n)DWcI#Wso5Ymjs1lX#}n0}pG6#adwoH3oOE?N~3q+z-+(C%)P2R#G=g zB-s66+5g)Y027|Dbr?J~b1EM*WwP@~vtwvPZq*!mDR!JQi+oV#9eF0QD(=jl)UHw@ zpVW`IF!ne(%IT`Do70^B2INuve~9L>E67{ob0Vv6b9m}BX+rBTs{pB~hTQ^V7|nI; z{&%6Yg?m;zGD~%sFs)+`G|hEB4o-W;lls|Z8`RJa-ws`s^ zUfbf1h)8O}ZIw81&5TA?oEB0udD0SOYH~KQpRFALL)PUk2dciVf{0+t0CrxgF3m*HI0)*u4 z5ptYo4Mj+;IP@cO=8warWaI)h>-q^I5#aR}R;l1hv#I)e2oNJ?y=;xJrtfIt>rAyT zzMn@JT%&*o&|hE{hSv4>Vwki9ezr(DM;d{}ssIbDg1BfrHHcrmb-`9JEUI$ZHOsvjQ>3uyoRr zqc>3A^XSk588FC`7(%W+Uj1azfU<#YcM)z8{?!uIAe0x)^_s8u>qe_R#P7i09#XR$ z;ya5OJw$k|gL#S8k4p)ec-v+K{o_djsi|Uq4O@$Qi<{8WU;5utRFz4~?GH4Y?99`T zyr+b5;j;ALSwtkv;R42)?kd9JJ`3?+9fbMIL-QdW(ZEh`@fUC;ok zx$qo1oW`IZi;EBS-t~WYt_x|XhBy4Nx+wYWkk;NQ_!p|?=sSEi~J;J2WQ61o2Eect!|p2W4F+s|23AR)Uw(;5pLf1WOAQ^JxY ztSn=!4UG*9eOE`-adNEt$pTfrdOKrWMrf!cQ%)^*;5jV>JxO#z4iM5Q7h~U|3k9R9FqbOG~v_%zBVy;2|z{4_pOLHF^Shh z+H=^HU&?Atnu|k^%6X)Of=}KTi$Ldx?JjIi66|F`J>yTPQe$1_WPJ1A9+jDiWGOcL z#<2Wol$mn<5%CWK>bVOhwCyBi&h^{<6afLD7+(s7HE#~$tr6_?ajzIn47@|+2US2& z?^H{*NX%%o;BokumFChZ?$kGd%p<2pZ_Qwc{F&&8Axy^Rehx_{nX|=v2g`K(`@4}} z?St#RqYP!blynhP=Z5pfT%9Ib`q3lmS0pGBRJZ#9Qh0w64joADmYL0%(V?Gxt8U1U!n)K z^g~F`VUtment+UQHtl|Y+_!aty_b(SWYYk;J3fGd{2)A?7+SFysc!aArW8bdFVcTp z)_h!d+kJ&$=kIbAWQApg8KWnqiP!5Iq`$dJ@q;H%DDUcItw(`(vd&|yBZ^={RdU@t zkjMBQAHCA?NDTZpGo0)6#nfD%rHChv*)%PbeXl?i&Ui5<8H0di_=9-6MR3eRXTRAn(yGdFM zU%eI?GTxAH;BObW=84P2^9tB=UAX>5q&z*kS->rEz~Fh$u`L3XQ77|{mvDH2bh*wv z&&FFll8172m9=_t%0K0*j>WijyzTr)*94%{%jaC&LXC>1pP5m!41Vz6pFDJCpT)f) zDPHf z1$-ab1wi{R#p-bynlT4dcTuX7)IQR5H6Fq{pYZwzL8o(R3XxOJ5@Bp>UV|8!f5JAt*wAfauahe)|FGT_ zF{qFzG)HtncOD|oJ)=fp*#xP7J0n832&9uO8sV(rQ5GHabllRto-F!+20c`!O#Bh% z&}0+)llW%r;1AxKAH!O^Ag69CVh1NWI=_@sUj~xJWOsTJ76XDdt?Z)oKO1SsT}{Me z;4jz!^vpY6^`pXk-)5Pt$+yy;*wX(I%Ld0@ZS^EjE|ctEVJ6+Q0NcYwIJk=ISgya@ z7X>?I`yv3;R>?oc`}v>@qMMb_JB#jQjrY8z`iTYCBQY;gaO1I-FOiacz@)1gl+=>= z5)l$i)7`8+o>Aq{doSR>pgkcDdII!+2fn|n%q@&q((=zu7zwf(n8B=0@r1*daW?QE z0cQeaq3rsGR9=X(QIZJC4aPye*#!!8h49+>+N4M!1uCQ;=2j>r4vH#tgYzKOeZsNK z`E7yfp4fYrKfwRFN{{#d1^p^mX#2NH6o}4mbv_0I^}UmO2JUC7{qik?ElNfm1f{}0 zu#wh-mRpwU_z6WF6hXuGA0GNFcvLwX55B!$0sn%H-idZc(26u+ogcTMc`M2F?MTQw zcZ$Z>5%kD=Z5KEEmIdC4XKXy$EhhQYp+fRrudgzk@PB8W{P%;xolxGIB=HV=^n@gFeG&1ul zdjVX-QEtOvEJ>hAKZo{}(zVEVO@6abOU%b)VRCRjcqstt8J?w5{GwjLyRZ};_=hZ;y<`ik(x8yy{ARiD zbT&%0EK7rw5)(cTy&mwMIJ!|?SOz=$uCEZNx!&Y^cW1WIc_cq|?ngjsCkm^V|2&g< zZbo-7X9sfw5wiN(86InoKWjeGUr6{sP^IavOj9It%{=L9CA9~bS=GJ zNrxt4weF1p>0X}rwwSPj@6i=nZfm`N4th2@fM5vt-LUxoxKteCf^Z^#J6=h8U)H-t zzT7kB9&54=jFlo!4-F9+jAb+L=#WoJvkZ?=j;%*<6)T8uymyb^dD9~L7m<6VnTj*e z5A3HJ`6FKvl`^)7@yX*i9-brkJ-ZCi}Cu@&|PQbYJ*PDvbw>81Eig^p_q~|H^JHh}9_& zlUfr?C#NIs9sISuXUz^d8O?fXcfr=>9i$tmqBnFvRz_iC4DlC=$oTDKPW$55k-U*v zDg;0qryU|=RAq~uE_|9Jyq~5Q#;JnDA1p1tmvQQr&x<<(Y@ENKL479ab|{*E7|1-< zKa*stSi$`bq-#%0d+LL9pQvl69$(#sk|^d!h;V-Ke|ki>d)JjO zDX5+YJ-0UyL!=6&2o#EDl>1KVmJ69a`BH0GdE`4}%#|oo9nb@SSRci0MzN%OvPo(> zXd(SBj6zAW&-KJqS9cAcxXdjSnQ#+&4?3_?1tjaC277NkLm?qI@#-`mu$d2}p~j=m zZQ*ZdYIy($2n6i3)J|^W2-s%!*NF)Im)+AO5N#XIz_U0_en7W)?DpXOUglnOg&ZIi zD|#fiB`KwSb=s?%YGjg31w5`zpF&TAw6h0^!xWGi^#CsT2=rugv$M|>|00Su(@jL` zU}0UB_jl5|f(*#aa)&9AIhDP5A{-N#S@$3|>b)>-KpUXqvd}7Zm8%kF+i^$YZ(Qz~ zM*sJK6RPt8nwntj*EIb%F>Jk1mf>^01$^-0SOIjrK#f%noAibLoPbHYl9kryKm*6F ziC;^MBx2Ma)Ka z+77Au?u?WjRUbI^9hA)`8XxLy=4s6xb_nTAN^Z3C?YF$oi#vKTwQL6Gecn z8Fov0c5MRu!7!oxDcRN|>$R?f)f(!i|N0Y9rM+6AUxb$`2xq$6fSx_+HGE+OnqQ1C zdRRLioCH6NMzx3T0Tm&~bnhFnt3sH%*VyBw-kt|7F43TWSyAvlZR^KPw=HAyDXBg10*@DF#VPd7kSpL(fV{PST zDgpb_M&g7Q%zW2)8SWT(c$hLTVzC=*pOL@cm4`C0v9UQ!q5q{5UhyZ(c)UBURODY@ z9e}+&PqUm=%2%{7`^3(J-s|YeOY^;mysT210&fZ_-$NFC;q9!Tv9$~AhJ?R?II032 zZ)xHt3y#g=bIn!RapX1_pXpF+rP}``B^RTfcO_wjaX@;ljNor9=bCZaC-5e4V`(6V(#-wkN!Z zGroxPjzJhy!x{gFi+SEPQm~VpRT$-aamVA@-*BRB$DS1suD4^g0UT6|75yYuA;lIUV&_+x-mM<)m=*SW@;2@liUPV-i1?z;kD3g*cO_^6ysz@_H{)NoZE?7{(sLW++3QP5GVUsV-o-fBf$0T# z7;8}{6^}eM1%0RCVKnZvn??Lb+=0Z`k*ZFbK@8NY8(`5a2ei!`v6J|!dYZhvnWumv2$m{>vW0^Q~kFw*`Ru!syL~}7>-t4 z>40xKfZD>%X@Ev03VkWhxc0ld@B8K!LHQ1~RLQIG>urx416Gus|94MA*)@$>j{B zn;0{H3#P8Tx4@C)#8CWK6v~%r?~B4Wb>D@n>yrERXCQ4A=V!m|)7q{wO1C`Xf~e)Y z^~+qkYF4|5LGY+stS(5Pc9rwlzsnh6;#u`&40={Z$HA73DrMPNucQ8kHUzC3)8v}A z;hq+8nFH69a${RzuZJeq2fs_kptUq+{#k0bLSSiA1V3cj(r`SV{17NHf zGFAT1l=IvlA%o9KTlt%=6V@NUU>q?}Ra-y(CVIzzm=brX=Jf&i@`~QcPM=mWolP9A z9bANszL&TLczJq<9{RYqx5TIUSejV{Vl***v;_CdR+x_~xJ}@Q4)p}b3Qh<1gt$)X zfCM_2%zM&Hc(Alc^}kzQU#JJZhgtN@;@1Gb4T*KXCiT5A1EC9QivM9oG=8N`H_GN| z0YhRaCOksAK5^;_>^dohfMNx6AiDIhbjD$d%o^;kcs`-u2Q3=~9r-${C}ocg;R$2T zB?nx#VFRJX^B$bl zDl+=i>_iQX^9>O%p#^FC1+x;V3f7ISfOa!|$7EQO`)%+E*{@wp328-OfAyX{Gtceh z>i@IkvvEVrS!tWLW!gx{tfG=i+Bm)n?QqU@#q9a;3Ad}y-zWR0nkgWSY{GN8F|-LIGn`@o`gG(!%Cs7WA0-kt>C&+5_q1e&_&oFwyL|W z2sWyt zq7YQIfGBa%mv0zX)|}xF7POteSCc4nmLc_t{SRjh`QoQh38%ux%_jXDf)txwwZv0v zr7`2chPTJ!o>(xtb@#M_a-ueNG{>!sJZ^Oka*_OGFtraK zJ}tQXVXnr>x7{eJ6~lOddSe4Oc71q=^J`us;VI?r{Z=Tb*bdpdIdk~%NKMxJjDcGg z2~<-B!7V{+pL|Gu3ascI(Ar9jo;i4!xSWqZSmyO=hhH^GH7IV%vyV6pNvoorTZss%i;BBl9yUm^+}E)NqBpxC8_** zZpas_)mCAyYRSmO8*fC8p2@PYj{LkcAO&ZavcpV-X*7=3XlyTNoR?v{dq6C*RsR4MfECJUHm!%ul$Bwc^r{yOG>`3(4MjLXBF2jZ=F z&@L3cfbRO&jc?fT$Q;PZ6SUP@R4V`XP7@&UL4r}We{qysEHMPm7Um7QUZ%L zeA^P}NTBBy-6D}#edot-bZ>lVjA%D(pYLB@7F#@3jurI!lEnt-ovLph;&2%hf5iN^ z{8S*@StZEU^9ySm@q;Sjbk_CihhDMBG))X#4Z!@~!6|_n5NgA*lq3gV#^9R`PJU9( z|8`^L4ei!bI2-&+ zN8SFJbrLg%qVKHo8x};MF$_P05`!$HKq{EvF?LYTE|4B9Rz<#VSt~v!bZO4hp?eYh zM_fkU`6(3ntx8I6zd#-^H{CvgEs-i+HGf*Y>FLicvwJOPCGfWTv7~C2N%m@rqq6AS zi>URQ&+sbsX8&bZD5Amv!9L3cnN#%o5IU8W6#Mwy@W7z72=9>^dgddisInr?8fiwy z7=HYHs5Rj9BzU+n;gw%$-(i2vsI&HS3la*BMLW9_j=lG=((ehO9fh^-+7$Bt%q zMR&M;tBLv~`SQ+S00;R#$IpMt1g`v+{y)Tb#q?9DH8f#w6K8>;ZoTt>CY{!&qv7RJ zqJT`l-y-{qI*Ar9K!s#BJlh={^cd9RK;NG(ZuTsb0*i5sUknN3Lu>Kw(Ds_~%vDD8p0 zhzA{}$@1eZ-Ar!osrcs~BKDYeU_XyOzf(Ri6n?jpkl~nqp6fFvw&^CsnpQ##ZOMn{ z({^L_&{qSdCZlNgv)w32l^XqnOX{9HXuB_FK=BYscz*ngj$}vWa@)3nTIH1<-q!BZMHwe#dlT1EUw)rLHx>iE)5b7s1)n1 z6&WE~EkZqncMsMXUg_O{^F0J~pEdmZ%t6i+?a31qHS9sDD<( z?29s~H}`1K&HITIg)~mMuKw~I#_#DFDv`vjEE15Gc+9sw5cqx2W~BThMy`Gob&2#n z4A{>^%EdguAwF?AP6!{z81?NbS%3EuZ?%L@1=mC-wZ@i@jo|Ycg}%dlI$Kmy zQmRDBmcMb^u|PF+Av5GJ#inCoVzKRoo_CwwUA z3TpHlLaYZz6MrCKMaR??sA$1?sFZVFKRPEk;+f&f0b*=UPHkm`oCxInXle3mG$;u( zEwCu*^3)+?%{)(;Hr`0(xB-9LCZUse1tMR}HozSS4B@I4=Q&cdfX4Ksf>o%|ll*c; zMD(mO=cTMJMrA=K^L7`~M{$FHBQ9ED+$ISp97~IN7`v^a))`SY58r+8$~oWV!!-Rr zG+lLARNdDFNpWa|p}Ubz=|-gyq>+~H?(UH84(aahkd%^UKtOuvhVSD0{rmn`uhY_-c-P!eyL%_i7E}-(g_lrLu5^}Gm z#Vxl(woE&MeNe(mf=@n#8n|4Qd7TSU1Tw0KS@|HUtH0^7b2D~B{87HGp<}Z)iP2(w zPvGbloA$ZbMTHnhuz}|(AUx`+10bUYCfWp)5$MJL&~b*lI%C7}w=IcsDgj%hyA7`w znox$U{J&m+3)mctEt9dldpeGGw&6d%8mnxT_B-R;Oq{itYM;Og@r&=^!9*ur3T#VY z|Ca!V6p6WZ5Y;aQN`8aRR*|a~XskQc`L*KWKHvP@)9~zjCS0r>n4||m!TR0Be8V~O zx|YI$ai%|%A95db0RDondYU(9s*J;;9{%z))o3XM7llShy4zN>x^o5#f3PGXg|?$f zd?C>iObSs4Jf;(UixHgQmt0_ZFzeRK)7LFP@GH;6Ipk@U#r$UCBlpS^l&}S}qYc{mh z(;=`J@Uhhv!7(Wtv6)|s%CG0=V3;Sq6^Ah0!R-S>zEHa#v*`hBI-Z)`b`(0aQ<$CYxJvowb zkSMQ(xm3Iomg?n!6)Qr|MO4wWc+;UvpXK}?r&Nk%vp+-X1?YX!yJ44!9||=R%c0Up z61$-aq#VMXgYDUh?#in4{Urc;2@KYriQFzCNdxx-loE?+wWcTOaKXq+e8O3VltKqHP|3B$xh|iTeIyG2K^2 zy#9OowS5a^QN(#8!P;rC+h=P#;_Ae51Uw|fUt&B5ti*-=gg`z6jv5u?&>1+BhWugp zrgJ~*l?i?K(E7TI9xGe>!T^nbNqJVg7dw@n7RCF%TXte9CT(f%EZfCnQjz|RuyNy>c>Fb_@ZVNqX{I`jY<+m+ajD6iYz4&;Sxat}3QdTcT!{Khr2dQm zhciE{tX3eXNVqz-7|gk$q~p#c8E`x~r~EV#)N%4-_!$Sh^hSPIzDUUC*$Rn`!tb<; z4qE1cMI~LOY`yg>#cHl6G*;h^T$z7p zj4KdqrX9GaMK7a~UC8yTA}+TXeTVE78x04IZ_N$HaAhPltt%@c{U<<&;q}duy)`u2 zelOLLIl~9YtyIi^(ebX>DV8PrxINW~Tx_dZQK52S?Ja7aI{M>4Vy^QZ_d=p1;_uL#+z|!@O|FfwIm6U98NGT zE%Xn$z3p&crhD+eFq`>(=D^mq7n1MMZz3&a3|D4iy18O2ONVqbaixC~!`=sCc#q?f4yeXLBY_;ZU+aG{-?5HXFd#M<{!Q1 zwISO5nKXz1k6g4O%T;P0K)tHl5UrF{ci3uV?XnD9Vy!If1r{P;xA@jk9MK`ySzKyy zHWz+(69}ek)Ka{G+1-7NFb3MFjPSMFZrL8GfpH4C$q#L3J=(h(Q>=6w)iX~8bxY1D z8pX~3*<0R&#S;cnFD@KvyH!~RL~`o|Lql7kxS>ZADlw5!hE!%ej)}ASHRjB|P(^i* z0hDaYR#G*bZ6{;SU~h`STs9mE#j0j*uytvR-bpFWkMisQ#}b<9*@V9>1eu8)i7A_c(E1o0j;`-pj!_03E1%N1_P|kzsUBj*K)n? zLO(!_40vq_gX5$^f!NX8~pJLJ=-LmS1K3>najXM~WtJtc5>}pUgU&Vd_RC($6J}E?=hAT5%YZ-L;rHEfZ@Mx zgRR5!?kxZ!t6!b1w1YCn9LFq;sJSOQLUW%GrEPBmZ~}QW^A&;Jn4s|gAd(m!Uv5W8 z+2Fx_ZTcx|87}-5om*!_E)~TLUfTOoQkx+wC}m9eD0-y1{EHE0LAiRY(#}X}qshv| z_dRm^Tk=4};Dswae$sYu^cR4EqlP*9mTC9MTFAEc1S$q1Dk(`7Qk?jU^bJFGeirT0 zO)h%Q2s8H%w(s0Q6{gc6lS@Rh??upbq!(@l89lMzXT+@V-XJr2W*J6VZv!hX*y6^z zG3eNKHBLA*P`XS+z)!Dn;e4adyg}@=TOvEy>-5!utVsM%M+wQ}x!(%d{KTwE-8Y&< zxPRR%nHk=aKOY%$V&X144d*Nn$G^+_V5`~l<=ZFf@VAE^E&|zgX%ld)M9l?P**qqV z7x?KcU=5Vr%OAHp>8{gzl?y$ zJp}GE%29KbR9b@>#QvMUrC^n0-sd!a39&toB~6)?VMrF1;R>3IV{fWwrlM>I?pQDz z{ROz2p+}9mSqNq*aZ!GG=p#d_ODsdvDXvc$&CM%XKHHg-WSZHEfV4A7*gZUczx7py zBWv@-r(0B`)}GicvG{57$>AeU3{TELDdwsh%tcV(O%Sc!7{5es* z8-G%6pyK-$JT2dpf1Kz1;Eu`%!cZ0e&f}!r6xVPxaTZgxWz#_kKt>nbiT)iSXT=eeE9ojpPGCy@5w)NEN&Ao*Hak?|wHhmJy8dhGqUUICF! zRocYZFbBg=-|O{^IPbGi3Q;&C?#xWqrnjINQw!1QDsGnXdADkJAuu%dB+ zF|#}>MZY&%lyawE!}OThzMHNQcAB_neQ-;@^pgv%!=DEOLb2^{32+8QZ~&weR@c`o zH|hgGnQMnjkP1wajH(}6F__RIBi&-b6IMKAVoX*gb?3*P5c)V`ZukL$5yP@$W=0ve%T=sNs;B`cM|a_s|KGpnp9BOzr7 zh&Xf?StyTmKIw7;12B&lEA0Wqaw$Tc3WtQTqrFq`3NxP+9w4u$jo_30u4Ni4&H6uA zHDd+qRgKRhbHCrY=X3J}d7<(N9@EVe;Zi54G(TVrHu0Exy{Mx+&(?3?mvRiXxb@l& zG0aJr7vxaGDT1|4!T485D>q|UTn9!lQVu%IE%H5^><_g!PsLOeVs=1j08C>g69ob%je}jX(Wyb*frU4{*uICGa9V^tJzBI@Nlz;eRxVQ zm!!XpPXm8Ah%z~kVgs_@x*B@G1338hf_G8FCkkAesk9!X4yvu`WKp-X;Y~JjOv2Ixws%?ounKj)vI0-z&_q? zFlI-nYwXj4u~czb;+YX1j{ZSef?4l@R+&#m_A2U)dVDWbs`4W2DrF6%XNc@|9gZA}%T;&karl#!0g`DL`4m)I3RrHf+WXd^6|HG6^8Y z?-&%DDqeh8ukEy0xDU*na^)IOExvXd#I)z3^;VDSJBxbQXV!T$>=n@A@7_}YCQ!lx zKBnl}GktU#Vipa5J0>~7Wa-|*XT#GOL;s(lYuI&}=bT^Q%zWA-FmtPe-P$O$!=?x5 z1hnQ3Y+U)Tm(wJg0^zLCUI-^489{CuKux>Ra1W+*06Dhr8aI*b;LIk$=|kJzeO`Ym zkw0adL2xloSrAY^Jpr$%eJX$P#sRxU{_C%a*Z@ji;8nQ^sL?Z?%D?@FaiT*=Nukc> zXl10tuN~QM-d}Ffh(7ja(||BISs>&uumYqLhdw)o{eftNniFkIQGHx|6Cs>pO$_nh zDG<$fG5sv!d){;{`~A~W;x~(JA?eGhn8%s#X42^Wc@WN*^rIBhkb9I|vU-<{_G?J> zgJU)*$VNau^PFZjD-K6{l)cN@JuPTkxCwZ8>GY((U(M@JS@2*8S^_ect7z=q45RZ6 z7loKHM@G!-8k-B(c~QWBvRQUqymF1LulV!>7G)@gL4Pw^+w#VqpfcJ^q`EBnX}o|L z2C9ox-QuJB6xm&%yp;wJ4B7}<_I@q4A$}-E=9ar2A+kZU&7Idd1A>2n?sqNmEl-rb zq0mqaUF1G#fJj;LVAFLSX2(O>u$G^cBwt?(%ZmAOxkazI?Hab2yevr67>F*{cY z&kJAa8LNsv^NRm6W4Ga>rjkR~F@8{CR63O4C_)Y{CE0lFM&B1F0 z9{{pPG14kSW{bmL%y^@wKM++L=m`@M!rGa-KlqPV+HwA$S0t=gcC27dLai7)1@Sv2 zJ+H>)z82F5i%^|Vo)ESxU~zZrVHT?XGzzvs#LkF0^u8mUbNB%iz(4d{6Q2`mJm<;- zy9-rcQGM9| zg6B}}DX1<(a=~gG>VZUviMI&vuhzND@rG2;O~&DXxiQ`E`p@KKlfo*{IMV{GLYMQ4 zrb(X}X@sp~#cx?W{#54Os&w!wVygD=ecH6vUI_5!A_G^n^Se;dQ2JFv5VJ(Ti^a4Z zdjn=J0mfvugOXZ5Sfe%imkB&N8*)CA>E|7A{=ZSO(y07h=u}BJZV0@vGupM3Vhw)=zv?#<{h+G{ChkfLF;=9wWQ;eR8AE-l7i`aM$*}~x9u^+Saxm2r22CphEWd!;0sH$K@V)00G|Zbn zW=8#>D!Q}RIBoCpNx+l+3_y33Fcci%xkJlmt_D4P9SgXTj+{D6%Xj$}@X5tY?Thk= za{8{&FKH4{$i^nA4VS>#pCQ#e8W(}VW=j4>Q)9mp1pZZdbqP2>^sgL#BM0Y-4T2;tIOGwM~7d_<>U)kX0HG3$hL}$WwD> zvJK?kXVRn{rv*0$LkeeQdxO!!U4gNvH~g#%~H@ zNQL+FSBp^thfnhw-Jq_N z09Xx8k!4oHb_-~F;E1<9x5K3lvpsAaLuN-E4`f_aPF%`3Q;h{u521lD^P8R$+D(}g z)7-J!{bTkmnj53xgC3qB(0PU`Ay7mb9L}nF3DR<+<&uLcFwqqQuXu;dG+?3n&SD3G zoOq$U1|0>%Oi^!A);#HJ*J%m-YO9oBm}+7ZBU|}W+4`BeL?tPqH{?e6wYX(Q`1aR; zEa`ozy-?U2(jP@P7tlea7h>;8fue$%c3Q!7k%))sJ!^YECszq=zl_AN{{bx>toLio z&3$vQuKEW_V{+zQ0U@D9^%$FfC1f73+ksAzMzq&MEcjI_m&9u`d*Y4gDopKCv;NgP z+b?kb(pRH{Qh^j4+E=KL7TS?xcSXfajw>Um;5TKatgTu5r2mly=l@7UV%TO4f<{$m zyMQ?WwX}`6T5N)`HJ0p-9XcMsQxAcJrE6-g&4N$Z+$J(CC;j=Xc7}~I&?=5#!ZRt- z-jR`dd*YP=5Q}4H;IJkJVPJk_&zdlo02F2;UNFm7;5sZ14guf2Ar7hTk0^b~Zhk$MXbjMgWF9~w*NS<+_eSUqjyT3xm#~xG680$*M8W2Vi49q|C zTG?YkFHs&I(8EYH>t&SXz^%pS+IMfy2YW8w{l(q0ZQ<#wbBJXk_XTSsgV*&Jg0CAT z!?84&`A9*Sh8oSE59nAOnOWa`lrnDgiU#&&`rrkIL^TD`b%Wo*<7{*gK2-LuBh+x#W^8IyXfzAd})+qb9`noY*Zs^Lt%v(=#qEGTXD}bjBu+d>Ergy!y#Y=Y`|NL z7TIlXgx5DhDi$M5^?*3R`DO!9>uZVKoGQ`saVYl<&TJ^Gm>ee}ZrS4k549-BSoIed zm%@3yFsTt=NFgFCkU2VFTCklwQXySpWzq6KD|f^3QusN5mWOC`(R}dBy8_ciHi6Y<=X^gBU9n8IRH>VsXa&hX9254E3~vRm(PtL zKD)XmZ$4;^l&GP7tNEi3T%bktx-A;{CNsHAZI8=HVB2%ChEF)!PruFA6?Xc?ue(&AoU*eq zu}c}FXoe%h)iu;s*|-QPha?r3rSTpO1+b9P-Ww~?aCnmD@v!-F-C&Hg8>$T0zGEkX zOlEVG1vg`SYd4HF=CqQP%N=B`_*bJ#|5V#oOfXO)cj^BDn&3tDBs`AEETJyw3#J!O zHlior07~KQ2ElqEkX<%8u{bdP9W|51Fd{w9^C25J;3Ai-T=Lj^2fNMsMPY>XYK9YQ zd`Ka|8in1Sp#@Vq2IJ%%zHhYz`BKAt-%yqj3I+;kI!kCFs+tK}O~So!KkC>LC2XT< zhZaH~uWplGl$la&lW^a6uq(h2aK_eVr{!r>rS{T1$ZP(G%@9Kg&w%8|9~qcEK_>h) za8R~Qe+AK7FfSKze!K6^tKfytG(TSI0W9PM!7qv52TV*F9&0<$l#|4Qoko^{c%S)g zf+DJ2&sQk;>WxwJlla<%PJrtBmDoMZI@M39#r`^tX(~}t!w=%!y&JCgROu&Lo4}aX zSZP!zq5@DTgNc5|YeeCL_Qbw+HumizIA%?8#_krRHo|T-nz&--qGt70@Y>wRw!O2B zpl;!k;mV1Mo z5(8^p(kdF;5ot^n zcmJ71*Ptf}XB8oct$*HE-2mEes&HKaZ91kX^%r>=P4-S-T-iX~kYJowfMVFXhs3eXwrpc< z7RW8fnd~rA#@wUO&0m6PUrLd_`5w$eW%0k`J4sy*_pceAwUs*C#A-aim4Np8Y!R3ZG>lRBv-Rdj zq^Z(M1iG!VF@XZn7P6^%XcUTW1Rst2CCTf8BN_*;oPVCy4b>Mfu<8f3G?O{-zbou` ztBV$m$yEh-wunHWLi7?>HUR}K%Cjsr^kuiDoj=f!*`D^*dw-OfiMx9r5C$7b?ucq) z1wPiS#?9DT0S~`Xs}#q`<1rd!9d#&zdnxSX$t02I1LfF;PRQTyf=2j(V8P}$vMTXf zxpuHKT9CfP1rD83JeItm@;q~v5g2XF{Ot#jzk&*s41aU|KL>=naC~_DifBB0&9|~p zb7I8dM-;WQ*?VPEX`t+YrBnKLDCNnxr#L5A!PLjD1t`bo!D_{|B^3`92kIu+i(6m= z8NVf1%`GHkR=Rh)P7yJfK8_!4HL@dqmteNdNvA;$rjEC%b{;QGeQUIAt$?PV zNfn%}n9J6e9Fr%;#&e7C;c@+0aQ$YGN9agzJ5j0+XkDgbVKV^nRITQ{`U{vd0{Cm& zU!MdCNRhW;@Pa%iVbNWYFni^}-qqS);gh!E>!QbzCaZP)J<>W!v#hhfvJW@>D549u z=Vju}OfWKFn}#~7VIzv;>U_de=D>3MpgjTfu>PIVl+`nch;5;k0@4T(kQ3f;Yp^G0 z&cK!!l~fAa+4u#T?=Q_#rkAcfxt(HbdHix(LJi1XyU7}YKYhv^P>?XBLX-|R#(xLj zWb+8yiadxCQMsA|K_?N+>3BqI)cTq&w3-tA9b{=Pulz46u@}c%8SYG3i|-|_9xEM8 zokCU$TYEP#LnS>?HKY!Ib*lR#8J=22aCzzES&{#=yNuJ|GTJ60mtwHk)85FT!^cU| zeo5Zw!uDX1i3r5Wdu2f4hOZ57rbsr$M3!j#-6d1CH1SxaLOaO4ji7&Fjjh$geGkasmn{9M$wVB# zj6*AV`dGpy#G8C3n%EKGENpdt#@k_ic{^yIcTf$85yX)lMkQlUxAP3E{E-quIikz>x}VXsp^ry=dRdibbEW7_Uy?$Jm*ClQZ86S)oeU-bZh9) zs&Sc_k1;oWDwVEA~!{((U63>cv)!& zm~k84Hs_mjRcSiudUDo-BPb4>dPS%Oqv8d4H?+g$-K!R@%>aD}d)}Y=vNTx=cJP#> z^nsux4H4>fMeHO`VAa&^W)qZ6La{YM>yZ1hG05W?iuVtY3rDISA=Pii^_4q% zhlbvy~SDh8PI-?Trhc$l z2kkK~QUdA(U+2R%%lVrw=o`;%Mm@-Z-t+tCE1Ty*;fFq9Xj|8P+rt^lGrQjN-GXq^ zwQhyl!;sGd5{&RUhwyn#`w;Cv$aO-4SfIea4?WBXKVm-v*qi8j_}K;B^?BO$guKz) zc)^_T)w<~0_?Ic*Gk9l{t-b3JLrO&%b1gu!HlXbpqv#dPjKcS*e>!oVcP+t=QLQ6A z@0232)q+=ftu}7%_Q8!64)3cga0;SRdor-0&}g^f@|Akd-3p@LDeQMgF>Tda@m3;^ zAfLef;_heq)C4O=w&Yly(MFxzN%jhrud!kzD)*hkE7)DifKhwirC=`!}Y7bquYh*5ZO@x=b3=aEw z8~F_+Xr*)dhnf zA5fH>4}3kk!$dRsmVkR2a2I&nc=H9B|1J@PiC_#$PW%{)UzB@UWP4lWp9sa=Te%L} z9Qf9$^Be!x!jWuL{tgyQ#jxIW>88(_C4 z95lt|%3}iNqz1>R!$f*LZFC=|zWeaTqT$&?%6oMwEAey%{77FE3;~DotTL0vYEQa65xZ)lXHi z?#JzqY0IeHS-~M8Vkr?y$nj8a!A6nt7eDxI@iu&#L-VOa_AgbyqJOw{t<^je&KBDA z$;?)|KcdRhPdZfzp?z4{bBcD1dEK4;Fp_QAyL8g^ETnh$D>+5J_~BgmnZxHc*=NM1 z>t3hxqLAg3$LE}9rPb+R=x%NO>8goG4n_D8K%Jr2kwQ3tK%YO?-Y3_gZ0rP4H%IGF zR%<@bz+ua--Pw+0w(JVYqI&UdUnTHZJFKRBCNKLUfZsXL zup^!&NiGxox^m&ep%9~GYbsJ10?bbctdKt!;%T&<%WH4MB42~n^Wd5B5J4axqdr|c zz?KNih&(rbGZ*@^vG5YD2LEg5PwKc`3@?<^3*0dopm&5BVfhO=aPz44t`@O z@eH(e%a>pNAxA5G4C=Egze8*hNN0PJM;&Us#*3IL0^RruA^J_UG7ma2L^;!LMOzMW zFNz_pZuKH`I0dOJ7##@Os=e}$q#gcjB@ApXqyPi#kEBbU*wN)r{MmVb(o{LnXqjk~}C%K2{{gSaR z!uNaHwwu_K@H`lN?~($coK-4s@{9a-eHqI zPv;L4Cl6?Px1(Q%Ya{FGIG+B-JpCPddRl+j;ej1K&$wRqxhy(!(itLs=pn^0{Bv=U z(Dk_7wf%zC+lO7@NxZHb$*1F!r|9gPuxyx(pL$R1=eG}r_d1+=FC#@E(-`Crq1{Vw z%uNbU!PB0f6tUd@jOM)#>e{+1Numb{laj<;;*ME*i*i}U{_fr2^y&`4@n@mU?l*qv zlvUPFS0e)1f3!D<%=o?)uv>c+kmM$*t&Md~6p9SH2Pa4_21(X-RV253ion6*QW z#80-Q(W@7ts}-^gq86hym((FA-UbVRd_1dlc>f_PO=|4fW#yl5IDHmh z0zP_e-4Kn-GHqkeTU=briJL_gb9F4P9JpJFA=mIIEfVQ?spKm6R3#z{jw?1uEiFdK z39zD=@(6*7tJ1XpIQ~LGiTstI8Mm1`TuANS3$uw*Kk2Sh^#PgOdEudRe8=EBk4F#)1l9L)jQlT0~=i+y+JTU-ZzjNpI4XUm+qPOCtcZ^6^$y(!e_&j?PsHmFxqwlZ?&j) zT^t>udkQ`TzPY*N$E^pIudPms3c$L^xQ6N3Gb?TShiD z&r><(P+;;!`SH8hSh14sMsB!7c#@dcMU){y7zXKRS<3x%Q6ag)%5+xXa<1c=8}fd_ z2u`lj*s$(r%LgN{6JDjG$|#2@ZxBk}(~Klr#i6hSVrUKD1ostjqu2>l zRHNzQTgwZWR}Mm227M(Yo>(`}{_2RdoPpy(fHos%*Z z9|zD0Mh3!qXVR_||9u6I&ncqDwKxsrWjGy!;;?1y)_I%*b4buUb}2sPPaNb~JEYQs zYBGuvbYjU^>Tl-z(9pSP*n(1{cH=&~k_Y}SEkD&{oXo`;Nie&J0>x^68V74<#HKKH zF13TRI3?R~#NiVOENhj&5eHO(D3vmQw4wWUmKXHCA@7eiLKn&?uXBa7I2DkL)0CQ4 zPejUB{H=B*QA>_F0K1f%SUBwmYiPHnn^`Qi!L-U?1^;@-UH3TxODt69B7Kh0)$^!S zXAQ^|E42qn7phiwxX}eKFdTL#wgEkOrzWgdV}JnsW_-NTvf{cGrM0^AU7AE6_)Xhs zPF3BasdfCgRIO~q;sIv;N|Bch3w8bs|msDm3NKV zbcAt`7~W0f3? zGb)=mQT8wIyx!zLownqmP3bcr-=SEM^?NiilU-$>OpCMYWqDa9G!#16WGDU8XYH17-L zG3li@i8SfM;T}J?Ee}UV<|+~*RX<8CrKNEjVpRg<^yEli_}99q4{51yA2bKRU;Ya>*G!|q3wij;fN6WcVRiLz+x#E3)r1kg^OlZ9^ z!GH4S<)`!hczM%dm*~Y3X+EFepVkB#p_1Pfn~fUA2oA2aIPhK0s_84)jy|Mqc|NyEc6}m%9sA3oGDPD&;(!bffJM?wy46$ zz?hiR2mdqDk}N>`oEFEXWQb7M z--yCm5r8bt735y0kjInWm+mV@P9AvUFy%d^?>YfNzs9~vo7R-*V11kR2(G-9Z8z)B zIV0*c$LU-673iK8Ye%13!67*ibrbO6s`H`7I# zIeEm0J;Up2QQPP7l0OslJgcJ6piAlr?O9%728p8qIQeQ2(Sr9*QzDLYklp8|kMt}= z_`&ZdOIHRGsb?%eZT@cOI}PE(Cv7J}FA-NzXm?|S>?NuL&nGd>bi!TGaUm{K<5I)n zJ?+PC*)J`-8MpBkuW8<5T?IgW+ycB5`X~12nw;4EZ!S!^PFvDk*_RWDs%7SN8j&iX zge-a|jTTw-zG|2e?Q;d6&(MRI^5b@@=OKJ=#ziAP^B^(B1(KDr{e3(9huxQgNKbr< zBw$25)`m!%9(kE&w>J>OfQ7w-^5;(rul>uEQqtJZUvt#-HJQ<~*6FTlaJQAe6_s1j z1y>aj#A}u}!Y{_s)!axK))%Fi;b7wzj@U<`AKW4aTLd~OU zlTgwcjkemd#Q+CMgo$E=3EkVrbsAeL%TW%V1iT@%fK_QOLZR}GGfyNO><-Ypv zFgUwZZc3^~$^{l>^dM(aY$YSbh?raMG|`{#6;YoV5W;OI^i`sE>09gYYyBLxfKV!L zcF;Y$Fl`L_?(i3^=DtdVacvmy?O!iXKZ2POH3G%|B5E3d_+7eEzL^ol_PNHpz`+{Zr>IY znp_^iB@S8$J6aWf9J?lCzG8hFyPq z#^2;FFA-cCP4Jb@F|@1<&P8}%%^kM?L2*bEQ8PC=4aQ#r?Xof4{zNzXRCwDu~d$xwje4*V+auHSGUh+ z&AFcLyPnhAj$0$7NxdBF0&f@VOdYNk|NU@y-CgLsKZZhC?KnWD((CI__b2P_9nMEf zIzkH*u}TPlaQb;D>_qbuR~UVQEr&m~G|TXZZvPFrr839{&~d4n2t**nqdy$5x=w*i z`L3OQD>P=wqN4vK8!cTS?~f`GGf9c@o5&#oV}sETvTHv@u*BnX1R~6zurLeWBF4v> zo3omU?bEl*2HRVXgpeF*kgm4dG$Hu?BPTQ*4k4sVT=iLD`3Z)NL$9k>*G?%8^-rT6h= z>n43>Mi&){X((4vX^qlvScrnd`a(^286TLbzCai3!Wj-B4lkWCvXW5zWLFYGNGj=c znUf}&YM%7(8%zv)2yOEYz7MfF$l&P`_0)?M~~0qZ{DGbj2>lh zLsg=3WG!u4dtpTN7Et@nstbN~_?~x7e<7m1m3!svnMAD+-K7lTG=^1mDx45*dMTuw zuL9wU6H1P%MXAWdjvpD?F$}7p7u~I|h1bd=AUsrk;*`YR;%uHJpEr}VtYJ3{N$kt!08Dy(6T8xX)ekbK0vYAE6RZ(m}unUpE;-tZvcgItnP$&Z#-C5+sY&kmA@DNSsa55O{%Dt$zeP>XkR z(#D9*W7W(}%;Q*ah4OqBdNaj1i1+mh5`&` zk*8lP_KPz0KO4XMfl+QDi__3pBPNZ*=AXYLOB!t`&35s3)MO;+m+`wmjJAS`0Lxhg zB@6ecp*v2aVVu($JO49+Z^9|F1m$oDfsG$^@R=~MuxGKr<(z75Z|b59ahH_@m2UtU z!7olPxps~pL%0WZzjH*X0;VS>uNcLa)&(K98>7zUXKlm%zeS@yT0NUEA+mq%VrZ2nn*Rx8p#bI z`N*AKs96ETYkC|M5lTLije>aj&0)%zl@e~xr}OOHHIEbE{~Oo%|Kf>4Wy5(ZyM;HBNBR-A z2naz1(c0bRSppyFJry{zTtP|u>ZYekpDQd19y#MF1`~Tq2mA9Id*;B~xj3$bSz#R@ z24s&{e137c0^+p?X<7y*kU@LO(p0{y+z_U zj|XzuWG#ML9VCbWiI?d18@l!4Ay-H90HpG>)(`c432M18L;`MjR6x3yn{iT?tHpDaD)vQlND6anB4>7xg2DnhZ<34ker78L@p3z~^jlNB0+Xx+ zTv+D(mZ|bu)X7#Mz4asCI)Q14JEcp58fxzTpgJ`?btS*6 z;7OMR-_E)?Do7BXF3d)T!^EPs-Ca@1O;*#^UFYrjZW9WmZjnjvasSJ0_VX=iW$QkJ zyufMyYx=;D@vaCtT3kyxBAW+(E~Rxy*$1|EV4y)o&d%{>G)U;_Xs=XRpU!lF> zErgM7)YP9fn(kC+tR>M?g}y?!7aY(30PwQdVf16$`5({h{>jaZJfZ2oG=&?8e6AVLTPE%Y3;gRX^8FNf$;- zm~lpheRykV>zm#GXAp6E5y*7w)p7(_Va-RqEAE?tjKGRRb2`<=QGGYfEXj`>T&Vc5 zM(EoGAJw)fYtAnmQ)0TH57>iNqbUKi=b;ADgXe!ojfN4Fp#X)n6;=eGRg8R-i#b)_ zyYyA2nno7YCYL8{v^QyxigGa%)?@y1s^EH6BgK zeE$qcFfH=PIrGGqs<7u@anj9b{^M_QCMn2m=Z`)8ULjR9&-MT>=*rL!jF}h|Iw+3g zjw~@W^!v+wcx#!0om7&5&*jFROT%=zg@j9t+hZ|Nd*)DK3=RU&Ay7w7tc%bunndS( z@x@}pEl0HsEEKN>j%KHl&#fOYi{c>hTe#WIr(B@(WkH11{HL&z9r46W9J#}n5?|8| zMZ144#w`Zp)Tq)W$K}ym0E%~l>ys$H=a!Xh&~-X}N{0%~wf{>Z@hcNu5k>4sKka%3 zbr1TsOGYl}#}e7MAo+MH_bBCWgd7=EpL=6x@iUx^B8R-K+%%|PywEQk#GT9FyT~E; z87aA22?lDgo_L%l4EwAopE&>u2G>G@gi?&aC}H0$r|Oj$z;@)ZOhY4;%@nItBNtPu zBOyF49WBIhLaibRsLSCBQ%O+yfe2eVCI2N?=9>|hDG+wCSMN!ELk37mO~^P9(i~2( zn@;(@xS{0}sUCz@6pkm+7rhNnrNAjxQ2q%#e!;bBx}W$&wMVJ*Bz}^I#xm(6b$P>! zHHO4p)C*VN&;T3NyUQEha=Vl6CxsV9?fAc50EUOk3$7LSgNhf+qy72uq`0gs!oFn; zh$$ljczR=6YiGDmd)ZH6fQC1z>%UmF>&KL?*JaVH|CYYYxBFsZH2pSJU{bHnxxAYa zM_)Z|?0P)1f#n69T$ladq_@M;u7AEu-^>;Z4ID1k*-gBtsngU+&)|6Z_hF2c&Hg~e z_L*X-FA)I{OeySzY>llQC+Oe2d^%4~pzbcoIDIcTGJnnza^xWPX8KD;8l%#LmahJ5 z=RCkZsT$Z_rhCIhfpgyNvdteD1Y*Dc%g}V{TF?K;ir^U8;?94uplW4P%#DK&p{(Z$ z-egka$HBFDkYcYX9&t_6{+s)s#9U^(=lKN@UsrU2Js2{d-NaEa+Ygh}51X2e98{U= zaHqGU39xaj<4_1lmb{b`AHn(qNQD`KG9m=JLd`ws;!a)l>DSC-(Y8Q$EBHA0101@b za6`ll>Jd(w1jMXdN|4#l(er8m-pqwKr4^YZThoX zoYaqDw(V$Yxn~1|IgZ>&Dg{u$Ds&D}O0zs~;k9Ipdo89-q*N=^s!_1D7;333X(LlN z8%#h#T}U>TQ_J^{C|^(USqb-Ah7yqGV%2Z8OSxsNDsq+*{g7gNkRi&|`N&-HOFU8b z1X7X655#;0ok0&P8YPoPc0LF3T#pv*9Y6=0jKonB0lq=|WrdBERUNq~KqiqdKK;{^ z_ubvyO?uaDy3YG9&4SuyJ~DYx;QPCP3=Yczv|w?tE#Pi8(xUY5k(9@nxi68(wzz_(hbr`cY`#TC@Ce< z-6h>&0Mgyv-QDlK{Jq~d#`C=IAMkyQv&T4RpSAazYtB2a>$>kbx4;I*TJ^C7`V!c9 zgWJ*HFGAWd;&Fbe?tVBM<+|1Ax@H@zdvlc(8xWz;2vvm&4s-)iEWg*un_LXI?WWsz>fQ+@j3H)IIzNit? zNjjibd+8FJw@C=gH?EF2GjB}0Ah`na2)x2!6g443DO|%ZKIT%|*N5I?{!y=R;P7{i`IU@*?ep>Q2WU>` zH7(aW5o>6QtNK`7XHiI}3y^tsFpV#fKKAWLh$X#ljscl(SC`;jNNAZ8$JCEapA~2N z#3|{&CmmwP7Pl#We&ZSSJe)0VTK9cBjTrOQSO4Pc`7v2@P;_!>qL$ouKYoL$CMoLY z^(&C={!}Oyw%3LF#BargVv$g_DCpp@wIKn$u_BH)IC(cd|&;-H^s74y4c!X6 z^dizXh(-yiRVa2YXb0U?ue84LirO#TSol3IHP6p$Rfj9fV-8@i{bmwgoFqPze)X^Q z)s6qTI+G?VPyR~1jv^zzGtDd~Pe|_D6Uj*C!7wl&7xqMZx@gvgwSSjM^@Z@@Q>V_? zxMU&-177LN#5_49N^#hi)LDjg6^I@m?4FrnWM3t0PJ(XCI-3 z$bm&&ixG(SRGqItt4s0x1RS_UwGl$YZEfHsUwa@HK;phW?$)xvHWvCi@F zc95SO`zyxkR1Bkwx_8G(_OK3s^H=nm&$UL11W_VU*7Za#b~wYV@pT)ym0Q@TqKdvk z#q{stRw+k99RU4L!K2OqstOvRPi_**aKxDmD2lnoi^CDWa%q7r#l?!uniYRcp13ez zOSmUwG1%=2WWD|+8jd3Zo7NvwX0}&GC*!Vq-IHkeY_be6<-`}|XVA`ora#5IDWY7}N z&?4fRrB%}N-~#rcu3IY8fveH{;gTSFjoK)@ril2wsD8F={T#c zfv)10%$#y>m$kCgP+tKqu0IWeXPZhHhYtldul&sBE5OCUv7QZ8wt?3c$dYzm^Xhpz z&oT!_w)v_z{Vc!hH3s#~_o=!A&9?>gG#xd)(=9!ZGOeAO7 z3t{EwpR;xTsPd?L=hNuw$=K5tK5IJ}sZd_YciS49481nq^m}n_R zSLSt>`Q=XQP@azw`5~lFQvxq)ZD6L{*$#HS1V*+lqbi&i9pl_1=C!`|Q`6CpdWD?fUwP z!Q@6QImPnA+Sqf7btNYWE@enh#@}Thq8K|^TA=u6AiUHc0}?(RuT=z~y={Qr(GH8kK8a|aP|m7F$tdTg^vXp^%b*!@aLT9M+s`yx z=3cx*!l)%8zD!toY6ZOb^@V}``jfA511m4Kg*Nug7V%(_N%UQRwN#V$`Da~TW;KiF zFM8_uyZ%cajTB83#f<|$r$MqZ&!~BER0NRt0wRDNY%U3+=XoUWM{k^wPV>w+!BP(i zuBUwRqHp^#QApU6|6OpA=db(HX(G{f;5!uJyZK37tY$G@4fhtD{ko|A`*8?u)@G*| za{+$<^A;a~mfIN}&-)ktk-s1C%pKQqgCICNKiu$5h1#a6kZAa% zvZ5kVB1P785BGcnS54A&ePzYWoYk<6G({pje|U9}tez0l&W-*=;{$**(I+{l6U8jYccVXzq@_S9F+qU^)E+qw%>8kv|n zzD3E>6O_#ai8}&uJden}_5FvE&tx~7J|M6W2uas)aV<9wBiKz3rYX+A`?1d7x5JEgCjp;N1ms>|66;zy*iO@ zp5>P8nNt^1By#>D{LGbLp5~LT4&TpOEWATsuXW@9VKELM_mDd=za5ykC6fMCZW}W{ zQTTl?b|A$B5w3K2{Y*!UK*)#>V2ywe)$!kUt?(O4GlDw>bbA(Y%en6%{v!|NcYdhk4f3lO&vToJxslXq%W6WPL}AZW4nJeeno&Ub`Cnb1Y0)y zsC+65#{sq!oty+KKKVvm>(|Ba(+c_W|FG7rQb<6X#rsS3R%=hZtQ)585Tz-;b~;}? zykL8s4==HpOnvLKwCh`G*QwjX{B1yjYI=VkRQ=dl>^@vlu4#f2?W?bk)ShQ6B^DF} z-w)uk@uFD_5Io~T0Kl*r0-m_uZeNG5Yz41E_ZU{g>uAO8Dgk|*Iz#v1VB<{@(l_(w zoXaQDVpPGCLE;RP0H5YT0gO|i4Q!te=XcpNpu1f8wfLa;==d0w3>~2?rnVjpcpSy# zpdZNQ_B(-Qc+i{c{;W*h06MsG#f3qwF&oYj;tlY+B({6EQf3nGeGzS2w;k*AMjCRp zh>g9NPi;CFCnI{CD&QL2WwrN%8T0j4RcVR0M1=-T$1JDczanGeP`FFt+_KUXxb5ot z7m!@B*S3rqXJF1ElPj$FMEypUA<58{utwAHh10dH+%L*^M-Mf79Bwhdyst#W2z}f% zfs&SQ68qQO-2BRz*=+Iy1_S!w_^6l98*Yhp5;jP$-(Ozmk46)Pvhi}9uF;nxqv&3D z&iM4Mcshls1UI7)HYul+nT4ec+ljkgiLM^`Y7j<_qbezG97TBb_Zs_Xmum?bXzqd~u&qt7WP)FnVnLQx5r=O+7|_f?Ib_x_mf~{Sw0}tH+ruB5<}DV9CnwE&_fG zwfHHE)#Fsk*mhf>#}Z9toFwKiODxEMWFNmQHX}kHzB8cBBL#--V>%6tZj0h4U@cQ9 zPSJ|}ic-;(J4#^(bwRY}0b-xt-6%}pC4ML?5N+`ORrG93mXxwH;?vFCQE4$K8~2d`%_6Gl$SJT>a`?OCA6WG&)v4s;9J0b%sEdGCwRSpK{q z;UV^DCm)+Q`9EL2h~DcnEXX2BFR-!~wB$bh*Z;a!js7K=0Ie{bYlj_Bfij+Q;2Y2@hdTuW)?3 zG}^;F>q@S>_8W3_x~;6H;oQ>~+XNl|XQ9abrj7&XU+r3jCc3yuNsF6N`=}@{{4Dq? zi}$O!&pOzwZ++OdOC{?!ujt8o;6Q#3=xx;x@RG z?bPRoHcd3C5)QU!Sw-HH*+s4=(-fBYKRu4RW9Pu<2Iu?-&Avh}nO8SRu|<~2s5Gt0 ztT2fwc!F6))NsY^1|7vJy}331IORpES5Ys#|NJKA~~olLASGl&;3lmk;J*JvQ&1&rew#c?Y3=K(~_#Qq_0f zjTbn&eaAq!b%+S)8~1&u8QX_PSFYjh^{& z5}49w?6C|#ejJ_t>sMNj?CXfT7h;Oc)m_@J?%3bq)^!-y<5UC3q0y=|#n>0Dh)FcS zd#Sbmhsr+0Hc5;*$Q&z`Nme2`#Hu$}xtk+7U|Z@7{t5uud#A^kjN1i*S=!Eqe;x~n z54L+=SQXACi=SBHQ;2Od8r({32xHFXZx*apH1Nj0yXUSEPH))qtu8XPUHkBWu$S^~ zG0htes63orH768(8+&7Qb(QaUrGQY^ffrv>!nbdHA=0us96axWCqOUPiVqu+OG``6 z=BiY1`_z#QL2;t&dU|pT%Cn@QFAwg$kmIon|Lu6~f#2_D_99RHclZ__IoD;%KGzR~FiHNQVrFk|P!(bCq!+uIl}?v)z8lnNQ4EVC?_Oi}X};fAHiwH;CX-i* z$~?;?@~wS@0$oU7)=LVE8_8eK9j!WNIM87*x95<~DqrotnW&;7ckLRL@B2$b8TvN6 zv`yR})gQl~!!5o&KM`^6Y@8nn_15DM#rulxTgS6Kw?)|V?c|>H-^TNgS0~~6ei=KN znIM(>@#Z>i<@+Lw{78tt$G&;0E&CCtHM+C!Lyi5#zF^G$S>llol6`Lf)zB-ybZ&LO z0+%s?*gQNAm6GVRNUmF~&!nws`Y%T}1&&sc4)opquyOl^spO4|g!i9(3YNr7GH&wY z9Q&sh6v#FafvrGM^AK>8X!*~#)*SO?2i9b==!CQI2MhhfsPH8HZU#S;!n4mL^mRon zVi+%d1G*`jWk0f2;kV!08))$D%WpQNr5BxCmv(z}qIHe zRLrFRMC^t~=atE~qjOGK{MV>T1oMJSMySnlQ@`r(()a%R^spn+U(QPL>!PMomXGSO zZ||)&XOmt%c1XA|<+YfOJDnmbkTj4x>Q+DA$3Vi*b3L>{3|b?e3B-<13eYKKX*)W8 zg9NhxDx=vzVli4IOpuZ-}R=S=oAH z@=5M5yxGlQ5DI5U1zqKfV zrz$#yCCokOeOr{>fAb^$JNq7)r!NC!((f~W+!d`|H=j2+9zFd{C(+*GSQSYJPLOmQ zt1;@#uO#^`#y9YSa2bc3p-g?J5>bP(V|jI+$HAB&!~B4zXb2tz?~QZ*s{CCZDKZ~g z6`LoXmbVNjmuWJu{W2z3&b25WXN=YS5so#hxjqNM>t0)&Ec?LV6g3-oON@F~)HlT_Dt~2*5x1-lb zR@BcoDb9b4z8-G{<)j6K2mNX&@t_TdI_CGIw>>eh|LvxM=Dbe;LLXH-v@HGxGGp=f-+|!VTzzeA&o^)0T;cu-Dq(?M?_A9{oafl)@-Nt(G#=LL z{-)D550@)Ebla~>rW36==`SdQ6_Hl$(HdVd9G6$ve9>`{;~9n&jk*aDeO*tYUkxdv zYITJFQ!1(}cYnvIGJiGO99wva-;b#obn8$+m8Rar+pxR1wOFm(gsl1JW`AZnd|x|p zt{Mm5qQ8P}{+pC+geGFZnVPhz)~IgM_=A#Pqd3yskMrG3#XPbB?NHvXH;EJ^$(0Zy zBr;C=IsM5kU_O{n*KCZl(&Ut>`Ku^bFi?Q^@muu*)2e1yx(HM8r(a#4C4D1KtY)LU3s(ALv?4{gBca$|qE5T@z8XfS+^ z&V5E^j>&0M`@F0ev}j6OK~JVlucC6%t-0n|8`BE3DVb4ADqCrK%7<|dno3PHgwqvt zW}8A$f%9~4IDiv`s_fItSXe66uH0?hpe^mAQNz3LUY}~yEDNexDr-8yAsuZqX^H+O zt9PE=gu5GOY71Tyc6M=5sd49T4r82$VN8|H$4o;bLF~gBmli!1M`$y^`EbMI>yQmX za+^u{0Y-8lPnkbG-CJ^<*?3=FqgpxLZ5L4yW|8)+=j1mV_y=5KE_Y{z3?kz+n;B|r|EZ{y~D14DsWPd+S220Kq3V( z?`#iVS-uLb@`8q%MsM5^T3NA2`3j~HlPq@omoLUV@YfN`lQy}{(JD=AAdF7^?~7M_ z6TX^NHuo`|SVvDCFi@mw%gj45tqtnbxKe#_fw(R4#h3FRHlc%C%Y;7cMUUmPlwYuZ z%-Q)g>K0I}s{=Aq!^!E^u?@s-^$4F@6!^q?bzK{2Md z=u{cTqICB}MDR#_z??`XY2k zg-KJ(rwwJ(w1<8_{Ca*){diwFFE37tO_;$;fcrpUnFK4*Pw6E0_W9fD1WL3x9K*wu zXLn}9{wuU}ckG_p#2CBNSfBEb?v0tahSA+cwH24SD+SzUV%9$UXnR4q%BZOd$G{6s zlAPb~V|0orzGV3|I(oA!{u(Gv#!EIUkJwmjApf}{Tuk4B2fn}TAHn>GLX&80rOGK$ zJ}uQ-*!Je@>%|3MR|t-)4%0Bd@w?RYXNIFOiq}Eub8ovjX-$Q`5q9jlicktcr?Q$f zjwB89$@rVG);-?E4WgD9w~pmebx2DOqc?8Z@!|e^6Nfh za?k4AakS$fHiPz(SrbG+R#;tO1iO4|JQ}slNi?p z4zvZJWKi6;z17TEB7oM!zV~%?cmD!i_?^;SzFJhR0oA5P9+x;w%iSsS2KhwDl#Z;@ z|I-T~FJ)Xb2@PsLR4aN0UXSK!ry$i!6hy|Jxbd-sz3de(PeQ?VYMd$_zNCshnRKR@pkeeJb! zdOQx9L(>V|!S&dI+_?>z6vhU5Aq{CiS+6F)G}`o8Z4R&45b zasSFw%A=hgzNL*Lh^C>(-2;RuqSj|kw$W2Au&8RlMnAi(ut(ln3uDq3!|5H z4)ES1i{17X3kg+DYRS4q*1p#_Y5QDXZ#XnsUVUvcIc4{xH&I1H`S&HHgl+AP?Ph!B zj=P2MDSKkxUg$+-E|MwBzR?o)tRpLA;%>b?o#37I>V;J0{0Qo@Khmk*rZjm>GTrVb zDQv^-`!ue;n&r8+iA(<2h{dwa@>FlQeW6k6li2l^zUFbq<>0J1Z1eiD&QhK!3@e^1hhYA{>)?0DCZJLO-T_8%FoX)w4Ij{?Scai@QI04b=-}Y+VcVcUg_)UIc_l17JpJuk@eks|#pd$X)_K=1 zzaw{ExQkCfpmd;IOmgz$9ad;ejC*ejGI1?n$3$+e#(b-*`0c;hO&N(Edi{MlQ;+er zBGw*g41GS>A7$Ks_YX2*Ah|FIJAw~&iROKZ_8a(CPno5S2cOM4R9E(-8t-1Zh~RF> zl)MP9#KHGZP5;`ZkU0`j+H$|84w+EcfBpH(IU{+sV60YFu*xBiZCgr@L}Z)Zu-%+a zyqK7WCaK^^;^%8Mni80Z#Za6>N!pXRcAQ= z%>Z)#rrqf;;Y=D*&unOa5C zN?k-^3^z~7@Rg2_#=1theoHe3m}u2~Mv%vfn?Xq!n3wtLVtCbiCr)hm$Uj$EFa%ELc zWw7d_;4lKewK!%Cr|dh3!iNTD5#zS+!!x>BrQ23S!6i@HaV-+L#J5c(E+a9zFH@~f zSAPu88dlp(282EFULIEWAo>~5g2><>6=vnuNH1gz^;4e^^=Idu)i9F{;*%p8kG(z( z9WfP03cbrY14&U|@05I@G+3Ow2v)#qEfA=$t01QIlD`Jem+A@M)FGBi5T2 z4-=tHeIoP7ZATBc2VdYbo2fWwD~TA;?Vgp z)-?fqMp@ibi=g%#>VX+rHD~(6vokZ)oSY@9EE=C<$CCvWppuixZrWGMb`?1p>ONIn zI9vF~ZDUl_?c|guS&RP56FI#q#Bc3ZysQQ>OSGL~lzY1T*%GX!QR|vQ_Mp93 zx{8vhoFkc_-^$1f@SBO}#E3$k%g}g&K=#t|^k{0KvvP)%-dtLeg2|1U#8=V8i$8dY zm%mOl@tffyrRAEBmKGz4PIq!C+7{kfN-w=QdWIhwl95vraQXE=-4F?TlgM+)uskz* z?j{sF@R@d|U>ZBG595(>*=rUD$z3{*VB08W@>?cISHf|6M~x^X&*5Cysq5k0eJ1yD z?3C)+c&c7{T(e=XV0$<2|4>q^(JN z>TZze%#oYxRW6dDrl6tRa1lX5XB;aXw`LlL^7VbXy1LlRhu98}j$lsR`$;FDvadYa zd8#^8VwvmdiOkN;nQYIsnv9=qB34jUb?)xB{IVKC{;RENlq@vqH4FV zxp)}9@Mv$9j*-!!3z4ZJzS!H9boOZ1F}Ge!LL!9Her;s1E*+^Y=-K3?<46f7Umbkv zvcDE;XWVMavibNHq7a5qB)X3$enww=D}#w$U2;VhqeGitc#*iJUKS@)yRd)I1w1|8 zZ#F1Mf96Agja`0ZVTK^{%uX)GFT9v=7H^~^B~hwmE3q4QJ+)t!Tfszn>zbS6&dh~+ zYb4Wxf`jcL^nCF0%6#?fV~+o2g#4E_Q<~wn^U`2tj8qI?dP|GMhmRjKWD}pG{}+k+ zEt^e7NSFpqF3s)j(hnXyh+s1g8gpKL1m>q+tZQtXUVXA9?nlmFE{D-#P(V-ML%9g; zft~TfUbKacEiFATqjdIUh6}x!VJ7|6J9>Mt8&Xk0K_R|%*s>=3^X-Qw1K(eXNlWLh zeM0{0Z{lW?xyD$!{6loA?U#CFWn}|3-4FHae*ZRt`57uS4t7`@Nq?kPYy=Hy`7i0c z{rq~NPESiV1;9kf%IZ7z)vN5UeqMZ}Rjr<$p3Y-C=c|;fna!+Q|Hq_A>4+y(pCz2l zxQkM>>-D%>>gIHVX@fr*j71sNbZTmf4e+z59PCP0sBw2wuD|qO!$V5+Pj=tHQ)rNI zm~}w^V$rK#m*EhjMIghy73N-u%510t#r)O(bWx&j?RW{Nk%{3Uh?0@ zz`%fQ%3*BQQ@_QuGV{q@H=ZOXCocl`?pPbG*aar1WOV!X?L^q%`KP&gndSa}-yfmP z6k@KVgyaA{2+tx|^u7DCR1!xkUN3jV3+Jn5Z|&_V>FFhvzh2LQFU+(Yul9F;_39Nd zv(9_U#{T}2pQQ!`gVxos*0XK93!TDh#b%vQPzIah(Kj?~9v{~d{&=l3Ni=w7eSLjl zxYSx#qz3jp8UOxt6Z^`QvXwh#1K%h0Sz%>FKYaKAb6sIp^Xbz+B7(t<3Tq=FH1c|R zFAGh2X(7c)DrG93ot=66`}d{ECbDVQdfKd7R;+UP5i$!Enf6z&!1+`E^~YJST{67d zKU`W^SUBXs3;)hSc&*nayUE6(FDr{an#)=!2oE1W844s^=4MDtd|ce)&!0aBCACHK zR&e1UjwwMww^m0hl!JPz-Hx$wUtT~m8e;fez=bpVvem$x+k35%+WV{HHCh~zl8;mi zWn^T&WKJWVB4T1DOH!tD>c$k=53YQ!O@A(eJ0Br|)@#iAAX~bc2VFud*rUQqR*njG8^2 zi6Ve*v`;_M4rgZG(3JC|c^_t?1W@}w|E#cjl}E4t=X(g^87y-Ru*84J!f};7Jqr4IdZj!N;r`>#{m1aI8X2!cR{o}~jSUKilf^IsR&DrPBVCW+feD>fRj z@tC}jqzY~^unpD3O*002Q;?DQS2RO0^XoMS^1J`X`t&eq=KLRqfYkaW{QqR$%Xtt$ zMW-Mih`o3r1E^I_P7ZQFl4_9&4S1ABg@a;^`zhXy8xu?4kcmFn?3S2YbEb-gOWp%f zS@Gq|G`KST$-B!CK$OnUP8Cz7$k1e7;;^@(vO16_jCGx~BTu&hoyCH|EWnTHuw{>! zN!xR&KX?7_cQUA##;p#QEZ4rlsA69z#*e5J35wT>R#|vD^SfI zs&=cmb^CT`NJ!Gih`N)DOD2T9rGdOeNN))V3F>6GkrCBbui_n62GC@ThTC$-&4kLz zN<321EVwouVr}_upPI(sDos z1YbZ9!~bod2x1{&W0Q}znL^{Mva-2yrqUxnGF~NXYwNA;?aUNAWP%8tBoNj_VTWK> z@7ErxVA1;`{yh+NVGQbiS1@W%_4W0QA=9XqSVV(`c9gAIrOFYxnqmHkz{j91D*e-^PbOkm5K+H>mudd`s2j{uuShj_Xb*&(j_r2A zT!Kfc3i3S2#q>7NfU!0^%!Rxw9IAbdQ#NXjG?5tcTWhW2Ax5DHewX9xE-&S zpsSMj?*eotbO1b7Cn7;c#Ds+2#yHIpH3SgH$H#kr{w!PJunOxM5*++D4??q(49q^I z@lsDZfCGDdGsKDxwH0}3{^Y_!Hc`13FFrZ%uVwp_@iqbVC@U)ihC$TZ z+q;Xu0p7!G`)TzUs(?P5fbQ}DQp(CxSu`w_#EDSAi z)YaF+0+k32LkracsGk*@F01T+uZ3jo&!K*RKO_|^paEwaydhxJ zY*D|4NTHOQ|6t;sKh{&P>tq>*v2IHCK$$xB0z6I<0S}~t>J?r_h(u8f3TojBo_yb1 z9eyafG+dGkwXfvw-@jv2i&JbY-{lP25L+zj=OT%~N)WVn@9!MNc0 zp|lD;0l+y0VKKzY(%9ITn8WN_enG+P>T33Eb6BQfdrbdIiPN^hvuDrJRSFDxzuZDb zhCf`r!>055A9R6&3auuEaLD-%B2Ll8Jv=x_gQ-*`yNQfwLcFT?B}#mUg)0_>dN~AE zxG4}zAST?q01z|oU+^5JqoL_c3=mivxGBKFp(LLwRb@~U5`u>YE=;WJSxcXgi9PV? z6shP8X~9#4AU0U=)@a`Sh-Yhyi;F{Lwy7U+DKyELF_6djiIAO4kjT~)xCz~Z2hW}- z%EH9_u*cWBfJ8M|lq`cm^utvDE9$)6%GsMLO>rmn0@BWEJ@wRlF#lQ54iK&_-AhPm zE$mAJQNTpB3p!%(Nl2Ebo`S#tJJ2$q$yKo{xum-_in|+hgxc-O^Rwe4I4+1*l$g)) zI|2R6+Uvg%nO4-JOG~*#!h z4I*YYvD2uyfr&)XadIk)f29wkyo80d3_&jS2B-(&tp?rVj8&APERn4d(2)gqK^&<8 zm`!lzl$O4P`bZe%rHdCAK$?H|_jY;1tInsp{SQQ84q@I4(KihNWQI>~L&QG_Btq1+ z54UD%T?Q8*YJk10{vFSl(>xhI9^MO-&CGy0`}a*4Ht>)~qRy~mLII9WxbqMuy}-De zDw@wpE@%ffwo~)*ji9QGXC{i_YOKdyxBXaHSSUq>y{;=l;P{^za6R~bokD4o7NSwH7h=TUFAk24&21MrmI%TlB1#{ta;f0Di8#gpwS_MJ^B_tHX2u&6 zKNwJH$au8eK8VuN($bHJwZ6_6sbz%?Kx3PS(1&gF>J}gfI3@+N)^Y?EefGdC@1^>; ziwNHxTV|wm4B|Iw?D5{}@=r=+qU;Ph6nPx(6~CmfjK@UOCpIR3HMO*aPy%uMqsLPA zcLX~-b`5hhot>Q^x7b+ULpJz;1YEgtB`66p6x}`e@eyL>gbT!T^W=|Lz0;SVx`s=<-_=pn_J}$gE~q} zA~-GAb~Z6;$+))3pMj{DHd>v?twgAI#Sp< zVBd6rOjtx!F^mC5A@?}3?# zyu&LDP#o=CPxZZo#Kf(*=P4Z8=Z#vR_yPvD0|#z}xM0c~8KnWvSNv;Z+_oB|y3z`|>Ldvmq4g3t*DVNc0~zF<&&k<1UH_BPlk z2o!>+JMzi({-I-oQc9(#$mIMZw8z zo4g6G;}a|KT(aZv-2ufK@A-fOncD*%8}>t{VzegJbSCMDGeYf^U#;8g=|DDhHUg*kaUq^i)h-Jd^eo;ur;n6~tjaWH)+h zp~oNqp%(?oQ%CPGJh96D#uF`N>k62o@$<9SqH;iyEV(EU$G2K-btIe?mGN*a7zqRh z6w{&p`TO&2x@cU4?*|NsEY?y_gI?oM;2BCe949ZG9=3b*LFYdw02O80`$#FTPueZBHZ2cTox-X+Lz6;|=?S#5nm{80_CNo0e7P%38;XyND7MG&lL=b^4G1x0c9JCFc6z1gLa@simHVDEAlcjad6-Q&4UNC z`Sbg0qnQT>j*zc3A=!7vJ$c9Gc4UWt=MFDBFH-6QQZf!9)8npWNvX5bbq}oqX;jK| z+f`g0EJz*M1mgB02q+?(-GYo8Y)wUBl%~@x{wQn#LD}1O4T6+n1UDvuO)Ce5goiH< zEXe@Nx;WzL_gaA=R8FfNr-5aq5$QbC*EKcqJrl9e3+?W!62I10sKk= z3haS=kjw1=Oby+Ht5It81T=DaD=Vu|S1crLQGzNM%E88>U2qw@!^+ESjf!F+YkkOC zz>Jdtwx)ZWpNUCIhISfNu6#pLBZRZP_3>N?l1&hb+S>z)*bwzMKeRhQd!*D*J@%&% z)P(bxtDzj(R7CgaQ7^>19oS`)2BQ5DoR&kIWy{LK!UkI=MxmDpG=iMsbp%<{p8EY6 zPGE*T6wc6p3*^EZy8;Wm095S7P-RV7kQ@pPT8W=MfBw}}mm`wha*Pkv62NLZ0jR*- z(iWKw%0Y~RklmcIZHn>O?-mIOotBoCXct7%Lc2vd0NoktBoN?%$bk+m@p{xg48^6; zkpIJl(NsYMK3#coQnbU295XryB~3rzr2)19RL)mUq0Tgq$5Qp zDM?Hm746?PFOH}_1Wn$DhZ>oGLuaZ zDaC}RfHOW!!NdG@tE;Oa%>{KDDZnbr$;&IsQ2z8tMi8ua(Wg%oWG1)-K{f~Kx9P1* zKtQmx*+8KTRNSEDTf7&Adns+r1*G%?oC_xpjM46-q)|`Khv1POM`UPNSSoaXpxLG^ z0Q3xSzw)_KFagz4t9Tf9?v>kAMi5~XgCOlcadoXc+X}1U8mpWH0tBK%8u)Nid%Lo# zY6QTq2_r3~1NnN35;_J3DZ!JCcPO_7VMR1-EC-ZlJdn@?44aOXwP56z7$Ar~*uCzdp_`hT+N_h826j4BY#s@Q+`WzI$$PLjYzf3) zI@Co5j^Z=GzIIIk$P~!T%4?4j{YW_b05LZEF*|MPnGbw_0t?v%lkjqF1auR&*J~rD zV}_Rz>960ur8Q7^sE3D#`|Ab<24={o`kQe?f=P#b{W`}rzrLOeGFW5ta?^3c+F*f* zZoTj18N^HWKeHvzF_DuLLcix|&?WGB1|2pvyR%_hv_LID%%JXPU}BO%9|EGH9qdgk zqke>xJ_H*9Y?%p|K()dlyZT`2D*D9C%z5g(@bqXI8Z|7~F26?S5B?2R{nYpGFQUOS z0Vqn2yqQ^+Ma`+h>2~aS4@f!;pjH5P{Oc*b@xoX*q+A`F86&1waBzCzG`5g0U*aGD zqVd+Cpp3Tq0@C9M{;UM*6zXGe>Y!m$TN@P1Dk$2NQw)92!K#0 z=D4f?jD{pcclYiSG$|8vTCA)9W+GTCoxToXNNIC(bLji4cT&+j$q?+ZS3y-w7H~UK zcVNg-E6LH#(pnxW%A`~*#lk@jRG@uDKd&}i&R@nh3)F`^4 z86T?bMC%`$uZ9&wNhaiA|^XA>e&87CJAu|sC)17WGLXwIjT3Q;NfWqH6 z{*7reLKl~q?FG1{je{Oy#S0P+Dp9q?@Mi-02H{`<4nmVvPzZsWS(>z<1`Xs05I!rw z6e}`_L)Xdq(tt$4!!?_6(6O<>$Ydckm+I6&fy4+3tZ2|>bK07*nFpGfg{CghO8e0* zg&Akqh|Dy|=4AYE7z@-;Asd0SEkOkvC12Fk3+46SRkI;fhQZi(dX=^EUSWePT;xTi zLOiHPYF0UyfqL)A2Br+9tLcx&pepghiE60dqFD)OeB7-TgKhoSQWYxDtHNWq@a5$6 z6hiMxp*2t!BERSMi(RuHkLOge8M6NZ|any5tE zUC-;Xhf2H2U%uP`SleL?q>q=C@R|wqZ@^7mgio9Ly5NWu54tEi-aZtNV?k4jHlS_5 z`;bSrQW^%JU*p4?qAi4ce>P7iZleK75Yiln=_6MR+ECXa1 z*t~_|`S2SAE;Mob)FnVQiDzzt1r#nQx7o^~8Y~FiiX|4KP~>t!^`62)1utBRKDyk> z1PH!HU>zqN7>ME@sNS|la^_l9n(ga&c$_!KU?E)n5cP6VWV1S?=m^deHj2t}8Hspd`S@Wn57B zD7|?Z(CBOXe~`z!Tuxg_m#-08)osHuik;BWpyG!rHBcE`%9sa_M5<0*a{jH8wsX;Xdg^-QG525^92&L1^vtlg7 zDh877GJpvskO%Q7DAt#_Ah}*f1rTyd2(*!$meo^-C`|`AMT|;7(D}Zq*v@Iv^8)C7 zZ^&hYuN%57(Le|+ijJ38ZES4Jq$}w&sxO0v*r?4^%5x8Kq=Z1)E_fbwd>fIG1jz*b z0H6mD>l>l?1epPt6Z)~tX$(&h(0z`MmUD}MV}gMf8FdOl3|0csIx`W&vw;hwXgDby u3!sV^=up;Bl|-yC|F4z6|9k!D$V0YGyH5AHnL1k75`8B1G)GAL?f(KiaN4ol2Pu=`lp+i za+#Pm?rktBmdMU7p;5ZXs9(CA@k--bm}ALOdrpyA6Pc6sa8t+sY{jbVBoW}~*&2cyMY)f%76w_25~ zBn1ak2nh)dM?3Z?_7=Na>d^iw6}d6?BuPG&OUh-uV6f@cwN|&trIF^;h~xUVn37#) zM`(ErFBaGA`1=lP8}HPt`}4KelHv3~jZZ*8*z@Pl(`Cxs?H8tu9Da7Fp0w)W%X^lX zIP~uBHi0y9C#Q3glIDFCeu0Ts%YFJsyKHQ1D!THocYkUv_~%Nbud!Y)h5o()MO=Wy zY8zREtBXsD{(Em>&(*iY=hde9`*YH%TC&IufBwN(CwnwVNm<#?!Ng>+FoK1jU-f8^ zRG^`i759Y;tA*ri9930S9XTceS;be%){9Mk*cWKnJS-~0#>U1IS>r68866!R6%{q* z*7g3=lQ-`EcymWmK@%$WPx`TSC}aI$Ku+Je^dhLM(Zt;MmNI{TGH2S03P|EG`~2PsFR zpB=9jXIu4}Unm~gw0U#K8~Vs?J9ellDFremD?O8z{Gu&AVe7$id-INlV)vyfw;t@A z*?3n$U}BC*-N(@NSize&1J1=;x?kJ$&GfFVwwh~AelJ%|zsygpk9mFk z-Sz9&+eY=3-rRsg5Y{Z<>grnX`t=LEM~d=u|B_vT$1mZ(+f3Re?y5!g&l-8%lOJw))|@D{ z&%hmDIL8<)&Ha@8($(0g{IfGZj455aKq=O9wII)`H)GEc$)Tb8gaxJP+t)uoIdQqz ztw6xCBT?Lak^1!Ny(;`#vSNay87{Cm-xu)8W5q=)%+T)S^{(TgD=RA#OAA3kLCyJA zdX_zJHD$uMnwKU@JbSOb4Egx+B34yKVr3=>yAl8G{k>zt!ou=)Ph^iWGcmEUvR=$F zu4zckEKZU1qaFU;>se0J7Fp52Uo|ZqP>TRAhsg0^1?=Ga= zyEm{dfk;1x>R2QFkkC+L z4iO=t{skvbPtW#FlX04ClR5^2g44G*htEkY{0It6eEnLm@9EBD>t)&Hm6h3{gn*HO znn+=Xkzkt@IsuC>?Kvi|466b~Jo4P!+*IpV+J8o|cDvHo`J>eZ`E&pfx4MOqan ztLwR|B7fY-F!%BGZAwv1WqP(Yb}35msd;ls_j^@iZb3nfz+9)vt2-D(HEL^XorOJC zmlxEg|JiI3iTvcdfq%Y!eQXDvfJ%F|k;Aulo60LH%-?(Oa2b9UX6rD9bwrGD85CUz zV5qQd&Cq#u!0+taIuO#k!@1RS1eB=T5Eqx7Zl-!E2ch&^X6<%lnKnt z%v_xNnTk+FrjW9FJ1KdyX@POL<5lXL8$Zp{CVETskhmHP>;~h$m0kVsOW7EkW}XQ4_Dw6(Wu-u=KS64F~W z)nDzmvu$>yS@|wGrLVhDb!c-0|FvA(e(9Q6iC*^4%knL69Ig=u{90=UazuiK&ZRse zNN{|vEll-GOG{^W4F3F?e*WQpGo+Nu1-8$mL)eWH*!72te)lwHmaL}8MG6cr494a= z2>sTH7Iv7aIoV4+N~1sWHbpZhDd|#l%2Bxp>Q1#Z4V%io?|pr*u-mDYqb=!;2!rty zf03;159%UMa?4k8Y30d2c<>;QILODixVZGL{gbarBvH42bNAN_hmj^JoRq-Cv-frm zHzg}OiXP?XZ)T6fk*t$75ET zA|N2(a{hJ8w85mpg*?kn#Qz~FcE$KR*bcQTv+GWIqsY-z(|nsKRE$5jbzy$~hj|Px zdqm~BiOF-b#-!wnj}HenlzjW9JMvNb+_^jP@$qSS{Q^zJHhq#h1-9kpkw#(mf8Y4j zw{vau|9t)XLpJXM0yE^vlP7)iSaI5F)S{4t1cRH+n@Kc#_wMyILOpVgIL67zsop1G z(H4hPClwgMXBO|}MIshE(0;UqlT-KYe9Xw}Xe0IM?OJ&j^@zC%r?KUQX*>Rdf8RCE z`rAq8f4+Xr!hfwr1q+L;79V-iY9zncLwT?^I)|Q)fgz*2&`~Cko}Qin4X(n!?{1?a zqNJdpAlbMkLbCGfts5gvY()GfCnvjnf54)GEW2devur=scH+FGV{~0a6c~^7Y2`;WnNCnO5TKPYQhm$YAGOucH7t*^{bmM2lnX_jp z4<6)pbaYhB(ALDKsB5(oWvz{s$i(qU!5Sk+g=%YS^Z0EgCs)EcYwPGxqGrp>*J;-r zIB+0+AIl|HadF-AJ`{=wsTpL(f#1v;4}5$YR#%porCymg^9Tp^`YAuZG`u)F8kktg z;L1^%g__3~x->h=A~n+ZJiudh!9;3!-2`4S*y-Awz0VmbDHka?T=poZ#>-O%mHstz zuM;i=jQslcJ}?o5bF?kX0I~SV!DKo&m+yd>i^_=;Cv2^)6&~zmp82p({zvlMlPA>C zf;MM>l89qv-t^+omM!;0YZSi#={U>`DI#Zns;#|LTwFZ$`*#>1OuEe9@bX%J_J58` z8WxWBpp-;z-+x!k(~o-_aMkMJ{Rvt(kh62p^@uCREYciC&57j^dR$t@O*UqyuNl zsq|i4?|u_rf%0_$xtRA%Dh-nCGkNiab0NpnTU;lKo)@|PmJYr7zNGa0HQABr7D zTR29gFI{Ru?I3E@0b%=(=CMGn!Z*fVFo?OlK*)ys1Gl8SaTq-+Tj)*X~aKsJ*3^ylS*wvh= zC(&pV#3J89JcC1 zZrZ+eYkgON-76Fopl<5UpJQW9Z=LOmram1*5U8!{zHK;oZvID*d~k3ulayL)df{aK zg@ZKJb>d4Fd3|%^-Kl+*0WyIpYU$=(%AdlxGm+;_0j7Kq3%J1eLRsYY&~Lv^7*xD) zoapiK^J^wjDX@7}cehw|AMk_;$1dvQrzBSA6Z{W|Bq0FV4;?zxx#d)bZcz$Kl^LqN z&;9!^JJgevm}iIT&td}}-Me=ok6*9IMU}un$!SUY?RkD4cn)k3|KbH}wQ^)8d5Z+O@RbW9_`13tW1|98$Kn zwx4pjg@iQSm*!MWO;5}h*Xi3PgC*o7--YWvZ^M5IW$Kk&_s!WZ zYWzghIUAi+On=tBT?f^07H5Z_$BrQCD?~$Yc8Ew_ym;LIp`YKY4ilbmU-tr{z7;JD zM5=WHUOwyfSmLan?98)lL^k1f7*RQY?i}?XZ@6q=;{5!)EWhC$F3!wp;F<6<&qHw} z`AomW$sU^Cj&7?7>3ep%PU2caqLg`OUV8H?3QmGQ7WLZDm!}7> zkg#xyRc~>7iye!e+vMGW&*4G+#mGdKU9S~U998OK#P~gyol>tL$F-t}TBh~Bagaf? z#?xZ8CPWq7)~3QQ~O=vg$h zuiTezNHs(W*&*`7+=l(5_Xs%J*(ryxt2U);og{$T8|UdHwG8cK+!5ynBC`E)FkT3<)X z1uNGae|{Sv9Xkhy?6sCO#WQDaH8eEvnK!Y9*BBGfzj|TkL2(YWK!7YnCxHtS{l@q5 zhkoPJdY&t0^2M zdE*?-10pw6kOM;^B2tDMpVJu-^{#0C`@^ZZIe`H&mzfu+l$L3&sp|5mU<4>9-W*_w zI=Z#ekM23@oc8MKs-yb>n&><$^|wwoXsp=9#l<^!_R?I66;Cg_y`|cahwbp;Gbjwa z!U-~g2?+`4&xBo?|F|%RBujErKF`zL25O}-lK>+>vA_s+uP?( zdZei&2ZAAK0wg9H6y&qZFR$EOzhMKfdodN~WkdV1iO&4Yv7bLxpGi|1cv@RqC%s%i zugh=!^;BO>-_X#DP)@B+y}f#X#KfLX?%4J1+qaSK!u)}{*vtzD-J6~qVP}`lESifr zaj&qj(B=2IrTs$*+aLFV8eRYc(s?>|SxHGrxvb2#`o%fpI1%@PjgZGWy3UQ&-`cc| zf|BwXe)Zbak1AlhU^(+m{{T#{TW9_~>I?A*B*`|nnh1WE!Dz>{_0ck+94A8UMwDDx zXu7?g&5&M!`vTLDX%g$MCNHs)>$9KJrPa=aSy=co&M|Mxz3nvd;0iSS%m8xy>4oCK z5DXzVF1UC|+1|L(f@sg__C!P{7-WGG@Rujhc*7&{4T2&=d~iU7ASgK}?7qd2CEUu|I0aWrw?~b)KsUKo*z%oN?QH$eyST zmq0{Kyq)$35Hg}vs=2}w-h}?l9V-N|cRa7;*Sl>f45_zn-9k}LyuD=?QK<_ulmlBb z^{goQ4hq>OF8-ddYPMWM7uEzKZ5ExGOyGWQ-83{Bw9y56u0Q!zGj(+UI0Ko8hBwx2 zN(#Wf7wK4kHtr%$WpkdTR48BoLqC<>Dy`RU)72Ij*2*Gm4W7f4e*yJRKRS0 zD{HI2OZ?*Iyw+{tGyY7SYG>@`flr(IDeM5ZFr3eKsV< zc_7@PvgftUk!t@1C70h5RY5Gr7#SHm`%LO$EIEFo(xbr(ub3Hbyf9I+R?K9Edh?rJ zVAs~ICqh%z(%GfhHM0|mdYZ0NsD?Ob1biUY+CUq;Rw$PayA=9)1+Zgj{w40ZY%872 zx}GZzN0@X|)i{YFK)n2f@t3&M!ZzRU=wd~5irqAEc!~2vKq!OH&tpAOh(1W#lVnyO ze|~Cm^28j_tRC9Erem3JuZoJ=mZ0NPxZqF!ICwSUbBtK$NEs#AlvkFWYCwbyK(KrU z72Ap3r({=oDOL2hNmAH7FMi>luYWv5w08|%q&s-fs`>m9HjCgKnW~zbo5}ckc2qOk zOAczYiEWSWJ#EKU6yzc;?ZcF8(^o+&?&cKQhq99l##6Aj&XYwwL%W{N>aBj0p#Hm! z&1ssA=AW_KzWt@8rLw1|w{vRcHQ~pKj1I>3USSP|jCD^=98vzF9f)Rmwpm?|rc5iS z%5XOB-A^=HS1I|z8brz*$Gh4!*1-QwX;0wJ{QC2ITx4+G^2j4hv@ZbB&WsmM7&~{p ze}S~FHhSsOC87>C=W*%0(Ma#?>`Vm&s&J`zPo}hJBGDH~#^AX;X;CQdIM!A_pLaVh zF3xqtQ0#h_-~mx5g)KYjzn~>1)@uh1&xh9%+Sm?s_st+7?4l~m%1-0*wvLXieE|{~ zrKP9j!g<0=_!3{-DEp=3WRdL|BhSX z59K@<_o!iF2im5<2G0zdU1XXJRzjJff3 zwG-9-u#~NhO+BDR`mF&Pw1+b*zk5^9J=p8`W_f)UqTaw6Fk92(>=_iebcRzXH=XXu z|8n2sRR0n+A5Vrpm9F;sm2Fh*+kfL{M^$6vbVgl03b27QAQ!>!?g`}}3w^o(G8Ww$ zS7#QO#%iA9nhNOD`3yhqK7anaRN&^F^rrUBwO0fp(=(pxm3Ro%(oj>gx-KoRS-mF$ zQW|`JFoSs}I{iF@1N8JWwIUPLqaXy;fl!ld0EGD&tY3pQ==bgSZDq;76eF69lYKGJ zhl)ExUDuhpa?*Wq=7ezOmQ9<6!Js+|_uh`zF0f4j`bqjpbI6)aOnbS_Ai#*$U|~9U zyN^{zZk5LM#w0&bf5_M&{jmVoJ=E70c5HU;9~w5Kct%Wwty&NifS@U0t@KYiLzaRoSJ?f!Ff7 z*N6so97JdB=h0`Ev&K&85>-lwk?|Cf;S*=J*rQrnjzvm%7ULhAiQ;4NdwQDp%=hQ= zv3ZNjE6dY$6;m(u-~agb?XjgCx((GUSFR)(02W)=7g}|_w(*ZHEh;LS{r-^KxUeJ+ zS_G|54KPX?;IYY44{~(|{ei}ki=qEgJYJr(7ygH(_VmXJ=mM^(8yY6wx_z6Hf+7() z-K^Y)vf|0uo8^H&Fu!DNMLtzMQ|Q_Iwi&g3^N2MR{dCs~>+6?9bdhM&K$uL{VDKb*eWp|Q02#l;l#&BFFW z3dJpvdwN2HElnI`kckv2_7(wQC1K&l~g>ZvU+FW0yvBU7!MzGW8! zU#N)v(4(J1JZ%VNAlnEYBOe>LOVODJRW$E@WTxrPu*2TdY8Ll|t{Xy*)&<;i&oCE4 z|B+GAfA`+Kd*VxDyntqxva+%|3hbW8CnWeOIC#7UjBb9j06$-}IOOrgBx(iS^|ewR4K~X>GS{NYl)5-Pt#&DoJ&NZDpkm@2Y)3 zefPw_%GXO~;eS=3UO_ZD$YvFb*y2}4)%y`Xa)Cc4CNf!2Bx7pzt*kP+i|5av>pl7A zJ_|Fm83YLP?l-SMIsA5w=nZVQ5D;E;adz%LVb8&)cRN*R;oH4~x%%%nOAQ~I0#hnn z?f(P(W`!*g8ssK)50M09+5GhE76NNR3{iA*dke9Q@9GCK;`eb|p@s); z)jTjdCD2DLA_8?nh>e+fIKX zY(==ZLFruO7!(k^E>v4n!`XZ7lfO}V!47||7IWw2_e}Y*A#bg3+z<#gLBBM5PmZHE zf1$>9eA(?dqmWQLd#U?Lwe-u+fB}E7ds$Xx-(LRNOJaN`aq&x`qm}z)ITffk^vFTE zM4PB|>Xa8kIb@i++L=fAac_-DAEY-PG~BCec4H$W=3{j=Mf}f~%&+(4Yj*cee1Jrt z;jz#kHVg4)aOCx^dHTN#=fzpy{+Fg*NWmhTcjP7~&g}jM!GY~P3PC@bhF+Ux{Qb&tLRV^7 zBEUD}^Y62|*NWVu`X}#38=1^+qvHBlSI4dHneFQIT^9{lw5W4~2Dk28r{Wqgte3$* zTnq#(O?rQC*WjXj#mX@dBHQ+Je4H-ed_NF+po-IBxZylxslY_aV`|jv#?szI^oq+@ zEQ9fvq*?=GvT4(%?yNiabPu-nvTKJ+AZODp@!WbGXuJKP)_Bf# z0Rm80OyO>A)A|sh4GYtQc6v?>sIq1sA03jGl?`ShT5a4*%_Q}O3m3%JmZ#ApM%Gnf zKkT~8#kfKJ8FOR;*(xe33i-!Em<xkbDS}!$eOv z^)y(|ehu}jSK|o=F3p5~iAVx=D0wF;NBP5Lg?jRB?E><VY zzgD*8peb6Wf(W{Q7MjFx^j}&3(FEG0=in~2EJq>56n}OH4d+M0d$gKlElHhiS|4AL z_dLc$8m)O?qQu&=GTMY{`z}c0_TV$5lpr?E0#eW{alFq);%deZveTfeUIw!_r=zVn z&cwn(&{A*Q7P1p(T656!6$rOX(SmeL{PN`sMyMc+|oo0V_ zs@K=oYx?WFb;=^h2?MdzdsO6s01(Yf4)edh3A@c(hZ+Qcfjo59n|c)OX4vi9XK%L7 zza%3gJ1#DdcWOo}l0)xENbB@MO6c^ILAbpFmFbp#1gD#DNkA9(wM2t|e0;}mbL>LJ zSuQALO8C8L`{k0=S?-0UB^l{8x8b5!<9f!guyCv?mu#@bx7#$3ayy*YS^w zo{#@YOco{%ydAJ8I}QjpQMVSm zyBf3utfSFw^`SflxtSk;m3SZg7u;^qf}2XeRfBFMSJ(vGO)%ay(E8Es1NEROEov(9 z^h8b|M8L~A#(p5To+2H9_@RxioNgpmxHJbr0kJ3TR*q(}dS(ntLBe2+>!mu0wYT-J z-eN&%5hExy{olSlh45sK5*;Dtns>eH^&t}zlY~?!4_aPhUxIEP8ZwO*cfX7{Q3BD9 zlYR_uGy*Y#;Ow>xI47BHzAU1#Kvy5>RsMYU9<7 z_`JFB4}eF%7zmj56hOKA_vM53M=tm`fwnZlS~yP`uApo9gYH0A)g%2*$*N`);zaLx|vLBp@5 zH)+9hCeB#f1HWc4Xx|SAP{+#>XI#(X{AC}2Sf|Nv)uWBYPaP!30A#n~k=~)7_qG9?=SC}KKy8L|AI`i>J04ooV z5<%j_$l}*ZNSuyta=bHR?aDyeD$w+ZO+vSa!=)k@!S@&t;>?*dM3YGHBub0D?xE`( z{+``=7RG-e$ol$ZWfu48nv;LzvMu8xTgk}2$Z!`Wf>=5R<^p>dhD*T#bYkG~1%|4o zt*!vl$N?{FW5iPL-@k8hwgY%5mpt8s8kMs)N+c-}Px z5)B=}rosYJ)q3qwB9wKrvRj)7i4f^83B)>erjZ&>Gr0A6x6C6aySlq^ZyY;l`7Q#a ztDtYdaWuIjZAGlB3Q`Wi#QXqf2hKkAQd5BF z)O|!Fi=JL@p?EJ8A$y!7i{FkY%*3wZZ6+4!L%}lTdaij$1p>~)*WjW)oeRPUM^O>G z!=?N71z^G;`)jx5d7D0dx3R3sA7f)tee=*E2!=5D!UkFc$|RtX>QK=F1^Xm&&SV= zqegF_hC~S3#MdjjA-$s4)(SO{SR6VM!lrz*@><@H(a}`R9OGoy-{U?H9w=H{zx3Wt zbC|%CFq?F*LFOX#vt)F^1u_3>*9@EI92wUCbDDlcLn$K&V|bVPlY_>h-N5kC3R=h2 zPqy;>A;dW~vze3?UZJK%oG|bvBDy~cJUF3|5(NgnC&P}3uV3R(y3~-`LU6q-u_LA$ zi5K^vB1%F+emgi?*o^}|Wuyx!n!v=ws(_~?es8?5F9A|n!%&*G0+h={q=pwryX;Dd z7efsQWCek>jl(pi4A77`l!!XjY{M#!N(yA7v)O#iP2}_A*4JSaNrr~x(jTHeL+C)@Fc$Xng(YJ3XsW>k2Hm??sZ-O3Pl7$A z8*LZ6V^av%gF*Y$Y)vh1o#+t|UXW)7{S7z=b3_AzS9zo1wuy0{Yv%}Xu(v0YWUlqM zcLWE8hQAr0lohWqh=fiuK8hOB491=C77b_&ZsUF%ht6FEr{$BaCmN)g)ujo#Uf;)5 zAc0!JKs6`H(e+InfFwf6mkDD@D7Rh)>~HQZloNxefRA1@%8celZ35K-(FFa~I<}E+jVnnb$Gu4+RHV2P}pm${+NCWZY!C z_X8`cg9kIw%#J`%fF7&{R7Lpdh~yt=-&e7NnT16L3e@P({F)vY^??JNK~+qyu1m5v z=fQ)*F?UwU#YybQ_G?0Vx~MV6G;V(W{w*lmlr%KS2uLwFt_TyQFIOe#DQOv*Af|Cs4aG=>Pu6D>K5zTI3%$MBp6 z+O9Dy!CMDIMuCWbj+_?F4*&hi-ye8w z+4XNr^53tX`X9*r-}gx2|BB83+xHCrN8J`D$b{}mNJNCHt-$M^A`T-!9Fr6S1H)Zj z3kHM%RL}o?jsLmaHsq^Kv;rj#qoKe^+blf3#(t=*yfBx?^*2@jw=loHvIR%i=xA&E z_9JeqYHDh{n@LX8gq;{YNnj#6g7(+6B-SVt{>j8iP>$@tKXmFFNp~AzKmu4*O;KSh zzPg)a@q>tRxNZr5D>AlL*ap&Fg3k|*isI1I({pxmYI{RZVhx6>5%TB}+`Qb*&d%+B zz6F+xl8TB&US1vsF5T!HzSNyav# zwl0Ds;JTd4y7qeABNO0X$+ovR^8y*0N#xIwB92&$4-T5lT8WZMSN4IwfhFhQ!GjC~ zn@MzFaebhM{(wm@{`^B2d~s_8dia|gAUWl6Z6T3A1DasP-eAd>S9g*unD8|M9ft2d z-R)m94Eb7KZof^nvD)}XSB}?b;AQp$0WlaD3CgZ;UcR{Si|E+6ilS|~jQ7W+G7@<#nvG#F z#CaWnswYD@G#ex-*PZ&7W7c@|fP_bvxfXg;m8`4h=~NMlu#vdhgPl&b1mB_TN6T-a zvWG+=P7n|<38d$NUQ~xAF-!40NnsuyiV={4`5pTKenA7YB{7m%??A7QL$F@9bX}gT zB&5tg7p5Z8rp0GN9<%Qs9?(K1g{{x;=k@E?F=&8$Bp7To+={>*zLtm(fi&XI2@na9 zCPm@tt*jboTHb$d97ZsB6xbOVOWOuUN3Xs2A;taDEOL2u)xbct#KYYn628P8$JTqj zGeLDFhlvm<$k&qZ=sK^ZYZE<19r;$V!j9t>7OvoUEi~})bct&7G7F~H>Y5rkh=PYDAi#HbX&&^)e9B=YpHU#}4DAn;{&y39JSGXX?23hdvz_b?KQC4`(d zwFJo>F&{U1Ee(M^B)UW3R9{Q1sT!JgOLYno1rKn15Sl2MF7P=3`~ll2>C`rn?#ftL zq!FC~3NRnaiRm1+Y!Tw1 zuO-+6;Febk`uh5WPL3%J3)RD<<-Sc@wp3SER*vXKO@_Q6S|{{l*a>cAYON45(wY;> z7GaxgE@}fbLMf=vGN`1WrzhNFDbV=@()N;8+tGijWE)CBv;5Mg2Gct}+F6JbO<-0C z4?LEr)?0Obse~39aP+(sw6x|H(~u|#&1H4j`GBDHDHvB3fV?axxI(n`Y)8+ABhkwE@db#_MLR8qv@tP;q)z2{*a+Hf!?s1gcZ{s$#8SYn(GSG(E} zeW+e>TFKh#KQACWynu4F5*}_z?qS?|YOtmPrOLO_@7kWzt{r!C_+B_T4Y-jB?>?IP zdh=fFFro3FIne+`Q1{!8<>=87@O^D6}g33 zP*AYb)dqwS(bVH&y~O)jR}J@;uUoecW}}v5<>%ves-fjjZubua@k1px2budiir*9XD~kO)qP4d)w6MYO0Lbp2@qwuHbx``r!M#g5xs;L2`wJiAKe{!$a#^TG`)u5(O8wff!dIhMNquu3Y(gmQGQ?KGCY`aOY8Sy(F1p%O=nNLi>!7TepS6@a=D4ha!X>Qkar4NJA*5U0n@&0hp$E zff_i{TT%kgK4B0Bo5iMAcaWa`k7E=pL&%iF_|hRrnuK_d>71ihR#u!kZ&c9wo}4Rz zdyHt>F~Ktf{+;klSBysX5@_qnStLFp*qa5A$mmo7R9m5UrnLYElSOPObthV!wdFwx zwNCiBwi4eFfX@h;O{yj6k5`KPBn3e~>Jw++!cyy;D$JoHF`5uoSnVhWuQbri0x1Ok z#B!u!E7dv~D&kmIHCF`>B+Hel+w!+?4F3p;6n39Y>S$$8@X8k7q@~ROGVLr#fN?AdJeFzG3q@FQ42z>B5I%uK@9$RFLztS}7N(}A zr>nyjY_nZ|UngkVKt7AM?lnjfxe5YZ6@8V1RoOgvlxT{VHhI%=g7!N zm>HZ79^2sct}pp{%%>Z@Jw>kko~v$fUYv(uja~iio`(7tK%}!y_tU3O|H<4Kk3#g0 z;7v*bLY}_FVLQ|5uU9i|b2KM+QQ>uitZ}mo$Eek=F3=lDtVgl;*u=w)t00MJY8u(q z(q0hG9|M9t0~uf4+^mZ53N9*g&*KNCl16(53blnGMPa%SuAKb+9bVlT zd;$B$3t%ULuPSb~VC$RB$mB z==xgv8gx`)y8++CsDq3cH%ZBgiq)S6_j1?UTUvV8FxF+181!m>^5O;S3JiIKF&7Ny zwD!tUEd&#!CyW#|A5E!txJ(K%!E62*03`B+I~XZqa59U5jxKU|9>K{@ zjO;pOGY~o=8x!sO zhBKf*oo1bz6z(d8u*m{trhu9t42ihZQ(~YHldOTc2u1Ch(XlZCe~v)-sYm9R1%*$H zHZMxd)$%g>j9%;8Ris{)ao>kE@5=kl=3|tu6B;ke+gwjxorw6Ld%Rp@kHJc%hC$ip z&m2W$7r7tGXthQE-Y{{ATGN_l^Nk0;e{Y@et&0ioF0cdl7?b+!*6I0EZPyvCndbHvc)l|hU9 zHahwcrvCTu-){hN_R{96gnpBS7R-LUiw2F=J9JHl!m3qU)R?331^Nlai9Ch3#1ZlOF)WUqQc#0B0sK z3JOvK2YW?E(qSaSA9f&{;$CjW&?OU7(~qm1Kg2l5r36_1&!708)mV-F9OZV7NoHen z;`a}a_FM1E11Z&B!W`%+F#$^I;6Kj=h`M5GN>-pSXlGeh+oASEeEDIX2W z^1OB}EG8u_Az=dv6UkrQcf_7;u>XAi85Nv>r#_4! z(%&W~>dbfr1iWF8j^Id%cWW=2^3%yaL{n47bsTM@FvHl9L{>onXyIM{~` zj}kb0_AE@dxAOf^|LE`SAt4aTG@T_Gm(}&DH)BXu&AtEO9$MN@W;uCzlCa1)Un}-liO4b6x^Q6&=*hRUKunJwKQ1$aVTesuPR{w- zUNY4O7)7GoCZ22AIrp$^+q)9h>0#KKcOHR5S@Q$4h)Cp)G`8csytfk)j#$Y-thi*f ziDcTCR6}*!n|TjXDpJfPVwhLo(z2#ga{W{G(~2rtS8m`a#sP62eVD=kAMr(b`N3SI zraQd)376OpCo%4Q;G_Bh!w>ybsolXJ;C_2(sjii&D+T~`JKt~P8P&r$cCq5_-*XWe zWdtzZuPP?)Hm_ju&{S?}IJi9C-oc@opN-pI_7EG})`Q}1UvtrZZ9|lNvpjNBAq2YR zsmqsXpVyR?-Bg}@tRM^%*!_nO`*O`991_{Kc0WW#q-+v$%uHt=g!KenEFMn!A+uq(D zl{fVv9%CB24<4*DOVuk8Pf^dTm61REn30wBextFO*@Fr{y6J`^yFd8|!UrDo>Aq|& zst}?V( zI{|T3AY6y${NNcGkxUNEJ(1u-D#h{MvwOD}aM2M)MiP;TCMU~KcS@Yn&rj&pzZEs2 zC@MMA{l2c=_wznvH-&vSZ{B<&;VBN%=5rqApaKo2c^LOUJOPY=e(9cNPHt|~3&UwN zi0@ik!-CH7qDk(l8bGi9gx6#zc&2td3t`DtZaZAp8-Tk8-u^=0vZcp`*mePd{ZR1E zVM3-Y4>u8nYbz)yctPNcgBO16)J1i5Dv&aYIYw)?gS7|fMQ&_I_j9!qJ-QQ1Bs_@v z(3yvtQ>i+Q4Gfes45y(L#-VuN2pe=_UP%f$T5r?d2OB}W{Ft{#(v!{)Iuh*r{5gx3 z=9w~Rz|E$6!l<})uYh+j?JXAT92gt>EYhyc9#+oA5llS`{7jvr@j)wlw)$H(gG z+v(|?odQ-pqJC1chj+8@EztId1+}cXIb?_FHRPP?64*ksu5RMs;1Jx$2hVZq6T|7a zIL6P>B2++rMxB`B_yA%5_;%zoZ!kbMM{ng@_11P)pzL7U>=y3=bYVk3Y2xaE@M9&Q z+m8A%1=S&?E{^>^s2?6)UZE9l%wbl{+XIW@oLtGT+Dx8b!zG`+01jLs$5`%?tUkJs zw+7^cb+MJ`7rsER%Y#ippQ%0SSMy7ZF;Uaf+6LaiN0$w(sV)VDvzvnA4s^8~%Y8>> zzfi|=v9N4G12Om^-q+8snvxLo_ZjlgucSWjkH);Qe`nFdxHdxFQd6aqWbe#&FQ# z^XJcxqN031f0jiwYyrKpB|AI&%S-*Umx}M=Q&D`yDAKRl*>Xr{g6EZdYQF_b)?bwk z4-bD9ld4h5siIg5VA^7Q@?^eJohpY$nr@LWhI%(HxW&DUE5pKn9UZOKyl-G+^h`;~ zwZ1J_gM(|fE57nr%1gFC#ZZr*Pc8v>gdyd7Z{(7*zwr4H#R_cah`_URtUm8xSUisY zt!xHC#L>o&b9?C6v27T*{H~LJ^VEw^3KVzIY?#_h#1F%0{qEBza?DUE=d&@NY2?Ge zlpnf@tx2ufMlxj{CxJweVqaT-TQ9}M;uf-T)2635A&J~vTc9oCX({gkjQNe#AJjc% zCEu`ldnp9-jrH5MZaob^z0q~;`1ac{m1w_pddy36iP4SIZT{CfNl8gT>#ttKtz%H_ z2y$`2K?!fv+&49f|_vS)sVdz&uW1wPwj0&60LNA zJ{ZGdz0Yt{LCrq*nDOu4I)~YrnJX3+z95?~GVR4W;q-4{O*7AMlBC=g#mmFP7*u5q zhK^JU3)#l1lUJ!XV~5}4eEb4KW_#mNZdO(qn4@oKVx|h84mpFyiCRw|>v>&6gPKI9 z#+WyBsf6G@X1fq|WOME4y@^wa3kZsoj1CV!1>KG5%nLA72|aX^CXPW~Uf#t^m$>r! zY6n@xWl-3m2=*7=-}~iryF8Nf3no^dGhllJwRX_a(QO;J=(z)D4~55W9QpU@l};bB zb#jeFg0O6AX&Fe1=}Y*%z)wd*GkK%y+~GZNRtu(*W@l$rZ8^y9tgWXwzjaa8-4E*r zIl+4TDKft#vxpMKUDTtO0_J9BA=lQ2#n*9!;gQgf2V%? zOI=gz{fkUz0J0v3h24AmR+JPm*vPiObN@<~ zv2@BU`RBvu&Ydgm=%96RaiQ%DV5M6NX4(I2zMGW%0`EUt9t-n|5mmBlo_H*elh z=FPI-j5E7`?l5?f-Ea%QlDj3&dF6gmP(*~!%#1zou8zUdo~M0%kSel`av0GgKYH}&aUPxqjo3?#kENfHZQXhk!e7PQkuw3FcwUF1 zf&xiKhKM|$jTfF??LgT&!?FL!i4%M9tOL9#gZ)$^A90p6Vs3r;!pCVUdq_lt4sO^N z@aJ7Ap^Hd50h4zb@j}fL4Vh1zd5qo+3=Dj%t(8<$+aDw9d<&EwoG3Oo7S)&{O^l7d z!)yZVau%2WIzFz;tbwAT+671=+%y}gGTpYMW6i6H5Dmdr64ah#9u-1X~R zk+K=S@GInH7bq0wD^rxO>Rgrxe)5D2tOM!mn3vjq2&L9bbCwv7_zqGh$^aAPUWJ7s zc$iCd`wlrupxduwW4?us6QM3^BA#%Dyn-Z z#i{%^W8+!x+`UUMt0cm8U)I@4cS@g;14bCxPBUeSyMXgH84Ivjnzp?>1o-eMJp2Jr zO{!>CD%mo^)5kKB$B4Yb|G-1=G3U;oe~JeBWnP|I`ycGy$Opbyu#TW!>QP*8qB@CH)~mo}mfhao9&f(& z!MR%ia$!>3JUoGRHE>^^hQNvY+X7Ec7+cbAdiw2njEHQEXt*UEk0BY%oVO9K0(+t- z=2|!2N;<1Z0rLuO31#c+z<~GivKtP4JUl9fhZNYp@a@pi(ZRFYA}k}1>#sk0DGJ@9 zKi0aft?dPWm3KTVG6L+}5*D3svy&rib+cG~;vdDt)Gl;$=)R=}0x&ipN5HVlv$HTU zeMRA#htaBC03MgL%dg0R6rn?ay*o-gu`8QsO>QNb{rK_2I))82!c2kgw_=x9FxNVv)T zK2(#fX;O%H18B78;lUDDaF=QF>X=dI@zfy)i%ryjXldzLeROb2R@gX%5?u#nlMc07p%8qaUTvJn>yYD;_4QNJg z+}H*JyvQCk2!L&SHxflTYH~HjsH*qjc2Q>LO#n~Qj*n&JI&h)%5%QLEa3(NZ#U@^=^z)8SymbN=|@2s#Y(htF04Kc`AVA}cxY zPAO*b1b?Dfp&vU9!88l=Cm^HFB&Z4RBRdmEwil2stLdvpZPG*jU3}0Jtdw2pyiV->!s13H#9a*B0F8JQiRjN zfJ%NG4satmpZJ#`J;7*&H?B_g%OF**M}ZWyAKFcbxD9tUo>!#iH>WUp%Bmn(<_bcX z&#H$W40`DF**KLNjr%sVPR%X>dl$U=4`^J8)fzJ6H|>Wf3cj7iwf1ZiRB*bVcV7#d#v@ zm-lRep;6Ffh7~9vq#{VBae8J3nP3t00-*_)J`K#?ejlNiCqrs41J=xfl49K%P5-#ki=?gl?THYX0`R|%SPa=cpv zf{=QDc^;ZEJgcSc)iw1j;^~NIA>k6wBjM1>+YVcvUK2Wt+o7TRAtb7D6e9!faCdiy znI;~xOVlQ{jkg{RnO-X^xXI73g=K3}d#$dsY}vba>q*E9cEs6iX=x#t(?R<4*$dEu ze+|^oQPa@qBl8&L>7(m)n*Vj^c};!&9wPTZSgKZeG9>f5px_%a8Mvehw6^u2?rUwr zWxeqLn02ggw_sj)-QDSPb+Hm#NT__<0C6~Hc`2P)$?=$_JGd`OkqI{=ToO;TgIbX;M2EfE|2vM=`hh0dS zm4qM~hxuJ`Z5>MODJxdR3!912h}){F+fce;H+{CQ2$EBp=5TKO?q>*VBg1y3u~>nc7+Nf*gyb_*sBf;EBMyC0EWZFuaa0wqe`9n>0V zln)PFYkIMVFySg{xtbrgEuiO2%IJ)u%7fDc#@EM#I*b}nzRzO1 zwc%3?2-A0n#}n}W6ELE)g1AH67;*TZNmaEA_@0{2jC;|P$Z=d5j|Up-DhOg~d~wRm zy&LRzG4*_kscD2ao)psX;3fjZ01;@^pv)x8K5c+GU!rnf!GpU{W-Pp9DCt7F&w>xN z=*ZoQ$}Ne^xtoDO_o&v^J1M01$C>?i;7=AFR;F}9ev|ab1=1DJp_G@K&r>2o^+6lv znrnh80!^34BY!4%X4MSzYbb~2Es$EJEiIwl-l3TcB#W-sdvJ9^XAlgziRNqXGqDYX z0fp_*_iOj!U+nG6LKZ!ZN8%i7jjOvTC3V`^IH|$B;Kq#`DE=41kFA8xtios^057{A zkU$)y6SUymVGJaKv&PfF%HSFRE3J1_1UG)htgaN3dQERMo~6XGen|91gM3UbH(54O zi47ArAs%%&)kMUE?~9Ulxfl85$xDy4)YM}rhbk?{h8egtUXqY+h>C_lE97Y>a+~z@ zL-g~m7+J{)e=VZ+1U0!d;a_$Ve5CkSJYt33(m~9KH-7^{1Lk! zoMRsi34ST$zGyESCAg>8{r7>MVs|a#RMWcPRBXQ-dlf4F>MHSi$w0| zvGUgG&f)fD>>!DJI)*}O#OU;77oluGGw})t*o9|t9>*n5@2gpN1wJ?89D2Q*{|=43 zoT2*j=MV5h@1dq9BWYm5so`)G7~x+?rXbR!?+U}dcIfd%5~-u3qpisGB$(Z{zU}Y7 zqRc-Lapd}8D+De3WBZ{&84xaqK#gtQyqTKMbT^SI@u>}f>P<2JaOJ@O>Fd|8|BJEr zj_UdU|Nk>0JE@e6>|~~4mZV6Ewum&8P_iY;sL-@ZWVDpZEGeTzR7A8yqL5Wa8VKQg zxqE%SzjJo5<$0vLBuU?-zM(J918biM=}m)t32>{_KmCa8i^bZZe@PsuaREsz4l8-@bi&UtNgb zUv#zu$7yQ5vAlPd&++dt_|M9%Kbr-FuM4z;B1A%hM+wlH;e~3@z^v%;<9E%u0wzhH z;g<|1pgV6~5A0aZm1oYJnfNHU|5VTIfNOem!_G>!RAVVAeD&jBQIml|j{}yr)9NJ^ zd7p>E3;n{jkh$$|f8Ce2r!$kw+!j2Vo+72Lsv7udmd^LuvTi1&V8u1f>zG)A02`Y{ z|2$;aFj}_u9XqyDSrl!tzT_`!@3?W}Oeb{*_JT>7q_y!wdC2iQ1$XY;;7j4wBLJZ$ zLkb8Q!qrt}N}D8xJ`onl6{*RR21sgFzi1xJRCs$Sev^T2>H3uCk9GEr2$M{*3`AnV zO)6_@%8^JACx$y3Y<^nWikfnhU><6>W%#iGjVn^0jC{!}i#} zUYw=Uq-~z`m@RtKMzv+oFKoZ@jh`cB4W`@L9*rZzRo*)g!X%?#pI|>DDky$ z?_#><)!LPp&Ur|-)9x3aA2=)|!ZKx1&$xD-^G|HuG)sXF5*bD(V$$BfSIL;A5*!?S z!J}G7EGm#@f`DLq=%lW$E@tiM(cN?%%qHnrJqqj{1*|R9 zJg4=XUV>PQX$`m44o~jeGm&YRE?LDHSoNUH=&Ga@ysn3)bKChlE?!he(Kbm714fy>7E=Yaa>~3d6oxu>rx9WBQ(+ z6NQoJzzO|9H(%d9$gq28t;pkYs$R~NesXbHkBuLnOdobh>hEkAIJLE}4R4+(KEMCW znNie+z7}h2OY`I@rt>FMZ@u;7gjI#sRSnR`{Nk0ksegT^yKcz-`@4q-cbh$O+Oz>s z9J}-fIcQ$Gbg5$WqJswxTp&9JP}amrCS0ohz`K-kV5<{#7H^I!J|DtwF+M!54HVqR z?h{1fuiU8%DJeVHmQK}=dKkL8z_D|n>U4=0_4Rv2V(#;Wmxi#%?E)$c4H4bY_H84( z39sbx4I8O82k$o&O#tr2^pKBVEVSSF?^ijzLTY*cHpECXO1*R9HuZzntSe-T!DY z4+LA}k?lk?Sm5nL^(w8TbT7p$#V{>8T7shY7IxLJ&wq@SEjO?)5$zHJO7cLxNa#Tp zT74CB8y05L_Y2G=K|RyfPMtdS$Bk|GiLT1>D0V7dBLlO*oS%ILaaxP zjdat2^xHUa(SoFpx%c3nu_|{EGla@=kh1c2ZR=|r-R~cr(1U3;y10I9pVMaXx?K#+ zBsx3AgX8bKeqCqd=Vt-geXU&h#AEv-Y(_dhQxlIH95MzgLs7A8mMj_Ya>6BWJVWPJQUmlm zEolWN$SEq?x9&k@h6h@a;xh}>Q|%Mm|M~OFqwl1(?HR=e?2JzW{UY_iQ^h|o%JP!K zzwqYV$-Yp2kCAK(|o2Pa_P=`x1MB$XHEhkNWJDr z=1&}q+Z)LH+Kf9tX$}rlnghhf8uc4k0 z7&FHi1QEv|tEA)uLB|qEHhG7Dm*JwkprzRbnj1V|T7N#wI%9V3;iWRaMaXnnR1I731FtfEmoz>Y_ZJMa{$u3b#l zW3@oW-bPm5zxBXgF%d z(dIFF6O801P)}{o&Yp$|oG{o>cK5pEsH>8|~#vV}ZWA^Mf-E$uAf>z7> zKG>>_latf8{wrSDTkvx*Yt(7dC&%Jb*P&l)t9$svqsNc)x#)^*^P9CCL8lw8%sUnE z+tBL9ojX!&IUS>q=o}9X?M~uB8_?nD@?D=ied>rnwyllz9(Hh|_zM2m&X4fBD79pO zf%jySkF%27LbiTPPmO%CSGM0@DTk;dM-*9uZ~d{|v#EtUev++uHdP|k?QnG8;u1^Np zMtb(}4>hQL|9dOE9_xHYnw`j?teGHw~2_?!jegL^$;(&jR zQ&?}4vu<`_Ex~=!*9{t{)lRbURc*%4t50369(Mlp@vOs2>pweJE>U+(Q9wrE`Y2gW z%0el}d`mT0)`#X)DxYPfKqVS)- zPS$sbcxeBd?~YNpTBo&LSNY33xOkgu8%NW^RA}M5hY_&}v0ifoh6t@#^yyz7n~0`T zv)Qq-F$A&vuDSIbm%t4$L88LH$a-D zS?}pa(m(M@Ga*Jc*J9qO0YDq4rR7qI%PWvoqM;;+9YUZcm1!C)%e!(2Nw2Zm5~3BS znn}C#cX7v!B(kK+8OyyuwtZN8i`Kg%Yd37j<<=j$%0+;&)^PC24oZ&7be3m?aEBtQ za6@0%@WC1=>VmsKWtfPbwdfyWkhoq*O?9k9f*@+lrjpZA1f=d{CtF)JjU=es?1P(Y ziMDZ~T0C~W6qyz~^y~Qiaa|eXaO093DHEdt$Nb7*;u7 zP>**Ybl|(+rD$@_*k*)AoB({IPMze1R#KE@mFE+WQXF?IUS;r0>zARGMtReXQ_>WoalGY}ucgc<$V}zES7+hZb=r z5ATC_p@{wzZ59lQpu#rS2IvoBYdcX>irl#aEozOs6Ra+>up2rvKxZy*_#l63fa&n> z_0{=Y!=&GL7$PZKf2_6hq5~Hj>brg-wHdv&e@2Kvh75Bt^n=SBM~WMlcKQ2pm4?(?if{%ts9$PnFG zvv#|a{5^>6;-;;IA^YxbM)aDhX*|0eD!0wGYF&LPoOI{UkLYD_dELA2r^b%%BDf*y z9qyB9Qv~*B=SAms8+v$>n*YmNyPc5kXExJ4ysWD$`0+gKvB!~#YX%9e>33kzbr&vP ztcfRfR1Gp|XHABXp#ct}nv7`_mx=$m;`)4OOg{5tl+e+rX?_Qv|E z!a4IQrtW8VUR8a)aLWl-wtrD3of=S)?yf}UU=9}^R@e)8?G=kurX~brAYFFoJm9$z zWNYtDro3NaYLXOXp*FQh#%lGg3fJ{XM{!DL1WhQ3N@Q7`5 zaXR343_y_9DVBwZ*98%~EgEodr)!7y?d=&bhl!6-_L4P-p+$USq^}yNKWMt8r7W=f ztt}VknGWD#DqstmIW%HhC>0q6@K76N9R#DyC+ShqMrN{DOTTcGPp8=VJ=^n{tZxca zJum$GOq83MzPqA&A%md1&fNOL{K837w8X81g=e;Fi0Y-Fu!jt2@i=zAXSTE7)KDhw zd_SV~5UZ!qZ|-!JQSA|#AOtRJN4F-sat|rwoYOjVj-6#D3vZe?$IKsOZYCIYdHG#vtJcWq70jSo$FQJkvo@;8XU_Wd8dN`D z-WLy^-YoI*x4hn)>7^Rjbj;6n$_gCD?FxxK#4G~3u3i0r)a<*IgIb`f-T`^G(%Ag{ zJMl}Qer#~YD0>O*fW@iqy!#P*`rjJo`S*`D)nq6)*CkewR*G840fJ=b`(ll5U{zZ`i?s+&3X2y}`$Z?Q!9Gp`*Qft*Fg(Z_!GFO#p$t%(9P* z?bNmFZDe=<#vE9#o4flOG`iE96?WZZ^sa7rWkA`!MA{?s8Q3iw*pJwgnQ=%oEuTQSVo<8I0imHL$N&*U&Ia?;A_%F>qL!LZJYp1Xt@ zGH59I+RxGG=$GwclD!-CnGjGQ{I`z`JUKTedig@rEEEukCA(ZrUgWCeU*4s2XCc!w zjNL3}@V?r&XsL_Kpn(H-d=K2>?D|vPs;AWRP1a#2OxxT(cC0TVolf#$9X0;;>))?m zH{SgLS385^^-)BlPp32b^K50K_zCy8qWY-+lw+L^xjq;doR_`MzntghZ@Sr15-D3$ zoBf7<43_0?v6D>Ie9r9i-m+*>U$96sQowI&X#PG9qF;o6?50fN$Q+M>mi?E+%^RL( zM}tX6dNw8Ct?tWTrv|k;#yEBs&~`w;%d9xR@fyGT^_P>AgaqX0b|k;F?HM*$Cg24w zTz+Ev+i4c;e^9c$&nTN2D5ovy%cx|wc0S}fCgPsvpW`Fb>}JmFKt!Zu$Oucx>cHq@ z;A(VDEB;;O!?1lii~mz$c-Bv~Q#EKUgm8mB1ws&(o$bSw(^WWiWZ;2#$snLq&=qRR)iuin>@J>6YM{R7WVb^ zSym!qKX3jxfzII07RLybLhs(Kv;NLrmqo!>;u_<+;ftm0tJiA3f5yzsO=|04=zpTMcCIKs#qy!E1D+s+6>2*sG zZc409cTxfvsqZ(4+eTpJn6VUt+YPW}&q_lxS)saMhNpi*51pB@wRa?N0ahjl>@y#K z{X+>kP--)ZYd+T6pEwHLMp0Hf#t&Xky!ZL3fkZqIQqIy=zo9LZ9Jb5}DA@(%`glz7&Z5G4c9@wiw`X-RGB-WkN|;rPVp))$!9$J;|GBRP(<4jtlsxC#oJ9jEa+!OwfbobkPdSVwFHCB6^z*h0I z5*Nufbu`%4gLwO!a0+oVPhaNF2}jyEe~&l-V`WEs=Z9q=pJpU9RDGKrZyq{t0@kmt zeKhuDgy^vnN%!ozgIU^6C3uAAmMu*uhMTuk7}USSz$HKqJ1>x3usSZR{n|)sRG8mRC(gK4V zLugyGswI0 zmR_@Q%r3)Hjns=5C)G#ME&M}9n`N&ZJx}x2uPFmGYtfVXhLf(VZQR6yR%C-rn z%6dW3>&l8GT$p2eF(~qa6>qKSJ9^Y82?@pltmQ;<4GL}!%S|>i&{dSM)kLvZC@@x> zY{1s>=4*Wyjp=AoDr9I+?t0);!v8|G{O1Oym;K04k*zpD_Ny+**ayXpz!J%?zq`7c zS{n%=ujSd_;-~@3x%RV7Ot3!X(f3yDNOnwZ7X3f{E?Q+l*sz!;xrzGlCC(hdhQFeY zxQsrSKSi8x7JkqXUw}~0y`w;DCxIZM8=_D|rJkENC&{*QYKF+>oYZElL0b{yi|PnP z^0;+xjj^C?HJg`GR3m;NdqNx84m}aWH=sdVbbYHLn;uSJ$z{@3ePj(p>ZnltRJu4j z`%}WFRC}{eL5|&=@*}`h4bn$!4;Xn|e%Tvbc!9hE+3ZvS?E;S{70yIlB{V-;-vfty zhRwb4@L>-oyDsF8WeJm6V3@QpOTuhe6b#AQ!&p z&aJv4^RfWG=zU3i7hsboTDeWzIMGk=A`E8+(@O0z}OKI{r%gE}r^;O!f9Hr*V91zJYYu8RNDYdz} ze#E;?nA&`CL-w8ODNPNJQ2q%gdl}u$i2pH~?Qo_L*Yiq<>M!p-+_k%gN$)wvU~2kQ zs1!i|&W#woN;>B{Rp3iHz@?S4YLb}V>9%`=D7*{4XEY;4stFL~<6$ejC4eg}B=o*~ z_pW1#O;_;2@Zb7@vE%T%h4yfDckdP$D}W(p`7Pvd@Q}UEm@imhXk?_vb&y?{lRlzq znm}cM5JIWqBbJ*DGcdEs_R(JU5g9`eUF$2hM~cI-O)Xxp@9aO;#A>te(4k#y>o8Q( z3=;4b)ld2uQ@Xvny7?s@O8vOf1%EdzgyMl+YsKC?eO zTsV!Kn5L?W)lEtdYp#^XAyJ_ z5#3DO^tmtc9}EWZYh#3CW#dPix%(AhX5g}fo{XV!2gU{j$|n2e953{VR&^Odhb-K_ zvu6v_w5IBgBc@W^G@^_Aj%lE#Q9G#ZX}`YA?L2a+kp@UEyR@A1+{(qWoO@fGuP1}l^t3-MgIRF9y{O(ih}MU_Rd3Fm)5iWM{xjfB3@8?}bI+a|s3l`go$5&O z=ElLl@znw>ShMD(>4)YFkr5>r+xy3QgP#8oIUzp^4(g2FF#cD@N}r~deB{7UP$ z87hrx+jFWvFo-M{ni`nNf{;(_vQD->ieLiHp-@DRC+tB)sI(YlmB^Is*z)4{ruTur%pXq z3y7NJMU#IYyJ29zhj;Hf{MwHL^=;vO1TGvei0Jr>cb=!|Oy;!lup`2bnC z-Owzo4CBSTc)fOW(mOskH$7OHUVB;Z;cZjG;7t#164r9hgppdd4*DxG=c1%KDmkAdaT`En^7(zRP2Bq z+ei&EFh)(dR~5&NTz|4;zjl2m@5a~`jFYn*@e z`N<89jgH;>PK^F{d5p#*U{J~bPA7GNIyKrm;>0hifjr_xhGy;D**1aGhB(W2EthHW zzI4R3hoD*xG@sX7j1TSR&c*|cnRHR(VVea{h8-iN&A zl3Q2s_&2_;1kj3|d9v*6`Gj7im#q`N;Psi&T{%{JY+gAF=9k=twlR%_5(J}p0~KEK z@$jNC%U-X&^7Pj$O07fhIGfF~{NTMe!9hV?dMPR{_-Ir7 zYcc^k;lF?5dl}Eewf?yPKN}gvBiHIm4EVN`h5OU^7V?oE?$+*`iv zCWHPk1-FX!u!DCGqds#1Dp&nL=b8W-Z1nEgkDu$sd%{?`@Jv?XyiHK5@oTPv8u3Kt z)&4S70h(0c;DLBG$?G*y>|N@d6royf*W6#67yoASBi^_=Z^+uqIHne(`Z3M{8Jfl8 zPy{d$bC9)A9sMs~c4ICf}Kf;fahoyBTp(mSyO8Rd5=P$~2<6FC;}48}tNoyT)9 z-CKUsf9oWmkueSJn?6?U_Z!|`PaM_1LC7>!;}b_5qxTJ)8D91!?OdCYQp5Q9ba%1!I-r;Rg0&@yyJd2H9&-7boxiSLpUP|NeQ& z$O}Nq0b5B-^Wj(huLD!@mi8KXp-JSG&Ph^}yt2q{*tGN^+!ephYOx68Yreo&NtddrFNy3Tmqc5?9ffOS1d&~nX&roCGmi0hbXB!h`ploSCck?TldQeSh z3``BE203IvM2b|pxVd!|08^!AmrhN8!y}fVhc|D_YqS)~KpkY6S+W7`SUt!@%~}Z)y2ap9j+=)F7HLZAvhs zs`hgyG#P8=4 z{^7?7_V%ZaPCoOPqzBY(7u^G^yGd|xZa0oddSTgCHAG;``uc)hITOOQyIu08NsWI^nA$V9@O8X92bhq;@<82wK$P&k5e47jcW(n4aj=sGJKMRL+ zur$?La^n$F_QULTCIPt&0^tQ&;2ao>Qy#UmOerQ*!zm7(JJwQVq}+&gm2on@sXJLv zHLY{Dq{^9(txz}Nr&`6@7%q+1KC@g*4j+%^&y4z=1Znhe8l}+&+IR)Eq$K3`QRGsrnEE-u%QK6*QCY_j%VtF7`9Bn}t=@w;&3 zhT*&+GSibRp=Yl?*wRiysM}cIi@{X#kbiADxCAB$`rFQy zmX;DN51+J-`I-weJ0W@AcQ50Y8=@$?wgjgxZl~!j>O~POdG;TiPxYy}WNW2sWS7MJ z0a_2gfN=}0Jv%`8VOEy5p{xz^EIVO7pGZUS^e|F(FPAT*`d3gs%>S+ z2pmV-^J^UNCIx>L@q3!WPaMo1GXBAR+XV{(SoLDqB>FgY-l`+Wqv;zqXx2;$*HykD z$kk$x{rBF`L65|HEts&GUVT0G5*l*&$Po-)u@9a+Gu3(aA+uA|Id%e-(WB$t&i`63 zcK^N>7Amp?ktX&kJ@=_JJS%EuT`$*0LxLXQAs1!WlOs^H$@u{gY;o;#D@74T~ znYIF&2CMHnZK?X@N9$xY$ql<6QoQuVjLUN7WmN}$e!je684m*1z!y88*J&JR3|eUz1n47?(XX zwJ_dMs2*k%4>XZ*wpW|xhEs`&Qf!gI-cCAEdy%XxbTYn)?oKtlGtOA&XJeNK8axUW z7%K>VSFwYgJax~b%?j0gC}we#W7zroCqvHXSC^?t0y$A65bzn^@H2Kywxk5dUr!L| zjljE4<~MvZUAC?Kb!i*V;jd)#zSXi82L=Wv7TD=7jv9mBR5d)Xar5D{HF(hacu&U2 zrXt%Jzovr7rsWNY3<2mxUxcQXs*+!#8g>_|mtC5Bvi~+!Rn z+v{nod~`yII3nw7a%e8d?#-M1S6!UcF+V$ugYR&S78g{by6H~ux$1`X@7=MngK$mu zM5q(zM!QjZ+PL@w7mwL+kcLKBDl0~hf1zw3l`#Nv!M)cGmFWZw?fP&vpsr=bF9;L9 z*^xr|Or@KYpERikuc-dg-o34^o@xo^Lt?i;UB0 zZcJdBqBpt;jx@Id{U=ALNS5E!z%EJo1U+h&j?Tiu+XHHvuPSsL&wzm((BHBPv3T^( zXTq?&?rm32_g!%5u|lGys?amDG{n1MSDPYotc=d5rOEpH`=@O=F>RX;j?%W#!}k4w z)5%k^28u66JoR+f5qfyjp>+aYamw%hu`26maqJ2I@c_fy#&x zNt+Hjv50eKY4jtH+Onix-_YqJ^%5_^de?!tm-`Keu)@S<^#JC{XA~%1uv(9lkBq=B zxS$IwD6izteB+(P}_stpJ`?q>Pp2tZ=xAX)ETX#(_gsQ7%GajZ(hHSW*rdyy7Pyk zn0AovZ6#Djj`StdPgq9W<(KJ^-a))X;$IvT6EEpzL#$8T+9C}(lMjSb_bB7iKfCseI6fhND(e2SE7CL8U`dJKzLR9ISKi`i96wfSfqI{^^Y)oThak8Cv=1*} zkWl$;%yNJ2xkXl9J|{14*Eb*PA_sK1-JYmUX2GHYxoaba%&r)(ucv!c={%;1{t2i5!fsisMgKX+=gx=0Gq25`~$3%Agm&@%(u| z5gJ8@`DWX?Or^vgmmc*$N)ugWe{`D0{{)WE6`7}t;EB*pNK)7oi?1i4OW&osWvsN+ z3)Y*<1AqnuXSV#h6(jn^n>Uitc~K%43`I>rqF?LLXr>kWVA>WtM2Kh$ZyQl!2oYtO zdb{m36jXivBvzcb3+$ngFB@hwl#*|GM{^kXM9=+tF@nFg_wd-uvsPOXhj0;B;-?d= zX?vlS6eI+IFA_6Fo>7{Pc~o_ycs4kl#oJ=ltm~)FN`SPhEl6R(H|h_wjzg}kuiXjg z_zLz<7_-@nmv|^ysmh_z2>?_wPk-uj58#-ZwjEgxc@2X@GiIQa#wE~&6I%+(fzUp( z*|xDYI7O(~gUS18UE(%b^b+eU^qEOLM~sR5yfzXv^1}U4vmurWX~myYc~tU3FJRg$ zs)}dCt3}ej&e~lojBPPNa@L9BQVP|eZbVE;% z*$k+=J^>R=>T#k;!GhWh6r@KBv1&r%Gt;ZCTfn9I&5V$;4zt72}XWMA1`6IEA(1o>Ol(Yd&!{%~) zVV83MVcEGj_L+h0B!v0RBEk43;FH36lXaQ>1pkI*ZJ}G5kitQKv`Y`1%hY1gaIG!_ z+Ym8t)?WNN*!|dk%1K#sEy>woxA~AYcRiWP+(+kV`FHkDmRJz;XIkZp9jLj4ftz7P|#r7 z%?=;lynQQk#CRsEq9Z!qSH*YGW*IJDKEg~zb}3DHpE)XPGp~VLQ84Qv_|y0{xW28k zv-9m+w|s$hwp-4huXKhWOMTp1vxmq83QG zzCSTtuwXXQw1A9^2{mg=uI>pA9zu`Cqk5v^y~e>|U`j^Da5iuKLHiY+jU6E?&L}nE zdc_HbHhN}4_+q9SK4kRh5DEnaVN~VujYvvNROUDa=S4E+O4K&`qvU&q8ySdG518W1 zS1V1b>Q6t73@9$Miw9$~^V*-y%VqlZb(4+y%nMn{et0r5@s7%Ga?1uW8(+gFE%d(1 z%_-zoAO|ThDo+{ky5xvaqcjQ@>5h^=NOpmA zj48L*iI=wFj|m#DmkplXw5mXuWcu|p!FKN!)-YUK`+1@oeq$pMiU}sC%j+_8G^;zT z#~S+s?M~NnPG1?ylalS-`yhC>($$(W>b=Z2x9UJ6S!v!NEu>JCYi!EZ~gEG?y(7BX^j@sCdR>g?~AU$Z|a zN6&ZL-fq;|P;>jlDag*Pct3~p^oNWXaaTo6GTwYPFrqH|giG3Wn;|ki`DGxPpxJY{ z(0lg=V|)pVh&VWD-CKpJ2|UyNtf{f)Nqdkd6HuYf#a?gWE(A>9;lrBD#q9TYz~TdJ zMrjp1D|&({zwuRWmsAcXk84>E?0LJY>IA5XQtl}rsoRhiRKKpDW+7DTv^SqKZYOp4 zEpIE^S63=s0lY}RI_3quQ|DGpxhklaf0ic%g(5Aj$J9p`lbXb@m zn3%h!dvVnWHpI<{n4qrF>w!N&#go?e^#OW5X|B#ru-#7X)S>TzF*5e1ku3q zNUH3$LpKFcb?4MH7&Qu=+IK4(St4zK5!`f8?es;OzUAr+8X<%6`j&$sntuv#uS z{k>|--Ziz;x`%G-LLUxBJ#NAT(UyF0+vXvI5SWsjhZhTr$QF8Oy4SY9zb6#jyLYpu zA=*?$h_!s1k$0PNL=m%)hkxZkz$N?UX&`wzFTD zP;v`|UZC zwcfbGDfA~5-YssvnA0YqKFyERR}C#&a0f2X0W}!YvCqj<-)a#r?P7@gzH1A`1yF)= zXDoM#F#gWuYHtuYse$6f+AX*ilFQ!tg~p0{hi79U=k`PfS$J}?DiG#&+HBzc4x*W0 zJsJoFIJLiMh?g!-G7Q0i0XAf6W#!LWsdQ{XlW-=W-;t(LBj6_4Qq`6{2J?kK^`&T9 zTVD9~=vrc-8V+OHo&(%={EzHm>u{s~>&C^=WQunPXdo^X4@QTE%Jo9W$CX6?2fhSf z{Iz_>r&8^0f1atV+rjcoKVh!(91CgP{UzuJVk}jK+{U+6J6+0O57l=&`Y1iB#kj6d zuYwQh0>H>ww7fnzuWRE?4rmmyZgefoPW+`iHu(3{guM_&I8*w?t5=SzjYZrZqAZaP z)(yG`oH|cAi=|8i1tKQOL(;!sS@iir;BR4`;3?u;UEp^|L^}t5&c`xObV^5b=_G^Jjo62(a&IHoJ-6 zqA{~rD;;2ni|SJbg32O}bS*!l$U-!Z1GRjcp~OusE!)SKO7-8n8$Q0z>rK}4=i|MW zr&xQ@;3>Yj=HuI^QeC?EW@l#?J9fskDqaO3*B;b`eWp%3otU^CC6SOyU`BA@xb6=5 zvb2b+IUxXD?~RIzE7SA5yMGgNl&UqKvBPSxck*w;83)6{{HPUfP*a03qr^(Q>4iZn zY~FXg4N4jjBS(x7X^@oYyxk&>JwxUm_|1ctV8${+q1fly@Cz|K5T3RkV}McQwAx?= z?Gyu9HKFL#yaB%TA5fOjh_~6B?@N>aq4SALUm+4jEI2iR(y=vmLuAa<{P`xOzLn-G zvX;g%Ag|~hLT{@13xb*rMra&pR?C!YbUJQ3LWAe_()Nk$-U- z=S2TF%~Ak5JAV9lano3Xe4RSyRaMI9&0ik0MRFD*ED2Q0X*ZWc=!eh_gTNQie9$bsk~g5jo7iU$Dte&i z=#}w$5&vHkdKO02s?dyq~YG>>>^>!2DWr11Oc%6Nm1d;7cW|R zleEz;-aLTEs&Gs}zc;YnSi4LK2^w@*)~gUl2w;A*_L2~eP`qwMZX)@Uxn?6ct-*vmx*SCeC5|qz_F~Ty zD12c#J3R)e9pS`bRb?vj)-)&2U z3owKaI{je{^Q2fPeEaIvPEf}SC8Bf?C1RvIb|Il<8=1x2$Np5}1_W@Ejo1d$EJ)mb zIekOTU3h~Gr#EW#07Y%kci0hA~- z8p}Zj09nx$NbYvAMy8Yu_7mDR6jfnDIwvq&03w^^{n-_0L{3#;q6p&FFP3a+e&3UE z>Y7fp+P^5&X3G2vtDaAeJWH5{@D+{JeoRBHp9TlT>Ws`@WErm|D_qJNnMSIyxs@e({mTpfuKA9=AMdi8&IAFQXpg zu2;+8%z4(Q%1Kax`q*O1g2=}yVm(p)-k!KDwB zV*+t3Z-;H6u*hIRAJ+FIm!%RBtA46OJRc6A)x|S zjs(n^wU=&4lpWRe?+jFK0)$?-ZsWZ@+^ZsRtN>BD@p~Q>j6;#%X2kJ}Lirn8(Y1l$ zP7xvr*hRdrIB7-!Lk;n+@!$JYfKdsEC-ReUprXmWm%JFfPbek}%Y{|-+2#GL8Du&R zoHi}Wg*BmCUDij^Ll zdqb7`BgDeZz*5>}D`$Dpqdl&S3PHWhFLM>P2VpEY^OTm(DnDX5ymh~*Spy(dsA`Qb zeqz1kDJ_ftu2miYcIg}C^D}_8rFDZi;!J=;F6;n`!l-F9cG$2El-_X_IzL|b!t8mm z1ZfT;b2<0pi5Rms{8aUx==nt%V5JZ#z%CZ$izUA@evW2U(1lL@cf~!W+KcZg)S?z0 zwIJ0myuSe3I&QgK__ps~E9zpz{Pr{xLS;*SUBkVx*~%<^f4^`0duqP)tU>!<&@fAN z?Rs)p8mf#l{nkVeOPq>dVxeyMS&PnP#;d8{=2i~5zp+<4(_TXarB-+|BQ0&|*^Uw- zs299``O#lbRyDUSgP+I82zE{;Ag&=x`0DH%QK@N0Wyw}aI8BJ+mo(Rtam;=U3< zP@N!ox(?7emYUMdwB3zqe_Puji+>s`SE(y!+Dkb!BqZK_>RIo4H=I`@57@PO_duoJ zpR2R?vdEWc4N6(ux9tk8kGnp{Ps~%YGB%ny#u#h zBSnfAC&6B6sa%DMW5a4W33S~eFg6x;GA!g%2QvxJ))qA&{~5MLD`62=3Zo;Ehm!6| z7oHopE6emnFn#;wt=-FOVh6fs;#c52JN+(wQo9+p)jawDu*-e$sLBxK?Jn85!iksd zOct?7adX}h(Rzr9IN2v?;P);H)gH@T8ERC|fe5jq871NdD8?I#XAP)*K5sGlV8&O> z4`sSSoe${-2wP|a(=HiyPa6nrel;v z0K1E&r&c>63p@=ahOo+*Y0b!g%erAt{~mUheeldziq`$Chn0KW42^e4?*wfihp!}0 zYDS(&780){t=)%R!C$d7u}VabZd4p^4JcN_lFJ~BcK@t?d%|@hA4JvlRPVyTrVmg& zn92`rynJ`xVd3Lx*{b7yaA%B~KVY~MWl!2KjinEkxn;khqo4WJcIo&Er3PDeX_LxD ztM*iv6bV_j0Bb~&BX{wN7cI_wf&Khi<<_4}eEy+SYq?^hPlM-F(lm;?_g8u~1ru6}(@x!{mN^$?d(wRBMKl5J?>x7f*n~nXjO_!r~2wQMXu4Q`0%CxUZ+W&%G`6 zS+k}*TY9G&P_g!G%jjKa7AsUTuteAv^RO42*88fgDMC|4Rc5{WHpZzULH*twJL7SH zU(sEZLxaY{2Te?%SJ;l6)--+7UG4)2h-9TUXak8;7$Be_qW(^YTt_Q9 z6MM$;yGy$&9wlm>`1`q2q@3PQ<|qqkVxkOJMhr~3%@A^=$ZO$PUhYH9A57+{!_pb$ z0UWZ;;@^#+k7Cyk`mk^Lh-cFTEEPQtK~#PVRKAVzB*7^@5Z|( z4r^IelyKlFZaKK-lEnH#D#DP2`Lx}cnNx$6COmi{>7vQ!z|qfK8E2|;yW@bZ_8R|G zT13ZeNPn>@L`+6Lv+S)<`HOr8M0K|*p}rQ3;xOA?0u9|zu5H5QvPoTdkoBdW!?9d3$8HvDI`$Um`VNvERt%Pwf;%hQw6XPWL4jDFM78HDuOYqwKk8AoFCwYp><;2kT!sp9yi#zqkg2aJ+aT6%HrH`T?g zjWL%mD}WAMnSQj}id*lRL|l5@^&ZfC>XCM!C`b@=r?@#tt%zDh3EW|HaQUu>@01>$ zqM8w@5XH?1YxaeQON#f<<3jSwrXLtp_M823bo#lTx|+ROh(1Oi=#%_C`)!8C5SY=l z`yRkGoS!8+20_{h@-O8)VHf)kAKt^ExFxQS_EG^1Gd^rz_Feb}d6}HH1u8n@m;*E6}y|jF$vh)l5hd#^RwZ%{>9h9puVb!tX zR{0&e67%Oj-lQduaLbROT>ah$qSN-zqut(R0t%P}q=-Xg9ddey- z9!u)d0JHjv!)lU9*x>E^6rQp`Nk$|#9^YcE9b!Tpu6cO0(Uu&#RcTsULqI0je+6uY zw*#EN0Z14!wjbEn?cq^dV;>J2!KOo>+2^bGxNlD&Fqf4dXhd3d_%JS|EmRnqM@@vA!7-^>;jH&X+76du}9Elm|0mF z+)EWo@A9KF04(W>UVQpwQX%Gk`J0E2+=)NPr3I8IJN9#_t)o=pni8b%uHQ4UiI;b& z;A+KcUTDnvUV3dvY#$^?RDXkL8dy_1n6B&NP0Z7oW(m`w`^vt%IXbpw?JYlgp8)_h z^ht4Uq(;C7WvHMSz-I8%GJQ`5a@wegZch!RrsEgg9@(qJZO-7fnh#A!$(MfK%wBS4 z_;G$MGNQCI<3$ypwR~2VLnHOQsLZxU9=s?l6!9I)rrv67T>DSdb6`VJ)7S6P5<)l= z=f2CQ5`~!gk>Avzt4U%Mt|3n7P#HCacIzRlvPk7Z#XFW(N zxxuh;S)8trcxBmsL;Y*-ICSqq)l$+J>>V7Yk4&P&%m1lt3ey2)C$^I0kG4WJQgQG} z8tJEpt}X-o5T5!CMZ9u_M;@E;@&o43%CmF&1nDYo#{)-e(xz-_zr^FSt(N%dy;S;c zD~=4__Gx-FDLu(clbEdb_R4+x^>bLYsyo9Jr;q0|na=(~ImSpEQHk$;K}3P2$JER4 zu^2HrM-Nkf1j24pn^dWC@UCmUFOAp-6Bi!8QT%~~32R>Im&Zo}^P4SN6iml$R{cYu z0}(coE3S`7vLvgrYxJ-!cd1;um7sk~c;19s!Ny~*v7w>Jv^)FrhCu5*o|+|DvSnd3 zi!N}bXz7pk66B%m**Y_`o}W(4=d6UuD-WdnmM3nXqsByk>lIOLko{&ucFW>M+dh%# zAS{lwgc}W|+)Y_}R|Z%=2H^~Ar_(XT5t^EE60UEqP5b$NFe7?LR!_u%lwsa6-43yJlHhqOhj z*RFN!XTimTy`(MU*oLL+$+-@?Do`V@nUz4Yy)L!-FWljW|6zvT=yvG zpM;7MPOt!Vi?zx;mKzEsnmARF{8v9|AzQv?wzyl8b5#dsQg#m>GR{rwzc*`S^(a6gQPf0O>~Sz ztBV`3_Nvo@Vt)pg3P6XX2iM2fx6+q9%&x5{!IVCZ#Z7!qADV9M1p7VJgQTUZ4p%pR zc{xL3*RRpt?y`ir-gOp^V&v^NP{IHXi7xThlW7QMnqS}TC7~Ikp0t#02cV(M&NZ_IzN-43(FpDvbMr){R@~uQn&GJ%Nixwcp1fag|Z}F)<{(kH6>mWe4w; zR+As2FZ~Xl@G|3mq-M~DuX{Nx8D-fEaGtQjCq8qiv&NC-W$o3?1fmgmM)!xI=$t_z z1K1rM==1QVU$O!m3=ReH58CAls#R`R|%O+!uLW1wW~fX7_YOL$6(zaS=a5-$j9$l zNpxW^KAq@2%I3z;8*wZwXkJ15^(%CKeN->+xPu>MXmGwmC|L>;c@4I9-_?PJG-?&= zGQh-f9V-@!dWL4`AF}`C7NC90dA-F?&4wK`Q(8gKfBUD4;adtL!U4{vSu+{MF@ZRi zu^ncmHZ}g(+We_9A_2H~3bc1C)iz7BK5)oOV46EU!wiQIx_kr6rOI%VLg_y&r{?@5KvUcVlrD2jbBNk}Ik7d%_EF5bM%R zm81uuHos1+oaX}E8q5nEU$yAeg9}TxI9&Ob*X`@hk2J^%wN}>F1kAOA9kE=U^ethk zo)pfz?IKEGjl`Ve$1}cZKOWPt0m?yIPhnpABgJtmK0NZ-z2y4V0MQjK$v&~aid`58 z%%n^IGM`1Xjx8+uYYw#SGnk?n@ES|xMGnyv1ap9$_cUF4ZBn4HjZ*n z#K!>kNecD-bce5bzBH0%f9?9UTm`cr(*7z<#^`JQs!^daum5L{ZVdfBz@s zYsTF;<#p>1eSXr7bK&7~qqlov%onIm!*rz$8*e}UEw70dhvhlA-Agp#%(JT~CW)Q4jOk{w`ggzzbo& zNE@G0Kc4$0A41vh{}A=v@mTk9_idGmvPXmng{VkENkkcukzG_Wlf6@9Q&f_jl}*Sd zS*h%mogK2WWjyD5KfmYo`>$Kwm+SgopU-=o_c`bN3tT#4CvY2yrl#hVq+0^*N)PCo z&kABI1~J8h1GryJ6FxGQ*1!6cB)uVr5iv392IIp6_U%JeyYP9zsJl7yx}ZRq!0Ygx zV&B3u@~4=n@-La6t=o;6lDzW_js~2RDlu=O-Mxh_4(g@&rbNP=6y;qbHuY66pL#6| zn8XLt6=jzk2jxm|)d|SDWaf650zmdhaEbs4%W0|e!3y+lbdx2UeXTB_^ed4A0Y@b* z&3cL6{@XoYA=tswW?|&sH)x$s=KI6JrobqWH8v+eJbtvz{+|rU1s!lrQ zoTi1o*3F`I;P5DI{K$5r*GJt!3Kd79N$wCQCfLM01Mlfx&JA;Of)Ob?N#H}ePIJ4@ zsoia%!GtDa$pl^TwrGw$sOWbR-|5`>7c+of%4Zae4N4U`r55L94#AWirUS>Z{b;*;PAzJtVqIXWs&5}v+zQbalU zA?CDmGT#w5m0&qeP-l&8L$Z zqLBD-z4pfscl<9X2?%|@TDZLCDI**p@S6xf@hp(fr6$V&@__~%=iijOad+`T6TDOC zmQ|(DfNLGOg-VZmt6oQCbX$*&B!iGdjKflX- zb-(Sq-|0`!IM z#77_(m57H5*ST+sBy4~{$sO=zcs9o&;wu=FYj0Zr`?&c|s{&x{5`$4Ymzea{xk3fC zTesX1#uaA>5;ooB!+!}V!ramQ5S#qq&h6L!u&u4mID?|i1sw{p{JH{ADP2t-Jgn-i z-(w_=Qu8-ei_1ny(oq5cBIF!|iK>(XG>y>-tQ9Cre!>5CrBO7hq2qVn2M|LK5L<0m zqUD_VJ#e8g;dHaOahdoM3<9^{J`Ciq{+hy69;T?70r;uY^|Fm61_CSRofjqnk-PiJ zIvFdqFTwwW-V&(UIV;QaeqX_V--{oihKS40fBP{pKK>=r+IajTUNabbNH5rcWeZHX z7Tw`Ob2nC~2xCxsv`8uGIJE8V!ce8 z_gMhtJbwG6R!VB>am0MEumyl?fa6O05Qcg|2vEvHxgS3YNbF@n@r1B>!f$~fSA+2* zUxE)zj$0??fPia&-3B0~wil@C=*XkZ=HlZ!fq0#6S(2RWGa+qs2IeDwk$?TmPQ1MK z6=CHoT3ou^z!&dqyWo~Exd<4>gNS%pefZzLf<+O#xCRpd;-A$b+0u=p7Z<=LLvT&c z>VO7v0>HWfq0#Kl$5%8sGm|m*4n$&b&*d%D2A2&gv3K*Rux^1$bLmDPs_Qwy@_IUVJ)ow!27AZht6py>Y!eBhi8EN_Z;O4RA9mL9rY}OhI45a+@8zyXejSE>Jy=ct~8v+zSkQhlol1stI3X*I*DPIe@Hp ztT=*PZh$;sfacw=OZr-!NEY}DX&vxUQh=9Hti^#gZ1CJeC;T|BeQp7;kOAcQ!w5Tm z-5=`AS>mdfH!$AH4TyP%H8ME(G%c)o`75lLlrK+MbwMlc#Udfko_d%m0qF@dgx4|D-C8khFXUq(;w47i$*-jQ`D1- z%P6Ah?blZjT5s0Dkb}6j2z;+h0cuxvcWVyK z;7$#WjwW=3PvG+zphMEgh=L{dDUBR25SC6i1N>scx7KJU?oN&aa0SQ`@mL#2@`y)( zE^Bh61xDRIgrnD_H4MxIko%Q%bPz;B`f&+CDn5={h7BQBzo!}t*0d(iG=Nf%FSkYb zd1(M|875jU(fI~pn#td8Y)B|VFi(+3w_ykmQ!RPOCO%lp$9NO>4K%-7L+9KsU4oqD zyB#CD`wNf)43B;XAJ9uSo)uX|!+ER&o*D*NbDyK`_YSU`N0xtYz#w7+vSYqNQ zgiecnGhMm9bI!W?kK8~2(il2ttxL$}BP?gTFqaI5Z-Qd1f*N82f;QL5lP$E$jn%gO z&T1#>FJ1HJQ$i<$zrc-bJx>w{Ex?ky^RTs88Ko!mkbfwin^z`W$ zr?d-SU36IRdKrnJ2QCXc`VaaHL`veT{)kng)uz}c)i#j_cPZGQQJ37^51OC>3MY*W zX5q)~;0Od01{TdN{~cF9U}l$b*=zFsF?(uR`+-YaOK55S0UaV(4iODbNYq3q)tDL3 z24OrDN$@r9O%Py&n>L`^V-rWR1#hxHE<`XoWy9h(Z{J=c*7|mwhtjnc&Z>wHHI$gj z#<$tFS0+ZeB=c9lhHeAT(+k%bzn2ITFZ&RlbF1@P8>aEUXpH^JKnR04Q7+KA5__T0c&gN--{O`5^9bl*CA^)77_~Slk1z#FBYbgn zgWg+<6O+2QOz2kbH$~Rh$y?^}g1)S?wpM16HhG_R zgBG+X(ER;Acj6#aHmg5ek(>zWLYn^XA}P!$VOGZixT)S!14>Wa@jIzh(EEf#3#4;h zMur8mfYu8%Z3IV@PQbvc+WI|M)3}e!-wj3EIHW#^ zX4l)()3e%mqLeV8^P3U5aN!-SuPA;U`O&WEI-i6Mv+pcf!_;cR1L7nH%nm{%Nw zkmBViRCnGm>Tef3B0*fFbc;igpr&9dI#mLK8okA%M~!Qa$kPTeJom#u7pLaQ_MJI> z4Tuj2T5MQ9d6rF7Vs9vxM0k67HQM>tU3f`6pm!^TPunG6p0wlmVhKBxw2lnzA}QRf z1bj2k1vw#gD!w9LR5q5%VCw+PDAfJ z4{=CPNQg9XA8l+nP=Xu8jZIEo2O%zH?p>iSUPsTVA8HnZmDz#CYRZMsGI_X(fe_x2 zmC`}eW_c`OlQ0VqwwsN{lXqNNUhX(gY%MrJTxvn$!r&V--Y7xg{Q}6LA>);EF^ZgD zF?PRp`LbK}Btky8l^%0_hb8vj27w2ADx2-(ID*F^=mUBiVLSv)DF?Fjak%ij)WP|o zgCk4(sunipLAK=4&VP#n8p0-AVd!x{ji1jT{kYyeN755@V=sV>5PmsoN#P}VVqUzdjTJ;eDg|x_ zf;sJjQS{q{LqqieLrl#O8lQq{CAP7kEad<^0}oMSrV~m&3+jq4(^i`XWR6MzfQE_d z2b(bSyaN1`=gJLd!aWTbioT4UGh;sCHsQ01kh95t&E^y zpsJX(HUA`mD31-UU>O3Ivhhk|Mb1dJ)uG&dRKylRyvi5&uUtsdQdjrFJ0^A&`B~rM zeqI0H$kibv4n_fD?0oP&dLY@h=z?|SRPY^jSe!zWjEQQF37Zj=_U>@NgN+V|qlf&y zU!F8#+lKA|HViTuCgg={gQx)rf)dd_vy}iQ&N1)T(QiKrU>=cc2Wl|CGfor|vuGdE zOyL4?oXC4>bQ0Rj>xhBT7K_kOrO?jY)4CdG!;rfXfh6HeSZ;lL zx0XJOvVsNEOwj3Ci*9OY_+TDRhqA2w`t=SWVh><-8@tiuLq}$S(AzQBELm5#W~Y_g zyo|z@fKyQvoUT9czP>dsi5P_tATH`e%%bGKf4!;8klULL^ab@2fo%CfZJ!mHUb=$m zG1j}^(R#_r$44d*dPAR@1Gx+~dxTa8R-$?rmnMv2fihtnoZb;G8$z_wpl2QUwFutB z6XcPHKlbthUj{j`I@JHk+Qu7XG={})f|vwaTE+PxD`y8xzj5ZiAVbkjQqj=F!fh}X z70R7+TTN}%V44slX1|a5Wha3c9zYP0#O-{2J104LKWgmHn2`A`9bA~~P?-7HT(|)H z$#mQQ`gD+fnz$b%jYI7ZK`l`3g>S`4Y5o{Cen?HNL}jLU>sFlFr>ok|4^Y41ST1~X zN~ufC#@vRGw-D;;&;#&_0$7*KPpS+GIstn?4h9RH36(mzZc$>L9%i6Tlf6xg2P_{y z#-4@pd;vy9<+Nz9Dd|&UfuKVN`OacA6&FWv)WOkF9~?!8DoQK=0r10t?&s>T*Mdfb zZ8&LJ2T@<{1uGk$h;|a?Uz!W4B86|WP(t)%Ndabpm}Wh5y-KZp4p06GL{#W$KD>nhmi&M z$&++76xO|#_%4X$B>4hd(M5c`TwH{I7;#qliRtVWdHDde0q9&Dme~rs2=H$Z7AEhL zOK6irLPPgKAedrwn;Cs3{B`21%~e7E14SS+FYiIBnl3|ITlIoB*Y9RWtXe0SuKXNZ z>CMEB)A8or1O;0_6GjDSTlYW{p~vXEdtzCCF_bN7F(-|}8j=W*dvR{zh66YY49WQF zQss?46dc?17&TiK#V|!?1p$^=m`AKCx|UH|dLB$5Sf&zUbvnZ1{295#_jhR!#{2ki zp~3f@W4xxuK(&AOjvYJjU0+UdPbJlEIE~RE5p*&r9{Rq7P*bbaDb&J)@0U3LZd3hf z%jj;0=F;f8Kr_Sqah$OhcvEn z2Qn1T(334@e0y&U_AM4!5t{&7!+|v$Wcq5yzcx@RO4_e)BOEEg3U13E?S--i z9}Z~ScnL>(l0V_$F&d3l!>??owlO0PK{Yth#O{ldB`#30uo#3ut015BTWoEs%bhZZ zUmX~TgusffKRex=*k1?5Av9S{DH6qkqF_$ISuJ0HOi{VF7z1;9{o_XB#9kl2#R=mf z6o6k~?Xao#$w54XDbCUEOR_eyN#fq%&tbz*S`L3693gg%{+y_b~U!?Q%3 zfd|@s2*jQ!AZ`|z(!f;)v_NWT23u)|8wqtGDh$&KLx^)S zVRxrGrId8**Zk_wB3r)yhG%?Q`Ik(ov1m>b?Hn!1Rp9cNuM;HZZ=c|dYxIQ(Rs@0y zAV)uy;8J0jd-D^bdpP%Y?6*I;Fx|@l^8*lW(rn$zz)FB_Rz3Uv!Q3b9fb?NRtvoW0 z(%m2SHyEQyxm^Id2(*r{4}OJZWWn#&vEb(@szkfF!QHVRF9AQtr-Yk}uq6j@C(`JI zoCn~;fwrfWLA`BVe5qdKbh450zp~KUxaDmz%e!9iRz2U({XSYvN5pH{VbSMXm5mDd zf#zMiU`tAQQ*r#mG2Ez}( zygyaaq4V!{Lw#Lcl~Hct7Lyi<2Ei=_Ob`uN2!n@H)TC0eH($MNyY%)H)~kY;Y?X&9 zo9KP8BJ~G$=+qIy6sg#`{Pa>`Bz+5H?7#;ut0N(FV59?4;6ezvk6O_%SA+48=kNPy z(nz0`f4)K{I&4<7*sf`hS0fnid3_Ei?`P9xcluS`JuEj!dteWWqfmbR=OW|3VE~EZ zl@qiDfFh`i^m8?u#;t-5?aKc65xEOi$4$M2W5$16{WOg#*wSF74V^}sYOCtA5|kK$ zw%Ce{WPPky6@Vf=8$2;v z!dA1_xDqkB(eNxddP+eh=ymHOMJETy8bp`F9dCfdH4hNvx{f&ZaC%h?`~s|MlL!Ak zFC_czHS z4u#aD0bI@=Q%obRD2~JMMAq3^6vW=K&3`i?1`6>?_Qe&Tn1+BZzaxF|1TSv@sP;1S z%E&q&+KjNTZX&V*h~8~zJ5Xe(r>VlBB1`?$??nfhxD6Df0O|>;;IP?02u6X??Ib`I z7MAjjuxr{4(DYr5By{qYE`{Dlb9Zsg}LhG*{zgdR^5x3;!^_2!KrT^`iyF{&vK z+mc_aO*XjFpF4LB-$>BAcl432oA%2hcGCr8#j-z*ay7u`cq?f7?q4rP=!Er6hL2#n z6gnDI+tbFO+d*_57CUwWZxiVW2(04A5{x0pT3Tp1as=IT? zXpo}_A@I)ho!y=1`puTR|`LgAb5(`{hPbOs|X=Al8{+z-Zfzv`Kr>?lgFM!;pjA2bQ5zWra`6 zG&767VHoFg44HZ`#*;}RO;!IaJ$stCTon%z%sptGV9x|?ac@V(b^met_8w5)^ScS7 z2Dm*Cm?NNTfQ+&DD$^cFSbRsn910^d!a(~;++rdQ!aGX1GF-wc2UNI@=sfsrinRZ( zu~FvXAYuekFc#^UseWqf!RXx*od!&Gvoz9Rk4%T!i}4T%V4GJr44+F4mVfaeT?MhU zX9{A7rNUo{+i`AD%>=)DH(?fr0c2jU4a2WBXGmPQgcCsky=rQj=IPq&yxd#7Hj(lq z<%28qJjFOeL4Vp>TjBOmYn)Lsx>N;I+|sR0$IrRcRW&tG@=D&m9UAwn8P^yja&UD; zdQ9;hS_e-Ogb%o#;JF6*xT2E(T3^3pHwtyv={sL`eYU=uDW6CzYk0Hp10tR;W_d+h zOviBVP`K^zpKO3lmtsoWd(Y*A?zQ;QN9>ui{f7=cvwI49YCp)@5%t)|C~+HHLzL~N zay#-T(~AhXHsLai2Yn@_O*UX0kw{wp4k(m2!UX*xL$*YC)fWt7ud%ui5r9Jl?&D}= z9>d@pATTJ~y#4(bjhHYzBE|tw^b~dz_9rmLRtI7-Q#^kNVkZ`Qe<>o4LSYeTyMkHD z{EssY1e1OCD_fwVmewiZ#76QwEp5Y2@;n@*=XhYY@|R_KlLtgbhlkgB&CqDy#SoR4 z!=c=e?b}*UY*JK&^-3jxfB2((Hp=~rmvvMbCQY{uhN?5t_p?glpMx@gH5`H3Fl`cx z4w>wJZQq8AxiaX>SNzV`R4|OBKo8CRk4RC5Mc)U==%YG{pDy~QwY6Xs2Q2PtQAOzM&@UoC8Bgi)(O5w~SMvldY=#M1$$p)rvA{b_vB?HYDf(dpqRBZ&{s@8Srx*p8;ia}*V5Q5>(Qu_}hQG-t=or7kY zrB1@c1pyd9aE^$Hv_@LoQ;+Aga}y6-MnfOitqgef3VR^gz)Dh$zc)5eY{G034s*aS zhT(PxtYYBN`QmR}V7R;lv0x4)sG@GP+kWziY;YqK>a*LK(#DO4f2)TWt`KD_E|>jc zo7(L%my+Sd6Uel=8dGzJW(p^HbsVS85yzOYQmQowD&9Oxm4~H2#Akyz#9cLo{lbN= z6fHph)L?wvL!UVP3C9pqlK+@uutXs!AN2m!#uELmJ8X&~P;`QOQ9+n|AyMAVI(`2K zZH9~B>|;H7lGylx;J7|l6N(jwzgR1Ifm);8y#A3`r`l#Tf<$4H zXN@s69@h4BTcTdnu^ZT3dzFy;BWTZ|gDB_*PK1?rIUqz$y%T_ zEv9=B5=k_jLDiQkL@r`$Oc9|LBvw3v*Bu1;To?kkBUKA}QODv6PbLR1#G?RsYs@uX zA&XH;D!y<+0Kd!qFCxLmyH)!^&DgttKYEGAlyC`Ui|?S2$zUH03d%EZ2f}#zsJ|3j zEe%3HXfzK6%vLepwnsvP&Cy=WI)d7x5(eKem>0jq3?UO+13^Z6(racL#qSewUC2us zdbt@}i|g?EKpoHnq+4g~eY(FUVY3X%0bl@OpuIx~)?M8q7#20I=a@_5 z=fq36*vjupx1B?c@;9Vx{p#bFO1LyA7xhpqPk#b$`X`S8p43=9*EKFHlZkLt{4&#) zk@#l7B|7e02F@RcY2Pk0d z=Iexd|2@Y5mayXi%8L%0FsU$(B)nBnqFd+j=oG)jn1)zljo~hQ=e^a0r+`*FUYyqt z6s?B+WF0Cv`-LWHlvbbhPG9TV+FM0rU>x#29ufm8@-YJ<;M{lh61@XVqF3PRMvT+3 zH#1Fb{mtm$8yuhcK-cw(2)2+f<_|BEYBWBjUfC1cGQQ(WZpi;}0jxF?%PPwl@CIQe zu`S)BIV`!CdVOoVZ`IRsy;(z$vgY^FM%jmt zN{)*cdn)>X8$W3oe-*bYt;w**hwLESFu>Z#H-%jZF%ZXek;A9~WpkGL#V$BsK&SPn z+wwvLJj7li>)V+a-r%4>0N6Hdq|H($3~&r5Ffsvv*7d0ywp)Q~42=9kI5%TM} zJUQGs!vNZz0eiXWf!Q~64CLmPm&dS^tw!%O;hc#v6Y&uYpVpcPqV5pwg6HSHLx=9e zs0mZgXw{SgySexOPOI*rB{h?1Ltz37 z!$`HbS6h?h4nha*(BIt7e-tyk|2NKUf362?0z$r{m>sV4roce%TA$a%qC=``inM0M zTclZiaOF`bHl7>_GafsPVL8l?YI-2f)?#v9w`k%Yd34?-yfT-3<;Mr@5;#lX0z!V?9$|62Jky7(jKu+`Se9U zcrMhKH$ifNBZj%D?^BKstr43OIv&U-+GZ5g8Nm=JuIO=F=0QB z)A9gXu%PzQg!U++_$cNIuEpR+4@FVX;Nh6J>E)4i_lL|~|Ak4rsaWDw(_Kc1z0sf; zZB6Hi;q4ysd3)>SWb6ldm_X4vfb=qe5c_GWC8;mGuBbGOfZ6t ziurac*Og3-xD$#56Nx&PsGJciB&Y0yl?}b3+>cpr+=g{Ea>BnEmr2aT zfC8Y#neMr6$qy;HFowcAwdR{qyop|$uDfiwaT~P`N3b^x!2!%wL1T8z;l;_EO}Nf> zYgb}{Oa*?!)mmir5?61S+PZ0PFQuXxHBP?fW@^HKeP045L?!Ge( z7b|qP*3@n~Zpq=>-iCTi0v9gMiE3|P61Wg}sGsqU*rRm!rqxmVdZ1_!Km@9-N>sAk z4=4sDhm4Q(JKu4{^B&8HCPM>4ICDE&s#QmsUt3w&1A&kT>%Kuw@#*6I&dW#PuCUg7 z5srWUIvI)J_L&VTSqkq?Q~eHZ$F`2N?XIieb&vP%<)mzJMowyNZ6)LamgLuDWb1NUw$H4i;FT3*g!Vg&(FD=#2&Ebf+vbSA5A(1QdLi4Fc6Oc#(#Ir zUNk2E9uNY;2>?b4Kq!bHCd9dKRSv#wVOlwO+|cQA$=H_`t@a{(=zmYVLXWUeJydP}nbOUz#n78!?CF7%Tc>8mu>YPJ+uF^k^CJ@vDfFLwkS)eq&O3by81Ac0-n3tYaW5gpSE^{ zr;&@YOUtABMnzgeTD*sh=||B_>B+Sp_?;-i(D9+UKAx;`lClN<`j)Um`Fze6({r_; zW(yn@jWnAvN=%s>u+8RpZzadD5S%gImzGAN8$&`OQU&KeWy1}GXI)|~6nY*ID?Wl^ z+N62Qeeexh7{XTJ^Wq_0=S3B=a*xqtlzC1l#8D_A#$7>`0dw9Xxy${#Vk}u7aS1YC zv{U>`&z>VVX>|c(jry|9MLrq#`{aS+1WN(-D#uqZ@5D(#3GZme&BJpK%pE3)?R7Cp zZ>RfTD&r09LyeYac;mz?<$MRe7q4Db;-tGSYtlf+2**Evf9nP}34ZM>s3XD+!E<>( zwo`6Zu3{}4r5^yHYbf*(jfl-Ub$y3=w#5)t{dXR(d=%J3za#S~1>Y&KJDGKy0DYqG zixSgrjl@9#{Dk>GA(uiZA%Z!z!M@cx1TSKHeee1kRN!#lM>PY;hwxoRBp1V4fayUo z7Q`kjZoib#5e)IIq~tEleOD{KF!HR-!^!PnQSUVMua*9%ohBTh(LdU^*PhLw`zflG zZT?b(T<=$5d4h*YpM;=!IrC>+n|x5}AnqGM6~9q2aqgGwwHuI{q3Xf~zyN4@^<9W< zpFK&0yfh{+&T9*EtG~vOmKd=&&bLYepnyHZ6?D@9>3FQ!OWu`_N`o8W5Dup0n zA<8uwp2ZD`?@Y0Z8w7*aDwxfzY{Q1^9*yBU6W-mp;!sZNDt(mYMjEu6DOpYrD*-2_ z1$atEZPS$BiS!j5U)>$n@-yOHalRIz&lWXBaqqGAyhDqkasYx5JbcHtIK<-D1dL$he9w z4%GHJGBhX#Xi+)OFotm_-h@1g3>b z(jJM{iB~ZK7_w&C2N(_n9ddC8&LB>V1(r>9OE+CWPk<%e0hoROSS4a!gRlqg1u9MA zL`7U^8%t@#CI1FyUgP8aJi6yP--*fxoP)~8GS6cr8Q$ej;}l#?Xy_T zu7jMXP7z%^6L(0R7lYMwSS)Dafb7G-k+#JRXt1&p**<~uXIyaw*g6!O@ou?Ihb>gkv~zXWB#<9uQD45r#-^P zG=JY!#LCTH5fdNW8DysW$a*^3C-~ffUEo{;QZ3|NnwXeafvn7KGA%FNS2TZfvH`Xq zv}X-pG>q*ym~SWl-KCI|KdHZS(U15YJLaBHxTQUP>HkJW1nF3NtuuoIJ$8Q10Spz^{m zWx@?X;vKOJSVtm-gV^@O78&>}K`A@?kncfuXOI0p;GCGOY!tmuCEj}`NM;xb*FD+3 zb8~jNh#st1G|a6J#Ea=W9GM>GNBnl^RkZ~7-N@LOo#wJHQu0Sgf|vbockJx=cNEL< zA~5*6R;Uuad&{;FVfixYCgaK#gZZv54IF!rI?!KBO1l4UlYSx+y+chUOex7qO=aUS z+C!JM@e@(OJ9!M|sdJ)tmktI7)oG%C#h*LKN?-i{KfAs%>HF`;JozpwvH$z8c?`=J zE122C@}hV17+xk#XWr!OEdKA08jm(+rE5otpK3Hdq5f!3sxdqEIoH5aX2eKAbdfO7 zp59tsUM7HWL_Pugzr**1j3BTu|M;y4eLEo*3NtJ8#<^EGVsTVU?IDrFiL1gx@{@;L z+H^au@#VwYZfYOi3 zL2=KOTSAI^*6u4S?W;%|$7b@CxiSHL6J z{_0yL1(A=Pg>4ce-hQU-dcN}J)Tf_3ln;GQclo)mc{Z~blRoZbRwE_hY^PK+bz1}ZH5#*&s8s%CQ;F)?vb@(SN}uJy3Y2Saym@Ow_-e6QQ52h zJ=<44ulj+AIklC9znU=_(bcz}NhCyTUlU>7!RqueG0Tv%z@5`0V~P4oTGAU?XLkAUjw*9M zK{ocTBR_1;+}XTiwU4HBS{1lQ%ZQNbQ8%AU7d&iPFAan}m46+x|Mg7|{BqMrnyfpW z!+dk8dF~Yoq#ioi zlnM=<>AzvB{G84ghi%kPsgsgg(E5M9QZYNzwL6q7FMON2k56Vt2irW^=Q4egVV2S~ z@lO**saV9r2`7^IoA;XToYv#wEq}-#i_M|^(j!}2#}Ckxu3hLjH(7po(_M1q)Aa2+ zo3m|FCaNUc%UvWt&GC#{T?lVgq06M5TG{>8+wiD+RCC^nRHC4MR_|d8`6ozYoa|3)txD2CI zIkLYz(sx>KH@3ag_8EP-UF@HK-Q7f;#jyTetA`Kn5Hzb=y6Rss9i9HotIa@~F8Ua&;9id} zc?Igq`jv6nkXG(BrjmRT=%U|zyD3@j{89O*6+8F(|7|i)EnD>;SzD=dJt7rBZJN73 zvEuS0$>VqUOVgAEQ(hPP2&CSp*j~;enQJ;T-<6uqS&`ZjGrN4^qnzd|x6%>YMQbCg z+;iL9t8!S+f5~$WsxpWxO+HdoC81|X`_k08TUX@hA*1itvuF=;?%d&R)WPHtWj^VV zpy6>-Iq(MWiDDIo9nQrYU*cL|I{xKO9tGoJ8M~BrvCi!7)K-;O`uucrWcxXiwH=4W zMkyz_Po92wj&ps(+mOQ7HQL-VBBt~Zb{U_KaF?nfKQi9U)NCYhQ%%LK_b$t^v#&mU zDxJ!RIOJ)ZO1nV(az9hgs6fZrWNELt4P`KY1 z=)Q0-<=nt&^~)?3eB9*r(dNe4+U8X{=6gITuI7vTJnC=1pV$_VR_)$0af$lF=Zx1g z{1L=|8D2?v73+0Ka$5h!gAVmfW1elCtm`*dXj_DT2%6+_WD39Z)FJ^~m!+~bDzy2y zLu7$JA-gT~(eKn_TXp76e&dXLPJX%&(*Lz$eQw@@?^lknmVVXWu>Q(jEb|sy`YD2g z`H?QMxq2O13T0XPYDLvP7k`q8GcUi8uQ8wZ9~Ua~-X}3S7S_L>2oMwVHl#Sv+?;uX zEYCBxwzp$ojA_ORj6%jVUm$HaO)i32!^+C)G)h9}FNL3=zJ^ETiqrM9UbDo6ggxj` zK!5`GQ><6&0PskD+5>>z09!hhT1OA4+9A1v7Tb{bTg$x6;z9&ke?5Uv0P(1{|DEEF zZ!&Bgx9X@fM>z(72p}KoR%dE~-0msj-3W$ZI(F>B1q}h+bYZP2A-E9kTFdu5OM9TT zqoe5ctTWYFbV9_x%+=_188ViSDK|%VglWg$)um1%OY<1IS*^$HZMd67P?Vs>5Z_p! zz+RLDHMNP+v9aK&s0NV23H}AM^TOe#BZtyKU6%t@Kzx0+!n&j|efQSYOxj;xIIeBd zbDyE_eqG+Ub(2<%u4`$z{{HmkYuHx*PrI^b&q6-w^NpQ@GbHAMhmxi_|IJz? z7_Gv1V1wkqyWdC4J3l;conaYaP^3BgiR5a5$-#dll8zRO!M%HEZ1W=vW+nBDw6>R2 zm(PyHgoUUjheUeBsk|sSXfj&8wDe57Kchdk@9@yMk@PXSjrOb0%`d5I=Fid5uGx0D zUiWC*HLj`Uq8!=&bDC!F29t%Tr6XU4YrXgm8QshEOf*f!+k2-UiCWH(XwBT>Hu|gO z68x$BYM1#XD_hz%#siVVcz3tR#@a7`>)`DMlic$%h2BpC!;z}j=7&gz|JaCHmN!+~ zgfb4!Se8^U*~;XRD7y5G2+@fbURye7D6;LjD9O&q*#O#%H1}*{Etgm>V-qsdokE)j zpRXTfE&iaC6RO?MW1suIh9P>^vvlar3Tb20_eqzGb!7O?qR)4XO=cdad^caaIP7@2 zs%*Pz(Q9Y5r7SK-3YuiT{O*lmm!9qs9gc;_&(VU&FfDGn$&g5hL&2~ zxVlGDpmfYG^3TTcqZ09fTqzab%1@GXzRLEtR2l1;auE=po_;Ju;h>;*E!9>?CQc=u z_|X4Im-UN`ZX7f`_vD15c&)Sc%$4!0Su!4_PwRxkR=Ji>7|G>MFa7+b&gARrCq2Z> z&T-A*ah>6rk7vwJgjot&$~f2dGJV)=0MubWt7m~Mqna-TQ-o%I3m6W~bQ>4wJd^)*>llY!yZ7SHicYgg) zuXkl>&l1g_n!(Kc?tj$_Bi=d+r$7BukMf?|I&^-@Ca3K9`@YQW6`^PRnK>cnroY;% zOtBABk_;32GXgg=bUp7k=!B0}zvay|*L}}%QD$W)*|BBTmk-mD-Za6mZ2tZs;{dnfDB0uh*EwYL2%ipdnl~ANTI->v^Pl|KnTu;{=^Jp5Q#GW}+ zIOKSHem1ksBOzm!YIWb|?$6}^!}l4*^_zz$4l*Qle>y1btbZf%PpkKb6OqUMHc2bm zSv21182_;KkYU1~A&c_t^zLC67D+#51>!Bw4$`Y9R=7>i-f5i_iWay3IJYy@ukoer zk#iQTF?s#GolH--L>Lwe7h7lg{9AtJZ|+){xQbsZd2xXz!)xx-JNgNa!?yEF2yU~|m&Tg3#qQX4XXC0UEpbihM&f`J7b`LBF`H&dNYL{v2xc!Rk{#^V{ zQ9E)I|4D_$U*(c=;n!B2^^3VbWWIX!zAyjf8nbJqP6ursr%29;zuqUjoc{1<_*`Rj z5VaQHy3t!L_tsUJZQG08BouQYB;N1Nzr4ivN&@$wkWE_A{HNDuhc3f%od6vRn-uvu ziybj+(hgL4Z+W#PO784j6tNjROWQNGDe8FS+<*)#z^qW(tr^VF;!ejt_lu3Eyx;z) zt@%bG!~1d92PB0{<|A#}T}?wH7h>6m!_z+-nT3bE@7mom6L4suH2&zO&Wk%Y98TUY zd-Kx1m{Kkm=a~GDbd+Xy(@cGUWX>BgsiQU|_G7mU7`fvAJdQ2*NIvBeZanzfE-dBQ4w6rOy&VcD8`=lh@9=Rb6<|A~M z`VUVP3@k0_yeu@O77>2H{q?-6taVm>?{wlT3ZYYPHrYg)3$txW3af7C#xe5@eDg30 zymhNa=jH-Kr`z;SO~(-->(_gl17E#xPG^8>wItkWer`LL$+*Ss%bPf+KF5VXiL|Tt2Z8Cpau~BeG(s8Y?ul%G^ zUY*eip@N_Vw)hV|^z+a5iwlc-eu~-p8c=DoIDIMaxU}5b%Om^i)rPFjUXcHne{HR| z(~aqwCfo8;NtFzN7cOzH{wR;UJ?KAq+b-qUT3=HngPHM+<>A^g(yH6zaZ~+uBg4w) z(|yJ-EKGlocC0z#I=?sLTG*lr75+}H`lasaaeCLX+4ighjLza4Gld-|-zQfY9-B90 zeMqvTsHySCOl{8|i;AgO+Ozi=(=N#Htyo`(7><%-o%(E+9P5ulflYP87Vz4KR`PY{LA*m1~4u^@Q$)eC(Zi?7?gy)cY-(f9Utmq6`DaZSkGA@t&*V z&z!LM$xw5tD8KIj{h0urJil2V+Ki<1!F4y$IOYpaZl+k|c~<4z|17%9|7)6Ghia#~ z9LL81X1rsjWZ!forX4%-@3?k`}@#Qy7LZ<8&ZA#t}hlAzkFy3ip-C~$BD&Z;UlL# zBHMp679Zz44oej2`9C(i5yF?d+6dRFog|t}yN85 z3mHGtRBau*ndS}@+ny>hFQO3VTiVgpWmM1HbKPOk<-nqUmWtu60~<3;6`z}y|7jhV zop~BB={s#e_neeFpF2U>W-t4~sLd`iqh~*S-`1z|$BHPsi6t?5ewx$%Ua`K9uJ27_ zSeL`q2^)>0w9Uzl5xg}TU9>F&Cr;Suos=+t80acJbN52a$c2T(Z>M!q-BJR)cN9vK zKfW&Vbj=};CR3H6DT@0_l!iyk&+~j-cX#ZAAe`lj{!5bUrfij*|HlPb=JTw5E*5`e zWBjp6o4@`o>JP_Os@3uGo*#1;_$RE+^WSTW7SRq^O)l9cu=meVx!*if`xYMa>2bBh zh}?cYSG<2rg+Jn>HdLK?Y<7t!Wwk z{7A=R(@OZwU`o9cmB3Sy9FE~PHoL5rcoWWyb;O9M1n_6?!MR^AdQRa$e30CwSpWj0evET|od;U>0!VW-mcntxt zZ`FRCy&p^gIBNnf`f>7cdaoH~C%zb}0!Qtcf+`&&-_uZjLvF|2$#eXg1lcSEo{v$WgxVY25 zS#!UZC3eZf5aHq2)pUwqAY_4qXo+cGI3Co&_tB6!{q>>Mg&GXv81QjxoZ1R5VTeTw zw-Ky7|LgP1w#}i$D#ARTlAT7zNuxft-j^oj}5-b%wug z2MGkcSx}EDx>Z(t!I3@#-TvD0%nYhB5Zspj+y?yFWW>J$@_z&%N`E{+17*(xiix5HX78V`iS_3MYn%B$CN#?*dS}s^i-R*j$ zm8xP*`qJwbC+5%tQe`B0@>F>b^1d`E|N25b;8IfkCAR+>TS=6#6Fp_t5a-6DP~_DtfgZwd;}ZStwXdw_|CT!7 z`vcy=0@_m!Ki3WnGm%dV{pPZpReoqNt{YO$m+kSda>>J6GyZTTsX}?ezVt!A(O=B_ z16@f(XQ=ZMmCK*k#GF#e?>}l@uDx$?iSf`+q28szCDQxwsA_2!QH78GT# zylqxLTm1MpRlRB?)gPgxhT{nb!$###bx+weH)~y$fFOSM+MiP*MSdA)N~v>%qT99+ z?@Y#Hcg^*H`RXR2i(YFTtOCb^Mr?UPZr!+|yBPY4Za9aD?ct@X*Fdg^TE zRp8bzv)S_?cV$cN{DOn5j&t4BHOfn<>zi$+84ZpsskG@jc^h>Kl#6XIacmj?&c}YZ za#2R+)w(73A=7#Oh>K@m1$-BOE$Ne|qNcq5#rLhince?#->oTVC{Xp2oA?JGRwfW%i!PKYw53kXeyR4Z`|@+KBe?{W}aP)cR}=%LD!3cxj8wj z@^A+ot!GCQAUP#`gF|*}aZlkD&t3mK#8-|@(eTb5yB-BF$?LTgrOSd!wzE+@0U!B&av~!mA`$%@sn?K zb?o7Mbs2t1gnTk}iNcia7e}|~m@DH8s}DF?D~G5}@3O{kIaI`c9@5~vd-wN370s?i znn2A{RaKPY;&k6tNchU0X~~;>5s_2~=QL`#lcgwVdZEktAKq%O(DSA1Z;pjT3!p7} z>9aahaCi9rum0SV5v3X<*%F&u9Df8!y!&;I3l%73>gHWe%U|v+4Z4;QT60~va4v|% zdqKlJZ~tI<2#GA~TCz{hpS3^5Bm-+2oa@6q^UDmsg(aQLgcwZ!Y_Rq|JJmypQugyy zV9j;b_VCV^3g046K6UQ0+Na+mPI82icUl(}^&jom0d1{LP88&SYJP_7X%v$WpG{N_ z>s-7|e=gpk+$C>afy|7NO`g*F=TSzTkSj}EZWqZK<8=?{N6vT(L^qj(84o=MNW%7v ziua?q$7Yv1&+l62ICbF#Ny4Gyg(c^?;u3Duq>qd>C51(W4DYA2-N+>?F*|Z%{q_yP zrHpUUoGGfAx>4O-{EzSQ$ry~kDp5N>Z&|7rrF!&=z23wn3Dzoa%J`7hKes~zM!1za zauxS*=Wlsz23?!mOKR-@l|> zwp8X`y=VGH+N~yculK^3o9m%Cl@rY7!Rxy2Ed#%1^HR>|DcD7|CYif3Ih=8OqBqC? z!g2I?QHblW%d92TEH7`aH!O5k+R)HER#ba6*Yc&aRYg#I`ksKWt@!ehozne$Mh*9~ zGRLyXYDF#ay=7?5{MvLa<@G)lQD}R@vrK!0tMc)|_uaO`19X<&hHNf76<0?XKk-C* z-c;^4VHV%o#$;zrFZ#UixKYE0mcR2stFJ~4_AN2|{k-*PEbhV8S|jk_^d~!Be4IZ~ z?lR@LcxPQR`{I65V$1gABFwVeo*fI0diSIL-i$tl*Z9*fUsj{WvmerQT%YaV-S{DS z#iFUG_05~J{W2W-!@67LFS5wIy8!h5(aiGuLm|EU-y)+8slKi~MSR&xk3EY8b6Kj6 zoAR*)UoX?|Y-dJ~w8>vA)3j!fit3AcrqjFb5TnRVC$e~O(42|IsKKOhe%_Omv!1g4 z&LMOSwi_F}Wsd)&&}_F@lO7N?FbO=*6e*^ubf^3^>DbTJCW%wkqn0+EN4c1b>9dE6%Pvg2=Af>@+!-pPXEjrQMo%u@at#}~+*(F0;JTYXcxCG9x~MbTb{#a7 zTNs)Px>ad?;`@j0(6O6;oO#wYND9`ao=TL)t6yL2y1}?MsxKa@B){O^x2yNpkX*yo zcN9S|#1P%v^bBGu(BFfO$9#qD5%|bY7 zH=*#n###b_@?%Kq%Ebs(E7labUn4(<^(XgG`!Ere1w<6!Lj689U{eaxGxj7YsHn_8 z;MfL-$I(ySW)!&(^13^-^hw4ts9OzpfNOnm?RRWYYjgt~Nx-WT{aS+zC=iqw>EP3z z#$dh;=I9b|wP9emUXx-bm6n=n0B=9Tv+ojaY=`F_t+>m@4fee?7-|!wI-SVb+uiV2 zAiT4c9q%pl9@_>+2$T-Xobram zLa#yjeZr4DE6PC@6LwTx@%sb{1)&%V+OLEt*IDXZ^j`oWBO6Ns>ZAIF=OfHD7AHF# zDRZ^pJXimWOzf*3pNBq%$X7vVhd2Q>?qCUd%^dap?9Mt}$S~46Jm@ixb`=4CprCA@ z8lecT0tU)~8Uo=mshj*b5MTnH5b5mirWgUahS4hgAw%GDxsDJx@@?HvQId$5@~^ z`HfL|6y+Mdx}$ij7WGV+?cS&FtEfElN`5O9QD2cuzkao3rh=DhZ1mBcGbT~2Z(oso zzC}V~E78AoSoM5Ht)*zTPMZ_+w#43h8B^Qt>?o=mWYwl&q(B>NbLhZ1a&f8r{w%Uz zvl14Lh5I{Znz#68DfY_y2J7{1J!xxnVt&LW|G@MaQ|vLVCpmXhpPAQOem#46*DnXY zZ+gF-vL~Z5I~9|(W=c2OD&IzA_)yesH=5U;$?9kO61R~WHBd9=PD=UtYH3;iPO}x? z%rExZhf@m_@-J=IGWye56s^K%$o67eX1CtF@}t%0OwmV&*UrT^I)**Y4jCaJEpK{YCvqL3r_D;sG z_rjO7StuiH{Ha!>6b5?q&dsiukJWytC7*IkpJ2q8JFIITGrh};ziymOjL}-U^_}0c z{U*f@iM!cazF*jt!Q?`fawXbsXUO0}`Il#Y6K7>#cxjoYj+#4eNqNivdPMeUaM*6# zqU(81yuyun{ci(Sv+YfJ=hZpI68=v7<@~^>XBE=)lq6pKe`q@A_&UC?ZO3kGHH~dM zX>2yO8=EIi+Sq1e+qRuFc4OOk=ledN-{0rV%$}Jwd#_ou?(5cniF+zBL26oaKg$O$)4OG-jFK+Rf$8kZrnuT0FCC^ zBo!*SoEye#_1R%`v^yMn++RwL=`-(8x^%j{t!vX2Y2b@H?u@pk^l8?=%bIq>=8{g} zr@a#Amg-YbAi`n$jeDE}smOwT12#i9=0{&@l?fEqR0O*?fBhw1F9fthRDc13-ye4u zdl88CzjkIo<~pU8Y1O0%$!g77%CY2RA-PkqT83Eu#DDIr>`j{=o=`}Iw*<;8Fplx# z%KSk`q52W_F#tc?Ra8N5LyKkP9)*6UQSZf379)t=Xi;4y;r_;rh9c;%OR{4rr&xTn za>&0Bo)I{2EK+a(wU=v)yhP1*>6rTE)PTjpf@`f9JhZ^n6hSEP7yKnOEd}Z%c*Wo# z?sN{7@jAE2To>mxY9S!X`xCv13Dj?a)DE6NKwD{NU0YdXM>T;zu`?rhKI~%V+Z&(z zw;GMx0<7W*QjZV|R{;06 zWmqMXg!ePd%YM<^W8o{#Vvmy#ZM+R(03es>wOEbYoi~e6H(_uebEjX_zYPJh(ag&W*^2DR4j-ki2$fGBtD{X03}BJo3J2tyYBGRzST0ro!37cb0g{39q;!c>t(oOiE!qB$uh&XA4FM>LWmdHv5W@73E6n2&bTvpuxt)qQI zK~666b(@K+Fy3I%G^{9(UV`BHQ0=azmIEB(XKMOSvNb`ud!+|E1O=+S91XO2!Qdme z$r$DKjo$1e9O^D=-CQswy^8M!_C;$wi-GSdD40%O?aZ@;y1|!y6Zk28t#!{F9XH{j zMB{V(cIcJ}$QcRa7Uf6FeBnyq>fa+~hniwkO3}VifG6seeP>Jw!xohKmJVrICa;FM zfFVSW-6~uw+3Sh*+BGJe`vVWGd{jZdEc_x!=hF&n3Z)v0Dm^HoMJGK={1T1qziB`< zVWrmP&o5pt)tYoUUEX&(fnOW+B@R{Pl}5K`$Chfwry&V%3#NTK&41*V4zQjxkzw1D zJE!-_cLH_&(|1J|_RR)1Tr##_oIkepkwNt;3)#x$J5FPGFY9i_xqY6lvsg_NSz%gC z{4n^K#cRX&Xli9m+7oYA`VjlAyWRmevMbB<*lkFtlwS$At{7x$K9 zD&|jjs0ttbJJ&YmV0sStB;qZkBl94A?HsULhh7$ecEH*KxcNF*$fRV7#uK8)0yN=-ip8^Gx>ABSiGL5l{&k>Vq|=~iqtb(MfIqt0Da{wkemiELQSVMMct#xM1>h;Jgn(MV7)urLeEP&UJ<`tnNM zxFR9WI$7|4aSk1S54dpmCaMP+oRR=1GQU&s&`vK0JfvWYP67|S7$Tq$al(e~WR-5o zR7>RT87&sGC3N`8@U^|Zb&53=M9*_W1z-}NUN?>`2%QvJp5z6NeGl60ZG-}8IA6;C%{8g&f{rm zkpwUo02@Ffs3(E;6#z2EoSXn?K@K*oH$QeRAhwqnR!1MC#g7m9bA02)0&kVRZ@ zUQ`1#i!$n>G8O;}w+nzy00ioc6 z9;yM*0Sd6Mpn#~u$^pDQFo0E7#IPG1ND2XoT5JweHY9+7ku08{l_ilxb^uaq)Jiz=B_z~9$C@-l1H6oChBGP7N$Wi{MFrlRj8D!|$uLp>F zjC#R?C_pDOg$z6F(u+3W#qX(eIT!*@agiRO91jtmRRDSJ!?M4t8^W;+DW_f>kH(t7wND0s8vIV@wt8+e9qMRdr!rXqi^~X^TOGswg&y9@yU#{ z1Uf#?^H(9-Btb0G+?KIF5mN*XHM?-NQ(SUL&86*37zXkB@-spzG^dZ%>CO$)+};~q#!@8`#D9$V~Pp^LY8vF^W1 z#ovu-)}v){N*&h(KlC)kt9YANrsvg1)35Kd0yR1ZFSBsf#xgQr5T;YnBQsvOrI_Dl-ijoP}>TXZidPyZU!`We&7 z6%%vXa^chMe%v{`tbtAr2LS~aNZt~rZS%9ybUc}wFPff7nqQhSdvD(?{&0HPgvu)| zOlZY|@}JGafSWND9?(oYx@fM9-Ka!5_+?!LodnLIw=19E=za6`!_r^)v9e9LU*V`@ z=h^28_Ho>@Gv#t_Pc1xcc&-wc5EXjGrRo&f6pZnZFc*M6o;xCwxxr4Ily7)fGichdV9rND$ zj}IVPprpyre-R9la~MkamF+Sic;&J*Pe{PqbjB&Tas2ktc*XH?vS+~1-X*J=^3={Y z4u{?b&wBrEkt(n^VVrvZ@z^zd*6zeCQ&$}m_xT}|tY>g@V>a|Llt$!x7114mfR2_d5e@WHK`m)c&SH~+ELu7JOS||d+wJGG3IC?oY4Pj2&yM6gl zHQB|?k<~CBm4xwRBqz^uSIETkF}Wl3tU4#lyh)$jyY&e|f~ESnyPamcJ;)fZVgf3n zV)`kN^QvTINS~uQjO|?uf6F6%pU0ywkv=vPQtQVXj#X%2x~`xlu?MfaKVK=*uIe{G zPd-UEX_}9XEv8woC+&f)mP=Kmk&b@wX3f4+^w``QOOPUcq1xSN z*%5j|KbCIYKwoK&87Uu!{QDJSg=%^|K0DL&2qn{1==41RT;e06AMb`z=CZWb z41ChQ!_O;{5fc7Z3$ekJE|{*Ltn?ba;xlLqbenx-wHNxkvdF`7Vp? z{hA{*2c84(LN)QOd}wJ5h8YP73+(ZPZwD_8x=9{GLWYeyUf1Wg<2};|Bb{u*{6m*M zuOW^X(BZOpSmr3JLAM?M#NV#J>KPg1w9 z>3I@O0Q0sGhx^q|_#h?o3PjxP>lt zUD)7!ecJjIHubS`80|RweAz;GuQ_HU<`sUd?H{kIzTIdh3OJrUrqTcWwf|btm*3y< zp6I;25!3y!L~b&!!zbUroz(q~DCyw$Dl24I;{D9)arSJ1dl7dTN2cM${qXjfqPI1( z&$w#v7I4>U#klcnFg_As2yMML{^Ps!IsBSNtc5?o%Vh6!dzqRQU){JdjLd{+Dae!( z^K~Z>67t2##jkckF4B2B=VS9a>)r1YYnN^OR$ME2l+N!J2iNM^*Y)LZ%29XATYXO{ zh-uDG`QkPc_vqiutFPyY9A0W zFh2*`O_b)-5C;018r4p=9d3L%%kAahIRp`z7@Dhphj4Heb>nRgqB=z*or` zC zE5rZ4yNr5HroxKk=p9#mH`A(dQo$f(Um<@0_ux4S7UEe;9|5plHqi<;Ha8XQFKB*9))$D7L=% z=Sl&vz}vnThI?Pyq+MWG2CTwH`gya|LNBv1gj*|s%K@;fi2V>8eFxLHZi?o;^}~wev1C@qJTV&_9ALFjg9yk3B`!+`d7uJDnT9mVth}#Vely z_T2Zcd($zDUklv6NAvhNpOo$g=^gI(Avy`aJ(;z1_rt z%<8+YcnuH@+o1EtP2;i^zv<0}!ZRW0VXj`buH|ryuCtmM3kTAVQC>d}#N7?nU%QO^ zS{-(nXq6`9+W9;+_%?j?s<)LAIJ$M=oe{9I&-e1JzW`(>HxbPNESMqL`+P?vkgK1* zDR1a1i-&CmIgQdn>1Gy19w&J|zVBBzC}D-S_2&lN54`!xj!j9YJEw&B0MbXWFjcfM z*+?eM?dO5tcz2r537_XBkLt8w z1P#wui5Ma>N2})^2Y=H`EEn?)5cItuD?<2r|rc5q_C$-fy~F zm{;s)%{sbeeSbq#5%xJd)7m{uHYd`hKMnvl-^2_utZ?C-AL1Xh@~t#QD(<=^q9GBy zS+y>ZOc^mwBCGv39OfR@`{Q_2y3bRWUX)U`Z{czOb$YM)w)t=7!O|Vuv>`+9dMe${ z*Y^=LRKNPYvy3S%`KXWNen>u}L`(vW|y}v=t=RdD-{R6Q9gQYccxW2jx*oj?H;3FKe68E}Ie#@xJ z?=MJ3j7&|SvluGyf4cIBq?0XZo=!5QpDfJ35f0CJ(B*N@^;_{z_iS~rR6_WD+0CAY z!%WCpaSOs3yd9TH)8$Uh*#wKeJzYmQ2*==lpSw2Nt$)t?R-Kb$NQ)A?*`1uZ+Wh9f zPOt?$DaVB#OL5=Dic@fe`IwgYrkFRGU?#=-=UuuoV6S0g6)1QfiwK{bPyW8W`Z(qA zqdrfZzA{I>*|bGmc2GbM#ONLyX=oU$}ahq3U@%rSt;96nC$_ZZo` zvli-0G%f7#d9&09hXxBuVPsvWgBc&RuxPo8COl$5pJ(Q7H$Z;V3fttKtd8a~Aj_J# ztXOy5i^W70Vwo9ktS`PPW5R})Jxnpv%Jkw8YRAoVHK912Oj~-C2EW!&$T9rM-TiKS z_p_Re2qhGw7$?gz$*!lQ=g>2zQWa3gA-53?DZb=U?e#RJVco4*Wtztz9oWu`uSqgf zRP2XY@6f|I{lyqoM-_3VP;O*TrwgOQ6}hF4Ok+VyfjDC5cR@mp4V(8#)dOOkho8Dp z$M|rF`M;2(3(K}r`R^do=zJMlz7ng6Q%nwv-f0uWZZjGA-(#s}_`H6qA^cWEo`~%@ znaInaGv}5*6ZO44HTbTO&EINMbK2qJ;=;^FCx{po8R;+>F!CMX(69lmJt9vN?DBw3 zaJB|07QAG9Z@G3K5j*W zvXFj-j`+KDPRtjgd_PJ*hXG(sK*c(Hr(vUjcH(M5uyn=QQ9ZLll{CpGJi~#d;(>?ID+7C7v=QT7I!yo=+NEWkDy}+4k=|&q=S^SKZ-w6ZQDg&D=Qz!+nW+ z8EcNMIeMAdG&fiK*=yzvg8uo1!i!9#GM&_xs8BoqoJcE2F)A~UtHY-$+;hdxRcNPR zW7bM*G5m!;EA=4C+R6Md<6CY0;f?WAcFG8#DD6$3pBBt;2bq(L?hP9=-z64wZKu=9 zaB`vR>M(pLKv3s+{`*1@>&?STA^m9;-0wuvT;@-yK$m`YPT{p%aJ6z*ztYC9qc&vY zIQT`vS@myfnZE2;LKdwG=Z~F3gAw3L-LS~%wvj_S5!i7hlP8^=@xe+<&$%iHWPGk# ziRTAX&{L{T?^XXwyCnAlzE2In;IO7(*R^=pUdbqIZyn?&R$dC>kHHZ_W}U|ZY{^`)1g!7qD-2Y538s%M499j8a20D!q3laJ!mpwz@l-@3PXY*oCJxP$PO;(B(fxY82&BP-flr z<+Nw6hi>XU>64w~FBv<4E?8l^;ulJo7rdjyry`;~uVK6*$pKEiVFKg!|v~ zb(73`#zmy z=XLrW>>oDID$lz)_9;k%on2I{XQTMp@an@xv1(^vAO}qfji4HWAl<8CEHSUb+)&bG z*7zO5BP#1F4n*r~xXV<d@el(ofRq{-6lqzFVmpd;~=V5f4UIDNnq61B-5O5 zgG@}wRxAwn9r885YxdG|B-tCh8dg$OMhwhdxy;J!;`96P`Tuth@PbQW zV#-|=Jz6HN;7{%tZQhQ z$LpoEss@5$TN8ob(YT$x=emeZwYG1bqBO4|M@NNjRnKQV{jLI3G_^^h28I~$3_S(j zSk@K_+bs1_lLJy*hfrwM6d?OL1*NUVI?kzTPgMW4w(LAp%3(|Pc^5*@C=Zc`CGDS~ zobYs2VKUl}+sVvD4_SNz4n9$p9i`PlxmSoa)Dj{-a8Y-zGZaV8>Pzhv=!^Tq1<)Z@ zYEZCaN8D5~gaZpW5T>hZYuEAydEzj8j1}PWzu;L)@(u?whKcr|H_`uST^`f--=18&XOuvwVL>~g8@jPEP z7d<2rracFNzE8z2Y1x{=ADcL6(|B0aKLjE(b`i%CQWWP18!tl-tH$x5bjwl_Y25Ar z11q>!9|zIwSS!HWTfbm>jr4{WT9Z~`-nsZ1kU4hkrz>iHn{cGg>_+#^Ei z<)yZM9Apf_+DrBniM^hU*tYN*8klhd+!m6v+iN4fAb;6w47GAFC9JGm?a79;P79<- zWXH277Bvb2)LEiN*a%xWOr;cr^{3C1hL{6WaH4FRcOHimu$@@F;wouYQ%pQYZH#Z5 z*Ab67s-4A_ip#G)4_-~G+Tv6NW|w{Xjc_S=BxVe{Lw5?l=dU~YC=Bcu3w-3tX^J>r z#f?^FZVzg?wDu=I)|AO;q5gb7XuhTu7n8ddznh)PPgG2lUAwJjSdAm|AfMjt6;Y>C&HSyLWN1nb&pT`sUV!n z5jHu*smnw={P1OalKqN$q^WL70J<~Qbe#7 z1M8fT<&6iM?{XWe*29>hxgU@g!xkr1>sc}Qe55WKZ0dfZQ|oQX^#1o{VkpEg4xrfh zTkR6yqC)rpCuc5GPTfxHW^5p|sh|kztXy~g=(ysC-bQ$lp8U-O*SE3JCwL0rn*L^3 z8qs90z-h1A{nDJJra~t4-`%ZnGBbtB*$bpr`4RNzG+5$A2|D^(_Sfd%)v`rZbGyz6 za_$lSg;MN*n&uNSS`lgG)du{)i)bBTEH!}DbZKyNN^n7jFJH|*Mb}X|Fu2*ly5 z-Iei)Be(XhZjB1AaARc+0f|fhWn{t*UdprE9xEPUz$rzV06!UQGV6B{&x;*j8`Z0p zOJ5J>88p~&ZfGH0OVNP!T-pO7lH8hme=WF(LlHzNI*uj6&vmh!rX|n)Ik2jSH%PG0 zLULY~&~J6eV`G1Or!v%)z#y=<*@k0S(VI`_MqICXq?Ji<9nj)xe(9f|V4n0BI^W3o znCHS#;7gz_Cnxj=^}SGf?b8P&k0WYQ)6^mp3q2u=Tc6nMv!cFu(~VzS(H<6)-HDxf zt1Y#%;hL#8-B@qzBGH3M$YY!+afSO=7(K13UuW`Cz?__fi?%L(U#-K9T6@h@pyYPC zvhDa|W1z;*$^h+DPHR~vBNH$3&*qhdaw3Gs3y@F%Mt*%W>Ylj`c+{d^#1;isRw*GODU}) z4=4SI!=zUeh)SDipjj8{#S+PR*K_Lxze%LWbApuOt^xs8S%OLjKt38T8$*p80FoU9&&P%s={F!6!$Wj}JhTbZJpftG zxBS;0|0my`#xnfD{l0K2sr$A2qx6BVbdXe#iN?%9qN3Y)NWc041~?K2m4lm;lS=w= zPoXw70{IumoVB&J(z3d>3lkI8Ko-Ol1R7Oc19x{W-_O1`B4T25507QE6!nW{+^E12 z91d1iQo{ZZU!J(6T}KldK#%a1uE%4Q9W(i@8cE>Fu}bB81D$5oAb`4l|nahF{nu9 zV8Q?rsL5*XTNkUMsh2m2PlLbdrVhC}OS!J2z8F@!Mo0MgMO(k;Fi++Wp6Um02 z2Bn=&+7i49s#*3!-}k<7VWM_PO^uZCH6-OIu&=bM#A2sJNRzay11CBK(%Wrr-=ZQ{ z;YC-Xl*E?Lum(f6DO1{4QJl328(er8z3+M7)@6af5B@1U&go>NE2*&C`B%%2F8P+Pn@j<5d@M-!j}VR z%BD*R4Wo#KQzn$PbWHD|bqm2-*ir7qo8JfS!4vWAXuqKNs``|qJZRlCLxfLlbjciV z>5SrHdzBS*htcRc@85G!235#}i3pKgWK?v;wlQ->uwN&sb=kVm_@;Ndy}FjZ$o2B> zs?-r3rjzQ+irJ$5)yQe6CK3#|7c&`lX>}hw9_yzg-MAeLU>hRSuT#04Pj|zmR@mT_|i=x zm!!K{cX9vaE-gwftl9ba^i*_GN&+&J6c*I}KWaybadVG?j?hwdz~^{0>5z5Up%#;K z1)N5p2DeJ+_GExBl=IflxIh3dNfTf#=Zr+Bf$nVxJwR!dS7bdB`z&v zl&~{&ndCzTy#Y!>7nneExBcuV#ZI4RHWPw-^|uC4;}b#gi!aO|ttv}XTdgT$$Xm42 z6F&_CVqPLvSX$-2 zyQn2xHx{H!a+o%1(aG|@8g<6#d3-OAS?bHMDHIX$&2p=pJ}ir*TvZiICY=8Xg#L99 z;f$cZ46RYA3fll&OM?MXLAVWS}`TH(gdjmsV6CLfb>soC% zIj2Q7Xi*&++JOckom@8NO6M2Lou_MfM5a&HbK~rsOQdTZANa3J!qunjaFuWYR@|x( zhdka&hJ7q0@*s$@?xe=rjsZ#Mpbo*~XKj_7;YtGvLa0>GGc9h$HYqPiAofCwT^Wr1@cH(xf&y*`lfCbavk^;G!xxK zb-YQf0{YipO1cm7mJ}eyz5=O({E>PPn7Dok0&gbPO~Wxebojo8J6)YgvsyY-!GZk8 z{joZh&&tay1FRAA^JxtVcFh?~zSj|bB_sby5iHrm^QhnEnBM22oMMLiffoB-jjkIk zeXnB*-$QrbU+MU*^$XGf?=A#QrFm~Fy5#ytENXM2;^T}S2xosjW!4GTn!yjRQm1KE zC>^Qqnfxu8=w7FS5KW4Sn zH*!Ot`Opl*?Jqj5)4!R^Ex4h~bqfefn97UpP66yX*8{b$H9bquT15S9;9p(_Bb z`5Vt!WO7*J)-O`S6xTwN0+&_}{Z?PP{Xou>tb1mPh#Pq@;+~Jkx1{?%!SbOWsOYp) z1lehbyX*Ni`^YnMO%Y-xGo?M!igA(T_$$AxKSZ`C38of1HA|!>c zGhcWJe(ao>8|5@!o40&~Z%25>rUthbTPA7RhZ~b1z-7U@raMV=zf`)5j!ZGwpQHRC zKcm-%EUc^`5G1Xv?(jt{B<(!bLiy*mpY4kEkAqZ2IH1`$OVd740o9EB0Xr}bovjrz z`QT40fE33SXu?00AA}*ChH7{M^K9!(FCtP~T3hp|H$7TK-6DQzx>`BjBhO*foZflD zt>-z-ly$B39=BWP0o!g0Z~MizVR3ob{O=WQsN`UU zt`VE~pA&3W(30$89A#yg#_)M*<}Zu(QUp6NLsv`0VoCimFZ~N9oW;Y8hh8kBTR3Yg z86=#L(1?l=If^4|B9D~fU@yZA*2tCzt<{JEPXA@s{;n?Q^wSvhse&sVN^!>LXqV%^^(uj zrprl=9LjL7V~JHU*!Zte_iIDFNm~+_v}`u1n_jC2(XoU3)tqLN!V!<|La3RAF!cjw zy=(o39Zfb(=w>Eo@%igns`=76(IlTGO)cB5hF;~a%wBk92P0PQG*${kSo#kR_}BH+ zpL-*BefSp|=M_`QX0c6mE7CtjIr?6V`&m#2;)!4j-LtC%aqO>L`X|b91QmQXiw;V=Zsx;%I;xKXI&Crv3 z^qlb_j$97h#IDf$o}b$#rO1@O1zP=qyq$*3rlSSEbmpvi?X}WijU$6>xKvUqGH`BD zI3d?&C@*sVTVTs|t?3^|Lv43a=m06qH-@YMhZPYLEB6O&rPXDU27Ahk^i-dBS0e&u zdK%nWJ*`nM5fHq%$N*%0>gYPAZZa7A#b%WC{ZC$A-WvJ{K=$+R_PIqxC6dRe+2k=K2uUKdn#~xY)QyMuft;!$QKZCCE#?U9+M9 zGol0LxC~cU-C1_#y0!Rh#33bmMEO2)?e@kf|J*3Zat#ceg4(|wcJ%Xoa$&aT@%N`R z80W178EGDazSs^LP|PMYky_FcX*W)PHpxMPYbriw!veU#thwa!dqsl4?YwWp5Cx(8 zhq8zlvp1HiOH$v4HSUun4~G2yka;+iZHE@C9@@XR2&&-e1${{8tZ1$3eAiXK{$z%z z#HuF9uhTfq7{v8KSVg41KgWux88VGbNyRSUo80uUDk~q><>ID@DZK{yhNQ}VBP@|) zShdGg*U(e1XT07?dm%5c1b{CjCK(+>BOG)>=rlENPqr$ve@Rf?;)(obn4OV*jdnMz ztgbq8px)UQqiv?A*;t*>WEsJ z^uTyXZP!=!rUu(45Eoz4_BzTro&$Eoh$Q&TdRz9G>o;CLKIuZ0g};B%kYJAKc}DjP zr--{+Aj0%Ie%ex0Rst`_wVQO2dhyJ^Xu>i5(P^&{@6AWJP5L(*w~H43O+L zH|26?d}TdPO8X0(>S9vc;*E&pbxLR)vrh4?t$sGb{);BOBxf}ha{iGVoEHAXf^=PI zZsq!|veIo1M$sntboi`7*G>arUPW5=WL}q6r^#Mo61;oRTqV=eq4g#+kJ9qm`Mqv_^=mb3h;GuxdwE@Fl`yJ(pyg6u&;kb8?k;hw%5K+nnFr$18XV z#yjr5tEGwCr*ln#n&y@!^~lQQXMK$z1#vGu{jdt=H-|FUSGVx;bKkaq;)4?k=G9rD zW-J+;a7Xyij70LvHiu`8U!wXrqY3r;pUn8$TaDAG!?ffK;M5J%lGW4^Pj9L6bYHGz zn{EbWtBXwK_6GBQ;@k4M@7$PHzm|#x=BI~REuYJdkJT)X7yKzqy05I%1xzV{cQ^n} z4|wVwIH_~YI*OQ!i}%wwG?lqU)l46E(di1&PN5$zxf-LdEgNVK98Bui?5mnlWWG!Z z{U+GC?~5cnTbgT%x@mmy^s8%0JVt9L(os1xa+0~2ud1|1eek?lP?q33UjYN@XEhkb zCD%;isH-8IB5GMNcD+Hq!dfqyKS)bsLt=(7@VV{KjZoUKdVVxu3Kp83X&PalWoVP;y9o$JV@XImo}&A+{I zDAm@>w{sdbBf+bzG@~>O=jC(S#hi3~^lt|ljD4Xsmb<2~)UayH{`$g%QAvhnj=NPr zV^Ee^nFZ`pz0pF4iN8CPH#9V^)Te%HFi=cC*ErKBJxJ^&?T6c9L@VUuy zE^xNx73S#83Qk4&=IkMD%VVv5t`%${`SSZAoT#o1oJM{E?40%n{+>>qy?^1`wN?)> zyx_eEi~dD(b`g^4<(So4ff+zKBkPxq+-yd!<_7iU(N&*FCQ<#%7o5KfShn!BdQBe9%5Cu63hE>gm!6R zrcAljlmo4nS0WSN@NGD=Vyh0kbK>HY*l(Y_h-7{?Q8AyEzBz(!QC)TECklJ`-5vVZ ziOqh!lR&-1rUBc#B&?ZL+VMZW&U*mrgR6!|%Q!u?Ub!KVWGHc?xC`j--??1c+M15- zu@JYx7gbO5b~N}lP{-Dim>hntS-muVJimL!U~UT2nTIrZ+B-I?nNN*iYisM#xx$%c zgxm4)a*7L)!I=KTp%k0(FFLC;7bj<(WBxn6JK)^aXC#7MVv1nKxU6{XRjaacTUAyj zvwS$n9i%IrCsmK};v?8(gSPCVs!GUD-Grt}8B8cV0(gI-8&?8cO!1Ka-Y4tGz;IqRo{mO+Uy~zhF*NC``qoSld zTR~9+fjfUQ;%{kn5%!~FdjLebukr1_em^H?3Z@!QfH)7h2x%q{K0R@hk&zXs z&~!aCR$s3>PhTfh`-oevgZ0Umm6nDHz19omx31VZP$fuz9Otk$cLUk_*T%+`6qB5{ zJ*wxIrEUeF*-&Te1>4}M59j81?2BWot_KuNx&3JOx0M&}jt`&r7(#0Ti zN)|OPvQ4itla(nq(Aw~k9JJyCErRgEABd9|&Bn4Xw!OEzJw3Goj?J|xwZc)b3>*;wKjSbl4x4dSE5 zYS(BkG;wRkrEabSNp|4G2=(9fbR1=Fx3R&V55>1W;KMe3(2?I2b!s_aozzg-7^Lot zJ{YM>e}!c>Xxt8U8Y)24JTUU_?8=bog!{7qKw}dGH1rGzU$}b{3v#)x)Ov3*60yO7gJK!hFbONSCqapxSgb zJ61a&^RGTp`#B%j+xS0qjo>x?5JVDg?IvzMpt7RZh2yXLKr;d{U@@?#usb{UT~Md0 zsN&VM9vd@TRN2w5j0_<-K7^rEexe!(y}Ity|4u7Xa%HnJHwY~aA0vy}<-D+6AAfA` zW~!L3L1GvGzSjh5*ikkDc`u&*SwW?u1^*_G$aA?)#Z+Q^W zznI))N)*3O4fMov`qk2X;maQwi4?=hKlVq&8#7%NKGq2=WBl$Q=*!nVCWUu#Y!ZEq zx~xA|B3ChT_9p`OHVj*1$Fq@ai`Hd{_&g+1^e=iVuS0D!yiMv6^``uDS8#r=H`R4x zV{>+aMGEa25Itg>hr^uwLqhK6!YKH}>){}QNF7y9?0QN30Z^C8J(1cA9bU9~HC2pQ znP;sqae=eOq@Eg9c-jqdm0zj_lR$=g(-a5=@)(1h;d;MK@$p*e{kzAy5T6D7l9p_=D3^eX!@D( z-Fuar-d`c!R@WvmEbUBuO2bm*($hmTkcc?qoAILNuab3L7{@^$0gr4C!+!Ko1KyOy za7&dG=Z^VQbxUnCutL9=m~s`%t0=FsADLgL_?jfmNuy5O|9G9HIC-gKg}856K~_Uz zo^Om_wT2+F3!ve!3hIQ*tnN$XK++`oJoWbpruaOuP%J%1V?(&?h zbY;!Do=P1Q^h`ozAg12>*xEuZRl~BT@Fkn=xV2w<@M8+JrG(l0&Tn?{WN3^WoI5Gs zjF5@)HSP7su-v}gHaYz*loeS58}uIZ`scL`J|y~WB2$+1ySvE=<2uXr3$fSd_a`xt z2VxZH$4%M2#-+OOd1o+6h9uMrOKoZR!N>Ke-6q(tm_kh{z5iBvRR0#{mmnOMtg{)s zrHa`8=|?XsRal1%)r9nog^$%RF2R-m~p3m6qHq)i(LZl|Q_H57Q|D!I)=7 zd+|ioNr7a4LM&7;VJ)t>cykQvpEV{Ge~CKA`x*kREE<5jvm$<)4nc6KN%8j1x!D>X z4QX8SY+07-nvFE?Zbw;iz*iP>Uuj+0W3VjmvP#^LTfjgs-m7wM>TazgOGA&ww#{`` zQE*!WGH9kxl3I{8VjeT)e$`3Q$aj>)vIAHB9OC=g;--MashDcVFB6_hBK#7XxpMEgj16xnj4K_h;X|-}s@=#FsDzTzB-d1@qdsC_K2-z3>nK7n>xj$66(@|aj z{P1%V#0U#j|3sCvu;B!Jn^fpFZ)Tx~mRyuf+pMr+EY4k!HRT`1*~!si$wz1QQDvdP zGB%W)zo4BW8nMggflXZ8HD=DcP_b&O#E&6KwfRTHahKVUb3ZQIr~5V8VqneVm!>`E zS;fK3qZcsU_;X3KGn$ZverZaIJ1zs&xMlkNNCZyfbtRqhJdawM5TZ*S|16ww;IIJIgj*ui(gjpENsf%0;0y zC#y9sC^E>ky+s0#@TWR|m&I1nd55a>YL`+X1FVcagQ#oI-b?Gc0?K%6bE@_`A05v; z+ffWjn`n?eerG!}mfK=pj=zZ*A{V5ty^k>0hO6EsO z>@`gDwB#+(WiP`^)}^oiW&)3hrSnR5T6SHh5L0D*s}mc=%#Yr)TAPfiEC>w*6=$7G z{&r8psXYx{T4-DKzB5^9zH;1dk_UND6K3Ub)Cr>XZ%w_rYh|gP&p#=9d=%IbMI94L z#e09K`bMpe-bFF6%=|Edj*tovH9{uQr@KM5q5qC{HW@&q zF4w(mLI(>sp(zH5;42cVZ>bS=m0566LHUx5YjeR$uYykKWGGqafV6RMXFldrFns3z zBO5BxlN|io_1jyLaRy^eWqjKA2Ttu0r<#@`rJ7Fs$$z35x06S0(ZD@3l;jATH|{A& zkh(XQrC?*y|9>={Wl&pPw1$Igf#MX`;!bh5Qrw|vaf%jqcXxM};u_qgxI4j};BGhH z+HG9Xu;@EhF={w5*en@*q&RdyK@p@52etr%9)r)EWo}HY0hHvE z^kulMh_;NAYidsrdz4U_0aRT`n=moZvKNGkk&)4Fhzo)1t^g>7XI`i zZEeVKd+E!`qx-COU_%m|L^rueK9`wE2chTU7&!x?Mo_E&IYeE`rA%3nj4+*yLEtnz zf5hyU%+j^$EU|sre&k^@AXqb3)&PO&B4j;he>WbCB`A*ei!Jh@XL${8Aal3hWvIDr zRtM5Kpb1gKsPcPYuz1H(mQIU{i{V;&6qgnkhxW(r$*?#`q}!psJ%~`P4MPs{?N{!9 z>>bF&OfcC$Yy#H$?+^eUee*FrLwQxz{2sX3M{(b~x<(2Nx26uyJ0u5QMiN5blGcnL@Ako7~c}vaq^3HlNcL zpU85$y29NVY0`bw+-L0WYliN=)UI3V|Iohw5zNV_iMAjUK!#47#yu=%T)C+b+&762 z56qqi1TPyLAJnq?u1+te0Pd11oj4j7jW`IiC^3jA!P?&O`DbV*J!2HgO>%^e z1G!m!*)f}CQ$x00r<#LzQ0p|L;+lNSX564_w##MFQUIqf2C@kqVxD_-Z>WKh{ET~H^R znd(X5ve~5kz5D)P|MPCzYDHzkLzcC%L#S!?TK61d9^FR&f^;9=9-q0;UKZex$Q-{ZW#?|%^I*R{698@B1 z>wuNqJo_{bj_YKH9ldQqRe}7Yyn0?lyC%qnfi(S`h7EyP6DL_64kdoBqTt$XZg)LUVQogbVsJ^PUA-NE1a!$$L7{J4GC?I-v0>>lb>dlu90mon!Li}Q;YP|$Pw}rn zWcJsE^D^8(2m-Zo;*r|E)?TLPYl)?h+JhUumo`dPvxsjMt*zDK)fjdL%ZW&YFLe#I zLK4@is9rjFKZnm3T2OM6pMSW6Rv%20kAK{gq%@zMUOBvU(4RN(K1(&imS;t#4QK9q zJjM^j<{d6GIhRM>97K$v9l^CW94P!2cR5h=D@mYfPBGV7d8@#ez~gFQ@$zbm?K~Z{ ziYWR0`WliuMbE(L;5?a_X3G18+I>f#tGO(HDHf@^nz++O-SH z=p_|LoT*uP1GXKoSVp>%=-z_{q+lb2-;tgg-bqkXGwmh6DGA>8h8A1W2fBiyt&+3p zsDG9%yq`+*EW0cqvpqN+TOgbqw4$lPj0nZ&0AobNnrnf?Ly6jDRAn?Fl+xYs0aN6ubfWc}{$Rz5vQTj>{2#3t

J7+r4msk2?S56=^sx^w;8nOJ1VLxU8iv=IjuiDA?(_b3xo2Gh%FpYs~1n%3UIAJrpPJIuuuJ7Y; zpPfk?l*#+zPD6Z!l9M@cqTQP4;tgiUgTAi1QTx8xkJF7E014pE;foXNlG#+{qF{oE zt>K)fRZtI>UtRgQzM4kT8-MkN+K=x&_wY*Ecm-b3%ghSee7`6~%5yrI+XcSJw+|Xu z{ie^{q@3a@E0SYO^|o0(V^vU?D(QoYKsoy+1M%+G^{;r#yQ)xqzYBmcQwVE*=W6D& zlUn^8FqgNRmh7KIehHMk1*U9qJI+Qgw(s)+5bYef&$X%HgqzpZ15?_+GWuw4m1s5P zhwW7Oy+JAc#40Kg1)O2PVva{1s91K1pN%Q2NtQjN_%gG~Kz{>4j$gpW*_r-4U*`5< zxvm~Q%pxRSZNpTY$N7?laXEh9|4{B1pDEYEiPh9-Py&(N{- zY1%{ao@1`i=$Z4jJP8|6d)&z-md7h{bFSWc0Da0>uRYPEEv{w0&-aw!z)^hOiylFG z`@jU~z%jh*<2AeSMo02L05Dy2; z2a{=0G#_iUG^+fxGVg{_GMdv0xOayU&A3>ne3fzqT68{mH#<0fUe?8eGA9};KPSI( z(^`Zk_o;5&yaBWglvuSnqHpFI`jllbA=>Nz(5%UC9?XG*A=A#ydw-WQUmWQM6> zK-K{r&YSmgNJ6FNAWdU(5H@2eE?x101?1!+r^HTIU6i!Qn>qeFEnQHWdI_W| z*YZPc#0!)i&Ynd70u zjXR|PC*m;kw?9ABRo1VC2zC+uZEk&HgG_G_^JpC*syg|Z&a{=M3&q@WjO*0jR(v zI0kTs4*Jx=5)UZ}b=@=8-Ryu=VsJ6moN|UJZh12mv;$VwGmO7!1~Pk9?Yzl3TRpaz z$A%V^Hk>)D0*+kfGx^UB=_V4jIiiE`8S$3YsbMq3%}D5=>tWS7SgFSks?|l;n~X9Q zSgw%|<10#od!EO|5jSasYY?m*2m6YHWVDUmf~arJT$|3vIrryilS~evE}N1Hf(Ld_ zwKc=^n=q!&Rd5?J5bA1cBqJ1uS$I*_6gONM+MxCO zrvIdrAXR!ApX zky-{ima1_#+kt#wSi7_s_XIp4&QQ{i*LDa|^jm=P$iQ(RzO~TQ2ot8d`bwR+^@~Z` z#Gue_@=>&OV9>z)W`}zN58#u#NDyhH_Gow~#C7^ac&5!ohJ`_%AuWVAuqOd_ztisT ziR1_LL6nfw#fuOka z$=O&^Os}HtykJI(B-7KICLioL}}K0))>pZ4R>URb$?Y0S4Bs9;zIV zyNPnxj6d)oD4L+zyX)tl!qBH@05L%DXY5%mM!v_IRj9Rd(a+peT2K$G1Qk#fh3OVU zf2O`9oMe%o(D@;BQ`Mkvz4`uzq3|5Xw{`6O#ee#9FU|{;+QXp8KLj?w3rLDI!^O|9 z?>Ues^^;`0cJkv+sUf=9=G{E12C;bR4r*9GQ8)dw(T+$oYT`j%0R(F~z{)*n_G) z#|!Eu=PufYT5bi{w$MVAC`+8fY~#QE9jUQ>SJ!}pKwp)|@)&SRCK~b-WB>X}An(Dq z7CxhqRAAL`&~ZquMqz0+PF8)Y+Mml5Vyc=deR*8Bxpp>Nl~ZX&ECZ|PdHrf}JV*kq zT=563uUJ(EOZuAlk2W+LZf||0Gvz`?8KFq@K4{nI&&cX5nS$Y9xUx9U}rt(v3r_fFf}Kq+!B))ZKEJokQvSa2KEA&nFm<6Wj3178LvICv@UwY z^A-L1pUd|I{BYX+@aTiG245Ap38?wZxD%H@t{*B%;t^S@y3J_4>wIvx1qGw$9bM%P zXC`W}XRZi%zP`1)VmTK9k6-NUTOy>_H!M!wY6-#q6e78Cl5qtMtM68xsrOEr0Y1MQQz5RTkvF8d>_$U zVJ)2wi|sG;A^d|`#}~1#inrgv< zq#&~HI0Rcylk87D)r|0&ht_&JU>$jxCj48NS|3liCf+R<$!Aj9%1?aobZ&vnw!Vyq zMr-~n>-#gUr-dtqUApd5yU|Br>&`kN+7a;MrAG(mG`dO8c5!8cjnG()$tn#Xvt~uD zj}MB>8sh4}tz@Be<-o{R{%OxXVsUDaWp6Q5K+jo@+mEQAMZ!`%T1khs^#XY2SR_FH z{x05^AI29GfqQM${1X@FzzcQlmo8{pYbt;d<#zxqQXH(MEhb%DV_6-eWuw-;R>J;0 zgyF=QAQ5eI>JjS(obt@DS3-=J5wX!%+*3OIjaqCi=Q=aX^H2L>{7`Rle5qcly(${$9N)wQoydUmaTYuK&GJ&>_2i7~Ki>XJ2@t zO{n|mV;oi+ODy_mzL0v>Q;d8{A#^x3bax~rZ;CqBdg*A2wKcuH)WaFR;g()`xZEZ5 z5i(GD#H9~!AtGT3&HZcmQ+c}X;e*{My(2SDx6jFDTo3dXN%|Mj0p^VNjn@BY^{&sv zIRa~GVwVyDT;yo=1nvN2>kQ!wIxU6d65?b{yv^X=3#b9hR5h?;x_o!N4Uvts9Wj*? zc%R?V)rruzrW2>OZmZw^>efrJ8~6x!Jme1}N-!K2NTF>?4tun2Z2PgZeHA&~vezEz zrd4De@E=|RlY8qs7tgt9Y_8OOTG`o`B$Lb0MYAd+^KN zC*)%1)Ki+SO#PuG0gbN4T2DXX>&p_*#&)mdoS3C+R^8r$ zFska#>~dixX$g8vx3Hu&|5x=1*50;~XpT;vSs?V^AP{<=o<=e@;3DUGP|gtQ%0Cny zx$cstDiE0kLE%9Y76|3#>PnG3;IxxL_+{K#q~)}k_NV4P$4?tpKgYGzj_5sFp3G8i zpD>3+EW4GdGJC;_#w#HV)G>lC-E}$?Sd#UME!roYUJ;B>a-FY2Gp>ILM-5ig z7rk|`o2Vv}gLneszSbqD?9K2 zh&f;c84+yEu)dSFG>(54rZDLD>Wpaa{QD0tybeVI4}d(D;rMlMvh(n^Jw(y(s=_!& zz`dR^Oiri)+7B7LFm=4?c~OPv5NPV5jij=ex{FvJbo5hitpy@s?dxm0SlH0eKvC3@ zRkyV?`$UF;X#aS*UEhtK!v8SJ4pb_n(#KSD-sixUjE77(Xy|3ek_i69HJrl5<#pch za^C8JqENqXha^jxP+AUeuWQ|PbaW)O2pP%VEz*hHi?!9}I2E$W4578Ay&pDOpd^@? zXFSsVAqzlG1jIvwP`)i}H+fhP6A(?aCPG6(=mXXvw}i0Q8cQ<3I$de)^iIROSweYl zzFgG`4D$&F>3a&28La5m-e@9@sI4ERbj%hLT^9!Hj7g#z9H%ivZ2Z5EA<%iQ+;BV? zs4#WJ=8VkDm3CLV!7Cy(gopKpHcbpTtW+aR27`V`m+iW%!G6GRKdi3`eisH zzWdDt_tOD46L%$t`6LEv3P`tR>1IlJ%HVa-01yXJIU3^bQoaYFuyoX3bK7;^;X=^% zPEUC**(&Ap5ip*t_ygL#@p~zok`D0s7q)IU-J&j(kHz~~>xg!g^KwN!V7lJ#YND zPb6?>knf%No8KT44w(C9r@^YOBn6Qs{0rbc;S0gxb$tq7fJsd{ zF`ryA_GT;*U3)!E(RnofARI~N4)%l7XVD8B)m(bz`D(RiicoFcOE&>RQv3j6oRkac z&tbr}ZLf1LQtx{E1&BaBCS$ujDprb57GyQ8MjtkeNkVrx|Z?e zS~Pz{7>CY|QNh#JXm?1p_rmavRK8=bGiZ;)4IbsL1J!8Y_ek$T>61akxBGB zlq-IT*7dS@On_kcDbz!Xs`C1g*>SWg%&^v4v zWa6p-L9{lf^LUB%kQquDmS&9Ki8Hz+YZ95Ipj1msWX<{wPKNG+9;K8R zvg9O}L5*-Dg&VrJg${m)xo@#?ilkSc{%m45rr+g#w^nqg9w&#()%J$V z308xCwLTyeXus1Is%z)_{xuv^x;^GPu{@VGUDt-q3K3(1U+J@UoI{aBcD6kK(`+5f zwnl|r+Cwv#I$iO4E)Gb| z;6zFv7so`Ix=?2q3DL{!!n}eH7`Pwdt9hvB<@(yrXr|G-8JAy>K{0oI(%|v;6u;Z| z@j+9!MSjl2VfHzzVCLutk(>E≀fE{%gSkeWUdK7VWx~498TH*isCd9fCpUVP&IR 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 z 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%0AoYldY8BGJdO;aY)O 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 z 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 literal 0 HcmV?d00001 diff --git a/fig/TEFN.png b/fig/TEFN.png new file mode 100644 index 0000000000000000000000000000000000000000..61d5aac76823364f345a8b5cb1bf9512dea2d5e4 GIT binary patch literal 476684 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
1g!|Q-wc609s#X|Ar9?cK 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

`vW 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 z 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

( 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

oY$&Ie&@P^%w<_0lQO)~m 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�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

3$E!JHLQKdCF$clJ7P7s#?7@j%RL1dmc;HkP^E2 zNgOg%RfUPG8~So~#pU-bWilKo(v<$?NP{3T;k)C?li!Em1E@7^!9F?vI+mq&-GS}W zVw-{3r&D?hJ%s-k%sw33!DuV}_t<~9k@YiTA+yimy38{W=Ll8ezSc5S`=-^*O!0(u zML!P76LNAWuLttNFyf>b%ECBpWV_BDOXMrZ~|i2%Q11< zXN|Uf*;j+#Xs>OeUnr>LO?Op4cW$AvF}sH7B*9p(pA!%dy1Ty|F!ZQx{t6?xA&uJZ=Nq-DjY`+7F4_@%SG2Glz49@ zQRU>w_wD0V`bsc7;wKs=pad6Q#ePb^qm!4Fos1<14U=UQU`$V4y!QN5S90h5v&Gmu zokW6tl{QA^lJ@t6tTwj34v3+ML(PWdDCN7A@;oM(o}cJFvsQT!^s^j1pRG!Ce%xUR zfUG*fIt`N z@Z@+*o89bh#0MVnVtI}v#v;8- zc-~?Ov!cSjQaH4Vn&j-1KV)lKwjz@On;w!Gu0UwKZ}#}h@{>VbIpFCP41{On`}Mv- zuW$0$`P{6@jXME${~JtIJC_i|q#ebgT-hFBH(41P|4{qdUV#BN8*c-TCT*z{&ZeiQ44B4SN_X?E% zTde%^O_`!Ic(iP!HHoZ7|DC(W=hxoUq<O47k zTXscqyvma~{hih%N-2V?qCbDAwVG44*1{Et3&d)`4lX89w-8iVSKrJpU?ZS9uk&b< z;GAg!Zvawr6tEe*3}gH~$D^4ubSv?byunK*qf&~L?ugtjJ`NT^6Zd)N`p42r+~%nqT|;f~hxs|;fy*LLh@%g08| zxA(3K>6^7+#h!}BETcxjp9TlgW$t-yN;h=rRNaWR+LGa};RWG}dwST0lhdqG%=nBb zo(~^2QF-Wo`-9Ge{M3wj^*;{8vk(5+Y*!&5JB;Uz=;Gj6hglZSInveoA}ht|O*S&$ z>jhH^2xN3z(`qcf=s+&52ZwkDJj7~AALzsMG3Jjxh_A65Q;s8CZ%&5y~?bJs_!cOGLKh-mrmmT;;qKJr$d9=dog!%O-;W? z^`5OqZ_=?330+oD+5Cz7rX*fDXzsLqq?5mKGkB(M7N~K8(mA|kd)Zy=@Fg-J*MN+S z6u{5r0F4ZSIF%k4y}O>+sBp#7=lRAv2$0RX432}Zrt)cR^O zF<$;Qul9vH+27t$cK6SoAEujao5z{MTWGp1-rhn5{Bedr{wo2%DRUnsDSN5bEP2IMWcaRb%2dZnQ4x zp&p}xO}6Xndkt;}&2(4ZR^zPS(yg9x7K`dE9^Vu!NBJLK)hWLE34HzarI+lNKkPKb zk4Rr=7GRtiACAHWO$CSdS&BsxN*9UEj5iw~wIcfKieXF-{1*HDfH*Mz;mm3Tp7W`f zu&Bu#mlk!TTlBfXTR}-V{Xpa@QWGe{_emRU)A=oi%<_Vu%inkS;u^I#i7u>~w7297 zhhu;_rLOr1GFBY5h*vu97zD+pe9YIX`=MWY0Y3gy{2>?P-%QwT09O1zM>S*X&(BpK z+ndH9CO|?0sfIo$8QwUMoHgB(TIi&(Z%0hjEse`x)N0(lJR0yvP0DebW>#<&@kga&%CJwQTP_{M{lZByYcN?s|I4Hj<~4*!_jeQK0$ty`LXj$x=e_Z<85nh=p^* z(nCHOKzjAjiraJCX(R8H4zTh*)*k3UF7zLQm04m{I$~?k;%j_@cal;)_S=D^Z`bTG zS>!XVAxGAqCqd@ZT&IYKt0PwXOFH#O@%R8Tx28 zF*U9<7a5+|g2-K95c~)-%|U0CPGc|lsGs{?+)9DHeQa+-v0(ynuEu_=7ZCILvT3al zncTcVln=5KGdH_P8|ER-s^|R5m`kY7&O&)&*b}!oywb6rde=>lg+Pk0hNADfmhf#U z49*$7EiBKM+)+8|Fyz)<`l-d#p$j9;l><~{>i3@vXkEwSE*(R4l1FE5H$=n^{CHug z%r~-CksV8i#&U&EUq;Z!&G2?pk(TnFK^u)tna;D_rCu({8)?dDO6IBQR4@gy`qhgq zkBu8r-g%d*m1PWkub*4$kGdxo`FfVcZsW(}HoAWf;5&^h_52*jt(uXpr0+MN{vmoie3Ng7*lWvsr>U>zpSk7z zKdL<=hc^$E9Qry0B>3uC{i^g~?~;*Cn?thaUC*i;z3{4&iQ+OUPN)|XX$j66G&E7? zhrt&rO_AkYVS{FUOof%=+JaNuMYSISWpPkUbZUMoD3I&RZRr|rdld(gE= ziNt{Bi^yRkR`0%Cf8tkC8gA(Mxy@telL?E%t%`v~w+4$N{sZr={cpD0NAq+_#l`Yt zi~HYrFJ5X6Mx8DHT1lG~X{Pfd^Woqvu`4QVIn@c|O7ZU8B!ovTd~;u0IXu&to}D>u z;?w{^4IP(>w?JbhcIe}tlkM_`WmIj_+~H*xIyA>b4P5P|lp*A%FAeUXEE0PXl#ZY< zYq6d6z?XT<{GtIjaxmUjyh-Iry~9R5x2Po1*$YE(5M4Q{bPf8_Z?bkIGHZKate?YX z&@}neUTELzCCvtBV^bAt8FW6mL$}LRfT0a`@2^8=;A9$Z|KISCv7K-w-AlY_t}(Q* zCJ7|P?g0_vdsMSYNl)@!sb?ZMbMTmCIauh%aTz#Rbl|Kizcdh72abg#&^u$^ zwvv;Ukb~$*Ab^}Z`wy`&9ti(_FA#M$Ur@OOQ~P`hMt`m4`?ldLJULp`c);HeDuTx^ z8`>O+qb#cJFt7jcNG-rYxQc6U++Az+)nH%=RC?+ugRq*BR_>;-6I@Je~M2QF5GlDrd>8 zImfPW`2DfQFaaj(>9@d(<*YxVs=h=woTa+y8Nq3!o^w$JX9(K3c5#c+${h;$sE7hj z=8kqfb@31Rb(!e$Hz<%XM_o;N1l4_(UH9J~Y;qa={O&>Wy$nCid2;lWU<5D5mnUk; z7w^(VWRGNdiGQwXR_qUjC!gqvn9<50rWMZV=CE6g;4z~xsQl;Vu za-P*RaPsSsi&lKra7!E1K*3gT^;7?;mv1U;SJdBkJ7lj_@YE+GmXnw!Yf<#o=^9a+O1_t52WC39Pt77#0@E z2vQ}0?$IZvl&n@$Meam~Ml(0CWh6}ELiDURz+_5yb$%#V#%G&8uM6;fviNv|T!mwF z-dV)LuE<%4C=g?iE?)64b$F>wIQx9X2Opy>EpinvOIN*WANeoPcZ)QHeKIBcaCd(< zpCg{+@|NOx@LT;qe1I=3knA#jbp+SGZ!~{Bm~}lfz`hDwHGK}GxFjdTbP>2l8%ypA zIs`S%GUE3{-LOp&KzVBz-iP`0E?Mh}7U1^%W^qQ%JPd*ZL z7f5qhfKp*`f=-Pwt`k_=e~wv9a-kVd1d0O%1JbN1JYQ?uGAXbILD&B8Hlr zkQsi@j*;Au1@H{I^!*1p{AU3U2`34eQn*(d(D#>%*QO*&ExLwRd(&^BkxRO{mi$lX zoy9<-1>=>%Hec;>7Vtv_S!5t;({~>POR(0?4~#zxpe$rJ*NJcs6cw-Kz#67R9=jg* zf}yi?6#?=FHWH}cyu=K-ufN8Du6&Y1uSPzN(fQ-ve)(Bgg6OxceK^H&Qn8MAUxo9G z<9IxH{c2b1bM4A;y%lWRvN;g*^e;l1@o&y@`^M%|*{ugdb<-W2t`rxL9@tM?p1!U^2 z@g0=)V%g$rzMuvBAho(4tU(Tr8oJwklINXeL6{b(GoM5oM*N8IXxL#V?I?90wCQdc zx0EBvaZh|_C-Bdd%vJF*>sgR2(15`h>RuO6=sP-)s(&e|HW-SC>|40-ib)ySR@IEPZxqBf~1 zGr!flX+2XmBDY6>VVIk*nxskI-(lKSR_D<=<9_h0r=W3MxQN4N72K0M|NbV|e0dlB zQYdTsd^c;x^0&P7#r3?5)yx3mT{tw1Gi{ihq{A7~~05d^3&haEEa@M_vj%Cc7Cr`X|}d~E-mU_pOf+%ifPx5Z3Q&238WVyduB&t@@f zH#=MflDU~<@xq;wq>zoEj@4Ld|NPW{5p$NaU5va+m7e1^FyF{RO?qshQ!v`LZb&( zyGsy^<=oYF7zsdJg*3$EhAhE_-)&b8F~nYx^{?#ANit6~2@VKEesV~Y@Mt0ilvi}s z2{g`iE%sn;-#F5JC}BSAK-^imKi6hMbx9Wu@>*B(YX3Tu(^&hBLxKIBw8U)BgXo_YizSvC~>t?D(t+^z6w8(`kHS>jHM~T zgBR?>p6dG^7Wt4^ymAL`Vio-gUn#=o%|pfChMra26+XszA_hP(m#Z##4N zW96w6Cw##$Vgg;l3+VAmO@`8p`q<)jO`nsidQN1>s|A_pIMB%}xrCW-MD)PQ&ufBB zW-t0bBd)s1jLzJzh}^rWX_bjbtb=oEG}R)(oo4T$e1hp9d-eSl3JGFUke1;w#SR9z z>b62~kU>zB>F}qq zJ+G##ef#+W7a||=XK!*h%0fnx!?Tc>Mc~meEVW0WFK;)9|N7@oqO?EP?Fy!{`sZ6= zPcz%@p0#~=E7=OWcF$^r`as2)8!`;Gp}-T*e_4Bhb({g4iIe_JH5Ld`Q*^mY;ox)Wx2h&>r7FEfC`X-DVIn-P8ACj zH7#tHh>$kupE)#N6wLkt(8V8>RXzdEl6H-M7uC;S^NU_4V0K`jd#0_$Y}*0a-nmKq z<#cllQBr0Fbc*j$sQW#BsJoyu#w4(!A@o30B@1Zzi`6?~=4v*NUjk7ZXd#4<#JWg3 zL5AR*I!;c0S;Qlf4;Nm7&HU!dQW5JioDFE`YoAkuf0xKCiiW0iiXmfo?wlmUT_dsW zYD(6ATU<+nfMn^rde%~c57(t09e2@jHBx2MR6lRWZ=fikM4Q%FqE4Z5>D7HHy6;#hoY~^5?eyFwr zA`lModvo^lgXjs*odZfOhSS{FgZSuUeo^19AE)xI7G5*z7PnLqu3-du2U-3 zm~DvqCjV=L_gb_o>_UvDbY>1(;1>Kib=2g`QEXl)XbYI% zyBMc$dKV8`$1V)|*yQ1XuPLwr)XO`o)g;$nT&@MPHHyw!YmZ zydI6T7I*<#joSQX04K)&A!VVBZRY?bi*;qriFi#x0U}S<)Q%^?m{U$(XmA$Wq^h>; z9h)1C1@oJ3Ge=%=&g|YtF%FVQHey4zb=9r!4s1%<3)vPc&W>jt1sf z+id2Ks=?Cq4D3dTiz{}l?dUAYtM1(pqI|zabr1h_bc&O<^Qkx-%Ei*o^5H|u;|os- zdWpt5gm?4YZXLehQu8iictNKln{`qX>v{-{lR(>!Zb&C3fg)cK@?9%y>4SMI;x_V1 zH9o!AyaBv>^WW9st26ck=k{mZL$=FDF~W9TP1^xs)F6YiuO8ZWBN89?a?2QVzdAY0 z(NMN<{D_lp^2N=$px;b>M>Q+r1ehQDg%Gv{=n%P`G>g=Z2PqgcNYz85Ec;_P(q|@h zcP{z?)6sd6&JkrPP4wv1XNrcvqg``Orsj9g18l3{2_8`yCI5r~hMU z2x+bFbf z8Y0y|ojPRVTCq?4DCy#UVBbsYT$*GVczrv&P_ z7u`d8!&z3gXa?7gAnn8{{UOGFtvgWTpt+%Uc3lK+;%M=pSrnI-y3cqCt7|8bhTnzu z4cz>TE!~&>jl?p;uBafJ(xz(uOT58($HNPX`_qp_$nujM5&E=cuC@W+AnwY1&fOnx z{4x26nk!i>ud=_Jc-HFn2;#2tcn_6@dr2=CH5o+QHFkIO@m4jA&MC?ru|8x)mQeI? zF?xV3$Q5Sz&B}WH2rW*o^i$QHfduNoZ63$gq}M_R_o9vRi7XhSD| zW;Ab4-AZYi=n+lq{7Ct2;d>S?x}vM+qjB*Dx;^JHr&^oTFrg(s!OHzN2AF8yEgO+) zw-)~DljyFf=N1j9{=TvOwxQek1-}Y2Y!^ytq8x7QH6U^DF=-*--INcvvP)BGVW$5h z=`*S@fhXB{SBLojaKZw^qUo6jU$t4(ya4W$#v{Mv-kZDkt$wW(n^uq}joy;kS%EXZ zx$t>DXZUpZs_%W~f@;)GQ6c%j_X&4nB3Kh_dUQBYAKWJ4n1T*fsmCqN6!x76TNdBd z=(g&-qeJ_=okBsZe7%ESH5>>D4@t7p50VVi(+n=Vrh#4C*BB@!y5Ro6N6&>O7S#rV zNUm$c?|33E`|h}j`{B=a5~Oy}jGrTKQo79{DT%9h#I=GxD8+vD$++O(oiCXUcAa{% z*ww%8e2LtJ&n+}xBvfx0^4y*$aiRC|Tuix}JS}NYZ6=+=c4=+RvU=letbb2)5_zgZ zl1Lo-G>5I1!Tz;^6Y`yDQxnoHN4bPDHiw+4>IYYVC#qxRc@C$g^Kea1a)}H2mL$?&a(&wstuA%gceXD{z$(}4|M`1=z>ce0|Drnfm8v|rpN#o0fbOgC zpDz9Xj~6ivt}*@m{Ptn@a7p&nX6JOb4>sZrlwFxzf5XRZHvBuR*x&>uf7 zT5Xv+9d3m2=5rj|%;orPd$Xuq(kD@%QrEU_FB_fT5>aP*v-=1#-vWjC&w(5APW^xf z-u2h~w?`%gxNceqg~L14D(Mef6y$vUq@U?~3}`$KUH$zi-;X=};>mL(Bo#S>xa4YM zgS_yP9@8-HlY<(?aa3N9qvrMxP0gQCa{Xp!z6`gL1ol3c;@n$mocd-=TCkyAwVcF^ z3n6hw=d(bZm)<{RJ96Kdr+gXLP;yU)>fQYn$^IVVNX+^Nd6k~1SDv{+FVb4fYNn`7 zq#J*=Tz^FR+toIo7-#LlY6tDe`HqPt0~OC?js!x-R>(wdn}zicgUxAB8(n6Z2w5t1 z?A`kdaKBGHr(CJ`X{@G?*y$D7kw%yJQm~U$JsNXDv$bOfdTJ*X^Ye zcBf)`1_sk3>vFFT^DnL6@WS9NA0!JMksi!}M1IwOP7FiroXQh>f@B|aDs)wHipTM~ z6crMvwwyFQ<8F&{?d^`fcVDk9z(Uq(?7R8( z>j@*f@2JH%ZBK;OEBv1Q(jChQ4-=oA+Scm*XcbY9c}p$eBi#`ky;ML@WodVIB1PSd z`gm53h><|JJ>ddffb8kufV-xdyO`6p$M-1)))r@qFJ^A!h&NiCft58l{V}82=?_A- zJ+EdqN~zCcub5kHe?OzV=z_w!CAy~kJ<8!SHB1J^1Wp76VI;2XtH15&3VeLW&U0ctkfVd2?^^I8-FL9& zSuMWCq{fVHCy!ppa)gsW9`kFiG@9~&UYKlrsgK<&wqKX${Z^wNmt{>39AHvfK48gF zm_GZM+c2IRC&aAK^XG*F`I7seYBIwLba3N5sbE@9)HNQ5-j z@U)QH7+$)0k?BRYN?FJr21K_R3-8_{_i%0shZ~#V&PUiNwJ7R;89ct&7dv6sWNJNjK5)8*+v)re2+w~}Ks z!?|V4XinF7F1pFMtv&*MDforx>o?C*`;+E~$7<3`wr$%(Cjall@jM4lD}X znF9hD?wR)+r>}I69mI}T2ju;zoM%5Gtxh$e#N9;MBhPSxFk zRm2-c!=m3aNGKotc{tU#d+cRpYr8dcEUi+9JJlZ#A%pD+v1?<#4Lb!-`g-|DTH9s0 zrAfl{y*hUsZ&%XE(5U+I@#qSVKkSjzEEg0QT689jOA3&6FXCocA2(RCFi4JKPx3lg z;^PzXEkfFUYrzvXLg}(ME6h8p33G_n3;5~9xxpHHITj;d?oNp(K(O6 z@HL^7-v#azMen_}x9ZhGZsH)>nAY9X_H!2Y}qsh#)IK|bg)o`WE5+2PqDwr$OIo#wfoI?vn7T{gN$ZDPsC zt7XMGL>D*eZ3Z))mnfMjRDS));Xm<6e`q{Dn)PI@p~j8SeDl48hC4sOUJ9?-+0d4Y zMlL4Kmc&PAT93*_$IAs?I;V~?(C-U3)~IaY#*h*6DW0j`V3dZ%%nAG>V*UjgL;PMV z_2rKu33HcTED5mjTFVt>$~sTsoYKsEgaBO3<}5|`Y5!| zbmxJA{BS~thTj28|DpqyCD)AXP&ky4i7V|3d*X2Iy85+8T3dmIQ-uOwSxHjxbMWW@#%Hl!<{VaZr(qB=eUwJ zahYQ>eFus8y68JjX6B@#&bZZd57n?G!i*Ym+-Lm0a}iewx(U(tCh-PW*^Hf>C8M3P zk|go0m4oN7Hw2-!Hw zZ$EaO%Y6^Ic2JE;Pmtv}TVKsLC=>4%JarwWWKM+E9On--nSbz~V*T(;Nn4^K#?EzH zKlW>f>%vG<3!ZM*qLDsfE3Kx6w|L%X_@IB-^EHKie%J?|7ob+eiGc@ zQSLCqQ=Ia6;TaQe5X40HP@rTZhs0I}bo0(z6+I)WCiyJWp2s`CAxDK7OItQVvE2@x zDDEoKPkc31e#cHjAEzyhgdu0GL%)oF^i<>$Z*ODtMd5Q9wX>nmIi)(e*Q)xmT8xsv zS#YDa>~HMlsM3)M2GR#8RU}YwKjz^&9=Db+`gT;2_k*NG7@LWb40g1TE;V-TLV&ZQYzmMBR;)IBI;cKV){6Dqi@+i{&aVE_q(; ze^?*Jk-QyM)`u}1>A$zTi;of|K12P{9{b>m9&h(pRFBm|lyc6_;XR6F5){RP?smNkuB-dsl_bbF#JxFhiSIK9I8%-sw{$la6#&q~z z42V^kLE5-L{=xD-3yaDikrqX*qA2}-21)IzPvAnaT}8L*hSF-?m1r9ByQ!x4hUXbO zGZ)r{AB>7Dvb&u&$G;97?YQ-fypldCuJ^e{r%WR*RNvjDC!br>{OI$s68O_@$In(n!Eh`K2T~toL$S zLU;4^$;_Vd2d#zGitiq7GUraynsXi=Y6_cne^vGWTgg=*)M@Eo*ymWSew{kek3ZWE z)Bc7rXOt|x$v>at)W$?D$ob4dh3WigH%`n>0e+42+rc<A?tF z{`gP!Iyfy=ZO4S4g|_qiA5L8ojsALh6!wduG%bWH+w7yPrsj_48_i%Ock-t$=#B(M znrxOe!kqef_#oTkM_)sCBNgx4t+A2iB9wDM!?)!zqP8gVHO;h`%leD##XAk+1Dn=a zj^|yF>rFevU0o}zhx^!XL&J%Ub=YV*1t<>bFTS*)WSjVwMKrAn(j;}I`5Y{6#>pZojPtXc28^Ull$TO!XX)FfS$l_B9> z3rFrW)Crt(1e&DUPl{SMZ;ekiqu&|I#56Q^f0y(T^S!V=jVLDGRIC2+(U?6l zzdF^j=EJtO%k(6lzNs#XQXRgpA%&&_!Urn`!d&mgxNG$ZovWjY(}=8tkcu*#523I} zyiV}{QvGy0e(@|)-s*oFK7L4_J@;P%PF;3S8VUQ*>s9Q^a%p_g8>U%F$32x1?$e;Pzd zOH9(Vn;wl#!KprEin6cA@q(wBGOn54_tpq8q>yyNdxSst7p&9h*N@fL%pfH6?kQ)lIq!O24)qVOGk%z!6xh6bFeb#oq zoN0exf>>YdzXaMLWLm zF;F$Q<)f*%M+=4nzyimN+%Sw)fM?&v>g9mBk-I2O#lo{r$Ob9}{F|<3X>WTT*7ux1 zTk`H($jz?qC(hBI&ApUBQqDE0d)zEMO-wAOs6zQlfYJ7pBu0Al)VYXR1R^GN;*TPY zzL!`W4&3|a{Xdg+*8NO$}bLaZM-gkH2qA1>42Y zuUayWvqHxMeDt~G2ce@tBzvE%cFtB zsFG!Q-K9ab<-K4SlSsbh#Mbx`z~=|M?uJrovSjlYjpK(4PU^QDk_{Sle|Z`()k*EH zj)rggt|bWBPtX7xO7={~fLp3W6goD4nibB#Usku9Irc`v#q823(}&SceHsB`{&mjq zw}1{P@*K^%>YtE^J1tjcK38Tl!sR)i^G3oT?btiNnDb_MZzwamlZ>!zSDLjR>vL;g z#<_{}l>;|0+(DFTQHx*_w7f;vK{!>#sGlk?Df&4v|9p}gLyZgN`^?ueim4=xoN#`6 z;^fa_zRuhHzm87dYP`X};Kul%6a)2S@7S)LwW{a8F;7qIO8|O=R55nk)xCp&h?ccD z!GB>MBe|#ly9?Fo6M*c2Tm3LdrZk9$X);#@-@n^nHCr8;#WqegQRP4u=eIWv8-jHS zS)x2!+e&bp)sN|GTKKaF0~_>{N_*P+7#pRPH7wNi2)7|dbakfj zyJ)unIx|y~u<^d2$rIDIOVeP)-Zr`}2;T-lLy#8-FH_c57oWrG>w&mW1ZQC$4qmcs zbR8U6qrq?i#SaWJ^Fu2xUa529bi&VIWURE@AwgsBotNh-PU^YVoMstx>tg0l-g3~8 z`SoxB3m_4Q`sC0C$@0GBK`F=>vrriM8AZ$Ld2Dt_R!G@jO1Y5tx};;fHIWH4Q_oDD zIP}h4+}RjxKykVipCBz%`X;TeepTG+HwC6Ke--xOd7t4$>(GABqieTiw6>B5n&V8t zoAs zQWn8Pgs@vk5km#F=sVfWT2&FEG)2&fbb4BwR$1ucV&Q$76C$S2u^6HIV|!Ur;s4J~ zW5+71fatC}K3$??Bg^U3ba%=x(Cu~$3oWpCb-D!~x>)!5;g(m@BA$Aswuw3>Q$hXW z7Y=JA7Oyqp8u@LKu!>QH*-|qG6oG|@*=Dh~dee@}`(;(`Af?Hj&?+=7Vi9+VXDEdq z99ErGMEanrt zPC6HZVreV9MPN}vS3g>e>LgXLwWj6R`6}7l-QaHzo`Bu7rTk?16R@0`h|1r*x`zxT zTOh_oZ;Twe0wM?ps?gFzqDNzGEbWV4f@ZYUhYGJ`(xg`da~b+M+-1@-b45G)%zn_%EIfq>bg|feZE8#Y1bkwWGbWqqyc3lAAAb zQLD8(f;liOz3!2TuQ~|gobg@K#<<&?0z|7cI%3?~;M^FLn)41OLUkQuGrK^ME{G^0 zZ@342o%yXm36_7AKR4|N6>}GH$DRO%LxtJ!pep)@>Fd4e(Mx>Sxy_LjVrzu`at4vz zq>nOaFf!as?!aKHtt`&kFa<6FVYL%Edigm8PV$J@<{SfDzaKF_H!@Y5%y0&8bjOXc z-kPFpes+cEPfG7|f03C_W~G8J6M=_Rj5+;TX|MM}Usn-{?w$_`64l6ehDtNm`zf$H zo*7B(boJIQmM{K5*Fdiq^!EfE^5+-b@4k}IrKzuoVvlNE4cQ)kgA9YGl>&CQW=Y+7 z+mxYCtj}Rnp~~c5jMuPvHET0wVBp+q5Hy|jxs(C_W_Yc-2W^OnmK>8ZRMyb&{b3nV z3hMg2__xopD|QN+y-Aho?FV<$>1&?3_>w}%lTq~~rVeuaG8XIH<6`2dxS0?j+(mEH zd?DP^yk7+7>bO}ecAd#IG<^Jo>8cyr_^WkfKw5X_fsa(4>=B zq@{P``ptNLw!|;}&yA|tZdpbUdh64(5UY+JQW0QxPrn_K_0&J*w4A-*-+cX6eCrVK zV&PIU`lqTS%YprIOQ0x=Jf8N>L)O*zIYQwO)hizLeD>|jm1>?(BEHQ0g-SH6FOg!) zS(rCn8ipN>DQK2_JIgI7)atKEa#rVb)hBW7CD0KCOI;cz>;i=c;wnR7;P@kcB@;{M zGJZ8Vq-3V^jK)T5)ukoQIu4AiHsu6)Y$0VqCA|DHXdB4`LJ=P`qzJXqr*^3gG>$kt z_qaN`zg&91*y_c_%j>~+v7V?>ZQL0wqSL^sL$DCR5FiAJ`(g9_?&z&wbsU2O=?9#4 zBr*Tiq?zj*cc_L&k4c?cs~@kX!sU=d`pC|?`6j02ePeYVZhM78v0lNu_rQKiim0yA zw^{<1RFrg{-U6+}ZpVcOO+n#v3k*LMSKbCyEuDp1bc!Gj#!roTsuQA_P=&<&wl2cL z0p-3papFB@zv_s!zC&x&AMzmifs6b^yVdjLWHB7iX~1xfVu_HyV`kd&$H#}!whe`p!sk2_i6J({44Jq@D^ z{o_F`7LC5uR=4l7A_HjZOmhQIwv2F;R35ehlQFt!kBZ=sFYBq8w%OMmN$#fy0jDr_ z^t4b)kso8{F;-9iIjXnKJ_(Q^34>v?&#{T5I>%j#rt9HsEEtN3^Q^aMpF5-eA{Jz* zJwimSPelPc@=7>6ORriqLWcG)k9NDNF$yTH#4$CAWya<~^#r(pd_M?kd z_(K-ii7Ttusp(cD!}TLhQXhlwD@N z9v)M?Mrx{V*4=s@mjLT2)tFP|_4OTP>e@kR2engg$m2%D@^9 zIzed*NqL7N5rO31ME@hDDwh8O|>ccuDdttOd92xCG@2mzO}toeSM=tIxXM5ZT!Q(SENy_A-f0XtSRq@_p7PKQSM z8(Cmc%5lYlo{GPwysi3CMn4Z}rAMO*0Cu#XCWw1Vzw2ihs@KEyR?|k3Ufg98u#?cB zJ07b4WiM$zxx5iha^GW%dgJe&2lVQ+2K6dsJ`!5UaQ|@LiPU-i3hHxdqR8 zy=fnRSa8+WRjum2d8;vjlkmqf>c!mwu`Z+gie0fO^k}FMu-&p5-ZWO64zzZg16SY5 zxa{s@z-3JrF8E(N++uwlGK3biM40^+jBVtoi6jw59Sd}#PgM=c`!!w<$to#-a+=kb zeptx6(k{WJOEzOhheJf7a$c?~R#jC?7~ds*cx9E6IL1y_m>owN-#GO){V9&kYI(t5KHny~n5XFK>NcK@DqMrI zBuL}^#T>`Cf%^wihEOc3yLH~@|0{4?4G7H{F(v0B0?YH5AT3WdEuBjmtvzr7RJZDV z_Q$Xx&FGE2hDzUie9PKyv{Z3`3qFu}VSu<=7s1u9FXdHW!X;b&)fYiaZ5V}mW<(Bw zLw1uZ2>FE~K^aGM+)J^MDQhUiZ-^LN9Q1g2mLahs-2rI6!TWDTSH~Q#o01@2 zPym-6hUVABIZfeuG{>6(BoBHtf|!iGw_B~=2^}sod9(LM^}O}N*oP=3F*V$rRh$n| zD%5_{ghB(#q;3;@%;3fC$i9qw?EMHG-}b=0a8;&9OZnZh$HXtlTKmpjksd-gc)Uc3 zoiLL9JA97Uw2Ti@EWc5Y-e{-!N;*bxbxLM;8JkOk^abIu8Ph_@+(g@tqsBXP5r1P= zrx8Tvk$3YLB;;Es6+j>J&r##h8T?e}YB|IJ)CR@2-X6B-gStJxYJU$P#ld{~nb$X_ zr6BSzCb>n2MtrDW`p@k#!ez!M9S%0#lYJ>>=wGdX1P>7-%TtE3NL5cah+$GOw9`@X z)L$!B9RQ%R5l#)%(zX9f zNiout>HOO%G&EX#8&V#FdSx(Tb=^F4Pl5!r&__I)(XmTHLcMM4KZi|rrR zM3QlYG$y<^ll^m8b8m${g4TSFm*WCetv`MZ3T{Px;*z2azn|4A+VOY4-;1 zvP%p7jWdV!aSMyGhHmPvl~r+}`;a@W^mnl$md#^xG9Ewp_$9tC(h-GFA7Nr_{+Aqk zN_-bbkgV)lWS_SkoZDr(Ge5hAX`zh#5CLxbS~uBR4k$-!Gpa7M<5; zNlU`<_#Wb0?~>6&cebda7kbcD{FP0@@ID?Jy}#kSD=cON!bnUNk!$m0GeugQXnYpa z-WVbiBbX(q=6N^|=xlqB?k|Hdp^!ndQtQ=?mhrrvJJ^s{=kU`ZG>p>xT}%`e4QB}8 z?1MXBXwc-ZW02uaYIYpr6R^Y`GWmzEd5^l(Sl06&-}-V*OyDG9MKJJerfdmQ6Qa2n zbx-d!8v3&Fk0?>#f<{(2F+HXxgK7M>i>*yv9PLX(cv||Me>eKS3b^e$O{W9M;`nh% zu^YymIV7W`gbt=SHtLrjsyrG}Hv`nZ!Na?~Yb6T|n#=Tf975y@;^UK(6Z3cPK7IU% zHAyf9-itgMCC>RkAsBI0<)W&A=W#BQS|1SSw)bY=XEF=X7jl&z%T)@)MBjrU1ai~` zPGi5v;Wb6%kSNTJ#&Bpc24O|oEhk9pRvleatUA=2&RstRttcb1J?^86{+Og^B;Vd6 z0ry1dFC%Qph1Pm~^qAZoo3v=O5!AeOIlK*ba3Bc;(B4#L@P+p<*XDw!mdzEWaX?u* zWkajmpDFXt zEf*Q~?C=os2)2C7$=d^#)|+@tZKI9%X0a3z4GxP}B0L)Xx$k9g9LASxcq{#Sp8Gdd zfBg}=gw7l;X}PkXU@H4z(s4!=0TuO!xkK!;R@?zBYl{DuESh(iWflVZSO!fV9dLv}G%UCQ} z3q6qMgAdeAkBhk@{e2PIMxp-Y^BZ<+zFD)5`RbnOQV_yrgOh@D@Vu_q9P^rg6vz%_7=8+t%dN(D8S%k4{256fA4fr=2M zAH>wyH`1l|BWpg8xziQ|;fzS1u__)LIK3P)89&lgy;}Fx*9h}uMw)&YW=34Pd39no zw8w4;Lgw2~Mpdv_pU$J6`cnnOhix6iKQIJ)1%^p7rpg2D*K3ZUSRL;?D|yFT@T-CwqlCT3&|g7BD-!&Gv5 z>ZlATBNO%zP3T}$F@ zHH!WKS>{l)Gu02x?<4e<+&_HAbR32R7r{-B%=GatyzOrDyG`M?!OzdnH;8KjMNry} zj+6-rE7x9NjzaedWqWocj6u0DaiPUyY<}Liwc!ysN8)s(aF|i=1Cils-imY6biEx3 z5fKrn)seL^23B-0Z^MNx`i|$s>>a|g6+N`sjHW)_2oP8_{_o8!vx--lXCiCNUw)y0 z5lImQc`Z|$Mr6u?qYjudfmygNxmOByd3b}r@+KM8wC=QICUgSI76)MIL%sCyh zOhUeHLLSvTTfNmqikKa@BzxLg8%Xna_ji`k`PFC2okyX-QP;)%E=MLPE2ojZBB(WT@D`9uB{;Ha*v z5bJh8bphDA{z*Z*+0`o9?C;;dS707@-_Q`|?G2Ris2N&C;2%4rDKk(_AWJBkJe@t} zBNSg_juWObK)1a!v#0->+n174!kn5xhiE)WE1WSU>GLaN?IT?{t>h#Cwf9fFR?r4O zzpa(pnG+vBE*)Zax^9!WJuezP4+T^UpJ;E=dZ7eH$U}vi#+P=x+5IH31kwMhvRO8q*3~;z;od0~l(7Si?(K0j>4HeY8W^Sikyawa97=VzY zrKcy0@XPyhLb1;?-J8{QpS8tbH<{XeRAb0eGd{aYc!J=c#)C8fUKmKbo#b7*Pe)^3 zkH#4GK1UIe>`7to>Bb_n>BX|z*T|C5&|uc!)@Ce*BP7|{_;Y9Z3e|bUlFJv^6Kdvc z42n?uNKfXwa9t@w4(&Ng$@R5 zD#ptb56Hoy%$9g%{4$6OPy!>U3kr=Ls#gIIzv?)uZ37Cq^P#6;Cd6}#sDgsp)kby5 zli}T3@WvZm?I&UyazqF+9*epUvN39EXr$a}zds>>vlLvc)!xgO6a_}+?a%vd;O--XJ|s3c$D zHk)2D0yW{&#;dS2VpwccoNudd_tPSu-ru}rUrBx zV--%sjag#~vqmL}Nm6%4%EI5s4xi@J{WkVdr4o@vMmMXBZz zZ`xol>@nXp0MJ*U^vylZ1E0J98>r(i4Co|o?{v!|U|mUL5hq}F~R{9=5S_mPs6 zPM7#o$vI3;j<_cY1dyt$)zfDY(Hu7Ssx{H0g{)iU76ap44fjf(;;C`%1J5*OXHWhL z&)+T8?<#sZ5id6L;a1;5mmYqhej}*W%N;5E8}SAG&cuTL>@$8DJEg%;s4E!`r)xKf zM1YDWq~}O#?Gj$|?)4WtH~&eE8y&5U_W)fTnv&~2_2=REbcD&71;NHZW%JYMwV4w- z=)Jdd=fW91xAY??_w*srn5@qvDo(STx}S#n=)76oa~2N4?=9F(`AB}_;22zA2cMaP zIP8_S{7hI=BM!2p{`eo5nbl<`9dgQ`#Y`O+x+vvI+6-R_Ybz*tI$Pa}{d6HQXyxL? zC1qMN>cbRquk}eY{Px~dHYd&-^sH)at-6)MEWYahI$C~-e4(c=R9Cv6vbEEHY^0+@ zRP%1Y^l0&iK^#9A_pDQEsg_x~MDPeQ>kW)n?TT~W%`C~K`Z8<=C3*|R=Zt*fzhnhO zN`G+#D=qD?+ZVR&Z#*@Kxe4QGe^k%gvg9WoUO7i#>}zbOO5`Q9VoLzR()fGnp}VgU z?w#yFU$<4w+No!iE-|6;?t)Diu+o$aaaUXV@ojr2GN)EtwjHBF@2jIOOwsk?lJcKx zC$9XPBQg{lQ|%9KqKER2V$6?AzTFHCLm9$P;DcD>p-^aIdb*OLqGGbyzYj(6$OnAn zCzaaFpTB%rIrkPM8yg-L17V|;mDPQ#AaHi8+d$;9Dl-IXk(eRA7v8ol?I=&-J^VgE z-^>b38Z=}Ac?-}H(BPJlpDr_W$7d+bZ-141hqi;o46d>AcP^mo(1GM?tcezYko9hB zuM>D24;GgpJgO zG&~Tlrg*Yr@$qQLd={ydNta%!8>SN!|GLbrk_L3jX{+LL!ZwRNon>^4oVMM(+~#K%Y)^;1u^^>)mZ!Ya<49?EkHUWnd|cj9bG zb5g6xG|Tlbv9UW{R=>O834gF}uMz1;&Nm$V9cyeHoW$vJ=BqP_uUqPjNc0JrK@CL! z{fdUk<>z+)@zUZCpRfEbv>O{62610`9mtPdGx0rL_dXOz3x1Ft8bBATB<&rc(25|nUoH$5h($%F4^<6ct6@+}tQb!N_Ld;35r|66<||YwJGAjhCac`kPO!)P@Ub z$lo_6JVpg>tK-P_36Pmo9z77>9#$}bpoQvrjl}DpRW6Yr9<&em2++je9s(oC@m|Fb zAwk{@>auTn^yn1^xKK@Q5~Kvkwj*42vr!*cGLe9fPhp0b zV!I|27Q53HHOOKm-&UkrQl-8)2#KhBBKL+#PCfMlueGO_ zA@kfgv#lf?)&~+kNQc9qvT?mY*7*s&>TaMku;ddP zNsn3T%a<>6RepNt)!RN&L*o+@Zv30OB^8^oyo+Lmg4c$-F%&-J9}?N}O%{+Ei!a}R zN{YUw+RKT?;HbFwyv;fWD{I$YCq?O@0XK~11@tIiulfHS8p<<)&@d-{`~HYFp}-PF z8Y8#9^;55|LZR8suD4>|KMNN#AFP%Ce<13)e_mZm9my z3kZNdpF={YXda7R@00Bc-2})g+HM%93_J|}ZBYEz{*3rJNX_2wQ*!9h$OJxjcX#_Q zCj3XzG{Py69!Du5ju+3I6vq~LeeYjfQqtGg$B)qhYE>xX(mD8%)Ml(mY8!?BK}$%WwkR<9 zUi6rT^UF$0>x5p^<&Rj)Qhbc%7fJfP`sS|fqU_J@U++=pS5CTiSAPEG#P-J5{uC`F z-a3fKS@bm@g4Mc;SW5D~m*10s_Hj}g6NYul_%d7Sm@whLzh2Gd**3jVUc`v zMgS~JnKnu~#Hxev)z-qmV-;!ldj-O~F!UIsxq$P&#&JO zO8ZofR+KfTMcI*n$#q4IPZayCAhp^gmR8oNUuq5F_lhpP>F+Lg!bjaNF=aVw);ptr zDf2ug`Q$rQ|EgqmM)D_r6f_Zd#(%vXn^3kkVT=XTTX=JA7E{&n^g5R`u@*ESYOIDT z(^AsGmKz~RZTC_5dh|t~Uu_=`DVaprz#X^D84Xn|Y4U+>cH7*xF?P*!yX21a>0U(&0m!?YEMN9bhu( zp+9HaGw{P$(Twb~@w@of(OAW9(|>bk*D+)(v zm@9KP_W0zayLW)OIkk?C&c9MBV7UR@nYQF2M#LbU-rg@fXy zH;!XtF#*oJA^uIFLuFR`#SS)3-^b{$O7VX;l)s-EjR!gSpg(GBABKJ-h~-ZF?2Pg* z=r+$;6?ee!(6&D2BZF*X+L-NLy4#LSlSD*}Vf6i$-OQjc?9TemNyu^g98nSN={5#t z)6-UR;{GTGot96+Orkw@4W9yT_$|+~9p_d$6FvuLmo@BN9@+fx+xEW8$h9$;0dvoo z`o>pC%am1Yb!l~S>0X`9qY}AplD>(EvG((YQ`JaIN}XgkzD{z>L%$8UI23IA?hT{3 z+Dj`fuuHAoQKVz}EI!i@$663fpA$*ty%3!lwW{^HBE+XXD$7uKA>M z?Pp3BAJ?M-xm2zJ<-zNF?4r-K3q*EHL(mW;rNOPVQ{}OOKK_c+2ehzP6ZaY67Eg@_ zRnAEmWEME>aVg8nob# z6{=j$PQyWxn011A7d^Y;HLf-PeDM&=@FRnCsJlMV;D_y0+sQ~uQJEc!h4#a4(vK~E z#aQSRjlLyu(85dZ+%REWjl)6-lRcb5`aooLIOPIK>u(6+*U5t~913Xt9f@mv_(G1r zUN5dq0#OW~!J&01IjDEBlr93s7uN+4bxgyecmH0>uV1pZ3(a^qw2H@O769A8hrtKt zL5nLYEc6xg$dpk8b6`qDq^6uPV&*x^T?%I2rM- zeMui#i7c|RD5aM}Xe&6s4Wm>nGA}z9YXRinwUoso_baess#V&1E8Hx?Aj5>^2$1C5 zQ#dgdFwf`~x)MQ9C{F8k6pe?1jlG32jGp3&^Qu=_%r#RnQv6}}%7*vbvgMoJ8`c}zOw`(4GL;ctrB~XMd;=;GkL;M9E+0zrydO-1Xq_bwiQJ;qydMf*P`FAmA@sdki2wv}b|%v) zOSs8L|0Cy0Q;%PDwhK0uR{hPkw^UWg4ELNLhv}Z8^#`9iT|$SC*(H0LjN;QV=m0_8 z;(8mkO@Brv1Tn#WmFXe+o)D3wUz=-s;kL;`7TGkvtaKbhJOR1yel%NN<>_9;Rxe51 zmQ&@gVb8gpHRF8I^Y!D*u9Xg;Z9P7LQuvVJP*B9D3wo^n?Pt6E*V4*O-(ZP1QxuNv zoHKHy-X#AUe8_s>laa-Shljtr^l8D01MluU`}2+yMEBujg6f1d=aPgdpM8N!Ir5XT?=6fC8InTQN#m3!W|NMW@(IIVYnyZZ zq{>ZTcO?AdraS(Hpi@;Nt|*TSB4(NQJUij{yFDqI!ra|;Y)GI~MF=xb_Rg9UKP6U_ z&|w49PteO(JTFptFJima|8T3I8n<~=Trxk8H=FtQ{&lf{CUn$ z{6vc_utra{_QuP609M>zKg5ofW15SNkA0ZDN$AwaNVtdQIDJs`)+Q@blS&TzXD2Eq*q`6tlck)pgtnQh4e!3q*u7qB5^s0bRw0HjzmtE;FIvg zz6isw4j=c5EreOoz_}LJsQ-I2n5c~)M@LDoW+fO;CxuX=XuKj!3KIVUpFO>B9p6N+ z_|s>Hd7}heQ%Nj7!iPW@qvaDg=uy$;+*TyQOK?;$i&8K8$Y_3XtYyO6~x_2oO4yQn(IMUX_Zm5~+&f|N%P!j6G z1uIaBy%2HvcnkVfK7&^~6^m#Gm$2D$$yLpNp-(h-HIFPwb=GcAJh`Xg=}Q&{n|-O> z6(BTZ_HcL25)NYxb@%qZ!h{e8VeJI?6rQ+`5Dax%a3EIZ3?@kZri@mHKy2|*YbSOg zTH{Vaffly|jv1J5w30t}ZMY)V7b*Y6f7pA*I*@XicbqAm+j(`eriTVYrw}0pk0Ixn zf->~%%{bi0Gug%R;WHT@mwx~O_|l!+>Q{fD*gysTPEAa{MPpQDWXkEr9vj7HeB|_-$rZhW=A6%OBJ&!w)s+>3EE6hFvY;HFjI+81MTTux? zRiOxaTzl_ZXyuef&VB@q?6*_ztp44~&~fS%wDV;?jNK@CNqW2>*6&>?=cH{SCS405 z5}*;O+FQ+M8kwKPk|!uT$sc?+pzzEO-z&TJ1le{y=MsMgfH*sa%j&suy1<6ppGK#( zN-$Rb*M_sGrZo8cDXK_f|GBY$t?LuKfN+=q)AY{(mL2;Q(X5@zWMH;9r7NN>3vqJ} z?LT^sGv)Jt4yFtGfXcz(bv>g{S#l&u(d-RHihNvswe<0Gx$a0MO*lst2}2G2#a-Ox z&iyeVCN6xBdpB$JKfU2#Is7wz2A~BJ>KrTH_MaSL8Ogv5N()0_C@3iG_VbPSpi!<- zfUvW(GyR+Sk{)54lLdLE`iiJ%0OT6b}Skwzt zf|sv}!nrh_+)(#Xei_ab9`(_f@D0-;U+k-m_!ZBg1;86WIg*_$&R?vT>*~ zsf_S)POl=7ZdH?s2Ar>Q#jY^5k*mjBPJV!+bCZ5Gu@W&UQlV=ISYhg%{$# zJjFCABDL~h>1@J0Lh>XJW6JE!O0KU5V_=MN@dyz7%J4O7o}zmrXg6^U)3~J!JoWVp z@51SN0tx(`^U54;aF>TO-U}6We_!CbK9zEEPB9V0bV!AOgdquZJ%V-U;U>qTuv1ZC zuwm}5oD?&Jh=6*-5IXNZXLkk8DN1}KAg%<9_aGyO48ARhn>4}k-zpr>b-uz)nhLSm znh0j@dcnd0FTt7XbRH?G&%+1zysATH;`wt=WrB$Gh~Eh{?YK?vZL+`D)Y|yL^}pcY zA)O(Tk0B+DR-18>jZ3^P(*2KdbPw3_n1Q@LpVO-3njeLTKg+%{0ZIuvmR%F#f3yH_ zrKL^0Q)HdHOM_fZY?_ok?c{_Jx*<>N!Y};rFKHs8yJ}zy(Mxd}TzZpaZJ_nINQ|% zp(cdXXL7Gco?RYQ{VEEQT*er4lYw#xnI|}dBdAh`d3a)6oQQ&CyIObR&6UHO`sdf& zn;m!_A3y|v32=yQRzEVzV+{}xT|v^7x7_{!Npd_Mlcv~T{BZkt6Z&p)usb#9)wB@SE>vW)__vObE}uwxD^j#Xdc9 z&N*w*!sh-f9r-gC-at1ZG(6%pc5Y~!CTfz)YDOpJ72gywc-G7!G|$j)ypM%2-Mnb1 za;PYuBMsp;CtI`J$pnvqx|;BB_RY`G(H9F-{cm;(PcG&hJif7h2G7tpeiS40N#ufk zgl<{*h^3^21cEJ(-X0V7DC&7M+|2?OT!$9YRdIp`HQ($U&Zq`rHyna}^vTF1Kg1e$ zt3)mBDA(W-bmd9xyZb~NXw1q}C5X``Qc_XDS5;LZKYO+lybE^h$9jIpWw9)U7q7#A z29%*r9vcCT3Q*XD0#M^k=5kOsWeTRJeeClUJPjS&0rCdC-Mu|PJR*mQuZ-Qhg{y!0 z5Xx|>+H_*Tr{qR|`;aNyewhxOsR_U{<9lbz`mBG*s5=Yb1%Jot19yz&6!~PN*mGP{ zJ;=ogWPQZmNb6?x|BVFV)UliMJr17>TkW#Nkm_gxw%&fW_I+qE_>8VdxDe{@p&03x zjEsy~6V{y#E+}vRXJ<{>@{oWRAj(isQM1(<6M(B3r;`IUd}oTMbcIivpHw7medcM2 z-#ri@m{I`f+OCy;9!GJd9o(YnYWD|vCZ6NzI!>-(T5tJl5*dL;{B-c}z*y-(MGAgsr$kE4kfptIl$Z;R`!rSitD$M&F z{csdWCr{=?3)$#TUIUG7&s-jZq-F#Z$n#Y?QfPKw-V<;b1+ju4`d_ZrinB};wM;WQ zH1vtNxw#m9UYFdX;T+AD$}(q+@D5vex;6g}9e~!xHc&M2Fcj?>1mxj|)!|ph2ojDO zw6%*T74X=W7^A>8HaAUwe`ZjE_egFAJkJTp)!v@{*a(2#8VQ~L;Vi1CaH!uO&X(YF z-NtHrxUsprY==p`dsi^DyNw(~jb`PNw7lPb1P8(OZ-aywEh2{FJ!!0t`w$Z=E!9L^ zIu_oKBh@G%6?%`CA)(wEXQ4x#N0WP|2nWe3ZbTyrK@5DBGgb14TD9KUwkoZ(FJFSh ziwRJ78h(Q!KY{oC+eg=Ux#)ARM+ofIJ|u4X`6`lT2_BttT40aqGgqMf{nrDL1tX_5 zvdhacLXa?}wY9ag`T++4A`G7T^x@Su82M54!GvBaVqq}DU4zGw;iKC`4C&lUk)iOz zrSLrt8WK1<5sD8(B`}?-wkV5RsCkbWjzJa$QtT_B*YL5NFc}`$@AQZ&fe+K}DN!!j zi*>|KQ;Wb)KDyLti;<7pzdPB{Hsh04hpf%^m=GDhierEvxmQ5g7N5zLyH1t18?m`m z8mzhDqURbqvu^FLJ?ARzn2PoXV$S!2XJ#6Y3r_O5;AY?kp>bp(1Mg7(>jn$8%QV-) zVog_?;KDx^ydhiV2J51tSo=-Ac%l6>08rMQptptz&$l0OIzS%;%y@N7Ac@uB@g^vl znb97L2-cnXfdJ(gJYz2*Eweh^6Hr6)(~@g7jKJ{N%I*N%!RRKd#3E{PkO#k7^F=^5 zsS9dowsXavZ(Tcz)yNxB%^CNIDD+78S&o-)gRdO%YpT1ioC7q#KHgnrt$;YT=48wL zpo-)OgwsZ(XZzkUX^NzeJnuScZr2N&*PFi_S{Nb9K^ zinD5iL5I}RHL-I3lo=t(qJtfcu;bnezatD|hjb`p%hQn*b4Y1yF2aORR+9NiaED(c z-8y{9!qenvn<)XbF0qbR#)Owsf27(ug_a-uRu8)i@mP>oQ^839p5R+m&E=+eM_DA`U({-vx%ae7$QcQ=n z!5)0(-KGq{X=Dgx)~SAiO2B$%Mdov{-xL8JMljmZ!z-hTwPZWS3nM48tdHy|DYVj! zDV@S066`()Rz(ACg7`BN9|MQG{F|xb%!)-I9Rr;6%pxE$`>x*~cJIM#(2R?U&)l)v6TL$Sp$vV( z@o1zHfXoJwgm#jYq9Pgq{U*g6= zDwTK{=bB^?KJ>JXzL<+E{D~lypfCz&@1<02u*mkuj$boI!AiH$b6h<7j6bJM81+S{ z;ZVNj4crcs*!^M~d)clYfAOzWzppV@%YP7zUbV&c52XtdbnMQ`IINv42{C05vxG_hT0Tj5)7m`e1N~)ux#2`o zaGCgmHKr%#!Sv2?GCa8X!l3p5b%Ei|sHisFUaE0Po3|is(wskjSam3y>I+g$~bXiu+2IX-X81c^QJUp&}Et{j!l9WwI@y2Wm&y8+(*1G z@+PSH=0au2FGn?^h9-jDU-1>KeiD2F`!Ujt?2%e7H|6^Pt8cw=zoL5nJoCe*wSz4Y zhbaa>;y!C*QizzAgVgJ<qN4)Q_rAcf?aiGW8>CI zBw_~z>H)TJyy%`Qz0WYutivwf|vpEhK(kDSc~|GmcWb!VXpBn`F4 z2u6mG@lfF8#U75YSA9{7&iSfG_6sUIzd=l0p&g&*+{xEq_`Xf}2ftsz0fsn;Nha(8 zwYVzlDewmP89yk?^g>}58+#`wgHgS6j9(Z7C$1tUta~193B;ZiW^dlSc@#?lk@-z+ z((0k~+B%^LgtuIsO#-3FQ=%!)B!mDf@e zKJa-fN2f>htLf`3mD};@lh*IEb!I18&%Y8um?7$fnWVY~kV4nK4ZL4o)x}&I$VmIp zA3^Op)0Rsmj`f8seq`pPawZ*IBt(L4oKH)0>U&%&PXua9yt=WGJx%yUeCHKMpKJ{J zQFZe(O1t+S%^!W5@qOadb4m;Rw2ZbgzUM<;PzrxkrI&p7j@JAY5eRpM;uu(2!{zgL ztLSR~Y1$C!QPKJr9ek@vUTA(uFVpOy2AeI zb?B6Rq|EmoSm83vLB?xs3J38?0KKbG8+m}yH%z)Mk;XgVcc1jQZnl|o5j%}3@tT0M z-w+Cx*mQ5Q4A}9B6${TdbfB0KcXQ(|P)?7^^uKu~o{a?@&p;}-CpbHVc$%FA(jOJV z;BaRLm_Bn-7C14#e-2E`I^F35_xOHwM!YbXY=s+@QOHq4ot;2%q$ue0uU5;m2~i4<`!1tmUwUE?eYAv*cK5TKdWSbVNJ7^_w2 zVRd!%=6MxX?ob3Ax-`jyP+4zhB6m^o!PP_=YX&s4aN_E;mRQG1twn&TzW?8GIF6^|@jUXr@9R3R^L(vqd3S$6wMwL*M2Vvn1_uWi zRQ?te5~Vi~P5YeKNSq%p#B^WOqM_#6fC3s9Y$niTM7XRELl^YjPRNzAwRFX4M1#?H z(-S2Fz$|*@Vhe};xo4i+*yj7Y3@AqFD}-gzVuYyUjQ+5*MN)&Dpkfi0A(EGM9@#y}la9(PXl($ap{O!Z|6D3qvj;R!rX{DKgb5QQ|OxP3c*uk22wRq$C4BoL#e7`*C04<%&c1Jyn#oCw*<*Ae?8u|i!|V9cFBm_ot(Kp=etE0wwn=0&OBbTx~WRDzVkCN<9K9E zI`(BYHRDJabwD6lv@@7vVaB&&VQD&<`85~402fqWVECms2Y)1#qtRBtClG%4@L|k1 zbLND{+S-3>=>PXZ4~uxOjXFz-T#fr?zntubTm7+c!Li03#Q0UT=bBvcpgXQJhSYy_ ziEiTLuw{ii7(^Lzt{YX^G689T8}}`6!nTfNeWb`v;Iss|UyCizgcL*?=XY~8*VHcGZbAX(8#M3b_tT_IPG_LuKGv6qcElF|5zT?r z!&czbZ82WQ6n3Ex!Nn6EY98Z;`rXPLZw?L)Q#cxECEV>7yop<9VI*t;+p4z_JFL#b z3@A{B5ep);#3`yi9M`V>IeX0_`^tZ8zU`TGa^TdMCqEziL;sv5;s5tR;Qh`lk*JO;(Pt)Z<)`9rD6Y3Ek7Sa3SPS2eg8MfH+>MwvzGNt;S*A#Va#tcpvW3W4p7*=k%i1bVy znbte9hkOz_a$0g0Nz2v1tN!>SOj*NU)R(ll@*|;2$gL(SoYZOBb8arK7Jy>y=i3O1 z%n+~wM*c?Sdkrwu4Gy1EX&eY&D>2}EaB+Tyfr27w?0rDR?7gq<`v$3qSS!RNtcIV{ z)0-F0;G62|>OO_RF-;2|%*M82I5rHJxM!N|yR*CjS156XIlD`F3h84*P0q}A_6lVg zCDaEB54wj)kk#*SHhSCO4i^E>qXAZ2ijLh+1-CNv%w$d zZuP@JQR9;nkg+fYi&$_{d~8Mj6w2?=#N2wbF5JFQYi6DnqZ@sAa2CM!oR6}U_7*3z z8E$(B9xD17 zWne8k-qm~@*{OR?e!ht*WRo~nH<0!*{T`xsh%udAlCWj>74 z+enlKYn9j8!3f#O?(+F;bAYm~FG7J9qwmJ8_V+x!1@efXNQOIX@Bytx3fl*BHP5vF zw}X4?QS@J4+_>5PP1Z1f;Xl(>hwUCLEavmNchKdC-Z7v1-MoA3 z^HM6$a$6Yg`+;ts zo>bhB*24)eFw<$I?{T%B)Qs5leKYr(m7w~m)_*f8A!w7Tx~2fURzWl!F6P_xBbvN8o8&sPc#Rzm0Q91)a;-fjbns=(UUA*r93B%a);UrR-r2t zVO|lx6NTod<@f&UyfOWSft;KikPfWE+BL4C2@t6VC|s3wcVB*r4a>G)6hOhu zaM9!xIT90-W}2=mZ6hjFtHl<+4*3gg>{s3Gm(YROtAqZl4+$k+9^u1$62|-T5xS&G zvR=#JNpzKzbi@mttOeLggloq!)6ZMCALKji$O}0i^r$Mjy&YR>%QalDnw-%Ju*i)xbmH8 z{B6%%OH}LP=-D%z(i1KLTX(jO?K_;aMIw~ch1lJX=#&wEinH|xsxb`C74XwQw1MIljIdk zv9?_RujV4c=<`3-=vDXqUpvO2JdgIp=SiQF&Eusc zI|)8xi1^v6UFS3KJv-pFy?*oNCD7R8p@7i*(!IXHy@hA;zQnjh!Qu8^#!&(pqL&Rat=VogDcdDZs#gX7cXxB^!uLUN*=&Vm5e zOP97P&w0A%6JsCJrci|+h!ff$zp3q6A5UiVIp$^Q*b}N=fGz#s0F|#{(1OSZoKs*GB>)Cx3A(h!|^9 z;M!%`yGO_3?9>GIi)vI5PVcwyNAJ|Ln7BQ`S>KwQrgvdQlq4!;;ED>}>k_%gw33{B z&s*Dg1rj$pB{jq2g2a9$tm=DD-?ZPA$gAMcvQidt{OX;m+sSrIh$7(R9xS>s3+cG4 zBKC~YmXY6>4)gibiYNU%5v}!3tCHygG35?n5n0Tgdmm2iH1H2YC zKQ}LLdt2CLhpi7sL|TCT>3ueCWEOnCEp;bv$P&Esg!$S9ug0wJ!%4Y28*s^V>HGVh zmRkT&wZW7-F?z6V3R4GCC!ojKg%QR5gX13H!0&`@=s#<71LBk7efT6*vhYXf7fZgp z%0j=ac}fbKAX-}9riYQ-eHJeG-KC+A9?Fl^$f9JFU*Kqz{dJuPUtR1{c%DB5SHeH< z8)-G?XH%LMkIqNR#Mej$hY6diX44XProH}0H|JO`jzd`TEiF4^Sedtx3r?YSsp;y5 zzIj85NQvIRe_vp`4IM=gFwij9t$4u|pxA0h;^H9Kzq<1Hh0<~3c65uS-I-r&^2jq* zl`(HI^ZS8e0&e3d1A*HZR#l4`iUWr){Cne9ORN`JzgP2NC0u&AV-hc!I`GZpD3)+T z!T>`qfVXe4y4A07X(5LxsPji?%exH`^Q;GV`vyTGR#eT5ZDB_5km~Dtu_G z?NGX_c->xf<3}NZ%4jlU6wPyodKsd(CNZ=OQOD2S5}MpCXemrvJf{Y~O~n^ZzqX7d z7^1(GXUU*eAe3?6DmWt&<7brOYm$yn8zK?(v=1;ekp3D0i0`VBUL=b;;l^<&%RYJX zenbHDU>$BV-peIPS~`DrS}zIso}Y3s<%GX}UF@;-`8 z`Xz0n7ewmM|E?b|CK&Iu5Zy!rbrKpH+60>W-MwDvg@8*^enV?ppBurg!%5jJx{l3G z#^!Qp`r&+J6XoZ@p7pLOi?!*o%Lg6}(iiTuJR}_N)*|`oBJg#b8_iPuPO6`IDYCs* ztqCX_vY=9kUYW7MiewssCSb;Ek7TQ6IfYvMS0e;|xG%kbcB=c>32Z(%-K9NzzsmFq zIC*#wPyj?N!M}d}(yprTz3^d_@}l*7$%W3+SdB}BEm0nY=?4#_)*wRm_5M|le3KLy zX#}p`8drVnQV?+!hq=xhzw*rJbwOi7%a;A!CP6ZMU3{Fa3&|2ugJa=ko~V=|^x+$& z&KrRPwhvVDce@MOQk5LWp72FkZ79(2QL#!sjDjB{_}`*JC@EHVrB_T&u|f3I11^}7 zDwR*Vf2hp|m%K1ktGT%SZnKYJvsm1KEF2p@7C(mZdaK+mybMLN7CXGIo#huo1_m9q zqT`Hw8$AVW&?oFGYoMXh;~r?bibSk(1NnUB@fd*8{_M184;&<-q4V#uOjNnU8jnv- z$LbH4Ec55$m-3UhWSItrye6Y(d!^7R%VWw)O>l*}gp2?uvg)2}KM{Kgsg9hZ-->Qkhee;V0VmB^eJ0 zHEIS*^+>32Ur)_BN}reM{YoxquhEcPix93hND1&Z(O}h>w@^?Hl}VKsg#p3Rc}Zm` z#<=i-PYv^LdjdX|4}RRi8~`~j0E&vN<>$oHIsQ9B;XMS83NFh`)V(uO;yL9eULhqg zIu&~PZNxVSuU!@c8xvO+gDBlENT%u33aJhBx)!xM|veGS!=Fnx2QAR#p z8~9Q|zO4B`c5>wHdi}dL-WtQkr#qtP+hge4qJ3zGW0$qxj|gyhN^gDS7ZYcG;>{Mo z$NA`gRg1Mb57eWFTT|gL2C|#c{BRtMnnlmeT%1>_=6HVp_U#2s=yz>wc)v!oL`%Lr zysh&18$Yr3XI%`y<$*gbuZ?`v>Z_Tp)C`x+U!lNp)A0hCq}U0I$l;m`YSIuTsq8&z z7}(VUI;SSxoRA(C~ewN<r-6IcBcBpIR>dZ+iiGCVW3Sdh5~BM%syU&gNO4 zpR_{!r0;WMnZ~uB!EVs4;$``>=-Ie6LbIV#*qzN|d(*9IXwScCk5%^QVvF>%EC!Z# zlWb>gLRcV=?pyyDi!0W|R|L^bP3^n(4vYqT%#6Kt7t4HJJ}y5bntJEt-9#IH2om>ekwae>K>ox5KOT2x{r}cXAa)t_JQJlBL{EQwASfFLE1$+8{mWf*F>fc6cS@z!l+-X3IB7sqQq|H{J=nFoF~%YU9gU8aE(gH3TBK zrgL1hbaWO#O4|Y6u)$2CIp}3}K%|7QO3Fqf!Nhd0uBUoYz~Ge9vAOCjHtD%ufWU+$ z)?KEn-DfZHR~MmU1D%9>%J#5M zaO|v0_YjwSV6~doT!X0=59RFFe9hVNB(-PTy303=xpnT$LaQU9|651lI`_3qqN7K&a zapwC!;@5*0xET?T-{uRO7+ARImA>>*kQsD!cS{y(>gm1y7I)ojq|h)lEDU4TCtB2Q zT0-d^KL+w%qovPRTv8JZUFoJh*Lfot?i5p3(GIXKZI@XA=ZTByK$5 zil6^-G`(Iq;Br}3K~?sF7Qw280UwQ}l~ww{YF}R;Dxv#?GCR;Y-W(_9^YMB>es(r? zVj_xq5chI$sDMdmYSGuST!+8qwFeGgLJhDZn6CJVTMj%SJ(6y~h{Bbb==%-EMY2Ns zi&NYQeU5-^VqE34{O7hx#%QIP*@o8@H*Og`y+ufr=iQLQNx*N5wm)Nxo&HMv!}Pv` zddvj|N1*d~*yZb(r8Bj)wR}V@pjemXOJHYZ#Q;pguv8g#RbWiv;6RHn5HUBHeU43v zmWg!Vw!_2n13Agy%>zae`?TG4M9KsAQ)8llevtq+9RXJ)3*G+iznBCv@faGVr26RZ zU0p4gq)+`?T4a&=?Br-WL_7Z;xM^@NF-O4pX97>I!COtroVs)8>;=QtcTx-kmFHH2 zq3Z2-=*;r${GbL=yujD;*1*(yG0}GQtDJE@PKU#%g3tHOKU2I4=c90}G3a}opPs9c zu|11{zSb;W7Nx)wEGR{q*kxJ$f$w>~C0WvEOTn+!x9=Jn5v1z|W=51ZQI5BRK)83+ zdH(!ly93_hm#DC?u;!(nBmvVl{M6z8zP?$ZQ@0Z7i_^;s9dOqjlQFp@G$gn}wZxWbu zLFfOkob#5A5tofcKnPQ(xgc0#g;zEH-JIA@edo(dY|P3%rm(>SW%2oga=7GvyFLJb zN%!P4Sx!pRp}fcMZas^du@t0_MEQw2E!~DYKxN?2hDFy3i!ll^Z#x!hqFO^PEo3Lz zB31KBykZj1BURN7I0#@Q@|uzIL+N^d4^Fyu4WCM&PfMGfOPC%ro$RR@79f@ULv@Wg z6fbmsI4>}OQ=;owcTih9z^NuJH}9^2Bb!J9(RiXBJl9#r+SHTTcV$@?KM6`eS6R#Q zsDfU7SAgubeDUpfX?#Vp0nL&wg$8uTWB${=7v62{9$VF;+OWz14N;_dOz8zR`)O}V zB&@S<>+gW9Mdn_xSxFTwSBw~0!3$^x=$7AQP0MpenJ8Ed@N7 z@b(>8wpPQRR|R~D2v{?(rvXdxMaIyO2_aBb$nX8X$IYGbGZbDVJ0BmZ_sL-pXJ`&0 zV3$>}|5Mhs61RDnxibS2kqBQA)E`%Dnl<-SMYCfEX(UQ5t z7@r*^&Ld{_4xl|i@@0k#4JWLorPpjE8bn{Tp2^8I)rh=Vr18fXpyjJ;((k)9%6WM{ zE#Kizd7suWN&*!o1h=-d% zru(NMKpsxW(BPm<(TEvTa(ogJ5@%85JFB=96ckOR)(JMMJk(|fYeS$y?%0!9>P?LX zAzSY{?R%wQ;6Uhro{#KZgN5G;!Wz)EcYU?>F)g755i>UG9gs2WKi=QM0|(T4c^mAq zTg>jW7@rMlN+0=>z8cfH{<+%slX#z*;4uek{U&BQsw+_UQ+GZJm6%80i-nc?-s-Z2 z7Y{r)6soMGdEuSye?1!&Yin!BS~-O+ZPY=`EJ2I#kI~UbV%gjP@KfRjh%1Oa@4Mo4 zIQ9%eu&}}Z9N@9H4w%Php}B14Bu)Lxre&fT3EPnozExKE$$cQ9J)*qH+RY^WtHNFtN+f*#9v^_zh@szRS zu5o@)rQXzxC|vC=5K#5Y0To(#bCeOnwdW#^VllxJX9R`dQHN6Jx#oV$Xv0 z7DM-Kke@{pAuYb{QRCKMy{(&|;`{Ow7icp+ojn%6cM3N?{<0BizN>Jlbx#7c&t)fc z!T$1WyQ>XMq#+%vfq}9n3;TDO9Ol|y<#f0RfWHDD1qgF_ts;Z0ufXy+;3}EiCjD7_ zj+@tM;}wGn^s9tj=k{=bf`?;Oi0H!564E?$8@xnQJeKH+%&7ScLThWqc=Rj3FZ@25 z@nr#W&>iGd;+l?qrCKTNoM*z5UU8q5J7`}W_Yt~Bg&1Yrv$;pb==y*`=eLb=vPqeq zy1qI|zCDvd-S#BeAC~fdt3U-;*;lZ*_F_9gm&HK45-9d|?RfV~P1U ziol?txvT`E-__@NkMq+&iwC>Q-RlfZi>r}azD|VXw_ToE{w~Uz*#mYt#Yd0y886e( zg;iIJbefkM4V1bga$LtAEVP^S~qUm+^y>GIdKoXCNIKxUnMZKNF4Ubm4OVG>_?0YVYmnnh|jWQW$@!8DH?s@{M1L4N~k=otoaor_Yr1Y>}=u+t8b10NqL_nWDdZKeYK0|TrH-Dd^>7P@6ulg`*kjx6m0DwJ)U96a}=Bzd|@ zo~Nzv{3q?WH2t0T8>7DEgeSlA(6_6$(=x-C)icUu?8@abs^(Y5^oZA40(@?~P9xc? z6(RkT<@qalC~bQ197{y@ZF3r+1BrAb>Udc1GWXn5I^6VoD{h?L@kI03Ht=EftGK?1 z2q(N}pvC!>^bx9ek2Cl7{LT#_$KJsf>vdhcZ$#Flq(geQEZ2ELU&mY#Wc%f%BQq2G z8fPVyI*9cwL!6OgYm+wEU#3Y0)pz|pbEm1(d|w#-Mo+%1jp2k?U1*YhAeEK=;xM|7PCO70*2(k+SSD>3uYX;NL(sOGbf$0;&uvF)mgEK-5pW zaWL;jC*g#d=<0IymP-p!XWqE=WARm4f#F3W{@0Gyrl%#Y=r3q5o-ZS@><{=Yy53N? zb|Lp{fWUNVV1x#QPdO=`gn+}}jXQaysE7dbs3sV(b^xz`xjA12fdIg@d!6ofFdrer zj7+-PEWlnHfAOF}ZnN_ot}~Ry-}jVM;)v_8fDQ*bia=eSL#M}q*hcr1u|Oz7$X9r9 z=_h7z^AP)Gfz{vU3T=iLIU3X)Uw?6H2>3V)o=a$kBTBE*;l1sGJD}6M_W1tb(1hBv za@Ot7xa_5-u_;$CC2k>Bs9X13L|jz@aIHED8&n>JHdzELuo7jA6v#~Y!W|=v!P*^> zKcZThGzIItE{OkGs$PVVSO2MX{=n5gxARa4U?!L943629|7x}Ef(oaDJMjr9=S)Lu z-4&d$@i(deU2OaN|)McE(#b3Ra_M4nDt`h8l$Eh+`WbWU` zy-GpwIy_u5>c)*5>CouHyG4P5CESnCRm!{Ac1o;%_bY>ajX}>aNbIUND<_ai*T7}yF>@6+ z8U7B~B{CWsm_a3DSuZUnMvn*(hIEWKlkh07u$H`_-9O^xJllG#wdh5;;wTnmLJPcF7YyRB5*fN|_fs+6tLbRTYCgHV;;4YPF;<2LUVV0A-0hCm<({MvIE`kO zP4*BJ2o{=2xLKv$Ow>@m&O*w|t=;Mm;0On?I6o~hB2$%!@>t8wfm5X3HUK)*9YmHS z8IhCw4&`U@#N5I{{WyAGvDTAY>d!8=b<`4GG~YFH0{h;59`md}=ja5rPE#dU#;@ib zb6T;a(&yUvkqtIX(R`oojF||EtFgRz;2l8Xo050evlP=i?w1<&Cx-uk=FXL6QlWf~ zE~z+|Ji5xJ6u}+b#x5%LF+880DZL1kS%n|9J4lqGTQ=kV{;g+D_iLYR_(?l?hyH2) zWshf84#%1F_u>zjrnAEr(tqlw-_reg=ZSxWxhNd6&E^jRzL7p-XlX@Vp(qV~jeqxz z1hzUktHNud0G{tv1JY#uOsi`JBF?grtvQ36=M!$ZleZ9Yz;)O;uX>*DjS>`t(i=Cx zUu+VwF@Kp1+DTnMeQ=cZC;>rpiLBM{ek?Digy6fj8mH-J_i7Hutx9~(JYnc8G8?oM zLgb-4648iL>*vp(n|ZC~f+ky&HSVBSQ`1}^l_!BVTHJNxIk9CFtpFwhI>YOeY&a^@ z<*9~+1LGMfL^Vz>_(17J+yF}N1#v(f4&q@(*NstskfXZ}O&Au-3iL14N3oDnnxcC+ zSIngMz%Ek&jM-0nAaS%C+Cbtw5LrxGmM_hV+8ZFyI_%iuwD&|vEaXY3m2T0tYm6A<>=kB%2Vysfxs31NpG{aGdUkgNyz6B zX^g1?X1OQP;o@Tu7z!0T+rLIf;r)2K=1{2>eV$8bAkIa1rtynkKbb#q!@jn94{yPJ zr~aiWX$qb$uA02U6(XtuO1VIHlQMCK{SVZ5s)K21Buw`v@=AxXGrp-znG&ov1MitO zu!=4lOXSV}{5kVq3F!}4KkluAhl@rIXKwD3i;XEaFG`nl>79}9hlxGeM}dK)5Kki&9K$3bZ3JGjqF89Bj=y_|M z`sb|VDs5TPM)oF$hcrvH#DCwto-V~zjwO5aoNT%%X=_s>CyI6v6Qb)!lyvB-y56EL zb3sH6C50!y;VO=dl`Ouequ2 z`|N~bJC28?O0GJ)%Q5w56G|y)UnKGXnj=?NB0&)8h1B4u9MRl@~;v-xh++6W_R8bwgq#?Qs&E+Ym-Lmjo+|&m8?Q~ZHR;N z?Qq7Ymcgw) ziZ^WtR(rtYWNKy>n>tg<=3vG99+{o{>yXt5Kn>!j2I2pq*pgf02@@C>aMJru)^lNk zk=XB(11(pRVVK=qOAxe^b`_RaP%A(jIQ2?){`i550<+RQR0wb~&+BT{S#pKbuOO*5k2B>DWhYl5SsF*-LBy&}6Q4z9c#)%)=0j>qW^H+do z6AO~0eWj$%_B9DF$Ym8S-P3u9zj{xJqu1?HP*Bi8E=_IVZ87&e#s@ztB_8hUvnmoW zC*NYEcd^Iry=_V0BW;DxN4-+)IzrW`$NpPFEvu|)bXLYXkkK?2C2{GEc9NRjrcXo+ zK2B&~7a0{t$o*^nimbu1T(9JLc4%!&MGcB|8TpM1{Im9&lKSIk{?mh{rpi`Yj^rO(DMJb4*u@N@2Hi>6DoXhh zOP(bVx`5MpbGR|iHbPETYyG-cU7S2mQ#H8&?MuVkd{k>CN4igvSicTa>Ll*8M=z68 zv$gZGF9=vZr<9ld+o%|NCmUD%$Kuf3M!c8-SHFwi$|cloMFLxu=;oCC>nAcN8TKN6n6xr7y;oTmnE>8*Rf6 z@=Dk3>B#Tjm5L@(z+K`t>3|11Eq!aEYJL4_$8KKcD&*@{;0)m2q zuws~t+AsZ`7b2&*6j~7*3eEn*!m7$L$?Fyz@!frPD_7poP|F!_&h-3l4mP2cZ)=w+ z)cAO{3Z-(1YU!AHziicJ+WW{5!Oe|E!sXdM8-1aNnSypVWQGzLg z9_+7a#l>WN2}GFws2T4grmgxt6%@=A$Eg>8SR@VxHG5jdB4JfSJ@E%@vx5G=Y3S)W zl-~6XvYmtRvB~)SH_e)@9Kcev{|XR2J-q~<4kzW5#AR8`qUx5=15po~sJPcb?(T5ZRU8RC3K0T zj2J834`V<#krdV8WG_;;)D}=TWhc^)CoeNfG=4U`#w+4ef=ffRrlxBf7(O(B{rLaS z1y~KUE&E4drp-9Dn?c>lRMZDL+~j25qk>5!o(TbbUo<~3!Sabgen&O0gL-0r2H zA%#ZCJ1najYzz8sf5AFF5vj##hP2(^kE1D!?I`r=$J(mk4vkf%Xcq z@L-ZPzmN#JMAW3Lu8DukGM=YZhJ%VtOeyM}J&x=Ug_!7INR0?-Ry@bAw}T6?&?w(B zh<*7eb0JUiH8Qlh&u3f;ZXza|Zz0%va? z=wYBFE>8Cln$>IE*s8!^Ump*J_?GNupYKn<+%|y>Vi;t9S4&AsG9l<6GH3Zn(%dv^ zv#FX2hLs6-A(V?HG~B1_A9bxnJq=j?p)QHTjV2$tNk9l^)}MR4`DF)z{{=UGRLh@~ zPO8Uzw;#O3jkTY(!khByqjv|0)RVa4JlW#D6~hwx{z0^C=nN=63ubkan`~Oab=jHol@1S&|7hVHGI9qsPyQx- zX#9?zan!Y#Oq`U;#9faT-u=DC;}q|YV^7`YP5qgde_J|88RNxeEgE(f#D-!kL};5l z&!d(bXh|bMi@Wq6FshISE#m%)r;X9ki*9k0%hCR0b(M+;YT4DVMl=Bm1@!}9_FeTb z7kuA=N*ge{OMkET{bBTApH8;@hL*dV|Z#)zpGnjMozOOl+#P<4dpmh|0#2g<)v`;uqBQ zvET2)qurAya`sYPR{ zqs-K{YxdV%6!9!1%*MTVrIFlj?J~bSKz01b8HY{If>!i4A$y2CoBUWwYRTAqQ{za= zz4*e-nUa!`_WkPFBqg@CU+TN>?B#f(lJjMM{G>>2&{j2IjJ}*;X+N()V%kDUE6#>{ zhcqfse$sPP_}v@r#Ny3mSp%NFD!N45NSG}bP2JkN4x|@Z`DFb~Ud$;(J!Ta%nC9lb zc1Y!#Llj>@^6AqHnR}6RIE%QHI`8KGZZaJubHaa{R21G!65u&JbD1@B-J|Zx+-3#; zKeUI2@WSH=aJ)G{VR!Ye!dQ$zDTv?tY`jQ|s~y%z3Az~*Jd#)_XunEaH}yi>=Y^|` z!BY>YN{ahDLG-%s>FxuGzbhHXkcO~%P-6t(0}_sa;6l9ljTi{84}v6rB>OJ9=(C-D zRdQsoL4o{3Td5DOc%Dzqe<-uXvstXjXi>+1EG!-WQXJAi4S?^QfVz%8=5nh^ncGXE zSNTSR2wknIa6y53#Zk8-5@<3 z5>Bg}?&n?Zk9Q=urKJpum185P$=&#iMS)Z!fD9>-MFa)upCZgtGf<7Q4M=iWH?Leb zeJ86OsvQ>zVJD+d01oiTe|&2wS!hu6YH)Cnx*Mi72k6G@Pk(naA6>vgWQ8OIFaTDL zkj(;iu)FPh!Ej0H7#;2cbfKMQzS8`A*(~|B;%3es?u`=vn)^K6Y#gE(gcV(92mAJp zS(v%4xamBN_$m*M9t(qw?Mb1lvpcNl-Cp1GvWX}b1=l(z)?14?w-j!O5?Uco<}^vowjCECzFZ0+c(b_*eKsg3KcLs8}j%pe4Vf> z5?@`>UeoiokC*{6mikp@m#Szdp@cBP619-=Eu?(-TkD8`L;%z zu5#L3&I8JU1umnwPNbe(_gl}DPgJI-=TXg)9}kKK+SBuXyzm znL=JW%$j?IaGn40HUJze>!6dn;HcV&6P^Ah>`E;D6>7pO6eTc3fcPmikVl>k<7(qy zT^@5piAzx$6FRxTP<68Dn0`g1;mF^-QUuLEVRBm>ZCwo6N3wRMcR`qISA5s5w0RW0 zeQ1TkeB0iq#e1JLtS#-08vd(a+wjzprAT4GdAdA>Q1hUKpIZ0K)p`xS=PS2v4J>#JrOX2om6E7JG)FE?VVJ`~bBiA}A>F`r{bA zZe?YKuwl^XkFT3eK`cfj5F17DxOX7w4UgF!m9JAonz%OzpIeLt+H`0N#0G3tu)Fz3 z9n;d<#oo(@o|NIr@odn=uUH;v|6=5AzPX$qtN;1I!>n&Pez>hDjW9CB_wa>JUxDqI zdot4yzM!sc6a3Tqfpc}eW~%@>J>7q%LvX;zWvnsrN~;=tZeIHGM=E6DRTwm9C3}xW zTpJd{@ZOp%;4(CZYBhcI&q-R$ep0iPmUb@({{hS z{9dtH#7k4WG30GX^qi=O4{uWX@{dKI?fL&vZUIgX_PaU>#)iGS_BWT^kCqwHZq?|D zI&_7oNrj=eof{C$Ev8P*!~4@ig^dS=Z^*J*KBdRf3h-kR(oK0lWIa571vkQv!MIWm zjuJr^60;u6s*(qkQl~p||9`U+q78YsF2_42h#J<##RU=V??C@tNmn>g?ZA#ejv|bt z$We)KE5NwDeQE}FXVCY$A-o2t515b2K-?G@96S#K?mf@XNIwKi6bZ07|2xt+51{+e zA1n5))BxG3mw8*^*P1DRjp+>fLmS~^7dduK5wm^vh**Wnm^1bTJ+?zg;qwb79Ffe$|o!O0{G zFQA-aLEsXU=Cqzah|c3Z^jc5?brQumFo=n)r*-BgIl(Ae7|SZ9 z81_q-O6&EsQ-2m%ej@Ak)YYD@lzVeousxT{?900b_JpI}x694VXVXiwYL6%ScuiUl zabGPduSW;cx?JzgURWd6J}nk!f%Z<_XyIb2ltlYFALWXDy39zq5*zguVS_CxjO#SA z*Jvu%qa43{3+BZmj5%{+{o5XbhPFO9E67DZRIo}n+NJKdn)-zJ*3Mx<`0|`%HQK41 z3HzF1fQerwtx#~br2vl*W9<0sx%B_m20j5FWYhgvbew~L6y!+!5=B5n)Cy-0T#2WU zdQ=CUE0XHN|9;YK*&BK;H0@Wb&KT%YKwg4ekfk}>{lDi%OeI^kxJh~;~>ZVV|@ z9l(NYJES7Q5?NWmE1G{6;?|(KzNH7A?ZSIhQVd~y?jtTi=L2Kx)@tq=&`#6hqMx`8aYxT_d}T^8e{v*p zXeq?&CiHoF#Hh7>7q}X9iR))Y`c{7Mn8dusQRaQ<-4nH2U&ogCKM{$klTe)#znT`I zz#v8*dW8PV&tS{stnPeTeiZh`kfj4AF4Ng24G~U^Vo=OOY{UNS;lj7Yf@T zSGj76VNSuCX^JswbbRqDM#f2mkvZW`<%@MLm7IZv639`J|5#YC2G>^1IaUxmKg!a; z58Cui=`DprkQ{ttz^V*dx+M7WLM^E$A|VMfD#Am_hhWcG_1&jBIHc}=-jKXpwYSNQ zKQKQfr$@fRiZ7et&+BTr+d8% zcD^S`9WEv&CZlz3H$hIhv1`@Y)%AP)l_uQM1P2qP)^2Nm)}vh*ATdxXr+=Pi2I4J8 zy6LNqpwF-8Budc`&<=Wui2B{KoH|uiFD86MeJ+kTg82COPXz^8#Vo7Zn5guw{F@CT;`H=-DI3HbiZ{~U;I94R_B|-rG~o+5 zDX9975F@wr7UmO16sbxG)(=;o#x_hD9z4GvmqP#ah6M-D62*n#$UxqzQTa|3-mKr$ zl8la|;KO@PUYrt^L8sslOa+};QxgM0Q77^Tcd5EllQFs2n2^7UyV z=jp#gb-c}i5fTp7)Ybhzed5f_%2K}vy13Q*W?v)xo6-3Dx4q`=Mbr!pBS%L^WmMar zf%01LiM=-7o;kusg1Z4rGSYU}_u|M`#Os*fw(-o>dZyva6CD<)Twpz!2iv?+6^ocN zC(`}H_D4)5XWBL%&y6#tA-$l(X$ zdh}oaSfg(faTQ-F4l~z>hKJ{&z)_wfN?v4@^=FK2x+02Qh&}U9f&2Dga?6GNAe6sV z1w=KEZZU$wzT-EM&7W&T>mHHRtf2&twfaeqs#jR7g&wV=beDIU{DD-kyDZ)Aq za#WIA;P(N%SO0T(RMgkQ&51ACKYw{N46Q*RY_CfE{*N7FZ*NKW6uW;Z1W+IKNG^E6 z@1N@RJIr{l5lAa=o>n|LwrldkKyoI}AxC7w3I%OJkyDM=A3-pXZ#jGcT|CeX8k(At zwiC4fHQ3L+>NUoKPdyz8R|)7)gtx;fbo;j7LbYv*@{Fdwe)#0%q>L)4ApUJI{8dV* zrZ8YLPfU;_|H^p~+7o>qz~h+UXFB}(ZBaA#7LU0|YaahD0gqbwnQ6 z->)%q{frwSp+K8O1Q`YnXP`($f=frOE2-CE?ZzZ0Pq8(OGd) z@MUtn#TT`MKn5`KAJqD6j#t2G1Pdl$L;xAD5HhqeO5eyR3VFZKxhi)fL14?~5$Id-o2`iO7OLA|j%*V@vp4``Uwmb}ND?n=KZf zG$dopF=g50Ha$6rn9|-K_&~NKyklT5X>pUo45(%>)Q;;AeSf7Dw(YxlKclUt=+fy7#h0$PFs zn170Ha>$0I=jwG{^Iph8b%1>gq=fRw8OlT zEw74kZcuLX-bJ5iRW_ScS5>%mpmSw#Fz)Ck@5Ob+s}!7+ulXb^$E+dU*Sf@jBkpd- zPv_MVNK%nBq6~|QI{fpo>N+r5Ps`{aybkVXHR4tT6$*3+X0Y>&xF`QD>f`Wb53fIq z2|jjJK*1x0Qa0VLXxm1Zftp9x5Av=&42;#({16ujNL}%Xi1uDe0d0Y(*c`x4=4p@$ zwFF$t_mXr{Yk`j*Brvww1jEs!DMcJN6+ZjTOW2h=uNps8Va&Cqo|z`s3D9B#pXN1Vmlx4VDmr=sGkri56}6^aQU8k}G8`GUO% z6Z`#gOB~6}sDC!+5?Q3iy?f?uQiHn>nC5lZ@;m+G$OXJ|D2n+m&1O>=0;XP`xs3E; z*91cxR9%O(Ia}Exkzv97p{KP%wjwJr0|QcPKpu1A$#ehy*Ad%8NX1#%*~L9-j@RhH z-Ew1NBh^s^33f5iGXv^Tdx;H$*YEoXUrcmi(gOT`Ahz&Y>2CA^zaFu3%2Q!){586s zesyu@axX;8UAGaq^cTBVmnEGwYbz@T;K%`e`u&=m`wmq+ueXY-P^#@{p5r89x=W?4 zs#ewAZ_t;t?{mqh@i~xmfU;y`Xo6}>a2DrAcIWw zJ4L*X?!vS1v0n7zeBo-|lDuWy8(vg|KVMgj&{`h_XQTeyTWqZciV4^hiP+WxK!7+B zY=5Lgo&bMRf$WK4%L)c`KX}`?X(G3M_GRm=F6KR3zTE{Of`Z%cccNWj>f^ZVk>2Wy z_P#lA%NQDKfrQttXxg8#kuc^+c6^Yet5uAA-PxnK_>AhSQff0+z?4HpivfCOD|xk# zB8E{*t*FUwE&%^{60HD)yk;i+##i|(3bZfU{8(N@=f_THlgCq+UYX1+idE=DT-&9J zsFu(Baf{+BRZMoXAB)?qn^0>RQ(D^p7EjQBqNkuE5-k)!Ae2QwlY>E%KsC(yr322< z(oJ%z7_zq~=C?G?bZ=*4CeH% z6BB*FR_(K?Y|gM%D2UB&Rxd{h1LyRY>zvM?w(AOyb4M!j`p4FRk@3{roD~F!MHFkZ zh@l?1oem#N6aMrVXs$3Ai~EIpm~sj@P-{K=#kF$pLLKOV!I=eP?*H6F=Hx;B1vxz8 zWqBbq57bwCaQmpp`+f{Mu_c5NKjHH0X*dP&&Xy6Gb+r#X#$Z+6jMUu}(b4eTIzTRB z5As5OtK5EW{7V3)mqCDX=p~BeF_d3Wq&@HDj)Xzl?JlCp1)g$qE)y;?7| zVTgvh3X6bdG~@mAz(W-gBJa~>%#`lGIytLV&`qxvzDYomq3e5R5zslnn>$b62$io* z`8{WrbpC)3*x~&}N9e6Sv(9GziFy;>!Vx$FH5v=WZ+-F6@ul(Ge=xmErD$T=UbA;} z-|e}cXPf0x3GFXqH=<|H-6yJYIScrfCxa~M8WjlwrmEhz*@O|s-2`e10O8Hnb`uLG zH{Tl)XOi8#B_DYiMw31re0_Lg4^y{6=zqBYA~D*9okIs>0!}qpu4X+G_zfB&W>m`8 zg>pBkm>OUnH=rcP)v(OYTI6-(hex=6jh`pB9DemuM{j{cx>N+!&_*X>94);7)-ELU z^xM1<$J*#v_)YEMl&|M~Jv;oWdZun(z`*Uh;=8FfXfZm zvElzonLadLta6cQY_K2~TogL`j}=PEiyIj)uqsGuBw++Ny4AW54yuQ_Gb8qM*LT%{@`$7IG@z*Z8rS3EbK#+#j~N zKW@Wce!5>;a>raF@>`o_3=c#L43^GNmHPyLl;mpvIY4fYusMdD5D=QiGp=ZxVEVC* zpNty}6S!85ZejGbx@T=D5zP+;amWE<*yt^(C^{Mb??|efEzxkYgf|OHDA8z2Yz)Nu ziQ8>wmap^I+8V-j|IyQ9rB#UpR3N`X7ZR}y4#c^xrBZcP0kM||fmJl#|MiH9gw2QE zqZYyE*GS70oJTL_`QfdG4x?Qu^h_Hohb${5L4yx|Q`-|Tamcy}1eM9EQwJ-EVhp%~ z)AX@EOJR5ZXL8g5xU>F5u-s}}kjb6=+x3k`+|VJ*IX*u@?(`j8lvusKS7k_nh#2Hg z$gz+@X$%ds@{y=1b#%X{PoJ`K*-fP>-KDts=uzslS*+*=EVXz2cC3PN?tHx82LBz` z{Rk~LAm#bYYNN!pFCJGiqlSO57bN>*mC!MYOLEp8bc2@(gQ>f}Q6hHDzgvq3w>yHB zoxjE8ukU;$3o|OxbMebo9BftHV=aETn7)u=$ulU(b(0_~SjuIjP^3&y;KH$(^jsl6 zOLk&k?FLN(#`Tiu_VvY~n9vKcE_v*l&&``{Vc}yZt2(@I*=HzSk0qPFRU0Y_09?CZ zan90qJ#B3W)N|qO=U0h4UoNj5)}!3$bPxcSTDqwB1H3PxtcZ^vz14Z^zq^Y__H=GdeJ-W%nAY%>LEwW9t3Uha}qUoExv?xL!_hysb ztjvU6;EwLC4+^5E7y!*2Rqp^_M_NJQ_`Dj~MJ{9)OQ6zT z8%VcviBQg$1VRk(B32wdYSZ#~Hw#dkV9UMk*1s6LlGaz%v*`#~NO{vb<|@}*Q}ucA z^P)ci7w@;p6ri18UsHIWML*}1p(G2$JoNMAO=I>N?01Hal2)ssqunH5j>L$6?28;? z(SG?$F}i-2^$T~4(UyCAg}+RF)tnvR+;Dj}f$cP=tz=f(V!JlW^bE_O$#>?-z}&6klifdMzH-^^Yj-mUCtG%XRO@f zA;R}<3{iLqb`O_9pYC) zi8;gp&dOuBr;pdb><4t#wTDz7YF+Mn1D=eWc9^PqdV~r@cVH|@jI>bWA4;a?UQ0K_ zv0virFKpDalLeUR_=)hgf;CTbwag@r7G>jA&h@*Vvlx(EX9^Mj^{9}=gqqa^?Z+)N z>9)JsMilr?_ad-RS^b{$oRzO?a&+Ot>V>61SwoRB!Og<0Q;pxngZEI_{r%dfk_`(z^P09Z&Oaw`{PG zbby0U7J4V=y1h^dLnYzGT@)B0KsBxqsU%U3{nG8V*E4a?O!icQnp;4W`=F?2wLSWp zBS$F0xNf1>ywiTGI*%niNz{TkVkuxEQG$5Y_m%g-u?!WS%Y~E!vtQ?e|`l>r)}aA0i)>wmwSyia8PZ( zh{n#rfzB5)4>S4%`mLHC2nr@mU&V?BLA9Fr@@?I>_hSOSTfzP`CK0$%-M;fFePB3Z zJjSglQl)Gc2|fMzN>kpZ$ACevr{9oJjxSUf5mg%qnpEdWSDW{&sCjY#-DY$qSrYLvX7e#pbL68@Tc8ZO z*4J2!;QsZ;4yx#~1$SBVxLXZ&E;^e6rKyV9AI-h1(Yx;#|)2$qS+ zT%xzYl?Jg<1BP{_)fI&9Gb{+*q5*3jIt|{`AdW{B^wGyh`F1xPKuJzvPNrt4OidVz zTf%zoafM!v`(fPLNuip#$w@IyPj{61rJaj%^THPIE(mvU?CNO@+>~T7rNa|%ii*=X zXGr=^(bM&lQ`!Gcf<(MZNbkN$a}4fgx?jd>GI$CBenW;Zo@a7YM!tr*bZ_sGR?Yfb3tPNHWWgmq6iP2-*kY- zDfg>hs`L)Pb`beEFe?yzj%{>U4_WOr&rP+zEUf(mX`yGb#(Wu~bXefc~eyd6@Ys515QxH1E<5DD~`1d8`4 zKl#?7eO-)YAg4HJGjRObl%$o?!{4&FsUbJj-@^S^IUcQ5d5kJ1?~U|e!|vCScH@D4 zOS+m*R!)VIZA+IkabC{nzlJUG2vdtBZ1eNyGODDY4sVjYWlKf%wi;V=?Rjaq>X!A% zhI@s=nDW1N?#ItR;45X223oa+4oX8`{PDPiMC|K#`ORS;J>h|O9bLD{%Xe$660SXR z;JW?%?O{1FzKk05Zilk%NW$9z+eF1n{X2&86NE4#4fCJ>N6+&e?t+S%n)vNFgaOzL zwGL=OudiER!o2Ha-(}Dw?0**pB_D(~N$?ef+6B~f-)(Fm$6?p=SS2snYB#zM+47Ql zI9S10M8o`u&zdfxzF#qlLPszrtrOg+>WU!) z*Qj;92W-2sV!=evi342>KpRUfK8s-%WS*t&rDrk}X#+5=Vfc< z_6n&iGDCwpx_4R*(L|S1bewb|x*=JV&i1F;!Cz@*B=5#%u7*a(-@HFuwOc>ZzATltOL#^&j0Lu$&VL zIL%`!AUc7U3>9=Qp6cl6pqNnz0M891dV?Du7cda{5r4%Iy`ZB>Q@+lLLNZW=pv#99&^519rbAWAtK*qL0RR{&KAVxG*P>at064i%&uRGf; z&_gN^q(=ljfFrL46np3zAa)mE9go->LB)9^?r%hL13ZWr6i|((cN~a7Lkf6QFu)At zyOSicOGf5QkyJ$P@=#nK1ugc|&oB1HmfGAC&6alfGmkzrpwX%{sSCbTQ$? zkM?~52hHezxt50eJoeQ1EX))RBoEr2b>AQ_Gobpsv8JbO_bg#P_?u<8zH0sFS*kFl z0Et@5?$j3We=~aWsGst`?5O#-Wc}3qXt4?~*W$20#fKATyt~0E9>pDr0YBHNDM6{A z@TG_(v(f#+beahwe1f-%aeX^2{v$3Yt48)A8ouGCgJk$*xE~63HA4d<&R;Z%!NV3X8&Y@8GgcolfUVH6B1Sy*tuT2 z24p;}a6HhAelFPUqqq}6(C>H25Q=dZ>o(i{LVaw~ER#o~Eb^XQ{*S?k1RMT@Nup(x zdf8^012B+`2w@>7{XRLV0T-%DgY%s<;uC_jc_Hy7YU)K>L-c7dgo!Dx3sGf%9&czS z3tbT)1jf$|WHO9P1b}Nu2iW9CjBN@v;0*%@0=}0b|L8ps$buO-ce~q5%ggUTTL*d> zfLn7$TAg4@2Y{w0P?6O|DX}L2dfE(C*^EmB9HAv}3h4m8afVvKjIb)?eXsEm0g4GU zX!>M%_+@2ff$Acj$Z!q=R=Jb4D~D-Cy#?aCi}C27hfD{;gmy=;Tmc(`uRT$6(xr&x zX<_?^%~$X4JdECynAv~V|6K3f2W<(BFj2ydHEA5@j-#sQl%@FMDn@}p(j;HrKU8J8 z9J zv9vchXh5@`*7lPNvZ+Elmby)HgGmeXJ!+c~YWxGkkX9LseVPcF=$4;k_p(#>_}7S{ zmL1lgW5SpSzp2gN5In|A>oBF8sP6xF-_0c@d>P~_1{F016~cxU#}W45{0s-V zm@sZ$dxq#6q}#~GnX>CyQ6}mBBMiojgZ@9Gu&{T_69%sV6iv)kw}(c0{W?Sff0&E3 z07`lTz(bzsj&*G~8$n|o9LS+P2gS)`l^r9r_r62OIAnmv3}ov_-G%Tjp@o6zDfBqn5$UhR6UQ4!urb)grx^Z9=y{A`1LPkn8Wm;e;(G zL#YFop=>T;_wRHIHjNZ$bfELuEepnQQO&hX#niuaCjrStR%L_LbXGxvk)(Mxh|_Ku zP@AieN(OZ|;d-ApU~6I-(y+DgI!Xq16Xz#9DZ;m=t?O6Qv2E&jgbC!--Mt2l;3w5m zZ-MFBBAz`M`~%>|0MsV*7vy#x4BUJIikenZPi@fIt!NFt2?%*#^pA3JVuY^|20SL# zv9XDKC49NyX12FH|ArGs94F{5sM*Bhjm#xj=yCgSH7G1_n5f=U1RLg0b6(A`vGN+| z_LIk}Bz->=2z0+mj>pX^NG73NL6t%}ZgX!PXJh;SYzvICUh13q)9=1zah}F!^HE{p z8Eg;G0gn;q@BD)2#9y_F5TM$1dwTW10oF*4yS~2u-z5y_S+)Ff1b8rFlm(V+fCD{h z;=#KMBn+TAXcVQDyoB*S0FB(>;J`!PbQKj9{((XI*fbt9!v7hG4O(pED}sCQPBJoP zP&6F;o}3@xqUcE=ITCL$O32~J(q&;YF_xx%{=1Q`#bler{f#rH(#h|+;)#%Ef=p^1 zTM#&%Qux@u4JHv5bHpuW_D|dN1#n9qg`HxI7`dZP@m2$`oXzU3re+FNK z>0dcCVxL-iOAiJG<7^Q8@9JlJA!AOV6Yzx6{bnj~g#Vj%3C8SsUvy%ikAgH@99Dji zlo$sSF-FbRy4?iujn+&`dZ5!mCw$^M%t1k*J!taP=6uxU26pCU5SZYVPknOHP(*K1gh-Sf!4lHlryv7(jbW-}?%))gsye>1nyQY_JavSH3fSNxtb;WZQK zH-xQf9Q^F2pxRs)k8^rxHy6*((Ht!R-p7iHbk6UXbK80PnvV_J3cu3ceBoMGzexon zj|eB}sIahA<%p@-CGxa}7dJBvnUq;13y3N6AL|5?0{WlMfieA?Q)TqyJAKQhMIQ3J zLMz`H%P?s_R2iB>1^ggBNwf-a{4foauhJ;_8Yl&GK=jPnD9Ub$03B%c`mGn~KALizJuZGgT59>vhTaaFyKCu5GOby9FC^TaDj^aW!=Ov-T4F19wXihg`7UTLPOq zaZuJi;NiLNeX{phq30%)fzTbCtoP!7Nb`cfAKWgb_2IOO3sGaDlpy9A&2o0-i*_8* zOl#6IpK^yKi-?(cMKRo-%Que>g%P`!e%Dm67plUd_3f5OZ5}V)&T3gfP_PN2x9f^l z8oof<2atU6M~$q`kBR1Xm%f)Wuu_F#Y*cX!1i?6I<5RD~(W4u`(o*6&!{c(@ziDn$ z@PP_eh4QS$IXTW$K~Yu?F`lNMVG|n4mXDoNwW8jL-?S&5(Ait&TWXQocCwGJFd`Rx z&w0)sv9JR6KEeNH0nS9YC`Y=W zFh^|iKxI1jNl0vv5{OR!H9S~Z_k>=-lkE&WElL5g6@h9WxEO%qAUu_zY)Ar~lXhy9pGz|?ZHEb&+Q1x^%~B!_64Etl1Poj9_=u{8VO9||HLc7~@nr+jf0n|rP53UK+~_%Da_Epm zR^2?)v?^#|TF*m_;c5Fo^IO0tgXYD}Tj#^9MdEH@v9ez`>TYwa@J zIKTD=T5%|xl+oQ zQLbB@+!7I?1EU@)ep@#CbOwX4vo^|%d* z;BeBcmdN>zD3DP6)84A9x=?_UH$v{I=d7y}nk{4co4vt#5@#@KpS*Os?|P+-n;3%o zz=i}z^Em@`w6;`-1T&#`4t0)B1Snq&TL>J$FaX}zXL@0%9=HCo7Vrfe>|?z5GbEXcu=K zLA(0D6ktIk=qXS2m|1BrRpDl;9n8&~tn=Wpt=;BB%#{JI#5s)rq3Yn^0FuX$iI|5d z2=Vjkul`jK^m;zBcY(fh!@1dw7hFf=ITO8fY#+GDo3cP*T{71gZ*byVL1Xo#W_s9Y^y= zo47O!nsmFkG$7^eXwtXDS+m9S$c*wdHV|N zcLa2vqdq28KPQa-^88%jGBpjxhQ-a(W=s%&RC&kFoHJ!i1`Zzu5)cB2q%O@nUI4mX)ERNT{JCgJZ9;Dn! z>XP}DvQT5!&c-bT-c+Z@{7~JLGCH7$c#z#8YiIu@$X|h@O zW8qY|9ItnJ=3d5dm4|G!*-gS4B43rbCAshGb-RW{>r zo!eLW-uBo~p^dglQib9VWvQH9MP1mkW$1`}lPLJIp0CECRFFX6!%5q-?aGLU#ejz? z6dim`LGPENhyC|Cf#}yeLKN&G46Gtwe@m_pM$T+M$yfQL%r1XXpv#f0K9h~2ZTdzFL$C4`l=in&A@MK0-%oVUbS{8B$7P9!0d>kmjf84=&w}P zJDlscAGY?w(^Kw3ibB@X2@s4>YQL3g;P2noLeTiYFC!H%H-kOezc{zrqQAr&{8H`U z=vJIGNd4lb7I*MRwCeR)GEO1>pg*$0Vw|E)y_n~$ti`r_8mCXk$P%>JSo2?PA9-UP zMZD_$gdwhFPt3h5eXFsk&j{wk>6n3C5h3163rUx=+`H=wefi&}n;S)^6-#Ue7(cfC zoA^v(J(@PwfRAd4bsQy1l3i5jTIyrA7&e~H=ha%^mR1OR?fXiQx`tdbWFssL+j?}s z{q-$LYHBfoFkAYS3LSmmU>A{kRE^7PY;#f+_WrD0I4avxl&NPZvv;`-(z}W}!Y3tRF9^H|?%U2*|4Iuc z-k$#SB)}b1Skz)Z-cAZnQvmK@@&@l}(6Hl#v^p4hfJu20%o^3L?G~hmo78Y8F+R{7 z4X`&DyHY*==gk{5V2s~S-YU+9j&(!%xgt(Py&9UfZunRgvV9&-`!IN9)zDW>@U(p_UR6k=w%+f_qb#aN+^A*wt12m7 zz4y$TKlWnzzV6&`vFvAzZHo~dV$J!YR_67u;2zog6v1-Ok@mS78(E_C9bv^1LrKrO zH;0Y$zX@rU^M%)N5SH0Kdy=KqCX{0P;DDp+k@8a=lN*ano@nLl3olZ#N|q08N$@wR zU+82Hual{^^O8h*$S4$y1}mL3#TNJfcc9?&?iYM@r?tK{z#`o_P59 zD?so4l@Y?gEFw}@lMAftqJFSzMAkAVRtJyI=fWLGGET@yvsqjIde6T`U^k(>p@!_w zJCskvFK+Phy^n~%7tt&32lJa`fcOo$Pxy4;3-PWpC+9dekr8=UDVaZk3)rzg%F|{z&{8`Z66)f#LFL9R!p1O z3@2xrdTLYGvUR+MNwAy$M2@#65L7-GkE?F5v*gAQ8E4~#V|RBqj9#EboWTQ;-qu65 zpiXUZ8SEkRTGwr6F0O$sp-3qSpuT`+YkxzO-*#3SI$lMquuU!I*5AVe2txvZ96P23 zDzA-+68*Ssb!;X6g1)Z4flIv-`KRkNwnMltg7@yM<>PzoE|gX2CH;MyCGN)Q&{^h%8oD*Y#l4D zQ(+yY)4I=Jdy8sf&TG>%@H0Ppe^qNH9oIO%`Hep-KK)AI2bUbt7{_m~+iQn!Uro1h z!k7NkYm}Q;M5-b{Z)vmkO8n^&x7s!)t@+-*eQRG+SCu)j^%qpTXQrIcr_?JTzJ2>PDIMKx z_PO3yBTQSj?evAk){rda)5_RlNc4x^JO7@12h@X|>SaP?qcSryKYGc+Co(}){BpX@ zbEL{nAMxAe{JzdC)+c)s+ivuZb`9AM!F&`}$?GyNUgQAPp|;*tm@A~U8DJThGj)TL zvsk9pLp=0oBb~9ZME!(|k2yx2kxt&|`9b|D-IQ3Aljqa@=4jzl@BSUnDvsbR^4=pl z&aAvqSxa&5pC;Q;XyZGqO(uh|I|BJ(&Dm`qy_Ho5wvS@GvSW+9qDxKnNlu@tM$!y? zdg;_$YJ&Cmt!*VrQlpAyDh#k8V^w60T42M&eO#oLIZ;t4Cbw{6*+bpx`|Ae1!t89L zW_qoB*eiw)2$s)ol8V$HqmzyJ4GdV(L;&i52%X@&%c*dl4o+ zFgrE;RV47-p{CDl+4VU#@{Dv4$RAF95O+7On#s@0+w+W@a*)kYW~V|fz*0G~qA>ee z7Bn~zld+k!vg0^%#z$f1H?o{S$Ml}wmh8E`2(Aspmp8~!g3QH%bOBbje5A{~@2@+*P*3Uvn;38}*XmJaCkNJt^|ybxOm*iLGFWy#wdWBt zLCG$4j#rPF#nCRf3(mUO^H%!o+`byBx6UwIj>;-8zX(jK_kCn|n;u6AE3@_RLqItO zEictyOMKLd05if|TDb&txtzE^?APGkT%pUqU6MzWoVA~jOoqEYBN(sr58TbC)!IK? zELp;Str^&2YMv&nkgLXdWz)!wZR{HHUbB#SOUT03A*~$oZiVV**L{DCO*t>nZh??xLW=c{ORDuVZG$$!NS0jC7sVPrkB9VxC#+Fx5HK=)lB=lztxd_XI>l zcen?AOJv}1!XbsNFt>6R(k(J#hOn@dWR|uVE64fnXFBq!&8KL7;t#(68{9&C>?FI##klw&ovx#Y~606yn|{BaM1)4D4%D$8Kr+W_i9<#0*K(IbCZb zR7sesy_)Yj8Iz+7>`d&(tViveW6V47Ls@?Oyi)uuHbrkMd)JlyONxq?u7Iv>JT9he z4qAfj6O+&=Y^Rx%Q}Rf4rEQaudFAnKR>S3aY|r(Q3x zeQ^j0JFNN6UD6>BLzWLxGG0_v)Jf}S!q*PhhXR1R<}_uRD6^-4e3F0}^)b`Mry2=A z`0tsoS-(zt9QGBFC8jqFf7HtP8AkhkxJ+V1kHzM0!CZS)__tG2%^m7i4PFagS)tn) z*NrR%nNstJ>CwM`l#b*n4~yduapce}{p@F&9Ia@2VDmGFb0|Xy%Nfs9a=|{<*jwKw zue7Zr%g#2ZZu5{l8efRKWOgD1Y&~aW&n2E##06RXNveMkt=zK_O=Om-#6dMJoN{pO z={p*`!y)|SiHup<@ojd)D!3CH{e|k7S1Y4|mL&i{hwL)mj+0pE%T{ zriOG+dHiVUmsmAfQ9t))oHiCSTOJ5w<}J3lNC~UV6>Ran0l)fxM@(`iYhnx3!-%K7 z4)8Kq6CBY$AqR{`9uC-v3>d7{y6uWOP)3W%peTk`mK3%$^XzWlDA?!@DXg3%9^<3zsiHGn zoJKn`Q|H^#i8aQLcph!wo^Jo#Ke9wxU2W0e%uD!3ap%C`Hl>?Euiy9qk8?`v#;@qe zXD1dGQ3~w5mA|@8kn^OSFmR@Oi%u|HHjCF{4A;}`ALPlPw zJ>k9P#6IP5V*Zn>v3le3eKhXaeOpDcwVY?9CV6vddZF(h=c|yyRGo>+#yfG475#T? zGK)^3x03Y0^eqPRcw-N-B8h!8R287Ay8&YWd@tAkTaDeIXt%Ex3LDf_v~yyy!kimF zL#R*Z-xfXfzSzp(Q4=VX$yFUR9J>Br73M@{-z7f>Qxm%6n*uVSTP%ll@@vkEJ90&Hgl`nTIS= z)Y733Vu*9@@QI*g>CN3{_p9XPtO}`P=14kKg=4~aUiG$)*($C<{-=5Sw3BDxg9ne^ zq|rbBb4Gkm%fR3UXoD)gpQ3&FKR4^Y>lHf90`DjfOx^~U$JoTgXD$`HGr?mlaJr@& zE{r$^>Z+E@6AFdeF#lZGJkrw5DUMT}(SgM=^wCxy{Mp$NNGtu8Ks?9#yM2&+R<=Y$ z+9Bs{=H7e4*s6>S(IGj>;U|th!3tlpd3h^jpLDw4e5Cx`Sq>*t&WIS*rQEavvd+4a zh=p;A(c14OjuHNAc3VTAwd!rfH2S0E949rRQTCHq$ztZ)drt#0H%8d1pJFC`DU|oo zh;98%?lDPU(Mo%nsUjYuCsC>t$)*S&1G+v*6{u#6utxisC#*mGVtmD*@9JEymc{b8 zK-|l^<{M75nN8T-;^*=f`TX|gcMpW0bz9T1RlHPrmG!Aj%GHpUFxPj1!cBn?o(XKM zV|U@Qs=2oAS7zr>o z%R8@BN$h_wpRCbTkXC5sIrqTE|w$mPkJFT5eC|$VSHSX7-n9nVhjF31d%9D+0PL@2IM+rC({K zYJ8!KkDp=VtWwh4K0LkXmva7)<`7^+{fPVhhrRIy3cd0dxIt(zsY5F3Nx@iUwE?p9 z|8wjA=j!v}px_P#7iw2Uy?r}fbO9#4$kSS>5BVV|IIZrf7mVRkaewMM;t0&UcPxF& zt)VnDrKS6N53mmQ2WwJBYHd_k%2lR4_Tvb8b$zNK8iwPuFrEEw@np|=^I`9?^3t1) zF}9RZ_v^BzTSZ?qUaI+Emb|VBYv20zTBukYwYeipmE;iv5yQZc?;Jy3q3u-j-3r;R z8HJQ*yZwuOj}mStx@E@>to{Dg*?z6`?9*JCe1XxZpS#piw3+>`Ihylj0Yim_8xxmL zoqs)bWQi?n|L>K(Pf}STBm$%6QNhHjvh72}3t`*~`}PY%15i_O9uLK&kBoV%(!9P0 z0My>0MhCtuOOc#=_?HMaNh{_b^{k$4Aa{7GZuVq18fZ!_K4|Zc;HR^Mop2_mu!8@oA_1!neQJ)J{NjNFA zmUOdQ_og&Pm#pn(6t?hhr@PRQ2Y5bpu)T5*K8|ds8+~Z=EjnK1U^+25sWx+Q(SXT2 z!^#o+=I}Dr5ZC*D8K%BR^i0!aa5x|<<9pAQL?M>IRp=iW_;IixdVVs4TmDxCubsVv zBF})rs9cxXM6CBebq#b0Y~BsQvxn^14J$5c^?XU6g#$SMC$%Gf(c^nd0QvhO<jo*6X>r)!_)T(UrUp0F{+`aR+)Q?#G&x>Vl-W5P0 z0+GE|zT}jY)@fSU$m*}!pmTS-@gphBdZD(Y4+0`VOs_L#UU2iTe?3Ftof8fmu9sL3 zGv%udcM<-h`Hd;Wl-7y$ZocSN4R6P2nC`Uh2~m`qRh_9U(P!PsgwuitC$7zUt_*iA zMnCX{gx{id)cD49El2!GI_F}_gjky4YvZtJ%L~)@fT5fi4x#=k5}94!GuN<3F>FSq zLg!t7$Ue(JWLp)I`G7XWsmGyag@JuP*C6YCIVS)fG89zsdQCW zwde^8l?cH*{&M|te?7c(Qq|fA%Qb>Ow=eCxPu8trH{KQe(K40W9wq zxEXTal15JqmY5^kp3;Qjk9pZ7ZNiAj7~TGc2<4+!@!wu)i=ICi*m1!pzHV#a?nwvm zk<1pUzuL>=uOo}j4y>ImXY`nN_0rov>pruWQ~K+A>w${G0w+nfOXMfJL~P}y=fl(L z$UBlrUYf8Hla%_x=WEcWYCd>7Z{7oj)nt7Twh-CEqwc$*V`Sz#dqKBbgDv{m*(ND zyOJBHXbJig{|ar^^N->gH;UviEOeRO_r5#(=qI;x$q{}7)GO|{9n_f&4H^1z6?ryA zp4q`eH+dt@i(f25+&Zyc6#et|i}!=dobG18l?xXK3MeZ z+Zb^l4L+-Pau0u(B&H>q1hD?UAoW+#!JQoM*F{GxIfrJgA&<7(n&QsttJ^u#lGYRR z*?+eOev)J*aXUPGZOlT<8fb3U-8JAsN=E%Q<6o+pt#J22mkSmNwdLb9DP*-@BOscM zw61DFO8@7Qc!1^ZJ#`OFQ)i@Ujt(c<+gzi~FD$;gZ-0JiRP1Yss-C)#H1qjTl5w!| zQpK@m4hcqX4Kq@vF8>Nx7;=@_tDT=ev#rT~Ru;63=4{DH^}ZLgH5L%VuG!TP&Duxl zMPA{hg8dEK1+w`Dl8pkKj5F^p=d!#7mMc5yvX{?f=05O!<>=vG<#uWo1u(!W_I1rH zgO2Tj`UD>DMzyJ|0@$|J_b17`ND#xqMb_jgVWge74>;pl#j`(x}uJ)jkA@} zkTaSyJG@ddkzyM+nLdOP*X(gf$}PEil|1H96@bU`qD$)6pAwI&ZMReNaalt3v>MNv z8BO`|N>dXX?GCQ=hVGY4y3}4{MHj0jRrZGbag4w2!s_^$@)5bFc2kZ&78if9KKAUY zLyhXr!SqM|YJt3@wL6H|F#4kSE=#EijrjD3D)Js%XQv+e) zKM}B^FxQKF=4zlgz?$ae_9B429e#1qD;It|bu-7FTaO?X)(oL$yf-*V6Tkd7gawx_ zZEQItx6^Sz^|ka{8$n7jqZafUfaGmcX6d1;6@}hzJ?T+i^!wMNXL*&Wq8HTUuRdwZ zVsFebQ}b~9+vA))3{}oY?rQ7E@{b>7dvh(XFX~oqkQ10UZ`;vS#9Cahb)3sCrb4T` znj6(PL-`wK8OEz=BM&{3`1jgKa$@uq@{=Y@C!>m*yh_2Z)4DLh_=}Ca^^tLpHD{sg zow3TStwL8yzS=;XEx8Nqz!mLt{JO$grnjNa891eH7pnf2pXet4pb_u733adUp>?*7qJ?o=-|QT)h^%`sXPZ z@J0q;ue!Z?EzvWJYgIbK0S6(sGrnXETgs{FyjuNR!pGyakx}O9y~e_GteZT(RIp?* z%6{e?^+{n3+cpJXJ~8>9rm2dWV3gWBClC9Yx#~HFH)s{k&#^nq&Cib7x1Sn06CW#V z_oOBs8|}Pp^}d?%aiwRs*s(}8(pb>A6cdi=?rrQ3#6S)@d+RMvE z_DPK``ZcQ}{rSYF3F5p7gHbE&(SrLl-I0`Flvut zjbp88IQ`_XNd0uT_b-_c>T6#tqNw+K>BO0;U;l66-qxEO33%o`NOeX_O14supWAj-X{t{v?VV8E^oEkdT4S}_C$ym(kS(Vy?WB-3hclR8b5f_mDaw`b z`wi};MtUFP*0(8mNo^GlX3bKFO;_wDa(J>8o|pY@%!d#UAr8%X^OaTC>y*yr{F{$Y z%t8mZk5aG?@>RR9`-?(Jpj9N9BXW5<Ma(x#KQ;j@^& zYiG3j22Wi3*!N`LjMy!W9qX?ImyftSyFX-jqVk!jF@}v&w2%JyUm^hxI#moa`Kut} zd)n=bs&_ve(8{S5nrsL6Sy?=Sz?6gNf>5tJe~ouRL`RaP^aJdKk_SpGoscVGl7+{m{AO-EI8G z$=IjWwb;#*ZtNi3(=}ZgQE1b1vO1#f!Jf@wT=G4k@!~H9=kHg4T2uZjnIvDv6?})B z-?HK(xJUul&a#MumG#EMhw-4cd-VYZyp+=gcy;cLHTJIsFuLw-{MIF~)%Cbho6@PL z|0GwEr%HaKIrOlaLW!vax|Yz2-fvHtgYvE4GQ#P+eZQ%^p)HWV;ZZ*E9lZOP_Cr4i zbsm00A5*(iQ2Fbtvjm?oA(<0v=Th0G9~2bJSa%%vJ@TRBv>A6Fe!PcVRWmPug~q_u z$N|fgk>OZJ34yJ^8#So{Piw+u7BZ3Q&w31X$z*ppCinMq)a$mu^evH zyQ0S!S0@J4nnxd-#coZ9_T$qFzB#n*Y74~5%)1LsoPgAxUuE`AgyY6U4vD{w=7qTo zHr)iTe^1JutNAalrA1)2=?~S_0wt)A{eaGxrO1jHqZ|}M{$PqT_@!p+?R<(DOBj;o z_jyGAmR0 z;7KLDx>)}}_1sTwehEU5_M&TTS8s2dWre4%-Gih-^Xx}iuyYE0m33EiC3o*-xNeu1 zO2CYR8z?f8PgFQ~anwb67j8?+Y<=WME`0+TacV;xkPv6E8N|i-ez+4OyrSC~KAR}HDJL;HOD^EMwGiuk zRaycEe<{z+^voqv_BkQ6fYz|x!30qWDeh|H9~%L}mGr&;EYVk+nJ}(V53;3baL5WO zlS(!g^ykietx_poqQ9H+PdNF=EJpkHV@jH5o%0e@Jg(SmPx=HJD91dsH5*LGwU6kS zk3%sFw4Xk<$H2*dv@W)!gXO|4_d%xo38y3FMe3H_;rxz>z`xsiudklkO7o<@!oN-* ztYCV!hnM8II5O+7;5!w=?T5l%%~e zc0a;r?&ijbV9I=I3-)OGKZo({BYW1|loz$prRKU6w5}9Oj{L=@o2BJcNQY}Ow8{89 zX1T)L0NmfrWwPir5#>(@3N>RJ@$w{~M;~xBL4JzyBg{c<}5`OC{5xg?XYgWLxkM86mJUpLCA$ zP?0u2pWVF9TDwDH&r>};22gRl;3G=xX$K|kM{94Uz`ct74IwO-oi;8GT+O<#RJmKf zC0w<_$hOlwG)(tWl;ZcU3uM?-I&#(2*qy z3#8bsD%$e$h1j*oFE-N@(^JYV$lvY`f567|r>pe8y2{7+K@v7zfvzCJE$~w6T{^}4 zQIHgbdc$w$=D;JR*ZqvMHDw+bQQGbfN(_3rfyv*tc|3lNV9F6QUBKtrdZh?BjdqNeE^P4Q_7=TavmG=v`LpEK40o~dS6UM z?Rt1>QFk+%?N9y;PS`w{I~n_Z`3uLk{@CR`gKtX$Dhpxl+x)mQQj3Mw6e3ZR=1cb3 zacec-GqOZ3?LNG8@1}s(6+6r!toRax4)p(ry|)gE}XF(*rbGR|5O3^hO?O@T7e0{@TT!jL}zoH}3M z!T8_8lmqW9_!NW{smUF2k>nx}7fT^NDNYTvggIFz4FB5pH$pf@E8Un50O;-8VlfG1 z^|JMNDm9;Z43F~!Ob)u@C`)$}L_7DUKgW|xAai)W{$SB`_0_tSPpKeqn$|Sra)pFW z#<&>p3v?ZE!5~<*rH1t!Bx~v=9}$!PRcpb7gQ#Ze0e{jV*mN_%qCWm=D0{d#*JiZY z$a=NxtL`zlXwE5fEhP~kre!cATs!%w9NC-LOUhu-p+`k-``+>h(rZ0`5ueOtBvCzu z1l~u`%usLearAs(0)@60<6l0*8TJG0n;ZjgMBb8xI);_;Z(;<%0FN9`sp)}FoH0x% zte^c@NfCn9at*+#7G=K@H=Z!VHcR%$dFq7XU`qbvd%1ecWe6Oip`d&P0Or4CFAV|g zLdWsMMu?3Jhpe;t650I0udb>M)Q8GV>Y}_8A|=h1D9;&aTUPO%yQ$ATEvnCM%gRpf zgGHaD7(FZYrxX(OU9ZGRR@fq6n{L3AuD+yJF$DQd*$agq4RXaUce$w*NWz1v)}HSN z@Yuc9C5jXYqx4y*bSDXpho-(zo^mlKIKxX<1l^vt#YCq5d&$+NHpwniQ@PhmR(kZrPS%32 z4&$wF#Z4WK?a?dDc0J9b9&Jryb@4oCpEzC{Z*@mXGfk6ACJi_*@6>lBpYwX^ECD>m z@=1swh*HF2KGCr>1`zis)T54cfAG? zADaV`;osA&{{p>!@VQO?73Ti%L@e(0$bvAlcl^98TzY=0M6-R4MSEF0ex8e%hi0|e zE48v2McZn$(jabXkR2gY(78u{?t0R2s%eQEA2>U5ax?7iIr@d0vh;ke4Cl^v;NISj zK>s8(H~yukwrH?sCNC?Gr0%hs^Xg)dlam{|R8TU}^(pH2=|hl{W=cDU7PVn(_aloS z7E-VG;OWLW*~xkajZo?0TV$W{{7Wsz-xv~rasrT$iK(f>0t2B;qJb=z5g~&>uLZ`Z zv(ZHkyY-(?9lnQ)k3Fs5-%qPEu_wGPEk}p^5c+oar^H?yqgeQfojpM^nO*eloi6B; z3x;opFrnn|n4vH31h~8l@QBv@r%}F`t_@Ppl#>r&&hsn%kr_nl)iH&ExDF=C>#eAZ zaM%J`wBQKKXbMaehsoh7?HC#YrP!N!8@=?7#?r?jLMJc?cmr*UtLq+gEtF==T0={n z`Qv2N$&WeDSQMP1(xzmxRk<{FJJk9w8yT*ns(~@taov{~Kb05-;CMlng;U%z9+G(K z?2In&vN5bD2VqV9U&Af<=5OLT9lN7B*=R=x=@Hs`+O<-R2F}vO>%AaWOY=FNAlDqx z%ddN5>)kdmOOnffZ9t67%T@f2Ex{VhmU8b&P+f1*vs*dml9FnSk5yE~W^JJDEj7Gl zL9||XiM=>`_2j{Rk%Rcjx&eXjWdl*#V$HHC2Tu-K%ak~s%H6$4fSiu?Axh^5owW3}Yht0LDqp6` zQ&mb|2r3=rGrleY!u+uUC2Mj>Tkr&%4V60ySfb=SX% zfiNS*Zl$}oR(IL*Eeefkp^p=I%a8GB9s+Mn~HF9b51-#N#Yy8y1%IR_Cxd!gT z313Oe_Hooga^b%9e&Nu=-VN&Uh!uWf-*4!M^0Yqqx^jXi|6EJAq%1Zo+j|q=O+a{l z#!_$T7mlpSeSk6PdfwTwF&QB5o>DCVO1SftxuZA0%7I#u419aK~mxZV#6RG>qZVp%`v(cjV@;@U-b;8RXCsY6Tmi_qsRFroCW-1XOb;} z@l&WZEjTZnZ}xCIril2)#FwL8S}Yh1!3A1<;$Ib2Z3PghibT4H8XMrUxy?oIH$T%Z z$g^kNQNIK%R)lvCMuU-rZ7m#|v&$9_}B3``O-l4R~apOLeiP+>O zdx!Wt$FBY|2uITI6(sb%<=RZhs{Z(6K*Y18jo$J-@@T6KmYx=F2-cs~+}~Q#*Dnb| z#rguR&O%oqy(iY?9$v_ax41f!CGVI|*}l3M;E^3+^A^iaeC`(?oq8)N&=pzX3h@t` z^8-okw{Zq?4QL7?DRFaI{h{i~1}>W+N()e&=r#X7ZnyhbK-p#hrNOst)e>2QU=1e+)FrKVS; zO0IkQw|4;=Lt7_IR#*Sy2ffgRt1CA{q~f02$V;wgPdWcMbmM<@kDL(}3kj~4L|z?Z zLt{AfZl1pdfxh$GK&IlSoN|BUglYJ1c{w0K-g&NgAWTp?n-7gRj*3-424ukX1AW4S z4B5%z$Md%J!~Zn^fj1I~zrF@5_LCOI(j|HDKq4%pm3kFyQKGS5Irzy`EmYQ-jLNj_ zu&rJUBl27hCUu(+awuX+nPhARn$?+ng(^&OOYYX}u!N7ds{sOlY8FwI_d%LpXI>E4 zxr73^;L=?O=$>S+B(lF|pS64|HW%UT_FAcJ}S?7Ppl4aAsh=rnjq z-rTRmCGP2wc8Z0ENtNH(74KZ!t9!)2gt2&ck)!r-wu^sg<2}M2h?FgfeO4um7#4~~ zgzQOT%r7V?@mf5?PRh>yJ%hYd?DXEj0;SoNRE|=skioc(5OiE>v)N5bkSc<3NeReztTCq0RAUn(gvC!|_)P z(1c!*wYPL)Qi!IZyWek16D6e|R}++@J`V~q&c^})i_Kk;X^tWgJinQ5x;}bU-v6|^ z{PCZL_~r;O#KqT$)Xc6=rjAytnvDaQvJyW(&zU_sXY)z%7C%)c7kNDPJMn#MeBk6@TqX_W3teaiW$H4~HkP@T6)v;7jVpmvAIEBwut0lQ|_IBY+o?hXo}!&GS* zB_mA6-w&naM^QpQJBSjYzl&tx`D8nv0TFAL+uSg&`3<&WVQm2}GwrKy_MlRQ?)>Rf zjXfE-Bf)QOdB6l-GaG$^XvVj45WthPT0P3aUKRDUbUcpPIbi^Bno|fYFKgs5m}!^C z@!qT(VK=RT)tjFi|25sJ*nsqPiZA=(1$`8tcrouwB>i*uz(a{7z7^Q8vHjU2_2sHi-aV zI3Rd##bXae+O9r~tI^3V|A8E6g_IB_6jbY7jlX%uWi`HBRR0Zw_rU%zXj*NA-0Se6 z>^_&pWg`drN>t*L#}d=i_5AF;tqf@n;q2L7>&rl2ThAz4S~zc#(B$0$YYXP8;q|Yb z&amcz@7){6nJ`xKB1S4$+t()=Z+;`NMw|lZCBc>e+7FSCyr)$kufzle!3`_xu?*jk z7ytSdO+i8b*=-1ZJf*LIQ119JH}PFl)I1x1u++}Ljn?-+Zl`kIw?lC^H$zf4lmFt{ zM1nL;R#eDgEw>AKDyQD(D=UXTlSIeHFQ0|nu6v+4@M>sMTTD);1lspkONnXM-*Lpg{^ zyMboTi#BR?c2-c27h(1Luf)4WinDA+;M{p@$G+#&*t8x8(V+JD^g%5$*RA~`$WxJP zj!K{Z6b)B^917GrDjy#oFoFPs@_$+i$4$}D(Oot0KalJLQ2WM`1#|tJw=;4_%}1Yi zwx{>LZVc(q=+&M%U+q4vZXq}asZ8bD4=Ob^at7m^az;Ru}fVGE_~@ch+0ghlt{X4!*IX!Ixb$Whp{sT zGlh|~cz-lAahg+mr>i=AQTk{2j7UAc`5|!w0Mbn~v{Y1GmbGpgZ|sJDhPFyyu`oI# zgQ)cIz?A?{hz_r>Ke)RBQYChuz#NK0@J@ayG%+6&qG_yubVtl1C7=5tVs`WJu$|#_F^(aaqnnH=+V)fVTBVF` zG*VLd-JcML))EC1*_4%ihGhgrS3sF*?}H+=Tm#L7uk_~lEBnvUV?Ja=|I56PwJk=g zKPqy2Y%)4l|H_K9Sp2$Ul|NsCcjfUgS!!6$5wR$yFjXTYXnx9VpYO0&TW)k~NvlBc zXX!p7{?_)H3eZCVM7>tQGV1C>z@E`3jz8IsKVAwMU~%MCQHh^*0CL)S)79@W0c}YL zs2}~JnfeI1+G@?U+ht;=erGLLVTXUp?S`Qgjw5iJWi1X0AwJ%3f6S2-V(A*_<#9%- z26I#gYS4%DBW1IfqVxyh(#@WOeQErKO>EiIHswAlnt;dzZ;5AR5~bF|@7NP;KI35t z%ANBIu88x2$JGjk%40B4{s5kiUagk4Ps#74TqKvbIqvVHAM0%8vGIs}p~fIku%o^$ z)JN5?r^nvuX8WGAXz*KkRSBbI^!w4Dr0>>e2ec1%tFySYK1Gr7%t<;h4i%*zVFj>C zQ%>gyV40H^30?ENS*S&}&}q?Cr!RW!vsAAKB##l@MaF`FZF=(pwtp0i5!fZ=P%=0$ zpu5`QQKx>qmJC3a{n4>N#le013V+1^Ftrf7!6mup8UWAjT+_h~=Q7~}u z$hbHWA)z0$*FgUNcT5Zl28OV{J_$v1()T~KBX2TfU`>{Ufq{9$eYC8dt=F)%Wq|N) z#pZwOWF(ic=gC=`jQD)p6!=Mx*lgBHXLp5Pe;ZxeJio)#DRTk~>I(!aeyoVBEXDE! zQxW@Vn<*8y1|XX#DcZbVAGVBW49q&1i+Py2C)WXG)FH7|!i|Im{#90br~?#D0dleJ~Rj92#c)+vK9n%dM|n%L)`N-Cqwgg z99K$CN>1v&Nb5eb<+CeOsX1ppR|R80YD!~-m($BnVPT62L`^C9u_N70#p{eK;tK{cU+ealLYEt`-G4(=IhjH03g)-qM|Ol zAFv^$Q9)f@0zAV2xrKlp_@^5Kd0j0bCdZEoUo;+sSoR1T;!3i*znHTm#_qG!3hi-QQYfcw;g`RzG3s~rf9yC&P`o-ef}d(CfY%dY+Zu3hv+NV1xYa+5KC-`~*N8!ECW0000vu zFV-(xQlZ15hjd3&{-NQrSuQ%K&9;G~|(U{;b6Pnv>8UL5@o@Y zkDZqIEBVs-cHX5)Eu#E4AwQ;Tc>X@AT9gh{Ete}EkNPb>M-f>rhM4lpMf8=+{ajPW zkITDREjp9qYjNidr(mg-DqVcq)k{pYC1Vb#g^L*+)NPH((>WiHXVHb*|YGP$2nh zFsl%Je0%^@^Ym%ce@BHG%?yr)6PX0%`pYneBhEhyg&hgS)mp`xzZoDw@1xf3=R3tW z-#L^7of~;e3exS>@cg?MU}Bs0qPx+Fkx24zd!y>tPyE>P+fkm){qb|SrdtQYC1&rk zC>DFA^21%FyWP;!dG)PgVQaH&qMfFId)IOI6}KZ8h%WG?myKqIz^rt+_?Pk8CTD{V z6IHN3R<2pbd1Pu4fTSMz)w!+>nEtKZU6xz~YYjq)xU-R_b(rW#DOsW@Zt3!$hu-IvcjFb$XMCLPYCRQ29Al~_;@Vr zFUBA^IEfbs{(=8KM5swYP-Nmo#l_#C)_+As5k@sjd|Cju(gMex#YglI9RSZwwc0ct z_}Ruo09pwC9x~~1AR+<=l1N~0oNfR*F&i5j5*Voahkt#nGC4Wvo05VL2M4FEqXUYH z>X2yi@4rPxRuC5lA^Ce{|9mX)6WGQB`Onw>=M@?rD#+h!`uBzZd8Qx)uKs_%^gk~Y zzW!g%{&va#>yU@02mSe9r~UIw9*Qm?%>Q-BeCh(@{pU6ReVy?w5Ze2HomxO38tMPP z@c$*2|8Ej6V3*Z9BceyWxCr_>= zOCbjXUNMP+lpOQ;9cmtn4at7GmGc86&w0ldd`q8nll#6&8f{5Zb7)(#aJhRP>XieN zqCuyb9Gi7=9{HW;zh>YcJ)ux4`lEtb{3#-JAC_1*EWl!}cgEgE#Qm58Yywgk^ z@Hv!M-4by_4s@HPSzp?pWcAvHIC%^p%>NbJzxnu|xf>Xm=U)D%qcUi**5=5hrS)Ov zpx!CSsuF6xsY25;qTM-3!fI#h9Uf3Iupn33b1(cys_alR?0bzFzx)G;$knEi!7KPX zkt5$%(Ni4eQ9x)W{)$|g|M7|Agoxj0n*x;UP%^IEnKNOx{zRQ@`J0<7`U;2R=2*X7 z-3E?7oZyN$8}g88HLsBq;uStCj9ybiTDVEQzbch`E7CtEPBiVGS*lF&)nW7nxZ6}tAz2TfIXq1mLB$klJC8~bq74_- z{|_C&s0ASp%3O{Ar`dQIix-Z8LiD(|4}ok^Tbx$3S=>uYUI82?Lgo z5zFQv^ojAbCDKj_YuK3m^{2T|Rf(S1)GOX=cP~T2?>fzdcc$Zw)=cEr-jqeb4i>>R zC1~G2f*f4*1&f(`e~)d}EtdQADWbjpv{!HIJ6>tjtAH+K6)r0pZ0u7gTA`9&_ba;I zNE}U`QOqM{{5$9trE@y;XwrMcwf|O)roXD85QF+-SI6YuF1W(C%xM#U2#*zUI5@d3 zGANOQdEL2+YPGN;4ocwDAn4`5&lMv7)fKCAfDdi|*6V{eeUhWRLP8J>6H&+nIKF#%B27QpKMH@&FC!|F zGawbdTQ5CdkBCLOJU}KdSwT&;ocAk*m5>T0v)2l+4Xh{m zKc<<~9|uq{kd+PvAA{~Jp>W@xA{=IH!-`hO$p^K_)*+^n0F*BlOaJZs=s)2S=8>I4QB z*t>zCBAZY@uky3reY}(~P>4d<<4KDQ-fCqD#g=HBE%fTnu))(-g`oeZUmRcb{o|b! z;;!!PIBAtZkU-LSpH^|ok4+N_e6jm8rF1)EC`IHJ6hC+q!AC}pYr}j*ZcffRYxO`) zpSRLP4zkcO)0*=<5He=CdLL?@{#oL`Jf;ZNA1_x>R&^%rmrp(g2?7&D>uApEjpQQZ z`n$tv*7XQpX7aNwU=>CH@98SG{gLyCjl@M$M&$YYPRF%g@E_t35U^sgae?Fo-rD{I zOGr3MsGyLK2=bBts@!4D)#F3UscDHq#Km5ea_c^dEYlSh7P3DauS=rXzTVwYeTY1z znX*b;2XCbR?>IUzE*8F8Dbh^eAX_UFM9H2 zpMQ51HY_u|09qU{+*4*qi?aiU+g5RmNa$GL+u)F-ZS>nWYfst_Ot2$k_Uq7*qJ&+V zEYFdK3*7ikwazCOA9*8Mce*UX--n^wAJ6CU)LT6U4$%gY^M~IZ+*UANcw$^xcpOvjI?$eC>+Ls_vsx^u|&yw(Dz z%#&_Qf=t^m(_vPUy!r;y4?4*(^;QPsuh44f2&k&;m@V!zADTvnf53``L%_t>KWB5I zAb8xCjE&FB3%WrOmHUo4Zj^T1pLGy?+pZKc=_sFf_?_xOq?g|Q^VDCCFW%oN9b99$ zc_W2E&qXx zD#=7R6nh!e@Y`ySJ`|4~b}R~0a+3cecdoV8I}oC|YcGN*jx9x#-$YwevT&y};GMgr zJ?V+-ebQ=?$kKf%YfkpyJ8(x~PD)w4LL3Lm*VAE@z}t*Sd*#1pNz?2=XeC4e$NojC|x0 zMBfGxa&%sKrLDnwHAK73d0+%$=S+Fb0KC9WTpc4W5UB!i_nlD+zB)2Rk)dPmUB*`h zIqs4A>qcvKGW;EqGk8gy>#)!un9N;ypNZFhHQriDA|aGMKnD=yzKek$cYBaE=W;}@ zP2m)ttK>MFzhi@_Px$NsEw9hrz5bf$fBG6uxxx7XYVjJr>W?P$4Cwwf`bHCJ2_d0uBe0Z`ZeFw9NZ9LI} z)8J$RN~VB_OpfGa1KzT_Q%Dq4*fiS*a=qM`8J2%gS4sTR-6QoQO)r;Ex$J}hEEgmD zv?59E^YUyqJ!C!s^H6HQb#0U;X;mUqPnn?Fn%(Z_j?UDLlkE4(Y`HAhO|G>48z-BV z+Q9>0a{nGS;5lR9Z@8%No0AkS{hSt+4lXHKrnVbw2!Au90!F(l-C@pC%>#|sWy+># z`Hof=&0D7uI*zFajg$#bMy#IkBN<90@_a+Wj}t7Fww@mJni_PvDWzqB)jpV-nwqle zYM(Iw0``Cf`aB*m;>TI?B}Q5QX~&ER4x~+ z56Y2Nl&m(6db*vhtevXN)FDUU7uxI|q*$$WVRNd#C`hJ6adwqh^dc+%=1fltm}|L# z>M$4xxa$7KIGIwio9^o{487#@s#b=4JF$|55Jc6u>Dw(gHgP4vap{z!{XnU6jsi^gC}`B*Lk{@;xvW7 z2hDx@esVmfC|4nSs*rm@)nwi!W_2y9~Vgu%q#lUGY^lB=!{HcLvK zroK4|1ux|8FBp~3QNQ`oxq<#U;vd2I3jW^(eTM8;ek}zj2ER%#D5e&XHf6vET_Aw!XRD{OAba%bu((~kmN>EqwqoG@e&tU=3< zTAH^kaO(>T@RAgyCgW*@2WZNQDpzbt<5ks{ivsG1?}e@c^xC&8Py9|a3JZ(EjV5N^ z<5x%1=2*<0?CE9_(X(;juCH4uW)T%f%0zv>v*?Y$oN22&)2jP0ANXJei5_+kf*d0G zQNFvg+Mv(nB_BwIv6biWIM0_h|I^;{QkxT zvgqIWQ;F3;dG*11RVC@(fjnblvR-=F%S6`Y_T3>S&fp6S{8!lKON97n#Ovz7!PUWj9bu*#17a2;h77S1^ z7KgDr$g3L&LNG9{6xnvG5_`-!X#}>8;C5OOxOONgFxc}|kUw2seh|N3|21*5YQSA9 zTURP(hVbyF$ubxUX_&cn5x605Q z4%1gu>Q3@<*`xqNhOVYSd3@o>@6D$i?GqES`@Ie4oVcUXC!fgHjkqDr1Z4#(cf>}v`s#zEM;KTN8w zNKHIBJ)B7JMNWXj4%fUXs7aLKTf0BLb5!-JvX}?oY?%wZ@X0um_$KUEaZL)e>jtUrXko&~H7w$_>ET!C!6)a}}B@$E+$kPX*Ndb_WePilf4 zAmQPX6t#{+2=M%1w;-OKX@n36*WS^#5FbY#)Oi8^$zU>Jgbm%`cSsz1eRVo{xug*= zAU{z9zIy- zV8e*+I-?}Bequ0Wvpc#WnYen*ApRK4@G=ZGUVaHIbA=$# zgIj{olo>K>I>OWLUjXXUY8@sAb|&@7##p{ZHKYJ*4i6Tz z-gCiXC`Uhg_A7kdRv~`R>gb9%h~OkV`$>+@Ey#p|wTTP@P^}#%b;y;3hp`WIDH6yk!Zfe1lku1iyz+--kHx7--vwSIq3NqpoWXA&a}eEK`VjMZY=e}0R$4ii7n+e1u5CRo6!yz$@l8ljl@858s9P8m?Y|I|XW z&9=9g(OD!>$GYc%yHXDhxPwmr+r7}Sm%OA<)|I8+&<_8TNIva6gq?;0TV2sFr3BDPJuZK3J%IUD{oombDoIVZ(p*<7@f;#l48|FW=pWycUa9tQ4rQ9KOc1k6Vz;? z&vAzi+dU?f=G;#ZEK{G*P?w4>y~0I(kx_^goS6UVW3oH``WR9&xY6$@S{5vyeQ2?>{Zg-0$m$3NzNt!xv^D7MrRVV%{CE!+ISVXiMUDZ_?p;Fn| z8$~kM_(`hauNFK3nAED23=BWxX+spiLL|AyhR=r+n>U7v@4i_e>`U1kFHv(UUDJcY zemS~@t~t^2p?A38Rx$XgG`36dPZ`Mksbc08L~?dcwk-_^Ka^FK$$n!UEL4rikDFN( z+86WfYav)koxnm*=$R;maE{3&_;)XWnVLc~+qsPs&mdQYx zxFTdb(A`%F@@@*phq8(qxfW&^ECxmfF%xmKD@;x#8VXbzQ2y9<%$Y`Q=q64uzV2&j z-pI(3-z2ffYpJgfN+j9r5xOOXE*PO$tAZvR<40}Hb9;EwqBS}mg9^Wy23)`QM#v$# zYU9;BDJdH!;_AfGZdxj)#CBcNxer*^?NDE-$m}ShWPb@L5?)bewg0$d=>g>s@y^$^ zc`P%mKM@1&Fr%jO;9J2zX1hQ%{NFi%X<`lXZquOj<6h?wFW0L%xh&24?tH5DEdRBrcRpgxMxmAz5e>_xf<9ENjaZp+ zot)1=5t^RmCpmVzJ~-E4UQyhamvw&kN2j;}fsUjx*gAWj+Y|KmDg#94FU+#zzy1+l zdG*KB?!Vb z8Zwea+e^hzmUzmL8?F3^nb=@Fb89z72ca8qW|~kT;7xNlX*ba^IqOh|n37B<3NT!m z6k3QXb|23U5g*rZ62rI3)aGuF&D{^xAd{1#C#lg)Yy!ooR;k`Z3OzHuf*PVoD^z-L z-y0?Puy&ZvwO*~wbfe+y{j<(q#Ev2I170X(Y=lm4Y3hc?ZOz`pzNkR7;RuC7Ak()x zoA}U!&AwMX&F73uHy~ld>86s{yy7yj{IEgT42MVYb1 ztiVfWpf^QG2|h2b%1_Y;dGD}n6hL@pLbcU=*dobWb@B}Dne<4zqTz5T5n4)Kp||E{ z$m0$g*j2rLf6V-(>Ve0udE=j@y~?gTWe%4UrW!H0=o`thOY%7GD1KOnHwglQj#-n= z(o?^Po*s^6=kp9xwVsEM) z(wB!5;79UVg@~W5ZuAAYFh-oW(DY!j8UB<6oBYY1rmvM;DFEe+JBWo z0!wf5{RoKJ_M?Q5yfaBf5q74JNB7_l5!m{0yIk5eLta+hs83_Hc|H%+jcKpiQdI>n zwqD}~q*HLdWKYu5OUz9V?s_vkUKYwAWvhF#c@@N1 zw}TTJCyyn5l(aUHgV^-LkuTXDG?#d9N%M%yiJ+Z+zASGN?zr(5*!32sQ)r4a5!+16 zMUQ`e9wdT1pIINme~uDTRmTjtxnD(QB~{W(P3~B=?(dON&_cStK!123r7JarG>Xl! zKHLMnoe9sIY79eP=Sqr72?QFoNOJbtOI-NnX|KW}|En8}e6@A}ATK1O!9Ne$N18Pc zhN$sRlCd=V{bQG7>_{CGw)q^pA&SYq(4j4)t;wyC(e@y%w6 ze0+W17Zn%ln3}@WtB3pffi*dwzdLPtq&Wb%ELL=6!K;l%@qyg{9U~(MF)=Y?v$MiL zAzxQlSKGkA|8~W#w27aDh+3oG7F?-B-6uI2uRx&?f}fus06yvJ=^X@p2e=T_{reC4|@nHX+*$Qj`cPfA95BO>PR{MRFrRC*8I-&w` zfaMU;%E~Ib_u=L^WHMJO)xuNTm|O?e^r2jnDOJ&nJTC1v3nriQ;rD54Tve z8JocCseC|BQBhGuQj%sf(7x2^bOqq^Z5q%+B^7T2KwG|9nDZf71LT))CrVFG&(mt< zHXKQUrlqCb+uzUUIt3`rFxl<%7B+)|g34+XTZP4ec00uq^&o)t@~e~-qAvt|N0ZB? zbfID~%5XqI4FKI!q|u1(c5~z-K;+Zd$ie+`r}xETp{j|W7%*0ng%Yp-oMM3#g;`l7 zb&ZXi0J>SJ7AzE08^Hf)^K@r(bu?dzn@Q~IMy*-}#RIUj9eVM&-N3yORs$et=ZjXY zCgSg?O4io2?T;7GXf>OhpBFZJBgz3>k0c&1{NV(q$@{pg8-U5)Cm;awWVQA6q1xLU z4apB&-_q7cS-8**J>I*3xKWY2x5Rs*16f9p8Z)&_|ehsc+Q0eT=W z5DLXT08*m+U$3^JBq-u3oLImJ(J?Sk1oQzi{I8xsG;v8u1R9M7zxR*`YXFsUU~urn zgE|flj{V^bJfKaTKqtG7rKM(YBuaGh*qAhxMnjeIE;crH$J`tyz&|JmKwypM$q)w$ z5a9_c+w^bS0{mk9$L9e4LK24)!t>)TZD*dn+3`Ykoztmii`nYe?VVAS^J3KKc2d z0jkdN3_(~<=d-kdr*Z#}P;&TD9B82z~UJy$AqV>o z_gZVOs=@-%)YcBYMRzVeD;Z4!mrs5gO7il*^sWCFK09ri!6l8v+v;| zxNEpe0*A2kzcy_19*ueY_%|y`!S(mgL=$Mmt|mNv_RJrbpuTEq+7atHcaVnayz4#H zRCxu3t4WFs0an_1rdKa~RJGL7()u|$iP&dZoS!iGal`UB$+RmkrFI~}uD2~i=K!w0 zF%LS7plEB$m-YPi^=lt4Fg%NFXNQZTpZIDHTYh@^TsEsR;I*OMb8mTN+PxzwQxE<9 zU%&F%j%6`Q7<3)||LG@HwPuubyBo@-^M$M=eO^w^@0}1*uV#rO8>6(BKQ1a?#-umf+s?qU$*oBCjuY@1%G z#u&-N?d|R6&3iVk!voeVFHAS^wB#h=i+9hbnwo)(wIlt=*S@&;+{44ecBGZfvbUoA z!;KJ3XPiosB9Rf}Sck3nt-1v04jxRAxM^y7zcbfl)Iu&iVW%#-xw*OCJ9kd3mf-wl@)QtuoRG{08se~^yv#@5Z$bhod@ zUAT^%=Q8 z1$!iDm0>3(C8c!z@{$kJ8*tBn_o|18sOa_TJDYIeAV&ZXhYz;lrS>ce;a+N7LB&3B z|6TJlQ3qA87@Q(Tk83UZLWfoR-`?P(7k8%iT%0+Bnaswmsko;4=`GE3s&c9m5C6e3 zRQ<41?KbXlJ99EP#cFyQuK(O-DRPMt?!)$HK+mx&kBIFUY44qnW$)r*rP1RzUdYwI zeM{^&KZhMk2!z&xrT%+I`uh8?I{y~J>*?wFqq}(D5wBmza5*1wcOF*R24uT?6%}5t z_cXX?W@jg{A_rDimPG8o-tTh8Lsy~neTcsl%;z8YdB48CK0a#=iWVyPZ&(9{UtT|W znVrp+&)d}4Xgl65N>n2$DXHBL&d~{&?#6ehn?6yOlcT}}s+wo33E`5!HWv@nig58; z)*-T9`yQMlt`{Zl`bIK8ef)7%PY(mi>>bUKWQTO42KNWi>}%@V!#{D~|9h zyGqaz=~_IPz{xc(+>pF|KPRjDT4rWuk@MK066Y~06&026sHg+NsxJ!f$TGdck`X*f z(g)sw1)hh8hqdPIyU*eiWxwD0?3z?olgu+SGxHMn(FSb0O?v4tq`3TRAjp`8w%qE+ z*w|z}OYGC(aD?>to>E~{Hof@ijb~UB?z6{I3T+13GjtA7Bs_lY2J*Uy($c`1I@OV= za5&G5oQMZ!e|q*g>%{K+$<+VSHvjqz?EK0pG^pVh)zw40gk}(!%nQ3nT#g0r#!yR(}%3?wYVy-yT`^hgf3$3Ho$Am0DU3vEy zn)}u3|5ZYazo9-B8~H zPp=B7espnjGnZJM87A}j-M!C#2Z-gz=W?C2f~C1J8D(Wf_;!u!|mR87BCe@ELq4bf_(Rvpi@4kATxGXp$_!aZsZO-G} zTJH!r`1s_Pshzj~t`Dic#C5;BH|E#P&d%}zVe$DVe@CzfA_JY}4y$Qt*^B!8dqzfv z;^O=F?|myPrEx~`(Z{maOii~sI5=SNH_y$@i5-mNVPj(}@>&tYwh03be~Yd>HvfQt z%TC<@2HmB%cI|zzF)=X_W6B2Pyz8;7uoLyhGp9{WSz{zz@1TB>PNgXj3m9)AmLj5c zkcovQP4cFZ(FPWlB*WRLM~`mb+jZo)kkEenV*1+JT3biQyBJ;S9XlQ#ww3~fLH^v+ zLMC6wVrTR#1E@|e`)j2pSHgi7Kptjn>TNMnUh0Q)axcDNx|U{Pk>d-PxM~Y);|{^BC!*3k(Gqzu#6UkarRT5**+BerxW1-hD6E2TCc9DiF;emQe9pB3)$Lk=KIxOi;HKGy)B0@ zI>4)aDE}A3xb^Zz+}qQ&e$LO|i;nIYUDJw)jP%0@c+7mfNCy~oJFMOgsJ;4K2#4KR zm*CsMDUX%=Zw&qEc-Iqnrz_7)<$IB}wRN(7xtOJ;<+XoPK(JKMy)S^}SsW4oYF{v) zbtnt{6BAjjK>-0f5|v^DH*McvRb721O>~HP>w0d33V#eQQuw~C;H|0w1A~J;3)4e! zTDdpRGbZK0R(A39>DyfcM?8N1*8U&{@s0g?Z(=0fZND`h1l>GqERI0Rv*~3d?o>pn z^LxfgtOwNGYxCnhNW_sXb_i@D3Qt@_1LeU!LG@jroXn_fB!s7?mR5CD6$vX4FqlV3 zs1{}0kLEB5$J17!{9~opqB=be4vs6Z!dvu>j|c8Kap79k?R5!}npf#@gW;i|j#RbF z!}(FdHim$QFAEFr<>w1xeIE<1-+kmr5Drbo9j3pWasqX^?-dpbuP%ktW~`d z$B*pmczAjDpjf{`Nt^7e-jHCT%8k$D;^NZRbF25w%j-4Qz$1RWes~n$x3<)~_R^w* z8~m7^!KN*hR%+qvKL5kQila=Sx_6HDVQG9ScNfMR(zS8`#U&0a@Au*An+-+b{k>lY#kiP zZj8O2^9+IXqU*t{kRAj~Kaj+of3Us^VU6)#U0~@g=moa@IX8#ZxgBLeHD>zPq>*m9 z8!fmB*IW@Y6#%Rc#vJ33kTYe9qRs=XC?CPM2_%;_ubC(;J*5YTS*~1LO>@)*!Ny1Q zS`mFQ?EXDc(BdUFohLLu#&dz4_k(cw)CNC!atF2S3qB@M=aHgcOa>WI?PFjFz|}#O ztGBSai1nbOqZ1wxapw7zqk!0tA3r9ZGcAqdc36iSlG~>o;Vuu4fA{TDqv%9Lk&Z7Nsx?_*KqbW}X2dWJA!|Miv7NTKME{+KiY?lRurj7Jcx zwI6O_MkMr44K|#`)KCR5+~%?WDtnBdUnOl4I*<=om}#3$b?k2&wou_#VV}T{mEPX@ zp6Lda`nxxtL8aIObtbK?$S_+oO|Yf)qIGvirrtixLQ-21$md?-x!atYaD?b_M_hjU zw!?YuN9S39ndd7(7-Op=II@yUIlZgIbE%;AQ%`rdKuo3Aid#Ox)2X0vunKJUIeUy= z%uyCHjo0I>jN;hM?B-_Bx8{X%3J67 zufN(zOaRjKf!BuF>PD4N-|!ICrYiN#t6gZg8xw40zvbKSre z7SCekPws;b#`fvcr(}uVni?58LG!0Akq732A3b_xLl0n+Z?&?#j1P1d>zN9wTuZ9A zySsZoYS^KnZ$m>#*+GEH+cB!hLNtwyjZ_R|;2?stRq$H(R&arBn$qS52a`v6^PT#t z)>XH+7sz&0U_a}t6qO{Zu~HOR^Cb}aJ$Mt;pp$tP9g1moO-)TcMs!N8rkTeO(PnGNTkBInA>FE}M5^>w1*m-|-@;8Lw48Ai#O9RgoZk z2CS^EE=`zr7x4n`=%jyAjFEVN!jP68sX?>4y88W7cAPq`#qBViXYa##H?SzhaDFTz zP;n5WB>3E#)={ri0*_)XZOQFOHN zy}O`NXa}fip_ScNI#HnlTa1C%8H}I6+#b{~#HSG?nyou`a@$i64-ab=*&YMqT{+8P zIYuemg(cKf_zm2-`hbDQZ&0@S@zYmRUoeL?OkzzKO@C`TADF>P6nem)>xfmkY0$Om z9OH(*iHV@sug`77RkF~fyT|j%+tH}ZaiaboL+{>*GR9xHF>ql<$Q}&O9l!9R=HYOVy8D)E~d5MUN4_WLxeE8v|;FH%s{BcJ1 z@?{S7AH~SH_bWV?j*E$Dr_FhJdEuJc4N#quvZGbm-+*p>Oi^L!E_2O&Ygd1R4>bD_ zV3vwbzp4%*=JmZJUdaViR%a*$Rx;S8{x~K^|Aid~Qo+?94%616VxEhR0XmN3AS$C4 z9;5ACckkUpHOSD;=P_?hHmpm@fVM|3=_b%?Q5+kFBG~3Kj>C(+RXNY&S&s>#aBH{O!x+;2oqR4B6TUk_Mz4?;Eo zql~dM0iM7E?bcR3v9}19qD(72E{v13`?3+0ATj&6tvqCz*Gm#0;GZK z_&&Lbo|6iZeMlY`3=NNG>X-ZBk6*=OpstwQ|eaxg!yu7 z;L^|j8V{?0fB+xpH`|a74gf(jNx09+Ljrx;H#o?QI&VgwbpGM~LuqYhsU(Q^%f~gu z>Q_<>Dl2N=DMh{qXfw;s8b!2h*Xw}HwEe<`3vxpv!^7JUkWC%x++o`xg{p{Redh`U zszk7p!0l2qR+;xd^bxdZHx=}%rqTl2J+Pl!mlaxtzRTiF%1;27>u>yMwbi~a0HL=9 z4opm(0vr2gv9>T2yPYqB(?A@h$i>~ABjc8}Puv~HtLuIOXS4Sj6we!-J9qcpG*z+)WTvw2XJN0Gin~Wk{3Z4QTn4+RySrO8h8%xs zUxJ?ovLX&6I-7g534c}WU=lJp)S|lXLwC2X>F2UyQdv5C{>`RC)xEt2gc$b{a#TR` zM`Xrr+1c6VbwD3h6>|WLuLy{Q>Dq?#C(Z)76D+$w`WA5tLtx+w%Rb3f%H557wYM_+ ze5T#KF@FB|`Rt>zYBYNuoxHDk^^B*%x-(z3ADvXtKeusM76SIV^QpVtXon@4;@_|Q z9;N$gywOr<)BcKB2m3&ArJkno#=g}li8f1V71SsmhB}^f4H9%*^Qm{z6VafPqoaDW>%GQOI*qGsLHe0>rNIYF3@>snw+B1oS)TNpiO zt`4BwC^{8d_l)G7jY+fkRQ>yw0PvE;WML%uu#U%~4&Ug&pV>xMF|pi;8>-t_eSB8) z=xd0#Njv`t?;jW#$nipf<}^@Bqa{f%em_C>8uRKZw6PIO?4csg*`76R+|Q*=hr)6J z7)R24ZK~mvPK7%0OqEec9Unx1xcwII?PTCXnSD00`0JNu<`dKW^?mLWL6z9hZ#Ud?w(VHVL04U>KXsX;ZjzU+dp=tndL7~uJaJvrC?nxZb+N4r;j08FM`~VU)PtUh3tl?T@ zmhrh?mvpv5IiURd7G>j)qsGH#U&O^(ZQ#M#bctgIF8w|qVh7rOsz*<+@$asl`MTpBP2W6@*V%*>7Wr(k<0w5I4f9U6zv!XmV5F{DZ*t{dtO4LB3zXmZS z;#qJ=$kJ3)-O%vG$1+z389sxn?|EAGll&h%;AM3CevCX9cOf9hQ-OM5?cR+2;5*}U z=g$|n)#}A;B*6%3xq${`UT}x!r%fdHneW$e<|I&r>vE?YLeE1AEfD9<_tB(2bek0F z@-1xk|9s%*$7lbo(QFwl_0VRH`i4`LmZI;$3gszXn@H1N>y1#+J{wa2>l)^mFNX^3 znE4#Et_pvQ!@DPr;WCYzx)mOsIYCf)l1z;XM|9jGB;B3;?0!d{das5~W%i29ee|J9 zByUEGIVtDOPEKa;*zL7ES?BA>AMWnn13)0|(`T*s=0oE?C5h{@?HoO>dr8X^-fI?J zCq+a)2?*SDYRV~@&)rUf`gaI|fvq{tD_Z;HTix{jIp!Fmf?imqMk%du@O$1&DSn)5 zSkS?fJ3TSj5ElI^^O7{0l0qvrzvJ=41C0wxlJrO)>gwt=^UXt4O3~qp+DRbyr^ffZaXngD?1u z--$4sQcn;6>^j8IP;hf#6%hN7u=O*uQV_e=LA!f3&&}IXi#enCO#->~%S=UMOD`dF z6Z!|g$@}ju36~WI@mTF?Srw@Stw19=WxUd3VM@Em_W8T8Q#Lvs_?nX(A1N=z$~=Gm ze1gbahk%i2fg2Z+rmiLAmkgs z_pBF|=rODf1NbrGWzm7{ZZd3_w5?DKFek z!+LGO^-=ufKwYWe=MWB!JYZ~^I+&nmAr5F4jD9XJm3zvHE48{rd(xJ{=StjW&HaoJ ziXRYLoJ;a0ffBQ=D%MRsdfv;E_sq10TM`Bb2E;PqX0YrU2Z4HgosO|-D5LPRGV)|} z-~mp}D>A;+*_NZj3yE|+?gisd9`F+k4iYUItQjP0q$@wo%oSKfzLGjD9?@4Ku?mcf$oOci1!h7^Lvy1msdGY9 zO6v2}LwB28fJ^9#3h*#!p!Bps^J(~FWGv@K{R>DtrFxZ6Q9=hZKbL0S@q*r?0&$;9 zS_M3-1?OzGqUlvQG?WQ9QUHT^d){({Nz7H$^q!Hl3jv1!bfVBZi`FMQ=peC%Fkjw} zMXvZc*e5uE(JzXzxsYpGzN~EW@VcH8my$f`32gwT)h)`R(?t8woE$Wl>)7K!-A6hN(lX~i9Bycu_D)Q!=XZbxiOLejd}SxB9O zRW3)jr!h)h9ZT0AoH!nQ>pK9B8p1@OQgv-8)_aCf=RgrgKE~Yx$|8G8#gy4Jy{CnG zubvT$d_576c&Bsii10OD2Z017;Ttb>7*u-5hOz zu56=wCzWC>i`R#gCMrZFuG_F##79oovmNWfsw)U-<-uNN%R2YI-?nfzWW1-n*}ct5 zBl${o-VXqQE_9Dl>&m0A(;c*zv=yN*=qQ6umIf4?IEeCIHkvtbOZnQhKa6FqLE96r zcO2xu8Nby*JHsy`#@b*79KkJdejS%ifhr(^nE|+1q>xqQSoqDMWkhYNbx(=gSbm2i z+CUVq?qLT6WU6Y)6RDLM6>{J83oohOYp+aRhH`6M8MDy~N!;X+ez3Lg&W!iDH|MW8 zr>i#w-zd&`Sy@>*=&6ge!zuGCbG&YTjFN4rcgF*+LS`n_(5R% zsb2b+RYg*F)IYG+)1G$yC+^3p8)rVq?9vL|vT>uP*Ftn?NVv7r_YcSL894P8OVmD> zxpHZ+Jc)mC{-Jhg-Rsx!Zn~wX)Dog})+OC+1dJH#E+*#%;0Qx?gDQ6w61wPDz)7xv zanH6~K4mubwZ5y;yRyKhH}fK+>+8H8G<@2Uuf{p0Q zqI+(6C=-$l#hT)thCC7#N{c+*nPZ$gR%6Y~mc|v-^eK8fvzD)Ue3XuJVjKF>TpIhP zRb5<)hDUS@bKC;gR+qA%^F_swr`*5-b9654};smwdxBh<5kxYYTNWH@l0s#v6m3R8UY#V_$HzklW9|x(#WK@QiNQ=^ zUHs(>2(=(qA$h9TYpE&kN7Zi|5{*BxRFHfJqjJ7PCXx6Qc|r zrUO&WRik^;ygi-m$dMxrS6)M85w!bqPT`rzRV0E|0`s6G*LQRXbEydDqq9TiGcf3N z+}>cE2R$?ut>_4`o8|>A{tqAKcE@yZpMJswZW=nMu0tJlDTveuNnS-V({WmY5Ka|h zrSynyoWw{?pm?*A{e);&MxeVin^sOd@P}E6d+@}_m`AWUq&1qp_K`T?4o`E3)-5(2tzuVWx7YU@5ip+S>p1~D}N)R@oFk|)k zN9t)b>M6=^GNdz$^|U9dC02|WN^fVkRqpFvh%TC*@Ym_o+d?q$;;F9*m&4>6l-+y7 z_sqW`jT>wvt^0GL52jjn<`g)A+&tOFZx<_`c5Kt;&50Bj)b|#Y=U{I>!;mDM&P}3B zOGle}_%eIuOz`r2j?pqJvIYpyhJys=hY9CO^kKU| zWu}&#k@6U=c0@D5d@$0Q5{&xNufBp>4c4Uq+7k}@NOhL$AK=tk&_AE?HrYQgQu_*`<6WOiH>f_JC z5@y^3=YydRM{Xve5tD^pMl!%{eVw(QPuA(*)~8T?#0?tMKovr7vbQk0oCa3Uu{ykW zui-(%!_r=5#-uAx{sr>eHrqHM;}Yv`5&EF~j(pravX zb@3bAqL5s_7Z1gd@m@dL4@{=?E4uKWP=94Nbh)uLFeB zdr$(a!z2M}83Ml|Ri*wbrZaUfU5zW3%l%_1%4CX9*Ig~S7!l2t4g*X*L zYUn8g>%&5qxYBGNil6CU(#q5=?#{F*JR4KGZdWPSMHTmow~>NrIvvcV)1f^@kg40S zm;@lOC(+uWuw^F2xXIyh%g}>O0{-e!lA!J0k)1dz`Z*|4*d`OHJTlW78S?H|(ltmQ z_`DIi?XaR27L>yfjR?Z*vjqa3oH;CHDeKVdF!a6+$o#3aw-;FqlimhLZ$6A;g-a-O z>H04Ho4`foY|3XtRTe%xm&w0Yy*?T|cT5VsauDo8X7x{)k#`~}V?V(7&nZbv-i1E* zRW&p`JQ>=dNWd+aC{{oOxR!mYjYMPvF{Q!n?wHQXsPV)6Un=OTRv!KX8i7Fq zalGMk0ZC&<{!}6)o0IPwpNZ?FEx>BgI*&dtdg4c$Vx@b{-lRbmgX$>@Df9|zHPa=a z*?CiXj&YBO@59p#KkUZ5GzgP6{A$W=CQnM4A4Te;w_>s&DnL1|S#mHvQqsM^cPB$C zL@BWlja1c37}<6eB}rz8D-CVk=>%Tget=sQaj!gk-VNg#Nq0 z_~0?Yp{u2*FMzD+taMi#9~`5iVeOlH##GF3BY!(j2~}MHqa=*E?PwS_JrgB6Q+j3| zJ#OA3tWgBXcwWBw02mG#@2q0EMgceRxqJ7 zxqfH!jzc#(O@K~Te+}#+!V)<6OnwQW@91ot!hHIZG%NCr=g7^n2BCto=OeXJd`Jp0Kg z2*-)T!<#}C^l96U9fDjBA3h`l$B?bkmm=EsKY!vlP`jgWQPkttOJi5y!=9MnudD1q z&eNrm@;R2BeB_@7Dar`~Xf?@iTf1~{p59IcwvtweL*ywUz=3SE%UtZHve7RzscjX2 zP)Jj`2HV6aCM0EX0gepLIuY3Vfv}9QbFl9kEXG>EE?1Fhx<9YFKnoyvN<$7&w>Z?( zKOlByz)MRQ3KjuT!p14DLpd}QAquo%|49g@k;WJrXd2i=D#((k&l>2QAo{O3elZ!H zxnZ%SCFG_A&W2)}jeQyaK>4}=w?wBx%LJk+S{jvnW)~uCmVZr_I1WE)$U#<2zES@q zLL$yx1`n$iFT004g;McSZFJ4(K%bomy`s+c+Ba{8;a(TCf_xE6ty5jwZwm;2K|ANh z1Luj)8JGbr^bhkb9cD+=!gOfdN1oqf%;8jOqVnOL^B@O2MeGYh*r4RnNeG+QSG= z)XLHs)YTCP_A025EuK>IX^;nWLTz9o48FOZH2jZpp+a=C<{l32l3wNsz8PFhUGt$e zMMa?jc+yJy+jx7}Jbzlp1PmP@FeWG8e;dz7o4jEPK_tE@2+^MjeK5QrMJ+9~VPJTr zf(y?Ae3cAMV7N)RH?P}z22nUHWDPxvt6>`{aTlsW2%Ac69_Dtyde#A3ni{5v{aMgXzoUjnz~h&#(m41B7+|QkyzS`F9#Yx1b*KN#Ag2?Pq2+Gg#b~Kz0&Pk= z+wlC!Ce~@dS{XFWgUnpfj#Fsp-e%H00o}zys{&yoA6egnk7WkU>dr;y=Vx-&9`KEL z0yw^alh70;IWhLIv~;E8;pXvjqRCpQe*gD!$dX-oKhR|Md+;E8tcLx*Mv?9HwsbB2 zw&|P^{s(Fzndqvpsnd(w_T4r%i13so+Hhm;zt9urF3eJT5@}U3;jGSaRc`9n^k-bx zLlHxfR)qi{IU=23vG6U5CJ2!+Hpw0cS?DEa5E9l?HWi5x@uNpi6Ey~gay5)Zn3J;m zd!XS;!e@p&VtorswJDtUL{DvLZ28Yu+Y^m_uYaoW-nVye9)w5o6aYkh z9m}jiKv%}mL;Lm_6^}VWXHk}zn{oSz)tKl;D|kz{$hO+~p>bNrQE-!jbv!nPg_7w> z9Z#S+u`)5e&Uw#~RrVxv-A#U20@_gMmFY)8VCq)D=j7B*Ps zbVRjzsb!FAHDGqJk~tAkZ5}0hX>nElk><}{9M9IdX&le zc?}dq&IUc7m;A4gwp8w>!@4&Ml9rgFR66%3g^do((kWDgTJaH08LK*0$QTV7uYms| zzDz=vf+tgg7{vn5l9E6g)+?v+ne(lp4rPv?K|?ZK!@x6ScOL`c3vY1u0i0n{TiYq> zxtND`OgN*;WeqTEA+G5e-OYXD=l_O_DX(g3@~_uyZa9^Iu4f$DB|u5WDdTIX$8JBe z>tixbp7()k-`-+ms|aC`Tc+zb}Y| zPih3fCAVj>O$Q-!Bvr4p01Z|X?Ig&IkpgB<8u&_gzsAfwBZ8^cd6r&dqDSZVFeLC+ zXbN0Qgp)iv5DIXU^Y-Rea|pot9+T(EQy@(#UMq`T zC-o;`DHhB47INd=Q?^hFU*I9ZcX^hL;k*Ua;{0eQlOek3h9302eu&#yg#M7IeLVfn zi+%&UBxfECy0^BOunP&P6J7N|39`N9OEKXXP%!D$UvUjNK*(wEWiST07p7t_lvyXR zmgIOL(SgvhmqPQYfMa9gz3^~4&!w?Kwm?CvE>*O$WmPJXhO;vU%-h=I9aag!A6mX< zfwaRn|3C)u&@Y;xa>{qt@2HU-&sB<*Qk=CJ8WC#&nRV=4?}Aw44pNHXJ5S_MJbhc1 zfpj_Y=pnuv_b>Rum5zg%$wOeAAD|$+!8Hn>#u*jB5RPxhi2pCl)!JIkPBgt$UN!Fq7~f$H-Zz;qx`cSxBV~t9TLNS`?*pvhpDI`iB1GAf$T;6fdE3r zMaR%tt6WAS<==&UgLN48+D@d*y0DMG> zBZHJ0`jRvizCShwcx^wGYV zfKY>YH1lMUML%9XRUVJU$DFnC2Awa_nt^wJ1Tdl(vuEP!l} zO4=H8%GEeuvrcIKR)ws>Dle~{$+zz5GS-4qKyrjXA3lRLtfvH#oB0f>rE+21R;7z0 z_~z*K7Yj2BD4?p?kgdc`xp4k`3Tg^l!H2oYNxMav2lyd04=+E7N4p>yZAhZq(;%f3 zBQZQvLimYg&Sn&D`OU@&P&q?0`>cWIY{-Q``V>Nwfmgc#+fuXOIV9fO4bBTVrC$Id zjz-y3TwiK;`~baY$3ec=dCTA#shZg@2)zY*#&`Vs#CkPq06BE=%fnNuL}LUGSc2J$ zaUU;kj4YwRccfZisYSNe81f{2=I~tGNcCqSA_)&RMQIR!H5Eg_O+lGH1GkhKq;FO1$i*w3ic6fJg^HSt*c^Vq62sHuXN9syNXzk2 z9Q=oTpTk~EOgA2PBbFur=XrTfeWu&*Va=1MNhB-I5xQNCB z8x|wx{fTwv44T24K_z;OOR-c_0PRz+Jio)}@$(EC(PCDm9xw^0WoYBSeB~%1E7ce0 zwxP>zhDjuHF)Wagy22>7(#t<(A~mx4g85ApGjxlUfr45w&wA|-0s`8A)C5o|zly$j z^G0-&Ago;RScoQXB_=inNzR3PEe^BfppwX}YcX`1pDGI+%}BphsLrx-`Ius-u}@wuUr; z=3blt>|IbDw4b!X4MQM!xAEekr(8Nhp#I936*A5_c-FOL%a&21-+CfQ!cfdt7#n`$ zi1zB&s^*LW>z-76cqSXyQtVJhUTWhLa7mN$Tr@@Bfh`bY+%`66Cg}X*6HQPq8Yhqq z+4U9y@bU@tsLhBENziLJuR+qAlM@5bCr&eo^%Qd5)CGmu0z!`%xP#v+ zY70Nw(x={JQ?gEA9jZam3D%h7QcHb`fz1b%N3((VjieUJ^DNQh=HzV5Jy3NP-zKTu zwy2H}sh@uhP}7Q!hEH1H7}>vK_V&>+q`@}i7+s>}^&O3h7F2O&m^q;7oxgZd+~;kWpQ>a)4^8ZdgBD-`UQdulL`^EvuNk&VM@Yz!hHL*?X?;6Ou_TFI6E(fP zy^o%9OJi~IV=Lhg`!eix)hs}s%@})zI5h97fS$rlv4qzId;9DyR*_+O2@46G@Ab0D z+QS92fJc#r>8L@G?VjHvOe|x2frdEi#L;eUa8|d1WQOAgVI)(aK+0|^D8Eiui;hVE z7O&e(#kTF+`N0lNI=%7C3KU_B_Qnj+#CE(|%b>$!=&o@{LA9tAJ&fWo2Dkvgbu${l zBJ7KoL6_VgHJ{Rs11Zw4)A?p&b8H-vPKuWz0q$1PSzL#rZ^=`_z(>bAu%*2^T+AtT z4(bb3Ebz$Qo+I2uriV$`KLUsu_vVfdL~}whzO( z%H04mXr8W9_&&o9i$1t}2<*lP{y?TM?DOqLcj2OaC34dRh#ij+uVDk<(5lx&S=Jc< z>->x@0(PUG)5wg6Fyj|=b)ON(0#FtUy(^*w%nW7uP!CO(k@m`v{@-eu0(JiOSX8Wn6Q%e zjF5S(E4~p~^P?B~K-Psy50NxPn#ze~-M)rturwgdJ9Ky?Vo(vs!M#x_3-$0+@*2OR z33DJQiTV2 zVUncUw(Tmi5)@&=O-T-+PKcsVAxEeYIyDZyh&1FVWx|VhSY(waLQi0E-IRpt!UjUH z2np?phUR5uG?gXiyB!FPmb?rVBn=yT3x{r%V)^22*-(z{Md-0nCK4#+T8ZCtM+d>@ zup=g;tuzHv;^>(7uYWim%K=X+Ad4FER|rHW6!q^w0aJ*lG=dy@El*w~+6Y9K-|JWZ z7HnjElUIR$HEPETNCw&<^R^aF1sEDuPEL6|wFdT7Oj%gW#$0{~XF-yi537NJ0n}5; zVk_Vp!qHG@P{#y52AZG_dP*1|$YV4|;2jL07gfei;4nvrke2|#M210QE>|TMa_$xI zZd!W!XWfJYClZSdX7*%66vxSvwT}7_U)w<%ve2gF0FNqYK7j*%sL=Sp$1%LXBHL zU>pHH%YdwP1s#@K#nJ9WCj-Q4)aQWyqniFl(A|k%145{{n>`=Pgj*xd{b%(S+sNa9jLqL?>G*>QA`B5EAc{nt2C7LKp^u&^^?<+H2|8Su6YBMBBY*QJYfpC$R1pn* zS7z6?chH4lwWvl(Bn-?UoLb7o_JhjEP6Tg-&Tz74F$?w(f_7l|*|2V@cJ3r9HjZp^ zgt1z$%;hSUbo;5w3JSaoqKsdxAL5S3MJjM)v(!WS>1_V(mwyi0q(YTod|AQai z@N7@P+%k?>K=fC#D* zt~=CrRjc~QJq|M`i8+TnmyW#2fr0U%qE&`N0X8%(a&s#r8N|38P)Zs$9+@MXj|n}5 zbc0RNY1nosg<(&cMX@qiScC28Nyf17ohT7vPGa^BWwLoOFd-goXQ!|L#pMzb1u!#~$*N>KiXay+4 z6+*TuqaZn+hZf%sr9A=ZVPR=04I(?#^+>GW=)@s6nBTYv9at$w6-5R$ISK4{7z9$t z(+0@kG@8~Q0X=B2ZV~P&033|XXPywUGFUlIN;(Tm+B;NF!e~t-mh-kB^vqm?T-u>ayV)FIXVSmsE@7D(BC{{E_Hz1n|$`y5%GpnU8qiSnri6WD@6yc=AB z_?D-R{PIM;LG-gqNOX@?v@BNOV5Sae_-(ib_YyHiZ8-I4@O`unbf)0zboG?uM=+ca z#a~iCztjSJI)f)lqR>m4#kN~i_qg=BEKC`X^^|Jh9mJp|;PFBPEz}2LQz0B!NS8fQ zL%j;k6QC(*a>hEsdxV+gU}crX;HY6gE)nU4OY3ZJ9Vh)|n#M9Yy;&T4A>=|iakrny zr51o8HO#iS1jmg$q<|41g?5-Em@g6iN5XD?@Us}cpYTqg{f)T(9v3u&l9;sQv5xea zWo7lp=D*M{ek~F(e0~4xPXnleTi1HF5cnNdAWqR`VV9rRh{lZbU;&WjC>mAm1jf^@ zYjf@)-Co-FAH|<|F}@GrLa-9O{#ut+Hua9-*$%!M!u|;zfLVHOcD4;BC6%^1Shq6Z z{tq)oX;L6BlSuPB|D(PVFLUD$07pXAdP0O0;-IJh;ITL;dhBnAT|*oqA|h&@U*CmX zCP-XE4t7YoNeGjw%6GAdq%D+Aikb1C&hx}f2sjeDeO)1vl ziIR?=_j74ILi(pI7(aiT+7?TPAcOTmpbn|XSl!hJkMaLnS`ufVz#oU_3QhF_qRNL8 zIcWgS<;OMsKV7^?x81k@_rO*`SfHh)4OtFvTN~d+WENQRROoTsQ4Vy7uv9OYgyOJ9 z&|wCG23inma@a`f7N-Y-z2&x-7>_@{x-Sy~4>090Ax^|&9tg_@V!O14U*@LEK!7ml zW-?9P)KGI4GDsS-e8CuYyu=f2bc|?y9aPFVh#LeZ9F{U5-JUnxbo#GX$FD7&;k-sq zYP_GcLfU=hJ^vW{3Pr5uJ&`ifOLyQ5}gIUo)(HPi815~6HD;4%iHYq86 zoC5FxDpnGtM3#&nFaXRcXSh}=x_T0-s`rb0M0t_#7>y{AQ+D_AcWNS+jduL z^()>7+l2N)@NZCr#xZB0PQs7`kv$%(!K9BGODXWbqHg##5A_a42~D)&fLJ>~<>3QS zfXc9{sI=qO6?jOAb1jHI8ct?N0^=rxLzsKnp=A&-6ixs_*F!!+15FOtrkqUPOmbQG zUke0J?Q$$uTyovtLq+`Vk=x()vw#1~&$Ivgo4?2Cf1~mDSdd8n8;$>s#{aU!|M4mq zkTUlqkv43;bncAmf2_j)n}z@5S@=I0`Q={cvD*ZgIsIX+V{EJAJrb$v(LVsa%=)AM so_PE}HBK`8>x+l!Kib{@&wpUkWD<=!_or8U#7Dn$Uh!P!*=u+HAB7I+hX4Qo literal 0 HcmV?d00001 diff --git a/fig/bpa.png b/fig/bpa.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7d40629ee00108fd9ad2ec81b711cc6474ef2a GIT binary patch literal 239742 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

    oqmbfza1=*4-OA7IQ%j+PIV$G`K!Z9y8Np_ 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 ibKbYv4NxE2B_2Mkv&ot&11nZ-S(U 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

    s!+^oCz(7kbhc(Ih9k3p#U; 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�Li|EiVvjF;eD?DtQel>PSEs?#&9CONvP(*8-&F%CB_z;STU zzb)#|fwkVVex{hl4A*;#elt1OvffGebOQe;YrD~!v3NeI(FQDQ!eZ9rC_vv+>*h-nMtw)tkKjL5=6{O32i?Wt^Ru(5V5WAD`OlvR(bz=i_!sXeJ`UET%-@nQ zVu*d1;G2>B_u~Q=pSAM-Z_oTcHq)$ literal 0 HcmV?d00001 diff --git a/fig/var.png b/fig/var.png new file mode 100644 index 0000000000000000000000000000000000000000..7348b00edebaaa6cf2a2fc4e02273ca2a7d24d2f GIT binary patch literal 62283 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 literal 0 HcmV?d00001 diff --git a/fig/vr.png b/fig/vr.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3588d272c0ef40e83d3e9ecd53cb24ebd86ae1 GIT binary patch literal 104698 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

    6UbEPgRe{t)eFssgXpjuxDmWNB>=+l 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 literal 0 HcmV?d00001 diff --git a/models/TEFN.py b/models/TEFN.py new file mode 100644 index 0000000..24045a9 --- /dev/null +++ b/models/TEFN.py @@ -0,0 +1,65 @@ +import torch +import torch.nn as nn + + +class NormLayer(nn.Module): + def __init__(self): + super(NormLayer, self).__init__() + self.means = None + self.stds = None + + def norm(self, x): + self.means = x.mean(1, keepdim=True).detach() # B x 1 x E + x = x - self.means + self.stds = torch.sqrt(torch.var(x, dim=1, keepdim=True, unbiased=False) + 1e-5).detach() # B x 1 x E + x = x / self.stds + return x + + def denorm(self, x): + x = x * self.stds + self.means + return x + + +class EvidenceMachineKernel(nn.Module): + def __init__(self, C, F): + super(EvidenceMachineKernel, self).__init__() + self.C = C + self.F = 2 ** F + self.C_weight = nn.Parameter(torch.randn(self.C, self.F)) + self.C_bias = nn.Parameter(torch.randn(self.C, self.F)) + + def forward(self, x): + x = torch.einsum('btc,cf->btcf', x, self.C_weight) + self.C_bias + return x + + +class Model(nn.Module): + + def __init__(self, configs): + super(Model, self).__init__() + self.configs = configs + self.task_name = configs.task_name + self.seq_len = configs.seq_len + self.label_len = configs.label_len + self.pred_len = configs.pred_len + if self.task_name.startswith('long_term_forecast') or self.task_name == 'short_term_forecast': + self.nl = NormLayer() + self.predict_linear = nn.Linear( + self.seq_len, self.pred_len + self.seq_len) + self.T_model = EvidenceMachineKernel(self.pred_len + self.seq_len, self.configs.e_layers) + self.C_model = EvidenceMachineKernel(self.configs.enc_in, self.configs.e_layers) + + def forecast(self, x_enc, x_mark_enc, x_dec, x_mark_dec): + # x_enc [B, T, C] + x = self.nl.norm(x_enc) + # x [B, T, C] + x = self.predict_linear(x.permute(0, 2, 1)).permute(0, 2, 1) + x = self.T_model(x.permute(0, 2, 1)).permute(0, 2, 1, 3) + self.C_model(x) + x = torch.einsum('btcf->btc', x) + x = self.nl.denorm(x) + return x + + def forward(self, x_enc, x_mark_enc, x_dec, x_mark_dec, mask=None): + if self.task_name.startswith('long_term_forecast'): + dec_out = self.forecast(x_enc, x_mark_enc, x_dec, x_mark_dec) + return dec_out[:, -self.pred_len:, :] # [B, L, D] diff --git a/models/TEFN_ac.py b/models/TEFN_ac.py new file mode 100644 index 0000000..74f8095 --- /dev/null +++ b/models/TEFN_ac.py @@ -0,0 +1,64 @@ +import torch +import torch.nn as nn + + +class NormLayer(nn.Module): + def __init__(self): + super(NormLayer, self).__init__() + self.means = None + self.stds = None + + def norm(self, x): + self.means = x.mean(1, keepdim=True).detach() # B x 1 x E + x = x - self.means + self.stds = torch.sqrt(torch.var(x, dim=1, keepdim=True, unbiased=False) + 1e-5).detach() # B x 1 x E + x = x / self.stds + return x + + def denorm(self, x): + x = x * self.stds + self.means + return x + + +class EvidenceMachineKernel(nn.Module): + def __init__(self, C, F): + super(EvidenceMachineKernel, self).__init__() + self.C = C + self.F = 2 ** F + self.C_weight = nn.Parameter(torch.randn(self.C, self.F)) + self.C_bias = nn.Parameter(torch.randn(self.C, self.F)) + + def forward(self, x): + x = torch.einsum('btc,cf->btcf', x, self.C_weight) + self.C_bias + return x + + +class Model(nn.Module): + + def __init__(self, configs): + super(Model, self).__init__() + self.configs = configs + self.task_name = configs.task_name + self.seq_len = configs.seq_len + self.label_len = configs.label_len + self.pred_len = configs.pred_len + if self.task_name.startswith('long_term_forecast') or self.task_name == 'short_term_forecast': + self.nl = NormLayer() + self.predict_linear = nn.Linear( + self.seq_len, self.pred_len + self.seq_len) + self.C_model = EvidenceMachineKernel(self.configs.enc_in, self.configs.e_layers) + + def forecast(self, x_enc, x_mark_enc, x_dec, x_mark_dec): + # x_enc [B, T, C] + x = self.nl.norm(x_enc) + # x [B, T, C] + x = self.predict_linear(x.permute(0, 2, 1)).permute(0, 2, 1) + x = self.C_model(x) + x = torch.einsum('btcf->btc', x) + x = self.nl.denorm(x) + return x + + def forward(self, x_enc, x_mark_enc, x_dec, x_mark_dec, mask=None): + if self.task_name.startswith('long_term_forecast'): + dec_out = self.forecast(x_enc, x_mark_enc, x_dec, x_mark_dec) + return dec_out[:, -self.pred_len:, :] # [B, L, D] diff --git a/models/TEFN_at.py b/models/TEFN_at.py new file mode 100644 index 0000000..aa0509a --- /dev/null +++ b/models/TEFN_at.py @@ -0,0 +1,64 @@ +import torch +import torch.nn as nn + + +class NormLayer(nn.Module): + def __init__(self): + super(NormLayer, self).__init__() + self.means = None + self.stds = None + + def norm(self, x): + self.means = x.mean(1, keepdim=True).detach() # B x 1 x E + x = x - self.means + self.stds = torch.sqrt(torch.var(x, dim=1, keepdim=True, unbiased=False) + 1e-5).detach() # B x 1 x E + x = x / self.stds + return x + + def denorm(self, x): + x = x * self.stds + self.means + return x + + +class EvidenceMachineKernel(nn.Module): + def __init__(self, C, F): + super(EvidenceMachineKernel, self).__init__() + self.C = C + self.F = 2 ** F + self.C_weight = nn.Parameter(torch.randn(self.C, self.F)) + self.C_bias = nn.Parameter(torch.randn(self.C, self.F)) + + def forward(self, x): + x = torch.einsum('btc,cf->btcf', x, self.C_weight) + self.C_bias + return x + + +class Model(nn.Module): + + def __init__(self, configs): + super(Model, self).__init__() + self.configs = configs + self.task_name = configs.task_name + self.seq_len = configs.seq_len + self.label_len = configs.label_len + self.pred_len = configs.pred_len + if self.task_name.startswith('long_term_forecast') or self.task_name == 'short_term_forecast': + self.nl = NormLayer() + self.predict_linear = nn.Linear( + self.seq_len, self.pred_len + self.seq_len) + self.T_model = EvidenceMachineKernel(self.pred_len + self.seq_len, self.configs.e_layers) + + def forecast(self, x_enc, x_mark_enc, x_dec, x_mark_dec): + # x_enc [B, T, C] + x = self.nl.norm(x_enc) + # x [B, T, C] + x = self.predict_linear(x.permute(0, 2, 1)).permute(0, 2, 1) + x = self.T_model(x.permute(0, 2, 1)).permute(0, 2, 1, 3) + x = torch.einsum('btcf->btc', x) + x = self.nl.denorm(x) + return x + + def forward(self, x_enc, x_mark_enc, x_dec, x_mark_dec, mask=None): + if self.task_name.startswith('long_term_forecast'): + dec_out = self.forecast(x_enc, x_mark_enc, x_dec, x_mark_dec) + return dec_out[:, -self.pred_len:, :] # [B, L, D] diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pull.sh b/pull.sh new file mode 100644 index 0000000..724e698 --- /dev/null +++ b/pull.sh @@ -0,0 +1 @@ +git pull origin master \ No newline at end of file diff --git a/push.sh b/push.sh new file mode 100644 index 0000000..2502b75 --- /dev/null +++ b/push.sh @@ -0,0 +1,4 @@ +git add . +cur=$(date +"%Y-%m-%d %H:%M:%S") +git commit -m "${cur}" +git push origin master \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..e40468b --- /dev/null +++ b/readme.md @@ -0,0 +1,86 @@ +# Time-Evidence Fusion Network (TEFN): A Novel Backbone for Time Series Forecasting + +## Overview +This is the official code implementation project for paper **"Time Evidence Fusion Network: Multi-source View in Long-Term Time Series Forecasting"**. The code implementation refers to [Time-Series-Library](https://github.com/thuml/Time-Series-Library). Thanks very much for [Time-Series-Library](https://github.com/thuml/Time-Series-Library)'s contribution to this project. + +![TEFN](/fig/TEFN.png) +The **Time-Evidence Fusion Network (TEFN)** is a groundbreaking deep learning model designed for long-term time series forecasting. It integrates the principles of information fusion and evidence theory to achieve superior performance in real-world applications where timely predictions are crucial. TEFN introduces the Basic Probability Assignment (BPA) Module, leveraging fuzzy theory, and the Time Evidence Fusion Network to enhance prediction accuracy, stability, and interpretability. + +## Key Features + +- **Information Fusion Perspective**: TEFN addresses time series forecasting from a unique angle, focusing on the fusion of multi-source information to boost prediction accuracy. +![Information Fusion Perspective](/fig/ms.png) +- **BPA Module**: At its core, TEFN incorporates a BPA Module that maps diverse information sources to probability distributions related to the target outcome. This module exploits the interpretability of evidence theory, using fuzzy membership functions to represent uncertainty in predictions. +![BPA](/fig/bpa.png) +![BPA Diagram](./fig/inver_conv.png) +- **Interpretability**: Due to its roots in fuzzy logic, TEFN provides clear insights into the decision-making process, enhancing model explainability. +![Channel dimension interpretability](/fig/CBV.png) +![Time dimension interpretability](/fig/TBV.png) +- **State-of-the-Art Performance**: TEFN demonstrates competitive results, with prediction errors comparable to leading models like PatchTST, while maintaining high efficiency and requiring fewer parameters than complex models such as Dlinear. +![SOTA](/fig/sota.png) +- **Robustness and Stability**: The model showcases resilience to hyperparameter tuning, exhibiting minimal fluctuations even under random selections, ensuring consistent performance across various settings. +![Visualization of Robustness](/fig/vr.png) +![Variance](/fig/var.png) +- **Efficiency**: With optimized training times and a compact model footprint, TEFN is particularly suitable for resource-constrained environments. +![Efficiency](/fig/size.png) + +## Getting Started + +### Requirements + +- Python >= 3.6 +- PyTorch >= 1.7.0 +- Other dependencies listed in `requirements.txt` + +### Installation + +Clone the repository: + +```bash +git clone https://github.com/ztxtech/Time-Evidence-Fusion-Network.git +cd Time-Evidence-Fusion-Network +pip install -r requirements.txt +``` + +### Usage + +### Download Dataset + +You can obtain datasets from [[Google Drive]](https://drive.google.com/drive/folders/13Cg1KYOlzM5C7K8gK8NfC-F3EYxkM3D2?usp=sharing) or [[Baidu Drive]](https://pan.baidu.com/s/1r3KhGd0Q9PJIUZdfEYoymg?pwd=i9iy), Then place the downloaded data in the folder`./dataset`. + +#### Load Config + +The development of this project was modified from [Time-Series-Library](https://github.com/thuml/Time-Series-Library). Thanks very much for [Time-Series-Library](https://github.com/thuml/Time-Series-Library) open source code. + +1. Modify the specific configuration file in `./run_config.py`. + +```python +config_path = '{your chosen config file path}' +``` +2. Run `./run_config.py` directly. +```bash +python run_config.py +``` + +#### Other Operations + +Other related operations refer to [Time-Series-Library](https://github.com/thuml/Time-Series-Library). + + +#### Citation + +If you find TEFN useful in your research, please cite our work as per the citation. + +```bibtex + + +``` + +## Contact + + +If you have any questions or suggestions, feel free to contact: + +Tianxiang Zhan [(zhantianxianguestc@hotmail.com)](mailto:zhantianxianguestc@hotmail.com) + +Or describe it in Issues. \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..49bb4a3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,12 @@ +einops==0.4.0 +matplotlib==3.7.0 +numpy==1.23.5 +pandas==1.5.3 +patool==1.12 +reformer-pytorch==1.4.4 +scikit-learn==1.2.2 +scipy==1.10.1 +sktime==0.16.1 +sympy==1.11.1 +torch==1.7.1 +tqdm==4.64.1 \ No newline at end of file diff --git a/run.py b/run.py new file mode 100644 index 0000000..95f1136 --- /dev/null +++ b/run.py @@ -0,0 +1,215 @@ +import argparse +import random + +import numpy as np +import torch + +from exp.exp_long_term_forecasting import Exp_Long_Term_Forecast +from utils.print_args import print_args + + +def get_args(): + parser = argparse.ArgumentParser(description='TEFN') + + # basic config + parser.add_argument('--task_name', type=str, required=True, default='long_term_forecast', + help='task name, options:[long_term_forecast, short_term_forecast, imputation, classification, anomaly_detection]') + parser.add_argument('--is_training', type=int, required=True, default=1, help='status') + parser.add_argument('--model_id', type=str, required=True, default='test', help='model id') + parser.add_argument('--model', type=str, required=True, default='Autoformer', + help='model name, options: [Autoformer, Transformer, TimesNet]') + + # data loader + parser.add_argument('--data', type=str, required=True, default='ETTm1', help='dataset type') + parser.add_argument('--root_path', type=str, default='./data/ETT/', help='root path of the data file') + parser.add_argument('--data_path', type=str, default='ETTh1.csv', help='data file') + parser.add_argument('--features', type=str, default='M', + help='forecasting task, options:[M, S, MS]; M:multivariate predict multivariate, S:univariate predict univariate, MS:multivariate predict univariate') + parser.add_argument('--target', type=str, default='OT', help='target feature in S or MS task') + parser.add_argument('--freq', type=str, default='h', + help='freq for time features encoding, options:[s:secondly, t:minutely, h:hourly, d:daily, b:business days, w:weekly, m:monthly], you can also use more detailed freq like 15min or 3h') + parser.add_argument('--checkpoints', type=str, default='./checkpoints/', help='location of model checkpoints') + + # forecasting task + parser.add_argument('--seq_len', type=int, default=96, help='input sequence length') + parser.add_argument('--label_len', type=int, default=48, help='start token length') + parser.add_argument('--pred_len', type=int, default=96, help='prediction sequence length') + parser.add_argument('--seasonal_patterns', type=str, default='Monthly', help='subset for M4') + parser.add_argument('--inverse', action='store_true', help='inverse output data', default=False) + + # inputation task + parser.add_argument('--mask_rate', type=float, default=0.25, help='mask ratio') + + # anomaly detection task + parser.add_argument('--anomaly_ratio', type=float, default=0.25, help='prior anomaly ratio (%)') + + # model define + parser.add_argument('--expand', type=int, default=2, help='expansion factor for Mamba') + parser.add_argument('--d_conv', type=int, default=4, help='conv kernel size for Mamba') + parser.add_argument('--top_k', type=int, default=5, help='for TimesBlock') + parser.add_argument('--num_kernels', type=int, default=6, help='for Inception') + parser.add_argument('--enc_in', type=int, default=7, help='encoder input size') + parser.add_argument('--dec_in', type=int, default=7, help='decoder input size') + parser.add_argument('--c_out', type=int, default=7, help='output size') + parser.add_argument('--d_model', type=int, default=512, help='dimension of model') + parser.add_argument('--n_heads', type=int, default=8, help='num of heads') + parser.add_argument('--e_layers', type=int, default=2, help='num of encoder layers') + parser.add_argument('--d_layers', type=int, default=1, help='num of decoder layers') + parser.add_argument('--d_ff', type=int, default=2048, help='dimension of fcn') + parser.add_argument('--moving_avg', type=int, default=25, help='window size of moving average') + parser.add_argument('--factor', type=int, default=1, help='attn factor') + parser.add_argument('--distil', action='store_false', + help='whether to use distilling in encoder, using this argument means not using distilling', + default=True) + parser.add_argument('--dropout', type=float, default=0.1, help='dropout') + parser.add_argument('--embed', type=str, default='timeF', + help='time features encoding, options:[timeF, fixed, learned]') + parser.add_argument('--activation', type=str, default='gelu', help='activation') + parser.add_argument('--output_attention', action='store_true', help='whether to output attention in ecoder') + parser.add_argument('--channel_independence', type=int, default=1, + help='0: channel dependence 1: channel independence for FreTS model') + parser.add_argument('--decomp_method', type=str, default='moving_avg', + help='method of series decompsition, only support moving_avg or dft_decomp') + parser.add_argument('--use_norm', type=int, default=1, help='whether to use normalize; True 1 False 0') + parser.add_argument('--down_sampling_layers', type=int, default=0, help='num of down sampling layers') + parser.add_argument('--down_sampling_window', type=int, default=1, help='down sampling window size') + parser.add_argument('--down_sampling_method', type=str, default=None, + help='down sampling method, only support avg, max, conv') + parser.add_argument('--seg_len', type=int, default=48, + help='the length of segmen-wise iteration of SegRNN') + + # optimization + parser.add_argument('--num_workers', type=int, default=10, help='data loader num workers') + parser.add_argument('--itr', type=int, default=1, help='experiments times') + parser.add_argument('--train_epochs', type=int, default=10, help='train epochs') + parser.add_argument('--batch_size', type=int, default=32, help='batch size of train input data') + parser.add_argument('--patience', type=int, default=3, help='early stopping patience') + parser.add_argument('--learning_rate', type=float, default=0.0001, help='optimizer learning rate') + parser.add_argument('--des', type=str, default='test', help='exp description') + parser.add_argument('--loss', type=str, default='MSE', help='loss function') + parser.add_argument('--lradj', type=str, default='type1', help='adjust learning rate') + parser.add_argument('--use_amp', action='store_true', help='use automatic mixed precision training', default=False) + + # GPU + parser.add_argument('--use_gpu', type=bool, default=True, help='use gpu') + parser.add_argument('--gpu', type=int, default=0, help='gpu') + parser.add_argument('--use_multi_gpu', action='store_true', help='use multiple gpus', default=False) + parser.add_argument('--devices', type=str, default='0,1,2,3', help='device ids of multile gpus') + + # de-stationary projector params + parser.add_argument('--p_hidden_dims', type=int, nargs='+', default=[128, 128], + help='hidden layer dimensions of projector (List)') + parser.add_argument('--p_hidden_layers', type=int, default=2, help='number of hidden layers in projector') + + # metrics (dtw) + parser.add_argument('--use_dtw', type=bool, default=False, + help='the controller of using dtw metric (dtw is time consuming, not suggested unless necessary)') + + # Augmentation + parser.add_argument('--augmentation_ratio', type=int, default=0, help="How many times to augment") + parser.add_argument('--seed', type=int, default=2, help="Randomization seed") + parser.add_argument('--jitter', default=False, action="store_true", help="Jitter preset augmentation") + parser.add_argument('--scaling', default=False, action="store_true", help="Scaling preset augmentation") + parser.add_argument('--permutation', default=False, action="store_true", + help="Equal Length Permutation preset augmentation") + parser.add_argument('--randompermutation', default=False, action="store_true", + help="Random Length Permutation preset augmentation") + parser.add_argument('--magwarp', default=False, action="store_true", help="Magnitude warp preset augmentation") + parser.add_argument('--timewarp', default=False, action="store_true", help="Time warp preset augmentation") + parser.add_argument('--windowslice', default=False, action="store_true", help="Window slice preset augmentation") + parser.add_argument('--windowwarp', default=False, action="store_true", help="Window warp preset augmentation") + parser.add_argument('--rotation', default=False, action="store_true", help="Rotation preset augmentation") + parser.add_argument('--spawner', default=False, action="store_true", help="SPAWNER preset augmentation") + parser.add_argument('--dtwwarp', default=False, action="store_true", help="DTW warp preset augmentation") + parser.add_argument('--shapedtwwarp', default=False, action="store_true", help="Shape DTW warp preset augmentation") + parser.add_argument('--wdba', default=False, action="store_true", help="Weighted DBA preset augmentation") + parser.add_argument('--discdtw', default=False, action="store_true", + help="Discrimitive DTW warp preset augmentation") + parser.add_argument('--discsdtw', default=False, action="store_true", + help="Discrimitive shapeDTW warp preset augmentation") + parser.add_argument('--extra_tag', type=str, default="", help="Anything extra") + + args = parser.parse_args() + return args + + +if __name__ == '__main__': + fix_seed = 2021 + random.seed(fix_seed) + torch.manual_seed(fix_seed) + np.random.seed(fix_seed) + args = get_args() + args.use_gpu = True if torch.cuda.is_available() else False + + print(torch.cuda.is_available()) + + if args.use_gpu and args.use_multi_gpu: + args.devices = args.devices.replace(' ', '') + device_ids = args.devices.split(',') + args.device_ids = [int(id_) for id_ in device_ids] + args.gpu = args.device_ids[0] + + print('Args in experiment:') + print_args(args) + + if args.task_name == 'long_term_forecast': + Exp = Exp_Long_Term_Forecast + + if args.is_training: + for ii in range(args.itr): + # setting record of experiments + exp = Exp(args) # set experiments + setting = '{}_{}_{}_{}_ft{}_sl{}_ll{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_expand{}_dc{}_fc{}_eb{}_dt{}_{}_{}'.format( + args.task_name, + args.model_id, + args.model, + args.data, + args.features, + args.seq_len, + args.label_len, + args.pred_len, + args.d_model, + args.n_heads, + args.e_layers, + args.d_layers, + args.d_ff, + args.expand, + args.d_conv, + args.factor, + args.embed, + args.distil, + args.des, ii) + + print('>>>>>>>start training : {}>>>>>>>>>>>>>>>>>>>>>>>>>>'.format(setting)) + exp.train(setting) + + print('>>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'.format(setting)) + exp.test(setting) + torch.cuda.empty_cache() + else: + ii = 0 + setting = '{}_{}_{}_{}_ft{}_sl{}_ll{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_expand{}_dc{}_fc{}_eb{}_dt{}_{}_{}'.format( + args.task_name, + args.model_id, + args.model, + args.data, + args.features, + args.seq_len, + args.label_len, + args.pred_len, + args.d_model, + args.n_heads, + args.e_layers, + args.d_layers, + args.d_ff, + args.expand, + args.d_conv, + args.factor, + args.embed, + args.distil, + args.des, ii) + + exp = Exp(args) # set experiments + print('>>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'.format(setting)) + exp.test(setting, test=1) + torch.cuda.empty_cache() diff --git a/run_config.py b/run_config.py new file mode 100644 index 0000000..148cd79 --- /dev/null +++ b/run_config.py @@ -0,0 +1,194 @@ +import argparse +import json +import random + +import numpy as np +import torch + +from exp.exp_long_term_forecasting import Exp_Long_Term_Forecast +from utils.print_args import print_args + + +def get_args(): + parser = argparse.ArgumentParser(description='TEFN') + + # model define + parser.add_argument('--expand', type=int, default=2, help='expansion factor for Mamba') + parser.add_argument('--d_conv', type=int, default=4, help='conv kernel size for Mamba') + parser.add_argument('--top_k', type=int, default=5, help='for TimesBlock') + parser.add_argument('--num_kernels', type=int, default=6, help='for Inception') + parser.add_argument('--enc_in', type=int, default=7, help='encoder input size') + parser.add_argument('--dec_in', type=int, default=7, help='decoder input size') + parser.add_argument('--c_out', type=int, default=7, help='output size') + parser.add_argument('--d_model', type=int, default=512, help='dimension of model') + parser.add_argument('--n_heads', type=int, default=8, help='num of heads') + parser.add_argument('--e_layers', type=int, default=2, help='num of encoder layers') + parser.add_argument('--d_layers', type=int, default=1, help='num of decoder layers') + parser.add_argument('--d_ff', type=int, default=2048, help='dimension of fcn') + parser.add_argument('--moving_avg', type=int, default=25, help='window size of moving average') + parser.add_argument('--factor', type=int, default=1, help='attn factor') + parser.add_argument('--distil', action='store_false', + help='whether to use distilling in encoder, using this argument means not using distilling', + default=True) + parser.add_argument('--dropout', type=float, default=0.1, help='dropout') + parser.add_argument('--embed', type=str, default='timeF', + help='time features encoding, options:[timeF, fixed, learned]') + parser.add_argument('--activation', type=str, default='gelu', help='activation') + parser.add_argument('--output_attention', action='store_true', help='whether to output attention in ecoder') + parser.add_argument('--channel_independence', type=int, default=1, + help='0: channel dependence 1: channel independence for FreTS model') + parser.add_argument('--decomp_method', type=str, default='moving_avg', + help='method of series decompsition, only support moving_avg or dft_decomp') + parser.add_argument('--use_norm', type=int, default=1, help='whether to use normalize; True 1 False 0') + parser.add_argument('--down_sampling_layers', type=int, default=0, help='num of down sampling layers') + parser.add_argument('--down_sampling_window', type=int, default=1, help='down sampling window size') + parser.add_argument('--down_sampling_method', type=str, default=None, + help='down sampling method, only support avg, max, conv') + parser.add_argument('--seg_len', type=int, default=48, + help='the length of segmen-wise iteration of SegRNN') + + # optimization + parser.add_argument('--num_workers', type=int, default=10, help='data loader num workers') + parser.add_argument('--itr', type=int, default=1, help='experiments times') + parser.add_argument('--train_epochs', type=int, default=10, help='train epochs') + parser.add_argument('--batch_size', type=int, default=32, help='batch size of train input data') + parser.add_argument('--patience', type=int, default=3, help='early stopping patience') + parser.add_argument('--learning_rate', type=float, default=0.0001, help='optimizer learning rate') + parser.add_argument('--des', type=str, default='test', help='exp description') + parser.add_argument('--loss', type=str, default='MSE', help='loss function') + parser.add_argument('--lradj', type=str, default='type1', help='adjust learning rate') + parser.add_argument('--use_amp', action='store_true', help='use automatic mixed precision training', default=False) + + # GPU + parser.add_argument('--use_gpu', type=bool, default=True, help='use gpu') + parser.add_argument('--gpu', type=int, default=0, help='gpu') + parser.add_argument('--use_multi_gpu', action='store_true', help='use multiple gpus', default=False) + parser.add_argument('--devices', type=str, default='0,1,2,3', help='device ids of multile gpus') + + # de-stationary projector params + parser.add_argument('--p_hidden_dims', type=int, nargs='+', default=[128, 128], + help='hidden layer dimensions of projector (List)') + parser.add_argument('--p_hidden_layers', type=int, default=2, help='number of hidden layers in projector') + + # metrics (dtw) + parser.add_argument('--use_dtw', type=bool, default=False, + help='the controller of using dtw metric (dtw is time consuming, not suggested unless necessary)') + + # Augmentation + parser.add_argument('--augmentation_ratio', type=int, default=0, help="How many times to augment") + parser.add_argument('--seed', type=int, default=2, help="Randomization seed") + parser.add_argument('--jitter', default=False, action="store_true", help="Jitter preset augmentation") + parser.add_argument('--scaling', default=False, action="store_true", help="Scaling preset augmentation") + parser.add_argument('--permutation', default=False, action="store_true", + help="Equal Length Permutation preset augmentation") + parser.add_argument('--randompermutation', default=False, action="store_true", + help="Random Length Permutation preset augmentation") + parser.add_argument('--magwarp', default=False, action="store_true", help="Magnitude warp preset augmentation") + parser.add_argument('--timewarp', default=False, action="store_true", help="Time warp preset augmentation") + parser.add_argument('--windowslice', default=False, action="store_true", help="Window slice preset augmentation") + parser.add_argument('--windowwarp', default=False, action="store_true", help="Window warp preset augmentation") + parser.add_argument('--rotation', default=False, action="store_true", help="Rotation preset augmentation") + parser.add_argument('--spawner', default=False, action="store_true", help="SPAWNER preset augmentation") + parser.add_argument('--dtwwarp', default=False, action="store_true", help="DTW warp preset augmentation") + parser.add_argument('--shapedtwwarp', default=False, action="store_true", help="Shape DTW warp preset augmentation") + parser.add_argument('--wdba', default=False, action="store_true", help="Weighted DBA preset augmentation") + parser.add_argument('--discdtw', default=False, action="store_true", + help="Discrimitive DTW warp preset augmentation") + parser.add_argument('--discsdtw', default=False, action="store_true", + help="Discrimitive shapeDTW warp preset augmentation") + parser.add_argument('--extra_tag', type=str, default="", help="Anything extra") + + args = parser.parse_args() + return args + + +def load_config(config_path): + args = get_args() + with open(config_path, 'r') as f: + args_tmp = json.loads(f.read()) + for k, v in args_tmp.items(): + setattr(args, k, v) + return args + + +if __name__ == '__main__': + fix_seed = 2021 + random.seed(fix_seed) + torch.manual_seed(fix_seed) + np.random.seed(fix_seed) + config_path = '{your chosen config file path}' + args = load_config(config_path) + args.use_gpu = True if torch.cuda.is_available() else False + + print(torch.cuda.is_available()) + + if args.use_gpu and args.use_multi_gpu: + args.devices = args.devices.replace(' ', '') + device_ids = args.devices.split(',') + args.device_ids = [int(id_) for id_ in device_ids] + args.gpu = args.device_ids[0] + + print('Args in experiment:') + print_args(args) + + if args.task_name == 'long_term_forecast': + Exp = Exp_Long_Term_Forecast + + if args.is_training: + for ii in range(args.itr): + # setting record of experiments + exp = Exp(args) # set experiments + setting = '{}_{}_{}_{}_ft{}_sl{}_ll{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_expand{}_dc{}_fc{}_eb{}_dt{}_{}_{}'.format( + args.task_name, + args.model_id, + args.model, + args.data, + args.features, + args.seq_len, + args.label_len, + args.pred_len, + args.d_model, + args.n_heads, + args.e_layers, + args.d_layers, + args.d_ff, + args.expand, + args.d_conv, + args.factor, + args.embed, + args.distil, + args.des, ii) + + print('>>>>>>>start training : {}>>>>>>>>>>>>>>>>>>>>>>>>>>'.format(setting)) + exp.train(setting) + + print('>>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'.format(setting)) + exp.test(setting) + torch.cuda.empty_cache() + else: + ii = 0 + setting = '{}_{}_{}_{}_ft{}_sl{}_ll{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_expand{}_dc{}_fc{}_eb{}_dt{}_{}_{}'.format( + args.task_name, + args.model_id, + args.model, + args.data, + args.features, + args.seq_len, + args.label_len, + args.pred_len, + args.d_model, + args.n_heads, + args.e_layers, + args.d_layers, + args.d_ff, + args.expand, + args.d_conv, + args.factor, + args.embed, + args.distil, + args.des, ii) + + exp = Exp(args) # set experiments + print('>>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'.format(setting)) + exp.test(setting, test=1) + torch.cuda.empty_cache() diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/utils/augmentation.py b/utils/augmentation.py new file mode 100644 index 0000000..64b194d --- /dev/null +++ b/utils/augmentation.py @@ -0,0 +1,416 @@ +import numpy as np +from tqdm import tqdm + +def jitter(x, sigma=0.03): + # https://arxiv.org/pdf/1706.00527.pdf + return x + np.random.normal(loc=0., scale=sigma, size=x.shape) + + +def scaling(x, sigma=0.1): + # https://arxiv.org/pdf/1706.00527.pdf + factor = np.random.normal(loc=1., scale=sigma, size=(x.shape[0],x.shape[2])) + return np.multiply(x, factor[:,np.newaxis,:]) + +def rotation(x): + x = np.array(x) + flip = np.random.choice([-1, 1], size=(x.shape[0],x.shape[2])) + rotate_axis = np.arange(x.shape[2]) + np.random.shuffle(rotate_axis) + return flip[:,np.newaxis,:] * x[:,:,rotate_axis] + +def permutation(x, max_segments=5, seg_mode="equal"): + orig_steps = np.arange(x.shape[1]) + + num_segs = np.random.randint(1, max_segments, size=(x.shape[0])) + + ret = np.zeros_like(x) + for i, pat in enumerate(x): + if num_segs[i] > 1: + if seg_mode == "random": + split_points = np.random.choice(x.shape[1]-2, num_segs[i]-1, replace=False) + split_points.sort() + splits = np.split(orig_steps, split_points) + else: + splits = np.array_split(orig_steps, num_segs[i]) + warp = np.concatenate(np.random.permutation(splits)).ravel() + # ? Question: What is the point of making segments? + # for i in range(len(splits)): + # permute = np.random.permutation(splits[i]) + + + ret[i] = pat[warp] + else: + ret[i] = pat + return ret + +def magnitude_warp(x, sigma=0.2, knot=4): + from scipy.interpolate import CubicSpline + orig_steps = np.arange(x.shape[1]) + + random_warps = np.random.normal(loc=1.0, scale=sigma, size=(x.shape[0], knot+2, x.shape[2])) + warp_steps = (np.ones((x.shape[2],1))*(np.linspace(0, x.shape[1]-1., num=knot+2))).T + ret = np.zeros_like(x) + for i, pat in enumerate(x): + warper = np.array([CubicSpline(warp_steps[:,dim], random_warps[i,:,dim])(orig_steps) for dim in range(x.shape[2])]).T + ret[i] = pat * warper + + return ret + +def time_warp(x, sigma=0.2, knot=4): + from scipy.interpolate import CubicSpline + orig_steps = np.arange(x.shape[1]) + + random_warps = np.random.normal(loc=1.0, scale=sigma, size=(x.shape[0], knot+2, x.shape[2])) + warp_steps = (np.ones((x.shape[2],1))*(np.linspace(0, x.shape[1]-1., num=knot+2))).T + + ret = np.zeros_like(x) + for i, pat in enumerate(x): + for dim in range(x.shape[2]): + time_warp = CubicSpline(warp_steps[:,dim], warp_steps[:,dim] * random_warps[i,:,dim])(orig_steps) + scale = (x.shape[1]-1)/time_warp[-1] + ret[i,:,dim] = np.interp(orig_steps, np.clip(scale*time_warp, 0, x.shape[1]-1), pat[:,dim]).T + return ret + +def window_slice(x, reduce_ratio=0.9): + # https://halshs.archives-ouvertes.fr/halshs-01357973/document + target_len = np.ceil(reduce_ratio*x.shape[1]).astype(int) + if target_len >= x.shape[1]: + return x + starts = np.random.randint(low=0, high=x.shape[1]-target_len, size=(x.shape[0])).astype(int) + ends = (target_len + starts).astype(int) + + ret = np.zeros_like(x) + for i, pat in enumerate(x): + for dim in range(x.shape[2]): + ret[i,:,dim] = np.interp(np.linspace(0, target_len, num=x.shape[1]), np.arange(target_len), pat[starts[i]:ends[i],dim]).T + return ret + +def window_warp(x, window_ratio=0.1, scales=[0.5, 2.]): + # https://halshs.archives-ouvertes.fr/halshs-01357973/document + warp_scales = np.random.choice(scales, x.shape[0]) + warp_size = np.ceil(window_ratio*x.shape[1]).astype(int) + window_steps = np.arange(warp_size) + + window_starts = np.random.randint(low=1, high=x.shape[1]-warp_size-1, size=(x.shape[0])).astype(int) + window_ends = (window_starts + warp_size).astype(int) + + ret = np.zeros_like(x) + for i, pat in enumerate(x): + for dim in range(x.shape[2]): + start_seg = pat[:window_starts[i],dim] + window_seg = np.interp(np.linspace(0, warp_size-1, num=int(warp_size*warp_scales[i])), window_steps, pat[window_starts[i]:window_ends[i],dim]) + end_seg = pat[window_ends[i]:,dim] + warped = np.concatenate((start_seg, window_seg, end_seg)) + ret[i,:,dim] = np.interp(np.arange(x.shape[1]), np.linspace(0, x.shape[1]-1., num=warped.size), warped).T + return ret + +def spawner(x, labels, sigma=0.05, verbose=0): + # https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6983028/ + # use verbose=-1 to turn off warnings + # use verbose=1 to print out figures + + import utils.dtw as dtw + random_points = np.random.randint(low=1, high=x.shape[1]-1, size=x.shape[0]) + window = np.ceil(x.shape[1] / 10.).astype(int) + orig_steps = np.arange(x.shape[1]) + l = np.argmax(labels, axis=1) if labels.ndim > 1 else labels + + ret = np.zeros_like(x) + # for i, pat in enumerate(tqdm(x)): + for i, pat in enumerate(x): + # guarentees that same one isnt selected + choices = np.delete(np.arange(x.shape[0]), i) + # remove ones of different classes + choices = np.where(l[choices] == l[i])[0] + if choices.size > 0: + random_sample = x[np.random.choice(choices)] + # SPAWNER splits the path into two randomly + path1 = dtw.dtw(pat[:random_points[i]], random_sample[:random_points[i]], dtw.RETURN_PATH, slope_constraint="symmetric", window=window) + path2 = dtw.dtw(pat[random_points[i]:], random_sample[random_points[i]:], dtw.RETURN_PATH, slope_constraint="symmetric", window=window) + combined = np.concatenate((np.vstack(path1), np.vstack(path2+random_points[i])), axis=1) + if verbose: + # print(random_points[i]) + dtw_value, cost, DTW_map, path = dtw.dtw(pat, random_sample, return_flag = dtw.RETURN_ALL, slope_constraint=slope_constraint, window=window) + dtw.draw_graph1d(cost, DTW_map, path, pat, random_sample) + dtw.draw_graph1d(cost, DTW_map, combined, pat, random_sample) + mean = np.mean([pat[combined[0]], random_sample[combined[1]]], axis=0) + for dim in range(x.shape[2]): + ret[i,:,dim] = np.interp(orig_steps, np.linspace(0, x.shape[1]-1., num=mean.shape[0]), mean[:,dim]).T + else: + # if verbose > -1: + # print("There is only one pattern of class {}, skipping pattern average".format(l[i])) + ret[i,:] = pat + return jitter(ret, sigma=sigma) + +def wdba(x, labels, batch_size=6, slope_constraint="symmetric", use_window=True, verbose=0): + # https://ieeexplore.ieee.org/document/8215569 + # use verbose = -1 to turn off warnings + # slope_constraint is for DTW. "symmetric" or "asymmetric" + x = np.array(x) + import utils.dtw as dtw + + if use_window: + window = np.ceil(x.shape[1] / 10.).astype(int) + else: + window = None + orig_steps = np.arange(x.shape[1]) + l = np.argmax(labels, axis=1) if labels.ndim > 1 else labels + + ret = np.zeros_like(x) + # for i in tqdm(range(ret.shape[0])): + for i in range(ret.shape[0]): + # get the same class as i + choices = np.where(l == l[i])[0] + if choices.size > 0: + # pick random intra-class pattern + k = min(choices.size, batch_size) + random_prototypes = x[np.random.choice(choices, k, replace=False)] + + # calculate dtw between all + dtw_matrix = np.zeros((k, k)) + for p, prototype in enumerate(random_prototypes): + for s, sample in enumerate(random_prototypes): + if p == s: + dtw_matrix[p, s] = 0. + else: + dtw_matrix[p, s] = dtw.dtw(prototype, sample, dtw.RETURN_VALUE, slope_constraint=slope_constraint, window=window) + + # get medoid + medoid_id = np.argsort(np.sum(dtw_matrix, axis=1))[0] + nearest_order = np.argsort(dtw_matrix[medoid_id]) + medoid_pattern = random_prototypes[medoid_id] + + # start weighted DBA + average_pattern = np.zeros_like(medoid_pattern) + weighted_sums = np.zeros((medoid_pattern.shape[0])) + for nid in nearest_order: + if nid == medoid_id or dtw_matrix[medoid_id, nearest_order[1]] == 0.: + average_pattern += medoid_pattern + weighted_sums += np.ones_like(weighted_sums) + else: + path = dtw.dtw(medoid_pattern, random_prototypes[nid], dtw.RETURN_PATH, slope_constraint=slope_constraint, window=window) + dtw_value = dtw_matrix[medoid_id, nid] + warped = random_prototypes[nid, path[1]] + weight = np.exp(np.log(0.5)*dtw_value/dtw_matrix[medoid_id, nearest_order[1]]) + average_pattern[path[0]] += weight * warped + weighted_sums[path[0]] += weight + + ret[i,:] = average_pattern / weighted_sums[:,np.newaxis] + else: + # if verbose > -1: + # print("There is only one pattern of class {}, skipping pattern average".format(l[i])) + ret[i,:] = x[i] + return ret + +# Proposed + +def random_guided_warp(x, labels, slope_constraint="symmetric", use_window=True, dtw_type="normal", verbose=0): + # use verbose = -1 to turn off warnings + # slope_constraint is for DTW. "symmetric" or "asymmetric" + # dtw_type is for shapeDTW or DTW. "normal" or "shape" + + import utils.dtw as dtw + + if use_window: + window = np.ceil(x.shape[1] / 10.).astype(int) + else: + window = None + orig_steps = np.arange(x.shape[1]) + l = np.argmax(labels, axis=1) if labels.ndim > 1 else labels + + ret = np.zeros_like(x) + # for i, pat in enumerate(tqdm(x)): + for i, pat in enumerate(x): + # guarentees that same one isnt selected + choices = np.delete(np.arange(x.shape[0]), i) + # remove ones of different classes + choices = np.where(l[choices] == l[i])[0] + if choices.size > 0: + # pick random intra-class pattern + random_prototype = x[np.random.choice(choices)] + + if dtw_type == "shape": + path = dtw.shape_dtw(random_prototype, pat, dtw.RETURN_PATH, slope_constraint=slope_constraint, window=window) + else: + path = dtw.dtw(random_prototype, pat, dtw.RETURN_PATH, slope_constraint=slope_constraint, window=window) + + # Time warp + warped = pat[path[1]] + for dim in range(x.shape[2]): + ret[i,:,dim] = np.interp(orig_steps, np.linspace(0, x.shape[1]-1., num=warped.shape[0]), warped[:,dim]).T + else: + # if verbose > -1: + # print("There is only one pattern of class {}, skipping timewarping".format(l[i])) + ret[i,:] = pat + return ret + +def random_guided_warp_shape(x, labels, slope_constraint="symmetric", use_window=True): + return random_guided_warp(x, labels, slope_constraint, use_window, dtw_type="shape") + +def discriminative_guided_warp(x, labels, batch_size=6, slope_constraint="symmetric", use_window=True, dtw_type="normal", use_variable_slice=True, verbose=0): + # use verbose = -1 to turn off warnings + # slope_constraint is for DTW. "symmetric" or "asymmetric" + # dtw_type is for shapeDTW or DTW. "normal" or "shape" + + import utils.dtw as dtw + + if use_window: + window = np.ceil(x.shape[1] / 10.).astype(int) + else: + window = None + orig_steps = np.arange(x.shape[1]) + l = np.argmax(labels, axis=1) if labels.ndim > 1 else labels + + positive_batch = np.ceil(batch_size / 2).astype(int) + negative_batch = np.floor(batch_size / 2).astype(int) + + ret = np.zeros_like(x) + warp_amount = np.zeros(x.shape[0]) + # for i, pat in enumerate(tqdm(x)): + for i, pat in enumerate(x): + # guarentees that same one isnt selected + choices = np.delete(np.arange(x.shape[0]), i) + + # remove ones of different classes + positive = np.where(l[choices] == l[i])[0] + negative = np.where(l[choices] != l[i])[0] + + if positive.size > 0 and negative.size > 0: + pos_k = min(positive.size, positive_batch) + neg_k = min(negative.size, negative_batch) + positive_prototypes = x[np.random.choice(positive, pos_k, replace=False)] + negative_prototypes = x[np.random.choice(negative, neg_k, replace=False)] + + # vector embedding and nearest prototype in one + pos_aves = np.zeros((pos_k)) + neg_aves = np.zeros((pos_k)) + if dtw_type == "shape": + for p, pos_prot in enumerate(positive_prototypes): + for ps, pos_samp in enumerate(positive_prototypes): + if p != ps: + pos_aves[p] += (1./(pos_k-1.))*dtw.shape_dtw(pos_prot, pos_samp, dtw.RETURN_VALUE, slope_constraint=slope_constraint, window=window) + for ns, neg_samp in enumerate(negative_prototypes): + neg_aves[p] += (1./neg_k)*dtw.shape_dtw(pos_prot, neg_samp, dtw.RETURN_VALUE, slope_constraint=slope_constraint, window=window) + selected_id = np.argmax(neg_aves - pos_aves) + path = dtw.shape_dtw(positive_prototypes[selected_id], pat, dtw.RETURN_PATH, slope_constraint=slope_constraint, window=window) + else: + for p, pos_prot in enumerate(positive_prototypes): + for ps, pos_samp in enumerate(positive_prototypes): + if p != ps: + pos_aves[p] += (1./(pos_k-1.))*dtw.dtw(pos_prot, pos_samp, dtw.RETURN_VALUE, slope_constraint=slope_constraint, window=window) + for ns, neg_samp in enumerate(negative_prototypes): + neg_aves[p] += (1./neg_k)*dtw.dtw(pos_prot, neg_samp, dtw.RETURN_VALUE, slope_constraint=slope_constraint, window=window) + selected_id = np.argmax(neg_aves - pos_aves) + path = dtw.dtw(positive_prototypes[selected_id], pat, dtw.RETURN_PATH, slope_constraint=slope_constraint, window=window) + + # Time warp + warped = pat[path[1]] + warp_path_interp = np.interp(orig_steps, np.linspace(0, x.shape[1]-1., num=warped.shape[0]), path[1]) + warp_amount[i] = np.sum(np.abs(orig_steps-warp_path_interp)) + for dim in range(x.shape[2]): + ret[i,:,dim] = np.interp(orig_steps, np.linspace(0, x.shape[1]-1., num=warped.shape[0]), warped[:,dim]).T + else: + # if verbose > -1: + # print("There is only one pattern of class {}".format(l[i])) + ret[i,:] = pat + warp_amount[i] = 0. + if use_variable_slice: + max_warp = np.max(warp_amount) + if max_warp == 0: + # unchanged + ret = window_slice(ret, reduce_ratio=0.9) + else: + for i, pat in enumerate(ret): + # Variable Sllicing + ret[i] = window_slice(pat[np.newaxis,:,:], reduce_ratio=0.9+0.1*warp_amount[i]/max_warp)[0] + return ret + +def discriminative_guided_warp_shape(x, labels, batch_size=6, slope_constraint="symmetric", use_window=True): + return discriminative_guided_warp(x, labels, batch_size, slope_constraint, use_window, dtw_type="shape") + + +def run_augmentation(x, y, args): + print("Augmenting %s"%args.data) + np.random.seed(args.seed) + x_aug = x + y_aug = y + if args.augmentation_ratio > 0: + augmentation_tags = "%d"%args.augmentation_ratio + for n in range(args.augmentation_ratio): + x_temp, augmentation_tags = augment(x, y, args) + x_aug = np.append(x_aug, x_temp, axis=0) + y_aug = np.append(y_aug, y, axis=0) + print("Round %d: %s done"%(n, augmentation_tags)) + if args.extra_tag: + augmentation_tags += "_"+args.extra_tag + else: + augmentation_tags = args.extra_tag + return x_aug, y_aug, augmentation_tags + +def run_augmentation_single(x, y, args): + # print("Augmenting %s"%args.data) + np.random.seed(args.seed) + x_aug = x + y_aug = y + if args.augmentation_ratio > 0: + augmentation_tags = "%d"%args.augmentation_ratio + for n in range(args.augmentation_ratio): + x_temp, augmentation_tags = augment(x, y, args) + x_aug =x_temp + # print("Round %d: %s done"%(n, augmentation_tags)) + if args.extra_tag: + augmentation_tags += "_"+args.extra_tag + else: + augmentation_tags = args.extra_tag + return x_aug, y_aug, augmentation_tags + + +def augment(x, y, args): + import utils.augmentation as aug + augmentation_tags = "" + if args.jitter: + x = aug.jitter(x) + augmentation_tags += "_jitter" + if args.scaling: + x = aug.scaling(x) + augmentation_tags += "_scaling" + if args.rotation: + x = aug.rotation(x) + augmentation_tags += "_rotation" + if args.permutation: + x = aug.permutation(x) + augmentation_tags += "_permutation" + if args.randompermutation: + x = aug.permutation(x, seg_mode="random") + augmentation_tags += "_randomperm" + if args.magwarp: + x = aug.magnitude_warp(x) + augmentation_tags += "_magwarp" + if args.timewarp: + x = aug.time_warp(x) + augmentation_tags += "_timewarp" + if args.windowslice: + x = aug.window_slice(x) + augmentation_tags += "_windowslice" + if args.windowwarp: + x = aug.window_warp(x) + augmentation_tags += "_windowwarp" + if args.spawner: + x = aug.spawner(x, y) + augmentation_tags += "_spawner" + if args.dtwwarp: + x = aug.random_guided_warp(x, y) + augmentation_tags += "_rgw" + if args.shapedtwwarp: + x = aug.random_guided_warp_shape(x, y) + augmentation_tags += "_rgws" + if args.wdba: + x = aug.wdba(x, y) + augmentation_tags += "_wdba" + if args.discdtw: + x = aug.discriminative_guided_warp(x, y) + augmentation_tags += "_dgw" + if args.discsdtw: + x = aug.discriminative_guided_warp_shape(x, y) + augmentation_tags += "_dgws" + return x, augmentation_tags diff --git a/utils/dtw.py b/utils/dtw.py new file mode 100644 index 0000000..941eae8 --- /dev/null +++ b/utils/dtw.py @@ -0,0 +1,223 @@ +__author__ = 'Brian Iwana' + +import numpy as np +import math +import sys + +RETURN_VALUE = 0 +RETURN_PATH = 1 +RETURN_ALL = -1 + +# Core DTW +def _traceback(DTW, slope_constraint): + i, j = np.array(DTW.shape) - 1 + p, q = [i-1], [j-1] + + if slope_constraint == "asymmetric": + while (i > 1): + tb = np.argmin((DTW[i-1, j], DTW[i-1, j-1], DTW[i-1, j-2])) + + if (tb == 0): + i = i - 1 + elif (tb == 1): + i = i - 1 + j = j - 1 + elif (tb == 2): + i = i - 1 + j = j - 2 + + p.insert(0, i-1) + q.insert(0, j-1) + elif slope_constraint == "symmetric": + while (i > 1 or j > 1): + tb = np.argmin((DTW[i-1, j-1], DTW[i-1, j], DTW[i, j-1])) + + if (tb == 0): + i = i - 1 + j = j - 1 + elif (tb == 1): + i = i - 1 + elif (tb == 2): + j = j - 1 + + p.insert(0, i-1) + q.insert(0, j-1) + else: + sys.exit("Unknown slope constraint %s"%slope_constraint) + + return (np.array(p), np.array(q)) + +def dtw(prototype, sample, return_flag = RETURN_VALUE, slope_constraint="asymmetric", window=None): + """ Computes the DTW of two sequences. + :param prototype: np array [0..b] + :param sample: np array [0..t] + :param extended: bool + """ + p = prototype.shape[0] + assert p != 0, "Prototype empty!" + s = sample.shape[0] + assert s != 0, "Sample empty!" + + if window is None: + window = s + + cost = np.full((p, s), np.inf) + for i in range(p): + start = max(0, i-window) + end = min(s, i+window)+1 + cost[i,start:end]=np.linalg.norm(sample[start:end] - prototype[i], axis=1) + + DTW = _cummulative_matrix(cost, slope_constraint, window) + + if return_flag == RETURN_ALL: + return DTW[-1,-1], cost, DTW[1:,1:], _traceback(DTW, slope_constraint) + elif return_flag == RETURN_PATH: + return _traceback(DTW, slope_constraint) + else: + return DTW[-1,-1] + +def _cummulative_matrix(cost, slope_constraint, window): + p = cost.shape[0] + s = cost.shape[1] + + # Note: DTW is one larger than cost and the original patterns + DTW = np.full((p+1, s+1), np.inf) + + DTW[0, 0] = 0.0 + + if slope_constraint == "asymmetric": + for i in range(1, p+1): + if i <= window+1: + DTW[i,1] = cost[i-1,0] + min(DTW[i-1,0], DTW[i-1,1]) + for j in range(max(2, i-window), min(s, i+window)+1): + DTW[i,j] = cost[i-1,j-1] + min(DTW[i-1,j-2], DTW[i-1,j-1], DTW[i-1,j]) + elif slope_constraint == "symmetric": + for i in range(1, p+1): + for j in range(max(1, i-window), min(s, i+window)+1): + DTW[i,j] = cost[i-1,j-1] + min(DTW[i-1,j-1], DTW[i,j-1], DTW[i-1,j]) + else: + sys.exit("Unknown slope constraint %s"%slope_constraint) + + return DTW + +def shape_dtw(prototype, sample, return_flag = RETURN_VALUE, slope_constraint="asymmetric", window=None, descr_ratio=0.05): + """ Computes the shapeDTW of two sequences. + :param prototype: np array [0..b] + :param sample: np array [0..t] + :param extended: bool + """ + # shapeDTW + # https://www.sciencedirect.com/science/article/pii/S0031320317303710 + + p = prototype.shape[0] + assert p != 0, "Prototype empty!" + s = sample.shape[0] + assert s != 0, "Sample empty!" + + if window is None: + window = s + + p_feature_len = np.clip(np.round(p * descr_ratio), 5, 100).astype(int) + s_feature_len = np.clip(np.round(s * descr_ratio), 5, 100).astype(int) + + # padding + p_pad_front = (np.ceil(p_feature_len / 2.)).astype(int) + p_pad_back = (np.floor(p_feature_len / 2.)).astype(int) + s_pad_front = (np.ceil(s_feature_len / 2.)).astype(int) + s_pad_back = (np.floor(s_feature_len / 2.)).astype(int) + + prototype_pad = np.pad(prototype, ((p_pad_front, p_pad_back), (0, 0)), mode="edge") + sample_pad = np.pad(sample, ((s_pad_front, s_pad_back), (0, 0)), mode="edge") + p_p = prototype_pad.shape[0] + s_p = sample_pad.shape[0] + + cost = np.full((p, s), np.inf) + for i in range(p): + for j in range(max(0, i-window), min(s, i+window)): + cost[i, j] = np.linalg.norm(sample_pad[j:j+s_feature_len] - prototype_pad[i:i+p_feature_len]) + + DTW = _cummulative_matrix(cost, slope_constraint=slope_constraint, window=window) + + if return_flag == RETURN_ALL: + return DTW[-1,-1], cost, DTW[1:,1:], _traceback(DTW, slope_constraint) + elif return_flag == RETURN_PATH: + return _traceback(DTW, slope_constraint) + else: + return DTW[-1,-1] + +# Draw helpers +def draw_graph2d(cost, DTW, path, prototype, sample): + import matplotlib.pyplot as plt + plt.figure(figsize=(12, 8)) + # plt.subplots_adjust(left=.02, right=.98, bottom=.001, top=.96, wspace=.05, hspace=.01) + + #cost + plt.subplot(2, 3, 1) + plt.imshow(cost.T, cmap=plt.cm.gray, interpolation='none', origin='lower') + plt.plot(path[0], path[1], 'y') + plt.xlim((-0.5, cost.shape[0]-0.5)) + plt.ylim((-0.5, cost.shape[0]-0.5)) + + #dtw + plt.subplot(2, 3, 2) + plt.imshow(DTW.T, cmap=plt.cm.gray, interpolation='none', origin='lower') + plt.plot(path[0]+1, path[1]+1, 'y') + plt.xlim((-0.5, DTW.shape[0]-0.5)) + plt.ylim((-0.5, DTW.shape[0]-0.5)) + + #prototype + plt.subplot(2, 3, 4) + plt.plot(prototype[:,0], prototype[:,1], 'b-o') + + #connection + plt.subplot(2, 3, 5) + for i in range(0,path[0].shape[0]): + plt.plot([prototype[path[0][i],0], sample[path[1][i],0]],[prototype[path[0][i],1], sample[path[1][i],1]], 'y-') + plt.plot(sample[:,0], sample[:,1], 'g-o') + plt.plot(prototype[:,0], prototype[:,1], 'b-o') + + #sample + plt.subplot(2, 3, 6) + plt.plot(sample[:,0], sample[:,1], 'g-o') + + plt.tight_layout() + plt.show() + +def draw_graph1d(cost, DTW, path, prototype, sample): + import matplotlib.pyplot as plt + plt.figure(figsize=(12, 8)) + # plt.subplots_adjust(left=.02, right=.98, bottom=.001, top=.96, wspace=.05, hspace=.01) + p_steps = np.arange(prototype.shape[0]) + s_steps = np.arange(sample.shape[0]) + + #cost + plt.subplot(2, 3, 1) + plt.imshow(cost.T, cmap=plt.cm.gray, interpolation='none', origin='lower') + plt.plot(path[0], path[1], 'y') + plt.xlim((-0.5, cost.shape[0]-0.5)) + plt.ylim((-0.5, cost.shape[0]-0.5)) + + #dtw + plt.subplot(2, 3, 2) + plt.imshow(DTW.T, cmap=plt.cm.gray, interpolation='none', origin='lower') + plt.plot(path[0]+1, path[1]+1, 'y') + plt.xlim((-0.5, DTW.shape[0]-0.5)) + plt.ylim((-0.5, DTW.shape[0]-0.5)) + + #prototype + plt.subplot(2, 3, 4) + plt.plot(p_steps, prototype[:,0], 'b-o') + + #connection + plt.subplot(2, 3, 5) + for i in range(0,path[0].shape[0]): + plt.plot([path[0][i], path[1][i]],[prototype[path[0][i],0], sample[path[1][i],0]], 'y-') + plt.plot(p_steps, sample[:,0], 'g-o') + plt.plot(s_steps, prototype[:,0], 'b-o') + + #sample + plt.subplot(2, 3, 6) + plt.plot(s_steps, sample[:,0], 'g-o') + + plt.tight_layout() + plt.show() \ No newline at end of file diff --git a/utils/dtw_metric.py b/utils/dtw_metric.py new file mode 100644 index 0000000..5ab39bf --- /dev/null +++ b/utils/dtw_metric.py @@ -0,0 +1,156 @@ +from numpy import array, zeros, full, argmin, inf, ndim +from scipy.spatial.distance import cdist +from math import isinf + + +def dtw(x, y, dist, warp=1, w=inf, s=1.0): + """ + Computes Dynamic Time Warping (DTW) of two sequences. + + :param array x: N1*M array + :param array y: N2*M array + :param func dist: distance used as cost measure + :param int warp: how many shifts are computed. + :param int w: window size limiting the maximal distance between indices of matched entries |i,j|. + :param float s: weight applied on off-diagonal moves of the path. As s gets larger, the warping path is increasingly biased towards the diagonal + Returns the minimum distance, the cost matrix, the accumulated cost matrix, and the wrap path. + """ + assert len(x) + assert len(y) + assert isinf(w) or (w >= abs(len(x) - len(y))) + assert s > 0 + r, c = len(x), len(y) + if not isinf(w): + D0 = full((r + 1, c + 1), inf) + for i in range(1, r + 1): + D0[i, max(1, i - w):min(c + 1, i + w + 1)] = 0 + D0[0, 0] = 0 + else: + D0 = zeros((r + 1, c + 1)) + D0[0, 1:] = inf + D0[1:, 0] = inf + D1 = D0[1:, 1:] # view + for i in range(r): + for j in range(c): + if (isinf(w) or (max(0, i - w) <= j <= min(c, i + w))): + D1[i, j] = dist(x[i], y[j]) + C = D1.copy() + jrange = range(c) + for i in range(r): + if not isinf(w): + jrange = range(max(0, i - w), min(c, i + w + 1)) + for j in jrange: + min_list = [D0[i, j]] + for k in range(1, warp + 1): + i_k = min(i + k, r) + j_k = min(j + k, c) + min_list += [D0[i_k, j] * s, D0[i, j_k] * s] + D1[i, j] += min(min_list) + if len(x) == 1: + path = zeros(len(y)), range(len(y)) + elif len(y) == 1: + path = range(len(x)), zeros(len(x)) + else: + path = _traceback(D0) + return D1[-1, -1], C, D1, path + + +def accelerated_dtw(x, y, dist, warp=1): + """ + Computes Dynamic Time Warping (DTW) of two sequences in a faster way. + Instead of iterating through each element and calculating each distance, + this uses the cdist function from scipy (https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.cdist.html) + + :param array x: N1*M array + :param array y: N2*M array + :param string or func dist: distance parameter for cdist. When string is given, cdist uses optimized functions for the distance metrics. + If a string is passed, the distance function can be 'braycurtis', 'canberra', 'chebyshev', 'cityblock', 'correlation', 'cosine', 'dice', 'euclidean', 'hamming', 'jaccard', 'kulsinski', 'mahalanobis', 'matching', 'minkowski', 'rogerstanimoto', 'russellrao', 'seuclidean', 'sokalmichener', 'sokalsneath', 'sqeuclidean', 'wminkowski', 'yule'. + :param int warp: how many shifts are computed. + Returns the minimum distance, the cost matrix, the accumulated cost matrix, and the wrap path. + """ + assert len(x) + assert len(y) + if ndim(x) == 1: + x = x.reshape(-1, 1) + if ndim(y) == 1: + y = y.reshape(-1, 1) + r, c = len(x), len(y) + D0 = zeros((r + 1, c + 1)) + D0[0, 1:] = inf + D0[1:, 0] = inf + D1 = D0[1:, 1:] + D0[1:, 1:] = cdist(x, y, dist) + C = D1.copy() + for i in range(r): + for j in range(c): + min_list = [D0[i, j]] + for k in range(1, warp + 1): + min_list += [D0[min(i + k, r), j], + D0[i, min(j + k, c)]] + D1[i, j] += min(min_list) + if len(x) == 1: + path = zeros(len(y)), range(len(y)) + elif len(y) == 1: + path = range(len(x)), zeros(len(x)) + else: + path = _traceback(D0) + return D1[-1, -1], C, D1, path + + +def _traceback(D): + i, j = array(D.shape) - 2 + p, q = [i], [j] + while (i > 0) or (j > 0): + tb = argmin((D[i, j], D[i, j + 1], D[i + 1, j])) + if tb == 0: + i -= 1 + j -= 1 + elif tb == 1: + i -= 1 + else: # (tb == 2): + j -= 1 + p.insert(0, i) + q.insert(0, j) + return array(p), array(q) + + +if __name__ == '__main__': + w = inf + s = 1.0 + if 1: # 1-D numeric + from sklearn.metrics.pairwise import manhattan_distances + x = [0, 0, 1, 1, 2, 4, 2, 1, 2, 0] + y = [1, 1, 1, 2, 2, 2, 2, 3, 2, 0] + dist_fun = manhattan_distances + w = 1 + # s = 1.2 + elif 0: # 2-D numeric + from sklearn.metrics.pairwise import euclidean_distances + x = [[0, 0], [0, 1], [1, 1], [1, 2], [2, 2], [4, 3], [2, 3], [1, 1], [2, 2], [0, 1]] + y = [[1, 0], [1, 1], [1, 1], [2, 1], [4, 3], [4, 3], [2, 3], [3, 1], [1, 2], [1, 0]] + dist_fun = euclidean_distances + else: # 1-D list of strings + from nltk.metrics.distance import edit_distance + # x = ['we', 'shelled', 'clams', 'for', 'the', 'chowder'] + # y = ['class', 'too'] + x = ['i', 'soon', 'found', 'myself', 'muttering', 'to', 'the', 'walls'] + y = ['see', 'drown', 'himself'] + # x = 'we talked about the situation'.split() + # y = 'we talked about the situation'.split() + dist_fun = edit_distance + dist, cost, acc, path = dtw(x, y, dist_fun, w=w, s=s) + + # Vizualize + from matplotlib import pyplot as plt + plt.imshow(cost.T, origin='lower', cmap=plt.cm.Reds, interpolation='nearest') + plt.plot(path[0], path[1], '-o') # relation + plt.xticks(range(len(x)), x) + plt.yticks(range(len(y)), y) + plt.xlabel('x') + plt.ylabel('y') + plt.axis('tight') + if isinf(w): + plt.title('Minimum distance: {}, slope weight: {}'.format(dist, s)) + else: + plt.title('Minimum distance: {}, window widht: {}, slope weight: {}'.format(dist, w, s)) + plt.show() \ No newline at end of file diff --git a/utils/losses.py b/utils/losses.py new file mode 100644 index 0000000..21438e7 --- /dev/null +++ b/utils/losses.py @@ -0,0 +1,89 @@ +# This source code is provided for the purposes of scientific reproducibility +# under the following limited license from Element AI Inc. The code is an +# implementation of the N-BEATS model (Oreshkin et al., N-BEATS: Neural basis +# expansion analysis for interpretable time series forecasting, +# https://arxiv.org/abs/1905.10437). The copyright to the source code is +# licensed under the Creative Commons - Attribution-NonCommercial 4.0 +# International license (CC BY-NC 4.0): +# https://creativecommons.org/licenses/by-nc/4.0/. Any commercial use (whether +# for the benefit of third parties or internally in production) requires an +# explicit license. The subject-matter of the N-BEATS model and associated +# materials are the property of Element AI Inc. and may be subject to patent +# protection. No license to patents is granted hereunder (whether express or +# implied). Copyright © 2020 Element AI Inc. All rights reserved. + +""" +Loss functions for PyTorch. +""" + +import torch as t +import torch.nn as nn +import numpy as np +import pdb + + +def divide_no_nan(a, b): + """ + a/b where the resulted NaN or Inf are replaced by 0. + """ + result = a / b + result[result != result] = .0 + result[result == np.inf] = .0 + return result + + +class mape_loss(nn.Module): + def __init__(self): + super(mape_loss, self).__init__() + + def forward(self, insample: t.Tensor, freq: int, + forecast: t.Tensor, target: t.Tensor, mask: t.Tensor) -> t.float: + """ + MAPE loss as defined in: https://en.wikipedia.org/wiki/Mean_absolute_percentage_error + + :param forecast: Forecast values. Shape: batch, time + :param target: Target values. Shape: batch, time + :param mask: 0/1 mask. Shape: batch, time + :return: Loss value + """ + weights = divide_no_nan(mask, target) + return t.mean(t.abs((forecast - target) * weights)) + + +class smape_loss(nn.Module): + def __init__(self): + super(smape_loss, self).__init__() + + def forward(self, insample: t.Tensor, freq: int, + forecast: t.Tensor, target: t.Tensor, mask: t.Tensor) -> t.float: + """ + sMAPE loss as defined in https://robjhyndman.com/hyndsight/smape/ (Makridakis 1993) + + :param forecast: Forecast values. Shape: batch, time + :param target: Target values. Shape: batch, time + :param mask: 0/1 mask. Shape: batch, time + :return: Loss value + """ + return 200 * t.mean(divide_no_nan(t.abs(forecast - target), + t.abs(forecast.data) + t.abs(target.data)) * mask) + + +class mase_loss(nn.Module): + def __init__(self): + super(mase_loss, self).__init__() + + def forward(self, insample: t.Tensor, freq: int, + forecast: t.Tensor, target: t.Tensor, mask: t.Tensor) -> t.float: + """ + MASE loss as defined in "Scaled Errors" https://robjhyndman.com/papers/mase.pdf + + :param insample: Insample values. Shape: batch, time_i + :param freq: Frequency value + :param forecast: Forecast values. Shape: batch, time_o + :param target: Target values. Shape: batch, time_o + :param mask: 0/1 mask. Shape: batch, time_o + :return: Loss value + """ + masep = t.mean(t.abs(insample[:, freq:] - insample[:, :-freq]), dim=1) + masked_masep_inv = divide_no_nan(mask, masep[:, None]) + return t.mean(t.abs(target - forecast) * masked_masep_inv) diff --git a/utils/metrics.py b/utils/metrics.py new file mode 100644 index 0000000..b4f5a76 --- /dev/null +++ b/utils/metrics.py @@ -0,0 +1,41 @@ +import numpy as np + + +def RSE(pred, true): + return np.sqrt(np.sum((true - pred) ** 2)) / np.sqrt(np.sum((true - true.mean()) ** 2)) + + +def CORR(pred, true): + u = ((true - true.mean(0)) * (pred - pred.mean(0))).sum(0) + d = np.sqrt(((true - true.mean(0)) ** 2 * (pred - pred.mean(0)) ** 2).sum(0)) + return (u / d).mean(-1) + + +def MAE(pred, true): + return np.mean(np.abs(pred - true)) + + +def MSE(pred, true): + return np.mean((pred - true) ** 2) + + +def RMSE(pred, true): + return np.sqrt(MSE(pred, true)) + + +def MAPE(pred, true): + return np.mean(np.abs((pred - true) / true)) + + +def MSPE(pred, true): + return np.mean(np.square((pred - true) / true)) + + +def metric(pred, true): + mae = MAE(pred, true) + mse = MSE(pred, true) + rmse = RMSE(pred, true) + mape = MAPE(pred, true) + mspe = MSPE(pred, true) + + return mae, mse, rmse, mape, mspe diff --git a/utils/print_args.py b/utils/print_args.py new file mode 100644 index 0000000..b96d113 --- /dev/null +++ b/utils/print_args.py @@ -0,0 +1,59 @@ +def print_args(args): + print("\033[1m" + "Basic Config" + "\033[0m") + print(f' {"Task Name:":<20}{args.task_name:<20}{"Is Training:":<20}{args.is_training:<20}') + print(f' {"Model ID:":<20}{args.model_id:<20}{"Model:":<20}{args.model:<20}') + print() + + print("\033[1m" + "Data Loader" + "\033[0m") + print(f' {"Data:":<20}{args.data:<20}{"Root Path:":<20}{args.root_path:<20}') + print(f' {"Data Path:":<20}{args.data_path:<20}{"Features:":<20}{args.features:<20}') + print(f' {"Target:":<20}{args.target:<20}{"Freq:":<20}{args.freq:<20}') + print(f' {"Checkpoints:":<20}{args.checkpoints:<20}') + print() + + if args.task_name in ['long_term_forecast', 'short_term_forecast']: + print("\033[1m" + "Forecasting Task" + "\033[0m") + print(f' {"Seq Len:":<20}{args.seq_len:<20}{"Label Len:":<20}{args.label_len:<20}') + print(f' {"Pred Len:":<20}{args.pred_len:<20}{"Seasonal Patterns:":<20}{args.seasonal_patterns:<20}') + print(f' {"Inverse:":<20}{args.inverse:<20}') + print() + + if args.task_name == 'imputation': + print("\033[1m" + "Imputation Task" + "\033[0m") + print(f' {"Mask Rate:":<20}{args.mask_rate:<20}') + print() + + if args.task_name == 'anomaly_detection': + print("\033[1m" + "Anomaly Detection Task" + "\033[0m") + print(f' {"Anomaly Ratio:":<20}{args.anomaly_ratio:<20}') + print() + + print("\033[1m" + "Model Parameters" + "\033[0m") + print(f' {"Top k:":<20}{args.top_k:<20}{"Num Kernels:":<20}{args.num_kernels:<20}') + print(f' {"Enc In:":<20}{args.enc_in:<20}{"Dec In:":<20}{args.dec_in:<20}') + print(f' {"C Out:":<20}{args.c_out:<20}{"d model:":<20}{args.d_model:<20}') + print(f' {"n heads:":<20}{args.n_heads:<20}{"e layers:":<20}{args.e_layers:<20}') + print(f' {"d layers:":<20}{args.d_layers:<20}{"d FF:":<20}{args.d_ff:<20}') + print(f' {"Moving Avg:":<20}{args.moving_avg:<20}{"Factor:":<20}{args.factor:<20}') + print(f' {"Distil:":<20}{args.distil:<20}{"Dropout:":<20}{args.dropout:<20}') + print(f' {"Embed:":<20}{args.embed:<20}{"Activation:":<20}{args.activation:<20}') + print(f' {"Output Attention:":<20}{args.output_attention:<20}') + print() + + print("\033[1m" + "Run Parameters" + "\033[0m") + print(f' {"Num Workers:":<20}{args.num_workers:<20}{"Itr:":<20}{args.itr:<20}') + print(f' {"Train Epochs:":<20}{args.train_epochs:<20}{"Batch Size:":<20}{args.batch_size:<20}') + print(f' {"Patience:":<20}{args.patience:<20}{"Learning Rate:":<20}{args.learning_rate:<20}') + print(f' {"Des:":<20}{args.des:<20}{"Loss:":<20}{args.loss:<20}') + print(f' {"Lradj:":<20}{args.lradj:<20}{"Use Amp:":<20}{args.use_amp:<20}') + print() + + print("\033[1m" + "GPU" + "\033[0m") + print(f' {"Use GPU:":<20}{args.use_gpu:<20}{"GPU:":<20}{args.gpu:<20}') + print(f' {"Use Multi GPU:":<20}{args.use_multi_gpu:<20}{"Devices:":<20}{args.devices:<20}') + print() + + print("\033[1m" + "De-stationary Projector Params" + "\033[0m") + p_hidden_dims_str = ', '.join(map(str, args.p_hidden_dims)) + print(f' {"P Hidden Dims:":<20}{p_hidden_dims_str:<20}{"P Hidden Layers:":<20}{args.p_hidden_layers:<20}') + print() diff --git a/utils/timefeatures.py b/utils/timefeatures.py new file mode 100644 index 0000000..7c12972 --- /dev/null +++ b/utils/timefeatures.py @@ -0,0 +1,148 @@ +# From: gluonts/src/gluonts/time_feature/_base.py +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). +# You may not use this file except in compliance with the License. +# A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the "license" file accompanying this file. This file is distributed +# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +# express or implied. See the License for the specific language governing +# permissions and limitations under the License. + +from typing import List + +import numpy as np +import pandas as pd +from pandas.tseries import offsets +from pandas.tseries.frequencies import to_offset + + +class TimeFeature: + def __init__(self): + pass + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + pass + + def __repr__(self): + return self.__class__.__name__ + "()" + + +class SecondOfMinute(TimeFeature): + """Minute of hour encoded as value between [-0.5, 0.5]""" + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + return index.second / 59.0 - 0.5 + + +class MinuteOfHour(TimeFeature): + """Minute of hour encoded as value between [-0.5, 0.5]""" + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + return index.minute / 59.0 - 0.5 + + +class HourOfDay(TimeFeature): + """Hour of day encoded as value between [-0.5, 0.5]""" + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + return index.hour / 23.0 - 0.5 + + +class DayOfWeek(TimeFeature): + """Hour of day encoded as value between [-0.5, 0.5]""" + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + return index.dayofweek / 6.0 - 0.5 + + +class DayOfMonth(TimeFeature): + """Day of month encoded as value between [-0.5, 0.5]""" + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + return (index.day - 1) / 30.0 - 0.5 + + +class DayOfYear(TimeFeature): + """Day of year encoded as value between [-0.5, 0.5]""" + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + return (index.dayofyear - 1) / 365.0 - 0.5 + + +class MonthOfYear(TimeFeature): + """Month of year encoded as value between [-0.5, 0.5]""" + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + return (index.month - 1) / 11.0 - 0.5 + + +class WeekOfYear(TimeFeature): + """Week of year encoded as value between [-0.5, 0.5]""" + + def __call__(self, index: pd.DatetimeIndex) -> np.ndarray: + return (index.isocalendar().week - 1) / 52.0 - 0.5 + + +def time_features_from_frequency_str(freq_str: str) -> List[TimeFeature]: + """ + Returns a list of time features that will be appropriate for the given frequency string. + Parameters + ---------- + freq_str + Frequency string of the form [multiple][granularity] such as "12H", "5min", "1D" etc. + """ + + features_by_offsets = { + offsets.YearEnd: [], + offsets.QuarterEnd: [MonthOfYear], + offsets.MonthEnd: [MonthOfYear], + offsets.Week: [DayOfMonth, WeekOfYear], + offsets.Day: [DayOfWeek, DayOfMonth, DayOfYear], + offsets.BusinessDay: [DayOfWeek, DayOfMonth, DayOfYear], + offsets.Hour: [HourOfDay, DayOfWeek, DayOfMonth, DayOfYear], + offsets.Minute: [ + MinuteOfHour, + HourOfDay, + DayOfWeek, + DayOfMonth, + DayOfYear, + ], + offsets.Second: [ + SecondOfMinute, + MinuteOfHour, + HourOfDay, + DayOfWeek, + DayOfMonth, + DayOfYear, + ], + } + + offset = to_offset(freq_str) + + for offset_type, feature_classes in features_by_offsets.items(): + if isinstance(offset, offset_type): + return [cls() for cls in feature_classes] + + supported_freq_msg = f""" + Unsupported frequency {freq_str} + The following frequencies are supported: + Y - yearly + alias: A + M - monthly + W - weekly + D - daily + B - business days + H - hourly + T - minutely + alias: min + S - secondly + """ + raise RuntimeError(supported_freq_msg) + + +def time_features(dates, freq='h'): + return np.vstack([feat(dates) for feat in time_features_from_frequency_str(freq)]) diff --git a/utils/tools.py b/utils/tools.py new file mode 100644 index 0000000..08fb91b --- /dev/null +++ b/utils/tools.py @@ -0,0 +1,118 @@ +import os + +import numpy as np +import torch +import matplotlib.pyplot as plt +import pandas as pd +import math + +plt.switch_backend('agg') + + +def adjust_learning_rate(optimizer, epoch, args): + # lr = args.learning_rate * (0.2 ** (epoch // 2)) + if args.lradj == 'type1': + lr_adjust = {epoch: args.learning_rate * (0.5 ** ((epoch - 1) // 1))} + elif args.lradj == 'type2': + lr_adjust = { + 2: 5e-5, 4: 1e-5, 6: 5e-6, 8: 1e-6, + 10: 5e-7, 15: 1e-7, 20: 5e-8 + } + elif args.lradj == "cosine": + lr_adjust = {epoch: args.learning_rate /2 * (1 + math.cos(epoch / args.train_epochs * math.pi))} + if epoch in lr_adjust.keys(): + lr = lr_adjust[epoch] + for param_group in optimizer.param_groups: + param_group['lr'] = lr + print('Updating learning rate to {}'.format(lr)) + + +class EarlyStopping: + def __init__(self, patience=7, verbose=False, delta=0): + self.patience = patience + self.verbose = verbose + self.counter = 0 + self.best_score = None + self.early_stop = False + self.val_loss_min = np.Inf + self.delta = delta + + def __call__(self, val_loss, model, path): + score = -val_loss + if self.best_score is None: + self.best_score = score + self.save_checkpoint(val_loss, model, path) + elif score < self.best_score + self.delta: + self.counter += 1 + print(f'EarlyStopping counter: {self.counter} out of {self.patience}') + if self.counter >= self.patience: + self.early_stop = True + else: + self.best_score = score + self.save_checkpoint(val_loss, model, path) + self.counter = 0 + + def save_checkpoint(self, val_loss, model, path): + if self.verbose: + print(f'Validation loss decreased ({self.val_loss_min:.6f} --> {val_loss:.6f}). Saving model ...') + torch.save(model.state_dict(), path + '/' + 'checkpoint.pth') + self.val_loss_min = val_loss + + +class dotdict(dict): + """dot.notation access to dictionary attributes""" + __getattr__ = dict.get + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +class StandardScaler(): + def __init__(self, mean, std): + self.mean = mean + self.std = std + + def transform(self, data): + return (data - self.mean) / self.std + + def inverse_transform(self, data): + return (data * self.std) + self.mean + + +def visual(true, preds=None, name='./pic/test.pdf'): + """ + Results visualization + """ + plt.figure() + plt.plot(true, label='GroundTruth', linewidth=2) + if preds is not None: + plt.plot(preds, label='Prediction', linewidth=2) + plt.legend() + plt.savefig(name, bbox_inches='tight') + + +def adjustment(gt, pred): + anomaly_state = False + for i in range(len(gt)): + if gt[i] == 1 and pred[i] == 1 and not anomaly_state: + anomaly_state = True + for j in range(i, 0, -1): + if gt[j] == 0: + break + else: + if pred[j] == 0: + pred[j] = 1 + for j in range(i, len(gt)): + if gt[j] == 0: + break + else: + if pred[j] == 0: + pred[j] = 1 + elif gt[i] == 0: + anomaly_state = False + if anomaly_state: + pred[i] = 1 + return gt, pred + + +def cal_accuracy(y_pred, y_true): + return np.mean(y_pred == y_true) \ No newline at end of file

    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∋9y_kv=Y5TkOdMN>1z<_X%hWMMusAn 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 literal 0 HcmV?d00001 diff --git a/fig/size.png b/fig/size.png new file mode 100644 index 0000000000000000000000000000000000000000..42c1e8de0a93f2976c2f7888da729b34b71aa50d GIT binary patch literal 155405 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'k1fs;BmId+^kSu!452un2y@xnaC)r1T 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 XnZv6i;vcxvuQT@S-_8F1@Y(+WNxpqc literal 0 HcmV?d00001 diff --git a/fig/sota.png b/fig/sota.png new file mode 100644 index 0000000000000000000000000000000000000000..96cbfc2a03e6967ff300cbe7fd6ab63efde04500 GIT binary patch literal 149294 zcmeFZX*iZ`+ctbQmmy?GhKi7RN~0q4Jd?_lsgOBBLMbwrITe|wP$Wa9G8L7KC1b{r zIho^KkLP{f<+;D*TfX1#pYK|(d+EMP=Xo6azU|w#ZtJ>kd!VMe0woy}8Hq%qR8o}H zCXu#xkw{y&@7{^u`RX7egkSbJDqgxlBC$Ro{u05`%px|uS$gR74=2wEJM(?%fUX9<_*|*jRQ~bxja?($O@0c?B|Ifcc zdzrib^S>G8x4lXV{hvR_pNWzFulz`Q!0q*A8mdDQviA0Z`*+sR(dOspyU!2rDJUpt zv}O9yT>n3>=J&JXh5lnvOR{X;EZ-A$U00^M-Yl=L9NSNUzjo50uQpjOShLvPXnA@0 z=j4yqhm%F40K}}<$a_%XI zzVi1!USD%s7}GK=cc-zowzjGB`8z=`XjpPbCqsPzFY3NL%VzT}=Tfqt*W92S%UO47 zx9J`!Wo5Ew@$mywQn7q8a@X3=3y>DFyMn^APWxBTU z{_k{e*(r~Cj=cxZ2FQmpng0HktNrz?`z)!iudlhIqpmJ^zo~c7l&h(!2$+F zhk1DRv}I^~&kSj7Y?Rj2q;85Ae=zjnVT#jGy{OmEsuQoAJ)$UtOe$-$bTS-=Kho5G z_;7@s-Iv^t=Vo7}SMa6RSJ`-Z$xKa671h=KO zH+0H<_ArB>VE~(qzv8)Lw-&5ydrD|FHa3>0iu*VIt_b|T5!cH2`=w#2FYQtFpUp`! z7mI8UtS*e}Ty2ewjNHb|%$%B zN2KUpP}I=Kcz3P(+aB=hWv3QWt?U1s=RW-{*FYhZ>G-}+Kl=I-h``!MOPh7;??j>FfHXV% zt+hpgA6;GhNTR~RnwKhVCeDS7milZ;{2gn#$9o}%yD`?TyGZF=WMrhwNMrO7l5Udp zj>a!v{^|cJ=KpG`e6OVB)I`UNSlzg(-m+rVw7JG;zU_BdSXuSLB4c9Yx9y}jtfQmz z(4)E*1pJz?8n%5@V9=zULWj zzw_kyb@`;EByCfixybBPd`#9X^GW+h2+A#qFZ5qB@a7}e^F<}8U0I$TNE1Cp!~r6z z;p^9j7jiGl-T2j%rXGK$fw8+1E0Ht)=ovrONs4z8&oAcCceaH)J0(Si4_mHt??;*2 zOq6=|^K+i^>gww4nOZ6P^d*%4bgTXtsP-c_W9}`qj;yzAe|plP^HuGL7Vqw0Yg;RG zWnXLt4e8dO(a>cBclT45E?v_4g`HhLr#k2K^WBy-|BTZ&Mju5-M_cj#EB;lS(`2a} z>9w{PeMzP}{D{JC(i@u&<+NX~U%zf>Ym3CATaLCqm+(qvI&PzhKjLO%lNu10xV?Pd z-rk;Aco7j1(LZ($4h~G>H*@Oe-I4w$ddp6hmX#q|X+7NCGt;P4pNIvLnrEsu1!=!k zc)GQI|DJ(JV*ORMfe zYg+tmWgh;BQ0=&+&;V{x(Fj!BaTG8=`GFMSS~Zr>f`%C{ZQIQ}H*rksuGY}ptU0az92-haa=vk+?c%{h=Wfa3MD26q6fk{o(?c$k%y z)u#9DoBA~~rNnP_R}LIFFxFFg47f`>(>#0c-n~}eat@$wkel#xZxWpj)TtY`^I^}Pggd2idd6)Y%+Pqw@V9n- z>3eqD-s67{j`nAL-}3IOs^Yin<2*+}i0h4nZXT8@M$@dG={W6#z zYfjpR9GUOAWM5lf-*{i>Qo(iv4&zyO;fe1rg=qV7E*&G?!4a)*#mRe!9Qp3sw+p%M zrKP3Ii`@=VvSfd*o11Ub(9k&Rxk!Oh8bKzGNDT=IaopVSD(&O=`}eO1@CoTW0ET@} zNmBTFU+IlqGkp~`c}8W#&&18XtXx$t4DPA)GT@yA*7^A9lMJ%Sg_p*;!h$5jQfE1? zv!_oV@b>m@Zf&i`d-2oul{lG?jgP-ac$qI1%E`-{)%a6B7Iza&S9|K;5P8(RHC0L5 zXUmo?C8%sC?0W)`*RSV!x&cKas+$dbJmb$_sGrnhYAx&GE0&d$wcZVt6| zb@}q2xh;^6Gj%fdUdXw~wo&9fqAbWbU1q3Gk+Spab4ekc8PkpUXXiW_Zj62&@a5k2 z`N?teUtgbZe*g6cpZu|*VGGGmofbe`6SZl0WW*FjK-&}r=ps@K>D||_8usf(Wj6;_ z{`~4J_qdVuYY8|lc}_Pja`*cyg@KwHzEHpW=wWM3Y;1?(+p?Qe zWTZ@^vZ5ZBYgexZZ8pvHLH~aB_4cktTae{~Y@M zt3$Mql2Q14lH6sz_4W0iQ&R#P&jV&hzcAl_@ZiX~b4F83G&E*rW{ykKMrd=iQv4#H zJPBG`n%RGAS3+K%{axc(R01ueThbjrKfh`vO90~iG-+#V5BvYZvJQU? z=bbsB`?veKq)&Z{!b7}6_P5~^TwL-Kn|t=`*-cK)=fd0}TNa!1{PSm3fc^8j92_gl zb15YT{sGhn4rCR69UUDVMEgC$iXmP-OtEwb#Elmq7CJ~Lu zcw2_0`s@n>dB5?RLlU>&A)|~G`9&lOd!6LvRaP#dk46_pe8-5hj(!oD=wVUOeK=X1 z+UhHTVPW#_?j@H+k>r54Y20yCvZCK`X%n(P=q^{Zn!vAfgLUM7;{dM;Ro?&Fv-=~O9IP9%*6lPN$xMWZ5KC6!xis9wHvihL z`vm{x!c0vM6%~~l{HBG=Pz1}bjscv$!KzPyZ?mV59Xm#P^yB?&1Sh(UL}YgDr|cXp zt*z2HDWC4=W!Zb*^Yu+#EqO&F$M}8N)Xq+zC$KN z{{2k=wRG2~SfSWGe9EkQ#8*Fm`4T;SnSNCF`%9C}4+pvuvyNqE_q1>+85**L9+FJ3 zY0s3ZtgIAs9#$j};_BbuI*yL7dQMgE@U3RGLq$q^>-syWzrC$31evwynNXf>OR}GPsfpHE!M^}v z@5H+T0_q)0B+2vAa?6YMHl0)5E4+H-z=D>qiJXPZ<>?AW<80vNKoj1ujO8uFoT zsk7x139q-+OV_SlYeVhLx;fP~JUOWfl%ATAp@7=C@ZH2G@T=F#yx-*_Tb_`RlXbTl`?OXK4c6Rp_YpmvFN>m{VNLbn-Xo9}t7dfB>x0Re(WZ)KzT^tnhD zmX>lnJUmgrbZ-Rt`kuU@^{T4>#tsT|EaJU*_3 zQfgslCXK~M*T`RLmm%EW!qHu1cLe{e;{3L=vXDOZ_nV9?WwNJ4{oP_ommWga_5itA zgTTBQ8i$^ouw!x^Yrbn}WHkQNp^|21DIhpFCExsmb~LYE?FNU3+pp3azcNj#yoqHL zF>En9G2bW?U%56nq(DIY(`U}0?nGK4#SD*)DaN01jc{U0;YDuC;8J_?=*0^@0$!9? zR5Y}=N69}tD6mvXN`=^lSZwa}w}{P5uc*rF`JoI_A}s0ddoc`(F-YI z138obWb%E$sja(3(6qJlIr-KE|#0y2m#wy?dAH9D4y2vJ?&bdEh;$mK)Hwz1kD$yC(+pA;mhkyP& zkF=6<&U2Bw{53x(r(con4{3l}Kth2V4ym^xbl7W_{oHkbJX8HuCe~dbPO`w<43Cb=gBj8V8r6!i>wO!YXHun(GfOv_U>%ZIV>bbPS0vm3`(Ik)Mt4Ba-J_Cse={MguX|Bqt3?ido$ z52bqVXBqdnbxZm00MZbTYeJ&6ZbixzngHrQFRa33WQhiU?sNnB+|b~l)yGF{#AEy2 zSgYDtRS7Ax{ZU}{b?x8UQgFME=fap2Dbu*(mgp*Ixy)sIrTArVSqmr*Y4a~j6xGx? zJv}|i_UzHJ`pRR=y0W%LODY{o;Xwb#MIzQy|AF8qx5DV4Bmpiie`EkT^iok#Q5+i^ zD9558Ib>vH-Z~BWYs+*a)|5<4p7-?hWCBuX_uq7K3jf`ZlK7qn#K;+!vGV{m^gAwq z&FG{C`bp(F_~a*2U~>L2a)#)Dka78=#_r(#LO~tPG2!7-CSHG|mwU4HUW}p8v=bfP zw{HwSCi!MNkWOQtJ$qKW;OXujFmoE9S?|S#P=L9^MSghjpvI?VW#VaRX$`j}#l)iU z3Gz57>FD?ZtNP!%s)RiC(e?r+nLtlH{`+_EKv0O0M#5R507PbFWV9bXI^Lq#s-p@D z@!!g?=VqPgV7U=x02bVQd@8vPhfX=(`TY5FCiX_VdJJHZNMoeTYhM$R^Zf(HP=?xp z6=ui{(9Ng%r2AKl%-Rci5P^s@QEt(`~vv9P{!V{U19*uti(kY~%`qeqVhg@n-6 zY>yqAxUJAuQdXwI;|JoD=J)519~CW6{;spM;!{09pH9_}6N{$P8fQ|wiahq@uc{J# z?b0(&gZEY6a-L)3vFQ$KOi8TdYfe+yZ-YiAYAfxbLmHq&j-ouj>8=K4w}T(q_6e8tvV;i>%;N-ZZ=X zkX4*(se9#&<| zgWymE^<#)mHJCx*V{NT$I}OLtSC=nePDQ333dt^UNvQrfS6+TLzc=*Yxy!1a($c=m zo;Ef%cl!lDdy+*OvnK<+Ic=%#?KR3{GhpPiv$YLspP?W4^-F<)fnm_|wwG5H@|SL! zGX2Dl*GG@r_gtJ1$D3+<@=Ll-=!UP&J@?sA+PQP5m}Mg!j{+T@nf^oLI_>x8-m6MB zBCL0+14j`yL`$q4JMObGFDFLVk!zs;%)#R7Rc&SEpc2hlbf>{~GTNKGRbYFdzS z{^{}STugxpl0Jg|i2F-9@LQL0X|zuu*WQSl zTai;x=w{`9eR5powtBDJ+?_ilk-W3rce#+9Y2y>ro}N&fT1N8Z@bdD?)=JrV&U^hL z7gl1#%(%L`dJHU0dzQ}8Ct}w7c5L7N2%IRun{oXX8K=RS8I4FTHQrWnx{mNGu~zMw z;jPQ!Zqsx_zm{wp{ZE|UZSOtead^Bl|Hziajel!=Vub|Fhb2o5QAfH-M2{TUe@Mja ze%HOWSEeEwIva7qvZkBA+ZZv0QcER!&6haF8hRXuFw_gyyEsR z!q4#(51{nEX_r-LW$y*a*H!5yPD5iMq|e#@+5IhIzPpmvXO{l{rEg35_*7l#Kv%m!O7-FZvNp%xZN*^D0B)K79B*mn~pqJ95pN#*?Q{UwS4x zqR$J!Q(FibLU+LCx#*84adAqEi;L~AuW6J9@2=i%L_ecC5ru4$i}+|Sy>X4_p2pRy z>8IF=3Jase$J;^v%+5N-3BUhac4b|lp&$X#+T(Ue{ALJ2^+f%sj;Tm(sj%;TJB-lr z@bI8xWmQ89plwY}5i{Ra00MeTBDU${{XIK>LxWQJC;0Ib2!&6*Q-&;OG_*!aQj>J! zOy%fxJv6l1_(JZ@Q`pIFR&A4OZBDnZ5()s-8y*(6cgtZ!@)Jp)%BTdIef!ugXQLPH zXEa?j?)1LBvF_1w>hMEoL_E(zevOU>9ehaNF%(44x0{q}Qf16#i?+sYoJQSJU`Q-L}n=;i#*NOHglQUbg>cQh7!#}BC~ zDY2nHadvTu>RQn^l$Dizgs!;p>5lf?BkxDsK>no7Jc?p#oc9`UNS!T*uE zft7kIIRk%UV&dVfeuyzi?ad4a4;ttA0|*z(D__fp|xWiNW_2_HMAV`CwCd->I} zK!f?U?648PsSh}~!xIzP?T@?(^4C8@#Jrw6=fm={J2+W(0|SH7w_g$NA6r`^3g5i3 zw74rOV_-d6%zaB*YdGrFZ=>+JRH=JAx8J#3XvIcbgvQiqe@^-7kSk+Ts59Y|cGth< zgd3Ptum41S75avw(lZEr!9V-s;UUSOq4%idJWFv1@E~($5;h{*iksdW{GfKpoo;l= zThD{e5OkGcrqM!9uJy<`i`F6&S>3FUE;{%uFyImUN7Q*-En-;pbik4wZZX$T-$>pZ)-7*iH(aIt4;VIj); z>yvb7Eu!S^6UjMY_l=6wo``9!?ro6c@yOWRJ~%k2h^SMAqS3X*WZzg!eT5_X1U>-h zW+c$G{nmWa3JMCN^HKxa)o9C1ab7=u`BDdrrnmSp|HdzMYMSZ(s)wlBakDrHftx^} z^_}_V!G?RmHxgny>ImzwPgIr=&#t>QTq7!P%sLUz&nUK zxwvjtmF}KS88MQ$4NaVpnb~}C@(0-;LhuGyJOV`=U0V%M{HvQ&mr3WL;EmKHqFBHb zrkyR~R(@WtVtdlIlSH!mo)_P9?P}ArKv)KnvA#C383hgs^74b=I!KA_FFpm(9C>B_ zVJ|g}_uACStYBfz-cn{Jrp8)&Ljh!7c4$s{8BA)$o@`&~d37}>)D)v{ZaeRCFE=Ly z^7%cy?`;U%01MTG_+p%xHQ^?vWM;+=%Yx8%T6G}FpJQVIyQmKSM4Nc(_OdWQpvqtM zroqV?UqWoJPn5bx=>AaP3`35AWU{(`J%wKj5OFT~J5uak#2JmyD-+8kyFMsO9$DJf1UJ6R$FNbrQha8TlQW`4o`iSNC= ztbn9sZMP;nMGW7%>;b~lJ1q%_H0am1Qp3@$4f!%~?5te$5T}}Tx_+d2OyUtm<1+$E z;A%8qUsZ#~K*q+#_OYpnVJ)B6+{1Kj?(Vi-)C>$e(GasT)6;|Ijp>z-RmmlBJ1bks%)6*ceZ37Y2j0xG8XC!wN=X3$%KG|x z?N#5WPnp3PaU6L-b`Od7vjZL*q&6PUS9MkFT$9Q^CZ-_N?L;J~$ETdk?tXpx`0*CCpx3%%|BlyYuelC(C_)>=Gx___5&(UY$E%fhuG1Q zszgip5m0mV7>gmxYVX~SEoeb)TXF2!mI?(v60KCJ2q59AohpK=6aF+yy zaVop^=`kI8lb`<{*gws?%zcjighO8lTF7m8v^5kOc~jAzB&(QP9;}!@avMbDTj&>I zJx#5s2RteATJUt#<8O+9PfJsFb((`*W;)TH_3`7!JHVhlfswq*M&2Mf!XQpRe){y2 zfCA~_TbHcm8KCoRq^4)5?*R?R?RlDB;{ERobV-Pinu(h2Vt^^4J4HO)Z{0$Y*@eBc z@w^bOE88)boECWVWu`#pA6sqhh_PI~OXwgDBx$9{0}6{0{+Od03Ge#)Diy7H$)JVb z_w(EF)@>%w@y@~HHgu#bFf63mTk$nXP^?dta&vR9VIgAWl~iMM(e>|wxBq-O zscqaXrnk7GffGKMl9G~u&99$7*8-E|JM>F%aB($$d6+th9xqMzvBkl8&m_LR@d|Cu zYB5ZROR? zO#J5g$;LZctH=EQ;p@ZWk0bhT;iE&|7lH0Ya?sAdRYO;QxM42iRQ*bOyY5+!`R(|a z8srNIHldOm%iBPCYV&NoySt5sfx#cp)9mNFyR&n1;Wl5fs1NSlyJuxZd)8T*DFxmS zQ%g(ErGEzx9wconPBXHwgdp)oXD8^PLLuqX*F2#50Mwc9K4&Jv&&9P9tZp4FNpkm! zct;*5B!nS7Bm;t-a-E=qQmkvXvNHGKkP{3)h9!<$P$1ytN@|?11JOfl87k4-zoq^o z(0&_-GAvjM6a^S?T4Of1nE|W|x3KuC&nBENzAAWErW0p`3pY!kCiw zRnVl8<+x4zyK;{|vtunsLYPnP1&Ij9L%q+3X09yR>CXIZ#MhvTy}G^P{Q0rSHjv1C z3*ww^M@IC|M6;E=wr@)htyX%S4$Gp>yVOI5o5i`j8}Q2G z&s8GD{Q33uK~)+@aW+67*1#!y; zozuKNL<(6dSgZkzH|^0=1WD03+GyjsI`QIVyS+x8-ZwCOjHetAV`U!z5VJ{07>gAW zn~PX6&x-MaZwFk1z_fjLm5(Hpef&)kYH%$tAgX5E`+_OY8!zC}0Mcz>E;gqWbRKL1IGbO*27 z$k?_05)4>vKI^Bdpjkt5VMeh5@~HdC1p*Zb}URElLxr>wtQs2?Z={?ZF&yf+rD~2Phl)mQj*xWc5cJN#fYEo8(Vv;)R9{Jbn^-h*Icp5~tE&3Ue$0#T$gzdV- z)@N&|99>*$apZMR_+M}D)4m)(jhBQQ;~nT6r?Fguh;!&gxzv6xie=6Tcc`fx;KWLnfkH5j#a{&X0c2A)zbRK4%8?NQl? zaRPhJ%acX<@73k}f>!bo%m|=pO~DR2ZvvGaaiv=Y$F}x;(ey4jZ^Dc? zSS!ZKxdTz*2Yn#ZHkQ-Y&W;AP7kqDE6`WFgp(|^ovlH^Q z*JrsEZ^0_zxtOE+F?X=Z;S%c+urd$932Y^O%QND0U05d&k=ry2TtUXR!2+D8n;x>9 z-lv~u_#QNL;>(v*Zfwmu5WMms%a|(WU*J= z-5hKlx?-ZD1)o120uD1QyGe=U;u{;gpGzYl1VNpQU@-F*;O8GUrsQmZg5!z)cE=RUT^SHJewHMrUaiN=ekF`94e(Mz=Ck68f z)zQ6i5xkygKwuWzgU$W`kDFel!7q4o>cNl^KGGb6;=RBEA7%$?^3e;nEMMGLu=$+p z!)D-+x)$}#DY&+>bKUkA9U_0*i(}OO_M5a(uX@`pqf1{LE*(6Ab8-(P?w;}SaVvN| z)79gHU@uBWl^E+T7D7HrU#P6`X*?yQ3DIw|yO;_m?@SJd z;j`U3yF?>p*~Bn^Bxf32=K)ZunyZu8aPl|G1av0ip6Fz&-;bh1?eMPRKT@jv7F&|` z6@}6ag_d;K^*-UgqJ4LaVX3Ar7pWP!V_)veLEEM5 zpOcgPdA9fc{dtX&Xc`G7bAXk;P7S_HNZ~srC9AeR2hz)OKlvVb=@pW)kL97AhtG&@ z+34%41kcbzNDCBD8I^ORZ>p(pAFlWf2%$Z0-IBZmM$x$%DoN6^XW3he1hPS#8M%uW z8A1C!z=^wFXiRuz4=Qx!n?Gpv>~n?@2njCjYgGHNij@Yoy|c=vs`VO(be=Q0Jb?ua zH}&C98A7t`e0_}ylBzMUB^>K|`MLC?eczyy5KRikMd~Y99(X+92HpfQbguy>QUyTA?_!M z-k6oRvp%&{-I82QW{~8xyt2acmp%H>dvQ%;ervidvJ%FSDP+@!|YU3unWgDPuhs7Z+h@L0aQ@#Fy2#$@+3fzdkp~bg)hqf)ARJ z=oiP>PD(~3_B#$ zfEj_;^Dp7$-$Blh2zrLJA+eauD}CtzBjZPwj>xko4B9uC=;_m5{iCIU`{W@qY<9Wl zdDa6N+*3goSFp;pWh?N~rOztrSy*s@Psu6>SE9A-O;MoA&wa=!vK2ZGnUJ1PUcuMr z&#TAeVK!Rs-`seBI2;5)rhs0u8ELfCm@!yq@w##tAF~FzxL~8_L#|f7_UN-KoIEwk z-9KYuV~;kTk?Tv1*6Q@;hqjFdj;t+R^`zbfD0?^QHqSW?%KD8z5qHb`ti_-7urbmj zEv`RV^O&YR&MPP5lkPBUjXF=wfn^NXc=^s|scklG`y;(;_!Fq-c zrmf`3aQ!fn@Xg7Kach}7_p2S>_XjG}%{uD+McofLD!W&E&!17sRv8(>DpGEzl zR%*h`L$O1Dbz7UxfS2=rLBn^5RDwM5tAGCJ5%sB4r#@1WQ&H((nu&Rq!Y8V$%=8|l zvMj5tXkK`DxO4`0#2ja+0$kyPTuIO&{H*CFE?QNs1O^51E`+zjPw&*D{j0>%bmAkl zVel1n=MwpjC2rxK9rkr(SC41y##7aG?H9Xh^{Hw~LpYu1*dog*$Md{50DK3@9u0dK z>iK!WzJ*41FDUgnZFM<@;dSK^VAe|2Da#z1$d8SU5j5KK6x=Iq83;?r zV|weGpbH6WDB%k{d2&DAav2r48PgT2&n1j(l8^i_<(!FkUti95mr5yc*!B)q0=X^a zW_4txmc>Y7)HDQbI^=Ksu{e40c|w9<2bFFb_mr^}RpSLVUAvR-`me3}NvVa4OaO$t z&kgQCn!OL0k@YVgz!f=eH$+K3;ohKtfB@=Zju#U=P2a!ki*fiY&q^hIvbGde&h#|Z zN)hI3sr&KZZk3ReAYw4h5?G}&ZP8m~_q5%enx5W|Qza%~GuCam zC~;mhZ3Z@&OVfw>dP0+%rm5H{;fT>L;}bo0EN%MNCm;RzY%dECT4v(Jumt8JQn_}c zmde3(1MHmLYOmtjsPsrGsP*U%6VCm8AZBG}qQSZlE@SwB5C5G+B5O{TBZrYxWn?JA zPvE)|{1dgTwiuC7)^7{eUd;Ze+;HO2W>X>*qu`x39xE%;Wizus-)}4T*)*Q$%O8yR z*T|jCvMY5)J(8unT`qcw?s$bSh3Ce4se6yS_92V~?W1&B>Cd&P(%&Vg??6zIL>Jlh z=0%i|t+^oZFj-ph`xxVOA;8J?b|)6UH+x z+}Hrl83Aq;(z7qA)yI6Zf;>6dS1 zBE`7BRdQZeQdOn*|Wu-@;+=fL8$SadK3~C7JxhYHI^&_uN?~j!)^=wA571H09{p zUxaS|g63$oz;)w9&-*P~{ZNP95I<#T$ zGBgop>!2YT?-Ps6nk8iP565 zr@8r2VPWBJ63XmFE_IAO0@Lp!1~w9*m$zWQ2NrX(DRRG&=DmtTx;^LE>TwK}z;z6XsKE?3-wAX53*FSCnfzY$(&g~`j; z@Z7`r!R1|MRu|;F<}4*T0Vrzb4$ikjy(-&Pt5d=-_wsSVsD`1&tbX_|)k#+1yOq21 z9z58Ew+aQ9AP+7toxm)nNbH~}g>NCjHjZd%_G8G0c1t39l!n@WsO1W1g))G=UKmya z!R>D|x3yKpR~^CRBw>U=gBlLk&>oWBOXK*fpC3zMgi2GTXdlhL<)Me#e}T4Su#kGtg{SD3#y%#5Hy3H==?K%HaEmftGC0Y zw1u#PM2Q1Xq(HNohaF+4tE)>nO$8b3!>1Ku3#OCQ;T=f^G}pnesjIrL zuYMsMEoQgDmx-)*y}2$rQ+4ClUI_Rf$8Jh@=V9WJlY@ghnhg~-5q+r+2!t`bb=s4D zUv5PW?vQ6#6n3PEt>-aO85JKdK%Wp7$K%h;$k+_wF|`^dLax7R0s;cr;D-s52`1!J zfZ+(+Ygf6)>yWlXqP*fDt zt)H$MCw=A&jDyW=rA{X0?rg;lpVr#GeT!-MgH)0U2gu+tIA-*Do`V8xCxndCyt5b& z5ET>SAc=ujiAzp}3UnB(Qm9gs6 z^0)2V^EUJ8?2k>XDH@}xuF%TkRcM^$eDY;d_HaH?Eze@#uPfuW09sYfqi(O83$L5wiHq9BO24laBn516DW z2Pn-tPQrJF|Bn{{gu4>r5GeX1h8a;Pvj9n*>C=Dyyuy>FtjW%$`uIFCD2UUkbYS5A zEy~@yHDAPMwoL<^DjO;h&`?t@93TcqCnqOU8$Wb+KgHhW39BOwQyvh# z5ADNp6_dkpnZgVlDHzQoyx+;meCzPs1%VYby3$3ivme7BP{)S{2Be6ufG?pL9HROi&EkPMFLB zguGxUfE5%7DrcTE=UYdKW|?uo2iV{&g`r5(Lkpkd&zwjpD?1H zaNOt{Kn7VqY=|dU;c3=g&C9lYj=|p}@*&hmi>pmwVzq`p#>}8e$Y4jxvsZ_?KDJ{= zf~(-bXd_O!JN76M8IG?*2DrA~4_{j%TlRhyx*AKZ?m30$C8IUrgsK0x}3jsi$Qp<${tGyZV`t$a8P3T70qV zN13ku5gN=o6QiQt>Aj8_`1yqex==RXXOE9v+l#{!jwz@&_PucbcgZ$1G?@K34sBju z1H@@z=U2`TG!1*WNGLsNfU*to{IoPUr|LEvW^ng@z~IK4b%y(AZX9r}4?xGNc;MKU zM`dMYCBjAMPUA%0;r!Z2ji7!KMI&pSclCOIWreEGTaQ2KQO464iw5LRLums{eQec9 z&Gj4TZlC2(aKIK6$gw76PjGQ>Kz~wtC zkMQ${AW%R4_z`z=vQrAha{&|7ng|hMC>R1Po!}~w(NX}?+JGh10Mzw8q$-gOFvZA; z=>wu(BhPXXzu>=+JK&Sw2aKzhC-?(sl?ii!tdic(AQj6Q6xk+W%{0+PMK?)tewg#! zfH-_)i51n19mXJ=?jnJIz|g$Rbo==)o+m0N4C!dX=&qiBp(;t5^)Ck@znF*Eh!ILPb-4RfnO*b0Yl8uyP&7-0;A(P*%?mwxY37dGcJK! zBSrz>`2R2SVD}#Yomx?&62~NE|Doh>EvSQ5Fihzp(xKQfrlqI10<;o7c?)y%l!CBK zdlSO~i@;Nd;CzAirTfb_10!@xvDCkf@pqA5e=pcZEQcR*Fa zr1utVPUx8n%gB!y2Qam;*bWPQn*Gh-rx?(=fB*iwwzk*0=N9RlKXAauLrqJ25BWVA zbf0ta&R@TfGzYaF0|N#3y(gR)F()rs8q7e$nH_ICN-zwzFJlx`RVgs^6+*1w4?ZiH zPKf`)r?=-^(wW$8WUU?3<#p@UnS*ED@4(D?5fhFL4Ot(jB!z^iFw#jFVS79uJx=~R zfS`L{Te}@-7^4=_E-qs5K@xc-Z9Xnw7B&pR!U2Fp{cvG-)h|i)mx4j7_5jEjZl^-| zCvJ`au?JxsqcD}qqEa-#y)`KL7L~Ekrcp<0T3h!atU@xLV{6Q*LOcOtQmIY1# zT=YOIq`GsX@~92$bQdup1pxd27BAu!4cJ2PNbdhukHcU10O1uJs~#IQDYW;rF~f&= zh}=C@K8Jt@@1>-qbRNV6;uT9vy~(~!MBp6Uw*(6Ul|>56ia9vbD_2O^(CCLGdN)aR zH8q0!4cHC9BrGEG9>*TmSFVvAMcks3NJOxs@j3R;Ec{0EaTtq@Gr6OmvxNtb? zY_AQB5W>fg6N)mn{m4N}^d$;dP6_Yz01U7iR(Z4H6Jt;N1O0~p7D233@-S(yz5V)B zy~kZ-f1=J=b!103?iEJn&xfA?%=Layq%vSDThK_f&=&EcGcY3vS?7@;caB2zWMnha zpT5HNM0iX>W8R1ob_{G1JK78Uvpo9Lfj}H)*CSU-U4Jw9`ub8+Qztq9I};`Nfmg*#{pWiYD=GZOmW zyV#jv_1k30aF~$I9MnsHD0J}^2>=pmQe|U*>vk||^&p^VSXn8d%LACvA@ylrI>e)D zLP16KAT%_zE1^U$4Ik^M+83=IvtQVw+f_nkd|sD^;^6;)Mb z(b@ylq|KJ%0INP0-U9h_M0$-%HSs_?2TfQyaBs!CYcGw;{NX-&6Q&sBign#|@^Zi) zC+qiaZpC1D^Y`yUMMHNjLwkA*S;TKrKv?^y(U81u{P@$>w^#o6-9{T)C8ecOaM|F< zIl8%hK)=&W%=o^zK#7_ukD*75MLdMr$#h|?Wvs74e1BI}6s)V;me$?ci^t@-8(&m_E!;tpoJlLCcbi9+&ahRSH1Q%^TuDjOiR0n5cpF zKrp?8%KP6}D-lkbtF0gXPyEl7S3De`20L->5)LqNeFGtK!oqJTOrb+TXxBKB{=mcK z<>l}|=#Ad|T=4(856hF)^8ayX7UjGD`~qB_)k4B0694~?{NG%cw~brd+S_iyr->5lsbw5E3XR@BaSbS8KD?ht#z%^=1w*-{%}#h-syHY$K=(rjB< zOJ=9%%nmuJ^VH-O0?&R?`G`~T8Cef{{ECj9tayE6rs>+~XH>GL|9oKKIucc($ba7A zrYiDo+kYRq|Nda7)Ls3xVW+6y(IZD>#%CfX4wX=PJ>%-} zZ``}ba^^rBSp)P8CwR|cUrs>|Bq}B8-TU`j!23f~x`%FsFi*h;FbJqR!}mbe7wAt) zPHqS48E}}dE^i$m>nk)4kT3^;G)Z^hR>E}~43LrV2{IQhFfa%ihak09fB(Lpl$eq6 z0Jm^4GBIr>fo>DI*2MA*W*emHT8!kGnwic2i1~xDPGnkXh~!&IpzBPpU3&o96-fzG zYpm!}d0o6^?_-QD^Tmr_PX$rMagED=0a$bMd&oAUiZ?I?LBVp0nwOUsLv_R*0W{3a zbGH`WVNMe%cq=T^&nR_8@<9dh z8x&E1e^`b)jc|ql`w$))%yEdq@<2`^G(W5o>^*hm90=CkQKcG0^3&ak$ZoK#|HMKA7zn3_*JAVbCb|2y9R;1wQ?C!4V z>|_MoARr;>U4Q=}P~eYG-{8WP0+b|8Jv}+xy%G-S3dlVK+CT>FU(_@k&;q`Li0e0R zjuV)0eEgE&q_>9!Fe?tqE)2|5lp2PCYjAS+9( z92CxM zpQ*2{9gb^)m_urY3`QP3gME;#1Rd;`*Ij3Hjh74*!M+g?^2+S&L7|~(xH~9F?D%nO zYzzAoa;t3D|6=XU!*br+{qL)kA!C%x5mFf{EF=<&L}-vqDVa$sp=d&+P|{$oB#C57 zL@GlxpokTUh$KlVrP=fPtoz>kx%WPPzki-+r-=lPyabS42WDrZMu z$x(dv?3v0kl;lR+02JU=&Y_)eUo=nkh`hwf(Q%N<8M=Gi)7_*Z;FHwdJpo%}yjokE z91asjxW^~cM=S!#ZRgTM6SfjI7L>Vi3jte0|J+12YnY{bQ!lJw{zuo=W}Vpc=aFR> z%q;z>?U6&pXmE$12BnmbVV$}@_mukj?VCupoNsQP?KoHEunkl~@xc@e4aLDZsI0q} zA+8hZ1ww4h`(^7j%{e@d&BNJzpOfKX63DCHqK!hG%>xPfAu2~UpyHW0#nc{NYL&oL z`pcH}r#r6t^=pKMo)GzA)Rl98x9h#aDw;wt8R3SGFTJ?n;$Ff8RfZ4m2xawvE;RzC zFgTUO8jA%B{FlZU_dwYw;qW8NW11I%#Pae$8s};`@&u zw*#rM`($x|m3*J5u$=L0;F%wzF&1f_gm$dpr*J~voZzr=VHlFpkxjBNHbOi{0J!{K9eOSiDO-kEN z#j1V&dx~&L(1}mu+QR&Qh#e;7b+n~fz0q+;#-AjW9TN>*A3u6@h6O>nzBi~cW^G5g zcQ0SQ{7_oDkE?0mz=0Cn#ofz<^EPEXWE1Vj{YQ`XvRbIu^;Hh*gB$b%=9|pzK2$FT zH5IZB_W6G=m_>Kp{vr_d3Tbh~*)&E~*Y`>twxg+x-~my3fB)WWxM9$zZ&p8#LCLPX z)*O9W$9Z*1DQskCP875elZ&=^{%IMHg2k6pdoa;OWlchbOdb(=A*SSF((~=#cinHA zb*iC>iGW4!e;7J+s4a^~$W^H-_Q2Ke_m1U73j+=(;eFy)BT#10wzrW8>k!z0%Gj|A zz&KonmwPpvp~cj41;caHhC4*y)JCI+Ex@+=#TJqob9O$9L~8vO>Gb3uQ6isEvdmtE&i8gxC~P znQYESa5N%Qh*$EF$P?Kr57%NoR6B{lWgs=l!%}5Y3xQ_wwmyCOoB^+TePe@?5OwRh zH>Po6vPO|tYEd#ghg5PbV#A4x2syrugF{z{L!%+xk>AfBkx#%_M^5K`^p`6@)qDmV zP}_ifW6xICk3W8N;m%{7_?|JYa2$#+7%Qo8rDhDDOpXG2(c%C|cB3 z(f6Y0O+SG{<>uu*pn{3KcyWo^omQR3t|A#_b^^Zd!J&6xH*H{j;KTR8+@RVYcqG#X zg8x?wH;?$Ctjo<#PTgm_J6|kFU$iDg2Ao?+g_e^4%M09n@#2QaUj-@dcYN(izkfd< zQg3;{fXSWV8iu7b!Kui!ZClI@yY}7fzXUb=>@KDVAaa(+436PkzHOwt;n%#5Zt?Yj z+}Hnv5d)BWUriRW3=kJpmiA+doN3d~$- zG;7vW4p2uf9AcVn*;_z>iU@zJFWpIcGt}O`VyXQ=Nx#W%3ecW=y}hMK-W`;6^@{y> zzPB*+@xFuXh_AVgZ+ps~k!I&3iVa4EiB}_eulZ&f;!||W7kCd!Gu>k@zf0k zS)j^pUFst8V+eYJB#?QPncpn*LqG8b8l~H|XGHrOL6jmEwIt z%4}zJL{sT?R<2t&3-xfuVOR#2Ul2A|3yqg8I|Wds8LDlm0KPpiYvr43t8@-EG&W*K zlm^>+4w9p;qjSsyXR@?DB#>hEBrd!elC_{tTR>)1RBq!TV_zSH{{-mTA>$=}FVYsi zxRj9JJ_oLeg=;Hzu3Pt0PH*YNSm}xhODCjB*laA0@84B?X$DZJd*(+qKDpE)LBPLUy zJo(gKVjeLH3j2AA*rZ?qEv#f350ALQ>YKkkVXQTnpz>7s|)v64qAt@^{c=eV2;KsU3*sk*94JRgN56SYRA z{RS%4&GdXCh%7iHWN3WYiT?g1FH_-~0*9-Uzf7dvdG59qu|GHtDa$oNUQol&GBG(Q z0r$M~aC8r!OT9<0Y#)2^;*kp%G>B7rfvU^r6jfhk`rWw%35#GTZkB&CpWs<3C#5Ug zTn(P9N&=UT%K6I#$dn|Pqmo<>?1wKz+A%iz4t&&)GubDn2^`W#X{J(y`{gLft~GlFi)a=b92XZSc7<%{ZvYbK5zbw% zD7Mv#I@Q^|LlanAq;2UJfb#V)4>Dk-hnx zUNDmiklWL6=Jt>GWu^5+6C^KB`d)VlTB+4tIxCc@hGoYBDe!~T!IVBb>0lD*uuP$i zJ!H&~uxvj6)Lv$Wr3+qrk4v9y8Ea-3+rwq^=8Q;t*FI~@QK8=o04wM@(VbPIrmcM# zx3CE(bPSiTSjVr+VL~f=RbUBzFT(YHL}Sa zC77=Wx02|&MI7|y`dcuqYx*CWy8EZy*FN_3r2saPtmS4jFi3FxG($eh$4JN0irPcA zUArS(y6Cr`Q-nR#@#(*wLO=@ZeOq~XQ&gT(11W~IZ?*BlJv`UIfX#OKh5x1G?~SFC zazpQ)RP1_;l#oG^v8bcDAlSNQNo$nX5}PJ3e|Wpmu_>M&hb9IueAoJNV$IOk6MgQ^ z@6^S8LT=~@4^E*T>ky33HZWLrdkcR9wbsxnCfZtWc??L9&hqseaf)}4AeQm+HR`kr zZ<$$Pe(CENrMe`QCjBMwp$3yjX6c`}zg5lJa;0Z%BDLwy+|%JxtOB2!eva9GFY4=c z$^fHLVR^{-9tzOty8gSG>oL(LfD~0ruK&60JMYx8c~JO{aS^vqge_~l(pkNEf?>aF zsLvfQQOr!cq3u(7?r42vuU{S7w^zIJ2ldz);FE3=5rHT#58yVpQ*nr*h+0O7s(v@4 zQER}ZGbU6U7MXk1Pd|3fi_pp$=@-@o=x2CnT~x+px|0>1raCSsxx>JK1lh^b`gCKm ziDEbPi#nLO&A6Ek4~pcTbl5h`_o6OP+q_0}x5Zot(p7&xv7hWeV6)sW)u!z~a{%hT zAG4Bsg(8H0wykGt!!R&9$HrglB$amMpVKKr9l<7v0iHU2dKeY5qGaDK#EoAok0j>2+2hh@E|>17I1SPr@L^~^ZabUeF#@r8lO+0 zH;$`NPEtJ4@91D^>;=Y4a6|Jq*-(#I-B=%Dw&dmW=iaw(Pvm_VOzL4cqPJnPvSE|i z%Mj{iJCyAcJX@2G-ad7T+bog`?scMlU!l_-x982bBS30r&B|sL%sRJS+^;{U6GL!i zP0j#Ou7m2qQ>(nUHhnw8HJTrN%dJ+!qoE{hUe;qUUuaXqq7?V^QFc`NMBG{=Q^w#`#NWbIgH892qt>O@WCWU|b? zEHoDQWgiU+GK=`(b0a3&dyeV@`o1cbs`|*1W|H{~zaA-6Gk*89tKornU7Jqx)%HgR zHr&vbSP`U5BC#-33Yv}&(U2JRy=3HJBQ4r^N#*p4j1s4lxWU#fTEDJ_vh(Qi<@L z>JWJeQj$?*HgGpuW;k6miOI&EoXwUPx=UlO+5AnwSn?I1{AzklXa%}GhXCs$}) znxI2;2)Iz><;wvAv!N4*dzF=(oZ@L6=b-7ZvZxsi#xNlP*p7g0I*GG1qmg>mgJP=wFsrSOI_^QW}tMyF_6ziLo}w z#DJ^>5l(@iakhWKLWbXH#HTeY~zaedgq>57$`X2<=@L4Xjo*` zom|lmPAp8?knO|=$nv@AWWC^7G#17mpcb;DP%!R#O}1e|cn@kKrn@{QnPL9f)`gKv zJluCoZMAU>bDnxTY}hizic}u2uyKnV7whe%`K|tD+iE^dx96re{Il@&8VUC%0qJL` z>clsD@u-W>x|vkV`%+T$(DQt#tn7;9>F52(5mhxc4-jp9`0`~hO}xK%I>nv)wRww! zOM7mbLSdmGpMIj6Yx_Zd{`j0Nbb~%_7m*(xccjL zzP$n2{ND5&nvQ_{;Rx9eEne?g^)_~PN9^`aa}^?s`+*+y=Z4&Q&g;(^uWTsE14(zB zV|#1Es|!9X(0c_1eFa+s?Q;0ou?{3RPICLzUZCr&O~g%7u@+(# z&hQvlKb=tV-E8{?1O=*DMQ`}(65}C3lPWxf+hC4g*NUUay8#G{@kE`HZt zZmEERl9GAv(i~9x{ZG|}5Y}qZqK|Z5D?Xil@xkuf9K*rH6~M_zybS$&DlSQ3Q5O%= zQBj$eISL4TyQ^y?<~No>8WF^LZdZz(Bfx>V%)Ko%4AImxw(>j8VjsU$_kf3UURvaD7wL1NI2-Sm~mco{MF{<4HF+H>pQ@kK?hASbD1) z+4~sSmwT5XJ~n8a7u()o4>DOBh=i)DDz#tRc<}M)k_9naD_QQIBulE@vKN+y)#^a4>XyR;eD7*>f>lTKWI=s1(x+R1K4W zmDHlmN3?mW_p~0-hJf2BaD;1&lWc&%xV_u7vst}*FIVpePy;s4?#ReNz?dJueUr1Z zvjbIg?417BCEzI7yu&w(m(v7>p7`S8`6fX9*R$4b)_*ikdh_6m!3P7gORVl}y<{~m ztf*FRyl;DePuIUQyB7EtdzU?M>!++7Kr1QeIDU-z;`?S+x(!2r4^s|xcFZqGe!IfD z<Z*fezx|9rqN}>~M|Q>A zaPx3$=)Lb{3N8s?9>je-;6l)B+c0MI=!ca#*850gN8WOPPOM|W;S&dkXDE-ja5*$= z+3>i3dcZHVi_DTb_Cnjl#Dse$f}_VcXS4{Gy|X~cVq49%*~*Ds(>K<2Z5jaU!&g&! z{Ro|3`fOMJ0CJ&$z(qMJqb^rlK2ZT8Nx720>K^KFrx8p3!lR|TiC?pR(tiBt(b5uX ztie<>tls(S7bdNnPwOKczQp)qi^8KdPcF3t?_V||_Jacz{-~E-yntG|mr+ru?0V(i z3CcYInVcCN4dyR}Z@TDug=0WyS_cn~lIwrVjp}AayRMRzYu3z!l_+lJuUU%+y*Qb2 zuCub!6?*iTZeRf1GnBdo zv4)LJgxLW4xfr0WJgRPC{1E@#QFk0sWul3?WOa2H4&{0DX2RcRrmrt~6}RXJW#M$e zNeCp4)9WjH9aZX>=OQ=Oki`+n=q6L(%vk<2f!)tehyn)hCT~jqbo;7UTG(BWG^A5B zb}hbm{(LS~%Q`OaX}g78hI-gA(2|CYMpjkj41cx%){V$CckOd?bMvdbi8e7-Z|5e$ zg1qsp4fF^=&n@DJ*D4PfFjx3#D^^kPel9H?wzW+geTt$84sug4%nX8iWjsb+IMp1~ zbcD;#*BLe_IxsMB#pRo>H`2wcq>vHVkuV%^IGW%74SRoK$<6rJod%_D=q8Uy)>ks0 zvR7SA?fjE$2-h00y&+l8Xq@p?&!Z0Ld3n1db38j7QY0-1UJMts!OMR`ZKOoNMVF*-{uD;NFD7|dGyIkDVCaTmEho5C;?)PYISkuS}oC%a95nyZ? zE5Z20O7)HDH1_BDKKQdP2meOfp02ur%UwjcDSj28JVp~k50Unb-1g(e4eUHBvyjsv zG)E>*Nt5Qi>v%0D`XB(Qm@7oJxfX&_dKEVtHYc& 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