|
Download README.md from APPFL/Building_load_forecasting: direct link, hf CLI and curl.
- Browser
- Download file 4.6 kB
-
https://huggingface.co/APPFL/Building_load_forecasting/resolve/main/README.md
- Command line
-
hf download hf://APPFL/Building_load_forecasting/README.md
-
curl -L -o README.md https://huggingface.co/APPFL/Building_load_forecasting/resolve/main/README.md
4.6 kB
| license: cc | |
| ## About | |
| This repository provides model weights to run load forecasting models trained on ComStock datasets. The companion dataset repository is [this](https://huggingface.co/datasets/APPFL/Illinois_load_datasets). The model definitions are present in the `models` directory. The corresponding trained model weights are present in the `weights` directory. The corresponding model keyword arguments (as a function of a provided `lookback` and `lookahead`) can be imported from the file `model_kwargs.py`. | |
| Note that `lookback` is denoted by `L` and `lookahead` by `T` in the weights directory. We provide weights for the following `(L,T)` pairs: `(512,4)`, `(512,48)`, and `(512,96)`, and for `HOM`ogenous and `HET`erogenous datasets. | |
| ## Packages | |
| Executing the code only requires `numpy` and `torch` (PyTorch) packages. You can either have them in your Python base installation, or use a `conda` environment. | |
| ## Example | |
| In order to see how to use the model definitions and load the weights into them, see `example.py`. | |
| ## Technical Details for Running the Models | |
| In input layout of the models are as follows: | |
| - The `forward()` functions of `LSTM`, `LSTNet`, and `PatchTST` take in two arguments: `forward(input, future_time_idx)`. They are laid out as follows: | |
| - `input` is a tensor of shape `(B,L,num_features)` where `B` is the batch size, `L` is the lookback duration, and `num_features` is 8 for our current application. | |
| - `future_time_idx` is a tensor of shape `(B,T,2)` where `T` is the lookahead and 2 is the number of time index features. | |
| - The time indices in `input` as well as `fut_time_idx` are both normalized. | |
| - The custom `torch.utils.data.Dataset` class for the train, val, and test sets can be generated by executing the `get_data_and_generate_train_val_test_sets` function in the `custom_dataset.py` file in the [companion dataset](https://huggingface.co/datasets/APPFL/Illinois_load_datasets). | |
| - Non-time features are normalized. The mean and standard deviation of the [companion dataset](https://huggingface.co/datasets/APPFL/Illinois_load_datasets) can be inferred by executing `example_dataset.py` there and looking at `Case 1` and `Case 4`. | |
| - The output shape is `(B,1)` denoting the pointwise forecast `T` steps into the future. | |
| - The `forward()` functions of `Transformer`, `Autoformer`, `Informer`, and `TimesNet` take in two arguments:` forward(input, future_time_idx)`. They are laid out as follows: | |
| - `input` is a tensor of shape `(B,L,num_features)` where `B` is the batch size, `L` is the lookback duration, and `num_features` is 8 for our current application. | |
| - `future_time_idx` is a tensor of shape `(B,T,2)` where `T` is the lookahead and 2 is the number of time index features. | |
| - The time indices in `input` as well as `fut_time_idx` are un-normalized to allow for embedding. | |
| - The custom `torch.utils.data.Dataset` class for the train, val, and test sets can be generated by executing the `get_data_and_generate_train_val_test_sets` function in the `custom_dataset.py` file in the [companion dataset](https://huggingface.co/datasets/APPFL/Illinois_load_datasets). | |
| - Non-time features are normalized. The mean and standard deviation of the [companion dataset](https://huggingface.co/datasets/APPFL/Illinois_load_datasets) can be inferred by executing `example_dataset.py` there and looking at `Case 2` and `Case 5`. | |
| - The output shape is `(B,1)` denoting the pointwise forecast `T` steps into the future. | |
| - The `forward()` functions of `TimesFM` takes in one argument:` forward(input)`. It is laid out as follows: | |
| - `input` is a tensor of shape `(B,L)` where `B` is the batch size and `L` is the lookback duration. Since it is univariate, there is only one feature. | |
| - The sole feature is normalized. The mean and standard deviation of the [companion dataset](https://huggingface.co/datasets/APPFL/Illinois_load_datasets) can be inferred by executing `example_dataset.py` there and looking at `Case 3` and `Case 6`. | |
| - The custom `torch.utils.data.Dataset` class for the train, val, and test sets can be generated by executing the `get_data_and_generate_train_val_test_sets` function in the `custom_dataset_univariate.py` file in the [companion dataset](https://huggingface.co/datasets/APPFL/Illinois_load_datasets). | |
| - The output shape is `(B,T)` denoting the rolling horizon forecast `T` steps into the future. | |
| ## Credits | |
| Some model definitions have been adapted from the code provided in the [TSLib Library](https://github.com/thuml/Time-Series-Library). | |