StreamingSequentialMetaRecommender¶
- class baybe.recommenders.meta.sequential.StreamingSequentialMetaRecommender[source]¶
Bases:
BaseSequentialMetaRecommender
A meta recommender that switches between recommenders from an iterable.
Similar to
baybe.recommenders.meta.sequential.SequentialMetaRecommender
but without explicit list conversion. This enables a number of advanced use cases:It supports arbitrary iterables, allowing to configure recommender sequences of infinite length. This is useful when the total number of iterations unknown in advance.
It can be used to adaptively adjust the recommender sequence based on the latest context available outside the class, by modifying the iterable on the fly.
The downside is that serialization is not supported.
- Raises:
NoRecommendersLeftError – If more recommenders are requested than there are recommenders available.
Public methods
__init__
(recommenders, *[, _step, ...])Method generated by attrs for class StreamingSequentialMetaRecommender.
from_dict
(dictionary)Create an object from its dictionary representation.
from_json
(string)Create an object from its JSON representation.
Deprecated! Use
select_recommender()
orget_non_meta_recommender()
instead.Deprecated! Use
select_recommender()
orget_non_meta_recommender()
instead.get_non_meta_recommender
([batch_size, ...])Follow the meta recommender chain to the selected non-meta recommender.
recommend
(batch_size, searchspace[, ...])See
baybe.recommenders.base.RecommenderProtocol.recommend()
.select_recommender
([batch_size, ...])Select a recommender for the given experimentation context.
to_dict
()Create an object's dictionary representation.
to_json
()Create an object's JSON representation.
Public attributes and properties
An iterable providing the recommenders to be used.
Boolean indicating if the meta recommender is stateful.
- __init__(recommenders: Iterable[RecommenderProtocol], *, _step: int = 0, _was_used: bool = False, _n_last_measurements: int = 0)¶
Method generated by attrs for class StreamingSequentialMetaRecommender.
For details on the parameters, see Public attributes and properties.
- get_current_recommender()¶
Deprecated! Use
select_recommender()
orget_non_meta_recommender()
instead.- Return type:
- get_next_recommender()¶
Deprecated! Use
select_recommender()
orget_non_meta_recommender()
instead.- Return type:
- get_non_meta_recommender(batch_size: int | None = None, searchspace: SearchSpace | None = None, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)¶
Follow the meta recommender chain to the selected non-meta recommender.
Recursively calls
MetaRecommender.select_recommender()
until a non-meta recommender is encountered, which is then returned. Effectively, this extracts the recommender responsible for generating the recommendations for the specified context.See
baybe.recommenders.base.RecommenderProtocol.recommend()
for details on the method arguments.- Return type:
- recommend(batch_size: int, searchspace: SearchSpace, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)¶
See
baybe.recommenders.base.RecommenderProtocol.recommend()
.- Return type:
- select_recommender(batch_size: int | None = None, searchspace: SearchSpace | None = None, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)¶
Select a recommender for the given experimentation context.
See
baybe.recommenders.base.RecommenderProtocol.recommend()
for details on the method arguments.- Return type:
- to_json()¶
Create an object’s JSON representation.
- Return type:
- Returns:
The JSON representation as a string.
-
recommenders:
Iterable
[RecommenderProtocol
]¶ An iterable providing the recommenders to be used.