Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
To run this project you need to have python 3.8 or higher installed on your machine.
First, clone this Repository and initialize the submodules:
git clone --recurse-submodule https://git.rwth-aachen.de/acs/public/automation/plf/proloaf.git
or if you have already cloned the project and you are missing e.g. the open data directory for execution run:
git submodule update --init --recursive
(Optional) Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate
To install all required packages first change into the directory then install the package:
cd proloaf
pip install .
There are two variants with extra dependencies. To install jupyter for being able to use the tutorial notebooks use
pip install .[tutorial]
or use
cd proloaf
pip install -e .[dev]
to install in editable mode and include optional development dependencies.
On low RAM machines the option
pip install . --no-cache-dir
might be necessary.
ProLoaF supports Python 3.8 and higher.
Running the code
This project contains 4 scripts that can be used in conjunction with one another or separately. Configuration for these scripts is given in a config.json file in the subfolders of the /targets/ folder, the config in targets/opsd should be a good starting point.
Example Workflow
Add the data a model should be trained on to the
/data/folderPreprocess the data using prep.py or custom scripts if needed. Data including targets should be all in one
.csvfile separated with;.Create a new folder in the
targets/folder corresponding to your forecast. Copy the config files fromtargets/opsdand adjust it to your needs. In the very least everything to do with your data needs to be adjusted (like column names etc). For more information have a look in the descripiton of the config.Train a model using
python3 ./src/train.py -s <name_of_folder_containing_configs>. You can also give a path to the config relative to the project folder using-cinstead of-sEvaluate the model using ``python3 ./src/evaluate.py.py -s <name_of_folder_containing_configs>` in the same fashion.
To understand how to generate a single prediction have a look at the examples.