File tree 2 files changed +20
-4
lines changed
2 files changed +20
-4
lines changed Original file line number Diff line number Diff line change @@ -16,15 +16,25 @@ SIATune is an open-source deep learning model hyperparameter tuning toolbox espe
16
16
- [x] [ MMSegmentation] ( https://github.com/open-mmlab/mmsegmentation )
17
17
- [ ] [ MMEditing] ( https://github.com/open-mmlab/mmediting )
18
18
19
- - ** Support state-of-the-art hyperparameter tuning algorithms**
19
+ - ** Support hyperparameter search algorithms**
20
20
21
- We provide state-of-the-art hyperparameter tuning algorithms such as below;
21
+ We provide hyperparameter search algorithms such as below;
22
22
- [x] [ Nevergrad] ( https://github.com/facebookresearch/nevergrad )
23
23
- [x] [ HyperOpt] ( https://github.com/hyperopt/hyperopt )
24
24
- [x] [ FLAML] ( https://github.com/microsoft/FLAML )
25
25
- [ ] [ Adaptive Experimentation (AX)] ( https://ax.dev/ )
26
26
- [ ] [ Scikit-optimize] ( https://github.com/scikit-optimize/scikit-optimize )
27
27
28
+ - ** Schedule multiple experiments**
29
+
30
+ Various scheduling techniques are supported to efficiently manage many experiments.
31
+ - [x] [ AsyncHyperBandScheduler] ( https://arxiv.org/abs/1810.05934 )
32
+ - [ ] [ PopulationBasedTraining] ( https://www.deepmind.com/blog/population-based-training-of-neural-networks )
33
+ - [ ] [ MedianStoppingRule] ( https://research.google.com/pubs/pub46180.html )
34
+ - [ ] [ Population Based Bandits] ( https://arxiv.org/abs/2002.02518 )
35
+ - [ ] [ HyperBandScheduler] ( https://arxiv.org/abs/1603.06560 )
36
+
37
+
28
38
- ** Distributed tuning system based on Ray**
29
39
30
40
Hyperparameter tuning with multi-GPU training or large-scale job scheduling are managed by Ray's distributed compute framework.
Original file line number Diff line number Diff line change @@ -32,14 +32,17 @@ def _styblinksitang(x: np.ndarray, noise: float) -> float:
32
32
noise * np .random .normal (size = val .shape ))
33
33
34
34
35
- def _step (s : float ) -> float :
35
+ def _step (s : float , eps : float = 1e-8 ) -> float :
36
36
"""Step function.
37
37
38
38
Args:
39
39
s (float): input.
40
+ eps (float): small number to avoid numerical errors.
40
41
Returns:
41
42
float: output.
42
43
"""
44
+ if s == 0 :
45
+ s += eps
43
46
return np .nan_to_num (np .exp (np .round (np .log (s ))))
44
47
45
48
@@ -305,14 +308,17 @@ def stepdoublelinearslope(x: np.ndarray) -> float:
305
308
return _step (np .abs (np .sum (x )))
306
309
307
310
@staticmethod
308
- def hm (x : np .ndarray ) -> float :
311
+ def hm (x : np .ndarray , eps : float = 1e-8 ) -> float :
309
312
"""New multimodal function (proposed for Nevergrad).
310
313
311
314
Args:
312
315
x (np.ndarray): input vector.
316
+ eps (float): small number to avoid numerical errors.
313
317
Returns:
314
318
float: output.
315
319
"""
320
+ if not np .all (x ):
321
+ x += eps
316
322
return float ((x ** 2 ).dot (1.1 + np .cos (1.0 / x )))
317
323
318
324
@staticmethod
You can’t perform that action at this time.
0 commit comments