diff --git a/.gitignore b/.gitignore index 1e4255f..dbb9cc6 100644 --- a/.gitignore +++ b/.gitignore @@ -214,9 +214,6 @@ fabric.properties # Editor-based Rest Client .idea/httpRequests -# trained models -models/ - *.xlsx .vscode /test/SCEUA_*.csv @@ -224,5 +221,5 @@ models/ /hydromodel/app/*.csv /test/test_data_camels_cc.py /example/* -/results/ +/results/* /.hydrodataset*/ diff --git a/README.md b/README.md index c23b65a..470fbcc 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,16 @@ # HydroForecast -It's a project for hydrological forecasting based on big data and artificial intelligence technology (especially deep learning). The project is still in progress, and the current version is only a prototype. +This project aims to provide a unified evaluation framework for hydrological models, facilitating the evaluation and comparison of different models. -## Introduction +Currently, both physically-based and machine learning-based hydrological models heavily rely on existing datasets for evaluation, without considering the performance of hydrological forecasts. For example, many papers divide the CAMELS dataset into training and testing sets, train models on the training set, and evaluate them on the testing set. However, in actual forecasting, it is common to distinguish between observed rainfall and forecasted rainfall. Models should not have access to any observed data within the forecast period. Therefore, a more realistic evaluation approach would be to evaluate models without using any observed data as input within the forecast period. While the differences may not be significant when comparing different models, this evaluation approach is more appropriate for assessing actual forecasting performance. -The project is based on the [PyTorch](https://pytorch.org/) framework, and the main code is written in Python. - -It is divided into two parts: data processing and model training. The data processing part is currently mainly based on our [hydrodata](https://github.com/iHeadWater/hydrodata) project, which is used to download, process, read and write public data source related to flood forecasting. The model training part is mainly based on the [torchhydro](https://github.com/iHeadWater/torchhydro) and [hydromodel](https://github.com/iHeadWater/hydromodel) framework, which is our self-developed framework focusing on hydrological forecasting - -The idea of the project is to use the public data source from data-rich regions such as United States and Europe to train a foundation model. Then we use the trained model to predict river stage or discharge in data-poor regions such as China (actually ther are much data in China, but most are not accessible to the public). The current version is mainly based on Convolutional Neural Network (CNN) and Long Short-Term Memory (LSTM) model with precipitation from [Global Precipitation Measurement (GPM)](https://gpm.nasa.gov/) and Global Forecast System (GFS) as input and river stage or discharge as output. - -## Installation - -The project is based on Python 3.10. The required packages are listed in `env.yml`. You can install them by running the following command: - -```bash -# simply install a new environment AIFF -conda env create -f env.yml -# then we install packages developed by ourselves as follows -conda activate HydroForecast -# xxx means your Github username; xxxxx means the name of the package; xx means the git-branch of the package -pip install git+ssh://git@github.com/xxx/xxxxx.git@xx -``` - -The packages we developed are listed as follows in [iHeadWater](https://github.com/iHeadWater): - -```bash -torchhydro -hydromodel -``` - -We'd better use the latest version of the packages. You can check the version of the packages in Github. - -## Usage - -The project is still in progress, and the current version is only a prototype. The main code is in the root folder. You can run the code by running the following command: - -```bash -python main.py -``` \ No newline at end of file +Furthermore, there is a lot of research on model evaluation, and we will continuously incorporate relevant studies into the program to explore the topic more comprehensively. \ No newline at end of file diff --git a/README_CN.md b/README_CN.md index 9788c60..66d1e92 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,94 +1,16 @@ - -# AIFloodForecast - -## 使用方法 - - -1.创建AIFF虚拟环境 -```bash -conda env create -f env.yml -``` -2.激活环境 -```bash -conda activate AIFF -``` -3.安装torchhydro -```bash -pip install git+ssh://git@github.com/iHeadWater/torchhydro.git@dev -``` -4.对照v001.yml创建新的yml文件(如v002.yml) -```bash -# record version info here as the following format: -data_cfgs: - sub: "/v002" - source: "GPM_GFS" - source_path: "gpm_gfs_data" - source_region: "US" - download: 0 - ctx: [0] - dataset: "GPM_GFS_Dataset" - sampler: "WuSampler" - scaler: "GPM_GFS_Scaler" - -model_cfgs: - model_name: "SPPLSTM" - model_hyperparam: - seq_length: 168 - forecast_length: 24 - n_output: 1 - n_hidden_states: 80 - -training_cfgs: - train_epoch: 50 - save_epoch: 1 - te: 50 - batch_size: 256 - loss_func: "RMSESum" - opt: "Adam" - lr_scheduler: {1: 1e-4, 2: 5e-5, 3: 1e-5} - which_first_tensor: "sequence" - -train_period: ["2016-08-01", "2016-12-31"] -test_period: ["2016-08-01", "2016-12-31"] -valid_period: ["2016-08-01", "2016-12-31"] - -gage_id: - - '21401550' - -var_out: ["streamflow"] -var_t: ["tp"] -``` -5.在main.py中最后一行调用yml文件 -```bash -run_normal_dl(cfg_path_dir + "v002.yml") -``` -6.进入到torchhydro源代码(data_source_gpm_gfs.py)修改数据路径(有三处地方需要修改) -```bash -#os.path.join中修改为读取流量nc文件的路径 -def read_streamflow_xrdataset(...): - ... - streamflow = xr.open_dataset( - os.path.join()) - ... -``` -```bash -#os.path.join中修改为读取降水nc文件的路径 -def read_gpm_xrdataset(...): - ... - for basin in gage_id_lst: - gpm = xr.open_dataset( - os.path.join()) -... -``` -```bash -#os.path.join中修改为读取attributes的nc文件的路径 -def read_attr_xrdataset(...): - ... - attr = xr.open_dataset( - os.path.join()) - ... -``` -7.运行main.py文件 -```bash -python main.py -``` + +# hydroevaluate + +本项目旨在为水文模型提供一个统一的评估框架,以便于对水文模型进行评估和比较。 + +现阶段不论是基于物理机制还是机器学习的水文模型,主要都依托于现成的数据集进行评估,并没有针对水文预报性能进行衡量。比如很多论文都会在CAMELS数据集上划分训练集、测试集,在训练集上训练的模型在测试集上评估,然而实际预报中,最典型的就是会区分落地雨和预报雨,模型在预见期内是不能有任何实际观测数据的,所以比较实际的评估方式应该是在预见期内不使用任何观测为输入的条件下进行评估。当然,从对比不同模型的角度来说,这其中的差别可能并不大,但是从实际预报性能的评估角度来说,这种评估方式是更加合理的。 + +此外,关于模型评估的研究也很多,后续会不断补充进相关程序以更深入地探讨。 diff --git a/env.yml b/env.yml index 742dac3..1b19006 100644 --- a/env.yml +++ b/env.yml @@ -1,12 +1,10 @@ -name: HydroForecast +name: hydroevaluate channels: - pytorch - conda-forge - defaults dependencies: - - python=3.10 - - numpy=1.23 - - pytorch=1.12 + - python - pip - pip: - hydromodel diff --git a/results/v001/01_December_202311_51AM.json b/results/v001/01_December_202311_51AM.json deleted file mode 100644 index d71f858..0000000 --- a/results/v001/01_December_202311_51AM.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "model_cfgs": { - "model_type": "Normal", - "model_name": "SPPLSTM", - "model_hyperparam": { - "seq_length": 168, - "forecast_length": 24, - "n_output": 1, - "n_hidden_states": 80 - }, - "weight_path": null, - "continue_train": true, - "model_wrapper": null, - "model_wrapper_param": null, - "fl_hyperparam": { - "fl_sample": "basin", - "fl_num_users": 10, - "fl_local_ep": 5, - "fl_local_bs": 6, - "fl_frac": 0.1 - }, - "tl_hyperparam": { - "tl_part": null - } - }, - "data_cfgs": { - "data_source_name": "GPM_GFS", - "data_path": "/ftproot/gpm_gfs_data", - "data_region": "US", - "download": false, - "validation_path": "/home/wuxinzhuo/AIFloodForecast/results/v001", - "test_path": "/home/wuxinzhuo/AIFloodForecast/results/v001", - "batch_size": 128, - "forecast_history": 168, - "forecast_length": 24, - "object_ids": [ - "05584500", - "01544500", - "01423000" - ], - "t_range_train": [ - "2017-01-10", - "2017-03-21" - ], - "t_range_valid": [ - "2017-04-11", - "2017-04-28" - ], - "t_range_test": [ - "2017-03-21", - "2017-04-10" - ], - "warmup_length": 0, - "target_cols": [ - "waterlevel" - ], - "target_rm_nan": false, - "target_as_input": false, - "relevant_types": [ - "daymet" - ], - "relevant_cols": [ - "tp" - ], - "relevant_rm_nan": true, - "constant_cols": [ - "elev_mean", - "slope_mean", - "area_gages2", - "frac_forest", - "lai_max", - "lai_diff", - "dom_land_cover_frac", - "dom_land_cover", - "root_depth_50", - "soil_depth_statsgo", - "soil_porosity", - "soil_conductivity", - "max_water_content", - "geol_1st_class", - "geol_2nd_class", - "geol_porostiy", - "geol_permeability" - ], - "constant_rm_nan": true, - "constant_only": false, - "other_cols": null, - "scaler": "GPM_GFS_Scaler", - "scaler_params": { - "prcp_norm_cols": [ - "usgsFlow", - "streamflow", - "Q", - "qobs" - ], - "gamma_norm_cols": [ - "prcp", - "pr", - "total_precipitation", - "pre", - "pet", - "potential_evaporation", - "ET", - "LE", - "PET", - "PLE", - "GPP", - "Ec", - "Es", - "Ei", - "ET_water", - "ET_sum", - "ssm", - "susm", - "smp", - "ssma", - "susma" - ], - "pbm_norm": false - }, - "stat_dict_file": null, - "dataset": "GPM_GFS_Dataset", - "sampler": "WuSampler" - }, - "training_cfgs": { - "train_mode": true, - "criterion": "RMSESum", - "criterion_params": null, - "optimizer": "Adam", - "optim_params": {}, - "lr_scheduler": null, - "epochs": 1, - "save_epoch": 1, - "save_iter": 0, - "start_epoch": 1, - "batch_size": 128, - "random_seed": 1234, - "device": [ - 0 - ], - "multi_targets": 1, - "num_workers": 0, - "train_but_not_real": false, - "which_first_tensor": "sequence", - "is_tensorboard": false, - "ensemble": false, - "ensemble_items": { - "kfold": null, - "batch_sizes": null, - "seeds": null - } - }, - "evaluation_cfgs": { - "metrics": [ - "NSE" - ], - "fill_nan": "no", - "test_epoch": 1, - "explainer": null - }, - "run": [ - { - "epoch": 1, - "train_loss": "0.8100770848137991", - "validation_loss": "tensor(0.7705, device='cuda:0')", - "validation_metric": { - "NSE of waterlevel": [ - 0.6158690750598907, - 0.6173171997070312, - 0.6182560622692108 - ] - }, - "iter_num": 35, - "train_time": "Epoch 1 Loss 0.810 time 43.18" - } - ] -} \ No newline at end of file diff --git a/results/v001/01_December_202311_51AM_model.pth b/results/v001/01_December_202311_51AM_model.pth deleted file mode 100644 index ead2287..0000000 Binary files a/results/v001/01_December_202311_51AM_model.pth and /dev/null differ diff --git a/results/v001/01_December_202311_54AM.json b/results/v001/01_December_202311_54AM.json deleted file mode 100644 index b5fc407..0000000 --- a/results/v001/01_December_202311_54AM.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "model_cfgs": { - "model_type": "Normal", - "model_name": "SPPLSTM", - "model_hyperparam": { - "seq_length": 168, - "forecast_length": 24, - "n_output": 1, - "n_hidden_states": 80 - }, - "weight_path": null, - "continue_train": true, - "model_wrapper": null, - "model_wrapper_param": null, - "fl_hyperparam": { - "fl_sample": "basin", - "fl_num_users": 10, - "fl_local_ep": 5, - "fl_local_bs": 6, - "fl_frac": 0.1 - }, - "tl_hyperparam": { - "tl_part": null - } - }, - "data_cfgs": { - "data_source_name": "GPM_GFS", - "data_path": "/ftproot/gpm_gfs_data", - "data_region": "US", - "download": false, - "validation_path": "/home/wuxinzhuo/AIFloodForecast/results/v001", - "test_path": "/home/wuxinzhuo/AIFloodForecast/results/v001", - "batch_size": 128, - "forecast_history": 168, - "forecast_length": 24, - "object_ids": [ - "05584500", - "01544500", - "01423000" - ], - "t_range_train": [ - "2017-01-10", - "2017-03-21" - ], - "t_range_valid": [ - "2017-04-11", - "2017-04-28" - ], - "t_range_test": [ - "2017-03-21", - "2017-04-10" - ], - "warmup_length": 0, - "target_cols": [ - "waterlevel" - ], - "target_rm_nan": false, - "target_as_input": false, - "relevant_types": [ - "daymet" - ], - "relevant_cols": [ - "tp" - ], - "relevant_rm_nan": true, - "constant_cols": [ - "elev_mean", - "slope_mean", - "area_gages2", - "frac_forest", - "lai_max", - "lai_diff", - "dom_land_cover_frac", - "dom_land_cover", - "root_depth_50", - "soil_depth_statsgo", - "soil_porosity", - "soil_conductivity", - "max_water_content", - "geol_1st_class", - "geol_2nd_class", - "geol_porostiy", - "geol_permeability" - ], - "constant_rm_nan": true, - "constant_only": false, - "other_cols": null, - "scaler": "GPM_GFS_Scaler", - "scaler_params": { - "prcp_norm_cols": [ - "usgsFlow", - "streamflow", - "Q", - "qobs" - ], - "gamma_norm_cols": [ - "prcp", - "pr", - "total_precipitation", - "pre", - "pet", - "potential_evaporation", - "ET", - "LE", - "PET", - "PLE", - "GPP", - "Ec", - "Es", - "Ei", - "ET_water", - "ET_sum", - "ssm", - "susm", - "smp", - "ssma", - "susma" - ], - "pbm_norm": false - }, - "stat_dict_file": null, - "dataset": "GPM_GFS_Dataset", - "sampler": "WuSampler" - }, - "training_cfgs": { - "train_mode": true, - "criterion": "RMSESum", - "criterion_params": null, - "optimizer": "Adam", - "optim_params": {}, - "lr_scheduler": null, - "epochs": 1, - "save_epoch": 1, - "save_iter": 0, - "start_epoch": 1, - "batch_size": 128, - "random_seed": 1234, - "device": [ - 0 - ], - "multi_targets": 1, - "num_workers": 0, - "train_but_not_real": false, - "which_first_tensor": "sequence", - "is_tensorboard": false, - "ensemble": false, - "ensemble_items": { - "kfold": null, - "batch_sizes": null, - "seeds": null - } - }, - "evaluation_cfgs": { - "metrics": [ - "NSE" - ], - "fill_nan": "no", - "test_epoch": 1, - "explainer": null - }, - "run": [ - { - "epoch": 1, - "train_loss": "0.8100776940584182", - "validation_loss": "tensor(0.7705, device='cuda:0')", - "validation_metric": { - "NSE of waterlevel": [ - 0.6158564388751984, - 0.6173030734062195, - 0.6182429492473602 - ] - }, - "iter_num": 35, - "train_time": "Epoch 1 Loss 0.810 time 46.21" - } - ] -} \ No newline at end of file diff --git a/results/v001/01_December_202311_54AM_model.pth b/results/v001/01_December_202311_54AM_model.pth deleted file mode 100644 index f317174..0000000 Binary files a/results/v001/01_December_202311_54AM_model.pth and /dev/null differ diff --git a/results/v001/GPM_GFS_Scaler_2_stat.json b/results/v001/GPM_GFS_Scaler_2_stat.json deleted file mode 100644 index d397f13..0000000 --- a/results/v001/GPM_GFS_Scaler_2_stat.json +++ /dev/null @@ -1 +0,0 @@ -{"waterlevel": [-0.0944036647406462, 0.15743457159633562, 0.06259522239591835, 0.10175473484482207], "tp": [-1.0, -0.42021640148553424, -0.8729342158627927, 0.31938401592393495]} \ No newline at end of file diff --git a/results/v001/epoch1flow_obs.nc b/results/v001/epoch1flow_obs.nc deleted file mode 100644 index 7e118d9..0000000 Binary files a/results/v001/epoch1flow_obs.nc and /dev/null differ diff --git a/results/v001/epoch1flow_pred.nc b/results/v001/epoch1flow_pred.nc deleted file mode 100644 index 0d33c6e..0000000 Binary files a/results/v001/epoch1flow_pred.nc and /dev/null differ diff --git a/results/v001/opt_Adam_lr_0.001_bsize_128/01_December_202311_51AM.json b/results/v001/opt_Adam_lr_0.001_bsize_128/01_December_202311_51AM.json deleted file mode 100644 index d71f858..0000000 --- a/results/v001/opt_Adam_lr_0.001_bsize_128/01_December_202311_51AM.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "model_cfgs": { - "model_type": "Normal", - "model_name": "SPPLSTM", - "model_hyperparam": { - "seq_length": 168, - "forecast_length": 24, - "n_output": 1, - "n_hidden_states": 80 - }, - "weight_path": null, - "continue_train": true, - "model_wrapper": null, - "model_wrapper_param": null, - "fl_hyperparam": { - "fl_sample": "basin", - "fl_num_users": 10, - "fl_local_ep": 5, - "fl_local_bs": 6, - "fl_frac": 0.1 - }, - "tl_hyperparam": { - "tl_part": null - } - }, - "data_cfgs": { - "data_source_name": "GPM_GFS", - "data_path": "/ftproot/gpm_gfs_data", - "data_region": "US", - "download": false, - "validation_path": "/home/wuxinzhuo/AIFloodForecast/results/v001", - "test_path": "/home/wuxinzhuo/AIFloodForecast/results/v001", - "batch_size": 128, - "forecast_history": 168, - "forecast_length": 24, - "object_ids": [ - "05584500", - "01544500", - "01423000" - ], - "t_range_train": [ - "2017-01-10", - "2017-03-21" - ], - "t_range_valid": [ - "2017-04-11", - "2017-04-28" - ], - "t_range_test": [ - "2017-03-21", - "2017-04-10" - ], - "warmup_length": 0, - "target_cols": [ - "waterlevel" - ], - "target_rm_nan": false, - "target_as_input": false, - "relevant_types": [ - "daymet" - ], - "relevant_cols": [ - "tp" - ], - "relevant_rm_nan": true, - "constant_cols": [ - "elev_mean", - "slope_mean", - "area_gages2", - "frac_forest", - "lai_max", - "lai_diff", - "dom_land_cover_frac", - "dom_land_cover", - "root_depth_50", - "soil_depth_statsgo", - "soil_porosity", - "soil_conductivity", - "max_water_content", - "geol_1st_class", - "geol_2nd_class", - "geol_porostiy", - "geol_permeability" - ], - "constant_rm_nan": true, - "constant_only": false, - "other_cols": null, - "scaler": "GPM_GFS_Scaler", - "scaler_params": { - "prcp_norm_cols": [ - "usgsFlow", - "streamflow", - "Q", - "qobs" - ], - "gamma_norm_cols": [ - "prcp", - "pr", - "total_precipitation", - "pre", - "pet", - "potential_evaporation", - "ET", - "LE", - "PET", - "PLE", - "GPP", - "Ec", - "Es", - "Ei", - "ET_water", - "ET_sum", - "ssm", - "susm", - "smp", - "ssma", - "susma" - ], - "pbm_norm": false - }, - "stat_dict_file": null, - "dataset": "GPM_GFS_Dataset", - "sampler": "WuSampler" - }, - "training_cfgs": { - "train_mode": true, - "criterion": "RMSESum", - "criterion_params": null, - "optimizer": "Adam", - "optim_params": {}, - "lr_scheduler": null, - "epochs": 1, - "save_epoch": 1, - "save_iter": 0, - "start_epoch": 1, - "batch_size": 128, - "random_seed": 1234, - "device": [ - 0 - ], - "multi_targets": 1, - "num_workers": 0, - "train_but_not_real": false, - "which_first_tensor": "sequence", - "is_tensorboard": false, - "ensemble": false, - "ensemble_items": { - "kfold": null, - "batch_sizes": null, - "seeds": null - } - }, - "evaluation_cfgs": { - "metrics": [ - "NSE" - ], - "fill_nan": "no", - "test_epoch": 1, - "explainer": null - }, - "run": [ - { - "epoch": 1, - "train_loss": "0.8100770848137991", - "validation_loss": "tensor(0.7705, device='cuda:0')", - "validation_metric": { - "NSE of waterlevel": [ - 0.6158690750598907, - 0.6173171997070312, - 0.6182560622692108 - ] - }, - "iter_num": 35, - "train_time": "Epoch 1 Loss 0.810 time 43.18" - } - ] -} \ No newline at end of file diff --git a/results/v001/opt_Adam_lr_0.001_bsize_128/01_December_202311_54AM.json b/results/v001/opt_Adam_lr_0.001_bsize_128/01_December_202311_54AM.json deleted file mode 100644 index b5fc407..0000000 --- a/results/v001/opt_Adam_lr_0.001_bsize_128/01_December_202311_54AM.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "model_cfgs": { - "model_type": "Normal", - "model_name": "SPPLSTM", - "model_hyperparam": { - "seq_length": 168, - "forecast_length": 24, - "n_output": 1, - "n_hidden_states": 80 - }, - "weight_path": null, - "continue_train": true, - "model_wrapper": null, - "model_wrapper_param": null, - "fl_hyperparam": { - "fl_sample": "basin", - "fl_num_users": 10, - "fl_local_ep": 5, - "fl_local_bs": 6, - "fl_frac": 0.1 - }, - "tl_hyperparam": { - "tl_part": null - } - }, - "data_cfgs": { - "data_source_name": "GPM_GFS", - "data_path": "/ftproot/gpm_gfs_data", - "data_region": "US", - "download": false, - "validation_path": "/home/wuxinzhuo/AIFloodForecast/results/v001", - "test_path": "/home/wuxinzhuo/AIFloodForecast/results/v001", - "batch_size": 128, - "forecast_history": 168, - "forecast_length": 24, - "object_ids": [ - "05584500", - "01544500", - "01423000" - ], - "t_range_train": [ - "2017-01-10", - "2017-03-21" - ], - "t_range_valid": [ - "2017-04-11", - "2017-04-28" - ], - "t_range_test": [ - "2017-03-21", - "2017-04-10" - ], - "warmup_length": 0, - "target_cols": [ - "waterlevel" - ], - "target_rm_nan": false, - "target_as_input": false, - "relevant_types": [ - "daymet" - ], - "relevant_cols": [ - "tp" - ], - "relevant_rm_nan": true, - "constant_cols": [ - "elev_mean", - "slope_mean", - "area_gages2", - "frac_forest", - "lai_max", - "lai_diff", - "dom_land_cover_frac", - "dom_land_cover", - "root_depth_50", - "soil_depth_statsgo", - "soil_porosity", - "soil_conductivity", - "max_water_content", - "geol_1st_class", - "geol_2nd_class", - "geol_porostiy", - "geol_permeability" - ], - "constant_rm_nan": true, - "constant_only": false, - "other_cols": null, - "scaler": "GPM_GFS_Scaler", - "scaler_params": { - "prcp_norm_cols": [ - "usgsFlow", - "streamflow", - "Q", - "qobs" - ], - "gamma_norm_cols": [ - "prcp", - "pr", - "total_precipitation", - "pre", - "pet", - "potential_evaporation", - "ET", - "LE", - "PET", - "PLE", - "GPP", - "Ec", - "Es", - "Ei", - "ET_water", - "ET_sum", - "ssm", - "susm", - "smp", - "ssma", - "susma" - ], - "pbm_norm": false - }, - "stat_dict_file": null, - "dataset": "GPM_GFS_Dataset", - "sampler": "WuSampler" - }, - "training_cfgs": { - "train_mode": true, - "criterion": "RMSESum", - "criterion_params": null, - "optimizer": "Adam", - "optim_params": {}, - "lr_scheduler": null, - "epochs": 1, - "save_epoch": 1, - "save_iter": 0, - "start_epoch": 1, - "batch_size": 128, - "random_seed": 1234, - "device": [ - 0 - ], - "multi_targets": 1, - "num_workers": 0, - "train_but_not_real": false, - "which_first_tensor": "sequence", - "is_tensorboard": false, - "ensemble": false, - "ensemble_items": { - "kfold": null, - "batch_sizes": null, - "seeds": null - } - }, - "evaluation_cfgs": { - "metrics": [ - "NSE" - ], - "fill_nan": "no", - "test_epoch": 1, - "explainer": null - }, - "run": [ - { - "epoch": 1, - "train_loss": "0.8100776940584182", - "validation_loss": "tensor(0.7705, device='cuda:0')", - "validation_metric": { - "NSE of waterlevel": [ - 0.6158564388751984, - 0.6173030734062195, - 0.6182429492473602 - ] - }, - "iter_num": 35, - "train_time": "Epoch 1 Loss 0.810 time 46.21" - } - ] -} \ No newline at end of file diff --git a/results/v001/opt_Adam_lr_0.001_bsize_128/events.out.tfevents.1701402666.vm-jupyterhub-server.411387.0 b/results/v001/opt_Adam_lr_0.001_bsize_128/events.out.tfevents.1701402666.vm-jupyterhub-server.411387.0 deleted file mode 100644 index a257b74..0000000 Binary files a/results/v001/opt_Adam_lr_0.001_bsize_128/events.out.tfevents.1701402666.vm-jupyterhub-server.411387.0 and /dev/null differ diff --git a/results/v001/opt_Adam_lr_0.001_bsize_128/events.out.tfevents.1701402841.vm-jupyterhub-server.412314.0 b/results/v001/opt_Adam_lr_0.001_bsize_128/events.out.tfevents.1701402841.vm-jupyterhub-server.412314.0 deleted file mode 100644 index 415a65a..0000000 Binary files a/results/v001/opt_Adam_lr_0.001_bsize_128/events.out.tfevents.1701402841.vm-jupyterhub-server.412314.0 and /dev/null differ diff --git a/results/v001/opt_Adam_lr_0.001_bsize_128/model_Ep1.pth b/results/v001/opt_Adam_lr_0.001_bsize_128/model_Ep1.pth deleted file mode 100644 index f317174..0000000 Binary files a/results/v001/opt_Adam_lr_0.001_bsize_128/model_Ep1.pth and /dev/null differ diff --git a/results/v001/prediction_10_hour.nc b/results/v001/prediction_10_hour.nc deleted file mode 100644 index ce7692d..0000000 Binary files a/results/v001/prediction_10_hour.nc and /dev/null differ diff --git a/results/v001/prediction_11_hour.nc b/results/v001/prediction_11_hour.nc deleted file mode 100644 index 55655b4..0000000 Binary files a/results/v001/prediction_11_hour.nc and /dev/null differ diff --git a/results/v001/prediction_12_hour.nc b/results/v001/prediction_12_hour.nc deleted file mode 100644 index 13512fc..0000000 Binary files a/results/v001/prediction_12_hour.nc and /dev/null differ diff --git a/results/v001/prediction_13_hour.nc b/results/v001/prediction_13_hour.nc deleted file mode 100644 index 861db27..0000000 Binary files a/results/v001/prediction_13_hour.nc and /dev/null differ diff --git a/results/v001/prediction_14_hour.nc b/results/v001/prediction_14_hour.nc deleted file mode 100644 index d69b317..0000000 Binary files a/results/v001/prediction_14_hour.nc and /dev/null differ diff --git a/results/v001/prediction_15_hour.nc b/results/v001/prediction_15_hour.nc deleted file mode 100644 index 6b08ad9..0000000 Binary files a/results/v001/prediction_15_hour.nc and /dev/null differ diff --git a/results/v001/prediction_16_hour.nc b/results/v001/prediction_16_hour.nc deleted file mode 100644 index 6e988cb..0000000 Binary files a/results/v001/prediction_16_hour.nc and /dev/null differ diff --git a/results/v001/prediction_17_hour.nc b/results/v001/prediction_17_hour.nc deleted file mode 100644 index 58f6929..0000000 Binary files a/results/v001/prediction_17_hour.nc and /dev/null differ diff --git a/results/v001/prediction_18_hour.nc b/results/v001/prediction_18_hour.nc deleted file mode 100644 index f7e866f..0000000 Binary files a/results/v001/prediction_18_hour.nc and /dev/null differ diff --git a/results/v001/prediction_19_hour.nc b/results/v001/prediction_19_hour.nc deleted file mode 100644 index f0b7645..0000000 Binary files a/results/v001/prediction_19_hour.nc and /dev/null differ diff --git a/results/v001/prediction_1_hour.nc b/results/v001/prediction_1_hour.nc deleted file mode 100644 index 0d33c6e..0000000 Binary files a/results/v001/prediction_1_hour.nc and /dev/null differ diff --git a/results/v001/prediction_20_hour.nc b/results/v001/prediction_20_hour.nc deleted file mode 100644 index 2755815..0000000 Binary files a/results/v001/prediction_20_hour.nc and /dev/null differ diff --git a/results/v001/prediction_21_hour.nc b/results/v001/prediction_21_hour.nc deleted file mode 100644 index 4fe45dc..0000000 Binary files a/results/v001/prediction_21_hour.nc and /dev/null differ diff --git a/results/v001/prediction_22_hour.nc b/results/v001/prediction_22_hour.nc deleted file mode 100644 index fbce03b..0000000 Binary files a/results/v001/prediction_22_hour.nc and /dev/null differ diff --git a/results/v001/prediction_23_hour.nc b/results/v001/prediction_23_hour.nc deleted file mode 100644 index 6811487..0000000 Binary files a/results/v001/prediction_23_hour.nc and /dev/null differ diff --git a/results/v001/prediction_24_hour.nc b/results/v001/prediction_24_hour.nc deleted file mode 100644 index 7de75fb..0000000 Binary files a/results/v001/prediction_24_hour.nc and /dev/null differ diff --git a/results/v001/prediction_2_hour.nc b/results/v001/prediction_2_hour.nc deleted file mode 100644 index 9762399..0000000 Binary files a/results/v001/prediction_2_hour.nc and /dev/null differ diff --git a/results/v001/prediction_3_hour.nc b/results/v001/prediction_3_hour.nc deleted file mode 100644 index cb24166..0000000 Binary files a/results/v001/prediction_3_hour.nc and /dev/null differ diff --git a/results/v001/prediction_4_hour.nc b/results/v001/prediction_4_hour.nc deleted file mode 100644 index 7e0576e..0000000 Binary files a/results/v001/prediction_4_hour.nc and /dev/null differ diff --git a/results/v001/prediction_5_hour.nc b/results/v001/prediction_5_hour.nc deleted file mode 100644 index 7b82b7e..0000000 Binary files a/results/v001/prediction_5_hour.nc and /dev/null differ diff --git a/results/v001/prediction_6_hour.nc b/results/v001/prediction_6_hour.nc deleted file mode 100644 index a0725a7..0000000 Binary files a/results/v001/prediction_6_hour.nc and /dev/null differ diff --git a/results/v001/prediction_7_hour.nc b/results/v001/prediction_7_hour.nc deleted file mode 100644 index cbde6eb..0000000 Binary files a/results/v001/prediction_7_hour.nc and /dev/null differ diff --git a/results/v001/prediction_8_hour.nc b/results/v001/prediction_8_hour.nc deleted file mode 100644 index c843c92..0000000 Binary files a/results/v001/prediction_8_hour.nc and /dev/null differ diff --git a/results/v001/prediction_9_hour.nc b/results/v001/prediction_9_hour.nc deleted file mode 100644 index 193d293..0000000 Binary files a/results/v001/prediction_9_hour.nc and /dev/null differ