Register#

class gordo.machine.model.register.register_model_builder(type: str)[source]#

Bases: object

Decorator to register a function as an available ‘type’ in supporting factory classes such as gordo.machine.model.models.KerasAutoEncoder.

When submitting the config file, it’s important that the ‘kind’ is compatible with ‘type’.

ie. type='KerasAutoEncoder' should support the object returned by a given decorated function.

from gordo_compontents.models.register import register_model_builder

@register_model_builder(type='KerasAutoEncoder')
def special_keras_model_builder(n_features, ...):
    ...

A valid yaml config would be:
model:
    gordo.machine.models.KerasAutoEncoder:
        kind: special_keras_model_builder
factories: Dict[str, Dict[str, Callable[[...], tensorflow.keras.models.Model]]] = {'KerasAutoEncoder': {'feedforward_hourglass': <function feedforward_hourglass>, 'feedforward_model': <function feedforward_model>, 'feedforward_symmetric': <function feedforward_symmetric>}, 'KerasLSTMAutoEncoder': {'lstm_hourglass': <function lstm_hourglass>, 'lstm_model': <function lstm_model>, 'lstm_symmetric': <function lstm_symmetric>}, 'KerasLSTMForecast': {'lstm_hourglass': <function lstm_hourglass>, 'lstm_model': <function lstm_model>, 'lstm_symmetric': <function lstm_symmetric>}}#