towhee.hparam.hyperparameter.auto_param

towhee.hparam.hyperparameter.auto_param(name_or_func)[source]

Convert keyword arguments into hyperparameters

Examples:

>>> @auto_param
... def foo(a, b=2, c='c', d=None):
...     print(a, b, c, d)
>>> foo(1)
1 2 c None
>>> with param_scope('foo.b=3'):
...     foo(2)
2 3 c None

classes are also supported: >>> @auto_param … class foo: … def __init__(self, a, b=2, c=’c’, d=None): … print(a, b, c, d)

>>> obj = foo(1)
1 2 c None
>>> with param_scope('foo.b=3'):
...     obj = foo(2)
2 3 c None
>>> @auto_param('my')
... def foo(a, b=2, c='c', d=None):
...     print(a, b, c, d)
>>> foo(1)
1 2 c None
>>> with param_scope('foo.b=3'):
...     foo(2)
2 2 c None
>>> with param_scope('my.foo.b=3'):
...     foo(2)
2 3 c None