Source code for leaspy.models.stateless
import numpy as np
from leaspy.utils.typing import KwargsType
from .base import BaseModel
__all__ = ["StatelessModel"]
[docs]
class StatelessModel(BaseModel):
"""Stateless model do not use an internal state to keep track of variables.
Parameters are stored in an internal dictionary.
Parameters
----------
name : :obj:`str`
The name of the model.
"""
def __init__(self, name: str, **kwargs):
super().__init__(name, **kwargs)
self._parameters: KwargsType = {}
@property
def parameters(self):
return self._parameters
[docs]
def load_parameters(self, parameters: KwargsType) -> None:
"""Instantiate or update the model's parameters.
Parameters
----------
parameters : :obj:`dict`
Contains the model's parameters.
"""
# <!> shallow copy only
self._parameters = parameters.copy()
# convert lists
for k, v in self._parameters.items():
if isinstance(v, list):
self._parameters[k] = np.array(v)