-
Felix Kleinert authoredFelix Kleinert authored
MachineLearningTools
This is a collection of all relevant functions used for ML stuff in the ESDE group
Inception Model
See a description here or take a look on the papers Going Deeper with Convolutions (Szegedy et al., 2014) and Network In Network (Lin et al., 2014).
Installation
- Install proj on your machine using the console. E.g. for opensuse / leap
zypper install proj
- c++ compiler required for cartopy installation
HPC - JUWELS and HDFML setup
The following instruction guide you throug the installation on JUWELS and HDFML.
- Clone the repo to HPC system (we recommend to place it in
/p/projects/<project name>
. - Setup venv by executing
source setupHPC.sh
. This script loads all pre-installed modules and creates a venv for all other packages. Furthermore, it creates slurm/batch scripts to execute code on compute nodes.
You have to enter the HPC project's budget name (--account flag). - The default external data path on JUWELS and HDFML is set to
/p/project/deepacf/intelliaq/<user>/DATA/toar_<sampling>
.
To choose a different location openrun.py
and add the following keyword argument toExperimentSetup
:data_path=<your>/<custom>/<path>
. - Execute
python run.py
on a login node to download example data. The program will throw an OSerror after downloading. - Execute either
sbatch run_juwels_develgpus.bash
orsbatch run_hdfml_batch.bash
to verify that the setup went well. - Currently cartopy is not working on our HPC system, therefore PlotStations does not create any output.
HPC JUWELS and HDFML remarks
Please note, that the HPC setup is customised for JUWELS and HDFML. When using another HPC system, you can use the HPC setup files as a skeleton and customise it to your needs.
Note: The method PartitionCheck
currently only checks if the hostname starts with ju
or hdfmll
.
Therefore, it might be necessary to adopt the if
statement in PartitionCheck._run
.
Security
- To use hourly data from ToarDB via JOIN interface, a private token is required. Request your personal access token and
add it to
src/join_settings.py
in the hourly data section. Replace theTOAR_SERVICE_URL
and theAuthorization
value. To make sure, that this sensitive data is not uploaded to the remote server, use the following command to prevent git from tracking this file:git update-index --assume-unchanged src/join_settings.py
Customise your experiment
This section summarises which parameters can be customised for a training.
Transformation
There are two different approaches (called scopes) to transform the data:
-
station
: transform data for each station independently (somehow like batch normalisation) -
data
: transform all data of each station with shared metrics
Transformation must be set by the transformation
attribute. If transformation = None
is given to ExperimentSetup
,
data is not transformed at all. For all other setups, use the following dictionary structure to specify the
transformation.