lale.lib.rasl.monoid module¶
- class lale.lib.rasl.monoid.Monoid[source]¶
Bases:
ABCData that can be combined in an associative way. See :class:MonoidFactory for ways to create/unpack a given monoid.
- abstract combine(other: _SelfType) _SelfType[source]¶
Combines this monoid instance with another, producing a result. This operation must be observationally associative, satisfying
x.from_monoid(a.combine(b.combine(c))) == x.from_monoid(a.combine(b).combine(c)))where x is the instance of :class:MonoidFactory that created these instances.
- class lale.lib.rasl.monoid.MonoidFactory(*args, **kwargs)[source]¶
Bases:
Generic[_InputType_contra,_OutputType_co,_M],ProtocolThis protocol determines if a class supports creating a monoid and using it to support associative computation. Due to the
runtime_checkabledecorator,isinstance(obj, MonoidFactory)will succeed if the object has the requisite methods, even if it does not have this protocol as a base class.
- class lale.lib.rasl.monoid.MonoidableOperator(*args, **kwargs)[source]¶
Bases:
MonoidFactory[Any,None,_M],ProtocolThis is a useful base class for operator implementations that support associative (monoid-based) fit. Given the implementation supplied :class:MonoidFactory methods, this class provides default :method:partial_fit and :method:fit implementations.