extensions
openml.extensions
#
Extension
#
Bases: ABC
Defines the interface to connect machine learning libraries to OpenML-Python.
See openml.extension.sklearn.extension
for an implementation to bootstrap from.
can_handle_flow
abstractmethod
classmethod
#
can_handle_flow(flow: OpenMLFlow) -> bool
can_handle_model
abstractmethod
classmethod
#
check_if_model_fitted
abstractmethod
#
create_setup_string
abstractmethod
#
flow_to_model
abstractmethod
#
flow_to_model(flow: OpenMLFlow, initialize_with_defaults: bool = False, strict_version: bool = True) -> Any
Instantiate a model from the flow representation.
Parameters#
flow : OpenMLFlow
bool, optional (default=False)
If this flag is set, the hyperparameter values of flows will be ignored and a flow with its defaults is returned.
bool, default=True
Whether to fail if version requirements are not fulfilled.
Returns#
Any
Source code in openml/extensions/extension_interface.py
get_version_information
abstractmethod
#
instantiate_model_from_hpo_class
abstractmethod
#
instantiate_model_from_hpo_class(model: Any, trace_iteration: OpenMLTraceIteration) -> Any
Instantiate a base model which can be searched over by the hyperparameter optimization model.
Parameters#
model : Any A hyperparameter optimization model which defines the model to be instantiated. trace_iteration : OpenMLTraceIteration Describing the hyperparameter settings to instantiate.
Returns#
Any
Source code in openml/extensions/extension_interface.py
is_estimator
abstractmethod
#
model_to_flow
abstractmethod
#
model_to_flow(model: Any) -> OpenMLFlow
obtain_parameter_values
abstractmethod
#
obtain_parameter_values(flow: OpenMLFlow, model: Any = None) -> list[dict[str, Any]]
Extracts all parameter settings required for the flow from the model.
If no explicit model is provided, the parameters will be extracted from flow.model
instead.
Parameters#
flow : OpenMLFlow OpenMLFlow object (containing flow ids, i.e., it has to be downloaded from the server)
Any, optional (default=None)
The model from which to obtain the parameter values. Must match the flow signature.
If None, use the model specified in OpenMLFlow.model
.
Returns#
list
A list of dicts, where each dict has the following entries:
- oml:name
: str: The OpenML parameter name
- oml:value
: mixed: A representation of the parameter value
- oml:component
: int: flow id to which the parameter belongs
Source code in openml/extensions/extension_interface.py
seed_model
abstractmethod
#
Set the seed of all the unseeded components of a model and return the seeded model.
Required so that all seed information can be uploaded to OpenML for reproducible results.
Parameters#
model : Any The model to be seeded seed : int
Returns#
model
Source code in openml/extensions/extension_interface.py
get_extension_by_flow
#
get_extension_by_flow(flow: OpenMLFlow, raise_if_no_extension: bool = False) -> Extension | None
Get an extension which can handle the given flow.
Iterates all registered extensions and checks whether they can handle the presented flow. Raises an exception if two extensions can handle a flow.
Parameters#
flow : OpenMLFlow
bool (optional, default=False)
Raise an exception if no registered extension can handle the presented flow.
Returns#
Extension or None
Source code in openml/extensions/functions.py
get_extension_by_model
#
get_extension_by_model(model: Any, raise_if_no_extension: bool = False) -> Extension | None
Get an extension which can handle the given flow.
Iterates all registered extensions and checks whether they can handle the presented model. Raises an exception if two extensions can handle a model.
Parameters#
model : Any
bool (optional, default=False)
Raise an exception if no registered extension can handle the presented model.
Returns#
Extension or None
Source code in openml/extensions/functions.py
register_extension
#
register_extension(extension: type[Extension]) -> None
Register an extension.
Registered extensions are considered by get_extension_by_flow
and
get_extension_by_model
, which are used by openml.flow
and openml.runs
.
Parameters#
extension : Type[Extension]
Returns#
None