Author: B. Kraft [bkraf@bgc-jena.mpg.de]
Q10 hybrid modeling experiment for a book chapter.
First, install dependencies.
# clone project
git clone https://github.com/bask0/q10hybrid
# Optional: create and activate new conda environment.
conda create --yes --name q10hybrid python=3.6
conda activate q10hybrid
# install project
cd q10hybrid
pip install -e .
pip install -r requirements.txt
Base respiration is simulated using observed short-wave irradiation and the delta thereof. Ecosyste respiration is calculated using the Q10 approach.
Estimate Q10 in two different setups:
- Rb=NN(SW_in, dSW_in)
- Rb=NN(SW_in, dSW_in, T)
We investigate wheter we can estimate Q10 in both cases robustly and how model hyperparameters (here: dropout={0.0, 0.2, 0.4, 0.6}) impact the results.
Run experiments:
# Create a new study (delete old runs).
python experiments/experiment_01.py --create_study
# Start first process on GPU 0.
CUDA_VISIBLE_DEVICES="0" python experiments/experiment_01.py
To work on independent runs in parallel, just call the study again from another terminal!
# Start a second process on GPU 1.
CUDA_VISIBLE_DEVICES="1" python experiments/experiment_01.py
Alternatively, you can use run_experiment.py
to create a new study and spawn multiple processes, for example with 12 jobs distributed
on 4 GPUs (0,1,2,3).
# Start a second process on GPU 1.
CUDA_VISIBLE_DEVICES="0,1,2,3" python run_experiment.py --num_jobs 12
Use analysis/analysis.ipynb
for evaluation.
From the
optuna
doc:GridSampler
automatically stops the optimization if all combinations in the passedsearch_space
have already been evaluated, internally invoking thestop()
method.
The grid search runs too many combinations, they are cleane in analysis/analysis.ipynb
.
Q10 estimation without (top) and with (bottom) air temperature as predictor:
Q10 estimation and loss for different HPs.
@article{YourName,
title={Your Title},
author={Your team},
journal={Location},
year={Year}
}