towhee.hparam.hyperparameter.DynamicDispatch¶
- class towhee.hparam.hyperparameter.DynamicDispatch(func: Callable, name=None, index=None)[source]¶
Bases:
object
Dynamic call dispatch
Examples:
>>> @dynamic_dispatch ... def debug_print(*args, **kws): ... hp = param_scope() ... name = hp._name ... index = hp._index ... return (name, index, args, kws)
>>> debug_print() (None, None, (), {}) >>> debug_print.a() ('a', None, (), {}) >>> debug_print.a.b.c() ('a.b.c', None, (), {}) >>> debug_print[1]() (None, 1, (), {}) >>> debug_print[1,2]() (None, (1, 2), (), {}) >>> debug_print(1,2, a=1,b=2) (None, None, (1, 2), {'a': 1, 'b': 2})
>>> debug_print.a.b.c[1,2](1, 2, a=1, b=2) ('a.b.c', (1, 2), (1, 2), {'a': 1, 'b': 2})
Methods