HPMSer is a tool for searching optimal hyper-parameters of a function. Assuming there is a function:
def some_function(a, b, c, d) -> float
HPMSer will search for values of a, b, c, d that MAXIMIZE the return value of the given function.
To start the search process, you will need to create an object of the HPMSer class by providing to its __init__:
- a
func(type) - parameters space definition passed to
func_psdd, checkpypaq.pms.base.pyfor PSDD details - if some parameters are known constants, you may pass their values to
func_const - configure
devices,n_loopsand optionally other advanced HPMSer parameters
You can check /examples for sample run code. There is also a project: https://github.com/piteren/hpmser_rastrigin
that uses HPMSer.
HPMSer implements:
- smart search with evenly spread out quasi-random sampling of space
- parameters space estimation with regression using SVC RBF (Support Vector Regression with Radial Basis Function kernel)
- space sampling based on current space knowledge (estimation)
HPMSer features:
- multiprocessing (runs with subprocesses) with CPU & GPU devices using the 'devices' parameter - check
pypaq.mpython.devicesfor details - exception handling, keyboard interruption without a crash
- automatic process parameters adjustment
- process saving & resuming
- 3D visualisation of parameters and function values
- TensorBoard logging of process parameters
If you have any questions or need any support, please contact me: me@piotniewinski.com
