Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 221bd9c

Browse files
authoredDec 1, 2022
Merge branch 'main' into hotflix/categorical-choice
2 parents 62fb53c + 470efec commit 221bd9c

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed
 

‎README.md

+12-2
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,25 @@ SIATune is an open-source deep learning model hyperparameter tuning toolbox espe
1616
- [x] [MMSegmentation](https://github.com/open-mmlab/mmsegmentation)
1717
- [ ] [MMEditing](https://github.com/open-mmlab/mmediting)
1818

19-
- **Support state-of-the-art hyperparameter tuning algorithms**
19+
- **Support hyperparameter search algorithms**
2020

21-
We provide state-of-the-art hyperparameter tuning algorithms such as below;
21+
We provide hyperparameter search algorithms such as below;
2222
- [x] [Nevergrad](https://github.com/facebookresearch/nevergrad)
2323
- [x] [HyperOpt](https://github.com/hyperopt/hyperopt)
2424
- [x] [FLAML](https://github.com/microsoft/FLAML)
2525
- [ ] [Adaptive Experimentation (AX)](https://ax.dev/)
2626
- [ ] [Scikit-optimize](https://github.com/scikit-optimize/scikit-optimize)
2727

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+
2838
- **Distributed tuning system based on Ray**
2939

3040
Hyperparameter tuning with multi-GPU training or large-scale job scheduling are managed by Ray's distributed compute framework.

‎siatune/mm/tasks/cont_test_func.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,17 @@ def _styblinksitang(x: np.ndarray, noise: float) -> float:
3232
noise * np.random.normal(size=val.shape))
3333

3434

35-
def _step(s: float) -> float:
35+
def _step(s: float, eps: float = 1e-8) -> float:
3636
"""Step function.
3737
3838
Args:
3939
s (float): input.
40+
eps (float): small number to avoid numerical errors.
4041
Returns:
4142
float: output.
4243
"""
44+
if s == 0:
45+
s += eps
4346
return np.nan_to_num(np.exp(np.round(np.log(s))))
4447

4548

@@ -305,14 +308,17 @@ def stepdoublelinearslope(x: np.ndarray) -> float:
305308
return _step(np.abs(np.sum(x)))
306309

307310
@staticmethod
308-
def hm(x: np.ndarray) -> float:
311+
def hm(x: np.ndarray, eps: float = 1e-8) -> float:
309312
"""New multimodal function (proposed for Nevergrad).
310313
311314
Args:
312315
x (np.ndarray): input vector.
316+
eps (float): small number to avoid numerical errors.
313317
Returns:
314318
float: output.
315319
"""
320+
if not np.all(x):
321+
x += eps
316322
return float((x**2).dot(1.1 + np.cos(1.0 / x)))
317323

318324
@staticmethod

0 commit comments

Comments
 (0)
Please sign in to comment.