spey.register_backend

spey.register_backend#

spey.register_backend(model: BackendBase | ConverterBase) BackendBase | ConverterBase[source]#

A local backend registry for statistical models.

Added in version 0.2.6.

Parameters:

func (BackendBase or ConverterBase) – statistical model object.

Raises:
  • MissingMetaData – If model does not include name and spey_requires metadata.

  • PluginError – If model requires spey with different version.

  • ValueError – If the model name is already registered.

  • AbstractModel – If the model is abstract.

Returns:

the original function wrapped

with backend registration logic.

Return type:

BackendBase or ConverterBase

Example:

>>> import spey

>>> @spey.register_backend
>>> class Model(spey.BackendBase):
>>>     name = "my_local_model"
>>>     ...

>>> print(spey.AvailableBackends())
>>> # ['default.correlated_background', 'default.effective_sigma',
... # 'default.multivariate_normal', 'default.normal', 'default.poisson',
... # 'default.third_moment_expansion', 'default.uncorrelated_background',
... # 'my_local_model']