Shortcuts

Tools

FrozenClass

class catalyst.tools.frozen_class.FrozenClass[source]

Bases: object

Class which prohibit __setattr__ on existing attributes.

Examples

>>> class IRunner(FrozenClass):

MetricHandler

class catalyst.tools.metric_handler.MetricHandler(minimize: bool = True, min_delta: float = 1e-06)[source]

Bases: object

@TODO: docs.

Parameters
  • minimize – @TODO: docs

  • min_delta – @TODO: docs

__init__(minimize: bool = True, min_delta: float = 1e-06)[source]

Init.

ModelForwardWrapper

class catalyst.tools.forward_wrapper.ModelForwardWrapper(model, method_name)[source]

Bases: torch.nn.modules.module.Module

Model that calls specified method instead of forward.

Parameters
  • model – @TODO: docs

  • method_name – @TODO: docs

(Workaround, single method tracing is not supported)

__init__(model, method_name)[source]

Init

forward(*args, **kwargs)[source]

Forward pass.

Parameters
  • *args – some args

  • **kwargs – some kwargs

Returns

specified method output

Return type

output

training: bool

Registry

class catalyst.tools.registry.Registry(meta_factory: Optional[Callable[[Union[Type, Callable[[], Any]], Tuple, Mapping], Any]] = None, name_key: str = '_target_')[source]

Bases: collections.abc.MutableMapping

Universal class allowing to add and access various factories by name.

Parameters

meta_factory – default object that calls factory. Optional. Default just calls factory.

__init__(meta_factory: Optional[Callable[[Union[Type, Callable[[], Any]], Tuple, Mapping], Any]] = None, name_key: str = '_target_')[source]

Init.

add(factory: Optional[Union[Type, Callable[[], Any]]] = None, *factories: Union[Type, Callable[[], Any]], name: Optional[str] = None, **named_factories: Union[Type, Callable[[], Any]])Union[Type, Callable[[], Any]][source]

Adds factory to registry with it’s __name__ attribute or provided name. Signature is flexible.

Parameters
  • factory – Factory instance

  • factories – More instances

  • name – Provided name for first instance. Use only when pass single instance.

  • named_factories – Factory and their names as kwargs

Returns

First factory passed

Return type

Factory

Raises

RegistryException – if factory with provided name is already present

add_from_module(module, prefix: Optional[Union[str, List[str]]] = None)None[source]

Adds all factories present in module. If __all__ attribute is present, takes ony what mentioned in it.

Parameters
  • module – module to scan

  • prefix (Union[str, List[str]]) – prefix string for all the module’s factories. If prefix is a list, all values will be treated as aliases.

Raises

TypeError – if prefix is not a list or a string

all()List[str][source]
Returns

list of names of registered items

get(name: str)Optional[Union[Type, Callable[[], Any]]][source]

Retrieves factory, without creating any objects with it or raises error.

Parameters

name – factory name

Returns

factory by name

Return type

Factory

Raises

RegistryException – if no factory with provided name was registered

get_from_params(*, shared_params: Optional[Dict[str, Any]] = None, **kwargs)Union[Any, Tuple[Any, Mapping[str, Any]]][source]

Creates instance based in configuration dict with instantiation_fn. If config[name_key] is None, None is returned.

Parameters
  • shared_params – params to pass on all levels in case of recursive creation

  • **kwargs – additional kwargs for factory

Returns

result of calling instantiate_fn(factory, **config)

get_if_str(obj: Union[str, Type, Callable[[], Any]])[source]

Returns object from the registry if obj type is string.

get_instance(name: str, *args, meta_factory: Optional[Callable[[Union[Type, Callable[[], Any]], Tuple, Mapping], Any]] = None, **kwargs)[source]

Creates instance by calling specified factory with instantiate_fn.

Parameters
  • name – factory name

  • meta_factory – Function that calls factory the right way. If not provided, default is used

  • args – args to pass to the factory

  • **kwargs – kwargs to pass to the factory

Returns

created instance

Raises

RegistryException – if could not create object instance

late_add(cb: Callable[[catalyst.tools.registry.Registry], None])[source]

Allows to prevent cycle imports by delaying some imports till next registry query.

Parameters

cb – Callback receives registry and must call it’s methods to register factories

len()int[source]
Returns

length of registered items

TimeManager

class catalyst.tools.time_manager.TimeManager[source]

Bases: object

@TODO: Docs. Contribution is welcome.

__init__()[source]

Initialization

reset()None[source]

Reset all previous timers.

start(name: str)None[source]

Starts timer name.

Parameters

name – name of a timer

stop(name: str)None[source]

Stops timer name.

Parameters

name – name of a timer