You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* spotPython is a Python version of the well-known hyperparameter tuner SPOT, which has been developed in the R programming environment for statistical analysis for over a decade [bart21i].
10
+
* spotPython is a sequential model-based optimization (SMBO) method [BLP05].
6
11
7
12
8
-
## Styleguide
13
+
#Installation
9
14
10
-
Follow the Google Python Style Guide from [https://google.github.io/styleguide/pyguide.html]([https://google.github.io/styleguide/pyguide.html).
15
+
* Installation can be done with `pip`:
11
16
12
-
## Pre commit checks
17
+
`pip install spotPython`
13
18
14
-
Before you commit your code, please check that it is "clean".
15
-
To do so, first run [`black`](https://github.com/psf/black) from the projects root directory:
19
+
# spotPython Documentation
16
20
17
-
```
18
-
$ black .
19
-
```
21
+
*[Bartz-Beielstein (2023). PyTorch Hyperparameter Tuning --- A Tutorial for spotPython (Working Paper)](https://sequential-parameter-optimization.github.io/spotPython/).
20
22
21
-
Next, check if [`flake8`](https://flake8.pycqa.org/en/latest/) shows any errors:
23
+
> **Abstract**: The goal of hyperparameter tuning (or hyperparameter optimization) is to optimize the hyperparameters to improve the performance of the machine or deep learning model. spotPython ("Sequential Parameter Optimization Toolbox in Python") is the Python version of the well-known hyperparameter tuner SPOT, which has been developed in the R programming environment for statistical analysis for over a decade. PyTorch is an optimized tensor library for deep learning using GPUs and CPUs. This document shows how to integrate the spotPython hyperparameter tuner into the PyTorch training workflow. As an example, the results of the CIFAR10 image classifier are used. In addition to an introduction to spotPython, this tutorial also includes a brief comparison with Ray Tune, a Python library for running experiments and tuning hyperparameters. This comparison is based on the PyTorch hyperparameter tuning tutorial. The advantages and disadvantages of both approaches are discussed. We show that spotPython achieves similar or even better results while being more flexible and transparent than Ray Tune.
24
+
25
+
26
+
# spotPython Features
27
+
28
+
* Some of the advantages of `spotPython` are:
29
+
30
+
- Numerical and categorical hyperparameters.
31
+
- Powerful surrogate models.
32
+
- Flexible approach and easy to use.
33
+
- Simple JSON files for the specification of the hyperparameters.
34
+
- Extension of default and user specified network classes.
35
+
- Noise handling techniques.
36
+
37
+
# Citation
38
+
39
+
```bibtex
40
+
@techreport{bart23e,
41
+
author = {Bartz-Beielstein, Thomas},
42
+
title = {PyTorch Hyperparameter Tuning --- A Tutorial for spotPython},
43
+
year = {2023}}
44
+
45
+
46
+
@book{bart21i,
47
+
editor = {Bartz,Eva and Bartz-Beielstein, Thomas and Zaefferer, Martin and Mersmann, Olaf},
48
+
isbn = {ISBN 978-981-19-5169-5},
49
+
keywords = {bartzPublic},
50
+
note = {in print},
51
+
publisher = {Springer},
52
+
title = {{Hyperparameter Tuning for Machine and Deep Learning with R - A Practical Guide}},
* This information is based on [https://packaging.python.org/en/latest/tutorials/packaging-projects/](https://packaging.python.org/en/latest/tutorials/packaging-projects/)
68
119
* Information is stored in `pyproject.toml` (`setup.py` is not used anymore.)
0 commit comments