diff options
author | andreas128 <Andreas> | 2017-09-27 20:59:17 +0200 |
---|---|---|
committer | andreas128 <Andreas> | 2017-09-27 20:59:17 +0200 |
commit | 9954be2a2d94c6d7ebed8b36364d02e97084b9f2 (patch) | |
tree | 2173908a9b3103eaff8d42812accd167312232d8 /dpd/src/Heuristics.py | |
parent | 071088f747f5629f60b01017bdcff5161efb7ba5 (diff) | |
download | dabmod-9954be2a2d94c6d7ebed8b36364d02e97084b9f2.tar.gz dabmod-9954be2a2d94c6d7ebed8b36364d02e97084b9f2.tar.bz2 dabmod-9954be2a2d94c6d7ebed8b36364d02e97084b9f2.zip |
Change fixed learning rate and number of measurements to heuristic
Diffstat (limited to 'dpd/src/Heuristics.py')
-rw-r--r-- | dpd/src/Heuristics.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/dpd/src/Heuristics.py b/dpd/src/Heuristics.py new file mode 100644 index 0000000..b6ec37f --- /dev/null +++ b/dpd/src/Heuristics.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# +# DPD Calculation Engine, heuristics we use to tune the parameters +# +# http://www.opendigitalradio.org +# Licence: The MIT License, see notice at the end of this file + +import numpy as np + +def get_learning_rate(idx_run): + idx_max = 10.0 + lr_min = 0.05 + lr_max = 1 + lr_delta = lr_max - lr_min + idx_run = min(idx_run, idx_max) + learning_rate = lr_max - lr_delta * idx_run/idx_max + return learning_rate + +def get_n_meas(idx_run): + idx_max = 10.0 + n_meas_min = 5 + n_meas_max = 50 + n_meas_delta = n_meas_max - n_meas_min + idx_run = min(idx_run, idx_max) + learning_rate = n_meas_delta * idx_run/idx_max + n_meas_min + return int(np.round(learning_rate)) + + |