Dataclass¶
Request Objects¶
- class dial_dataclass.dial_dataclass.DialInputMultipleOtherStrategy(*, workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation], points: Annotated[int, Ge(ge=0)], strategy: Literal['random', 'uncertainty', 'expected_improvement', 'upper_confidence_bound', 'upper_confidence_bound_nomad', 'polymer_acl_sampler', 'hypercube'], strategy_args: dict[str, float | int | bool] | None = None, y_is_good: bool = True, bounds: list[Annotated[list[float], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)]), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)])]], seed: Annotated[int, Ge(ge=-1), Le(le=4294967295)] = -1, extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, optimization_points: Annotated[int, Ge(ge=0)] = 1000, discrete_measurements: bool = False, discrete_measurement_grid_size: list[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]] = [20, 20])¶
- bounds: list[Annotated[list[float], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)]), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)])]]¶
- discrete_measurement_grid_size: list[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]]¶
- discrete_measurements: bool¶
- extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
These extra arguments will be MERGED with the saved extra_args, with these arguments taking place over the saved values when applicable.
- optimization_points: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]¶
- points: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]¶
- seed: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=-1, description='Specific RNG seed - use -1 to use system default', metadata=[Ge(ge=-1), Le(le=4294967295)])]¶
- strategy: Literal['random', 'uncertainty', 'expected_improvement', 'upper_confidence_bound', 'upper_confidence_bound_nomad', 'polymer_acl_sampler', 'hypercube']¶
- strategy_args: dict[str, float | int | bool] | None¶
- workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation]¶
- y_is_good: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='If true, treat higher y values as better (e.g. y represents yield or profit). If false, opposite (e.g. y represents error or waste)')]¶
- class dial_dataclass.dial_dataclass.DialInputPredictions(*, workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation], points_to_predict: list[list[float]], extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None)¶
This is the input dataclass for Dial for requesting a surrogate evaluation at a given number of points.
- extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
These extra arguments will be MERGED with the saved extra_args, with these arguments taking place over the saved values when applicable.
- points_to_predict: list[list[float]]¶
- workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation]¶
- class dial_dataclass.dial_dataclass.DialInputSingleConfidenceBound(*, workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation], strategy: Literal['confidence_bound'], strategy_args: dict[str, float | int | bool] | None = None, y_is_good: bool = True, bounds: list[Annotated[list[float], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)]), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)])]], extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, optimization_points: Annotated[int, Ge(ge=0)] = 1000, confidence_bound: Annotated[float, Gt(gt=0.5), Lt(lt=1)], discrete_measurements: bool = False, discrete_measurement_grid_size: list[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]] = [20, 20])¶
- bounds: list[Annotated[list[float], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)]), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)])]]¶
- confidence_bound: float¶
- discrete_measurement_grid_size: list[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]]¶
- discrete_measurements: bool¶
- extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
These extra arguments will be MERGED with the saved extra_args, with these arguments taking place over the saved values when applicable.
- optimization_points: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]¶
- strategy: Literal['confidence_bound']¶
- strategy_args: dict[str, float | int | bool] | None¶
- workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation]¶
- y_is_good: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='If true, treat higher y values as better (e.g. y represents yield or profit). If false, opposite (e.g. y represents error or waste)')]¶
- class dial_dataclass.dial_dataclass.DialInputSingleOtherStrategy(*, workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation], strategy: Literal['random', 'uncertainty', 'expected_improvement', 'upper_confidence_bound', 'upper_confidence_bound_nomad', 'polymer_acl_sampler'], strategy_args: dict[str, float | int | bool] | None = None, y_is_good: bool = True, bounds: list[Annotated[list[float], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)]), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)])]], seed: Annotated[int, Ge(ge=-1), Le(le=4294967295)] = -1, extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, optimization_points: Annotated[int, Ge(ge=0)] = 1000, discrete_measurements: bool = False, discrete_measurement_grid_size: list[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]] = [20, 20])¶
- bounds: list[Annotated[list[float], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)]), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)])]]¶
- discrete_measurement_grid_size: list[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]]¶
- discrete_measurements: bool¶
- extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
These extra arguments will be MERGED with the saved extra_args, with these arguments taking place over the saved values when applicable.
- optimization_points: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]¶
- seed: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=-1, description='Specific RNG seed - use -1 to use system default', metadata=[Ge(ge=-1), Le(le=4294967295)])]¶
- strategy: Literal['random', 'uncertainty', 'expected_improvement', 'upper_confidence_bound', 'upper_confidence_bound_nomad', 'polymer_acl_sampler']¶
- strategy_args: dict[str, float | int | bool] | None¶
- workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation]¶
- y_is_good: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='If true, treat higher y values as better (e.g. y represents yield or profit). If false, opposite (e.g. y represents error or waste)')]¶
- class dial_dataclass.dial_dataclass.DialWorkflowCreationParamsClient(*, dataset_x: list[Annotated[list[float], FieldInfo(annotation=NoneType, required=True, description='Field lengths of all subarrays should be equal')]], dataset_y: list[float], y_is_good: bool = True, kernel: Literal['rbf', 'matern', 'linear'], bounds: list[Annotated[list[float], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)]), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=2), MaxLen(max_length=2)])]], seed: Annotated[int, Ge(ge=-1), Le(le=4294967295)] = -1, dim_x: int = 1, preprocess_log: bool = False, preprocess_standardize: bool = False, kernel_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, backend_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, backend: Literal['sklearn', 'gpax', 'sable'])¶
Dataclass which clients can use to help verify requests to the DIAL microservice.
- backend: Literal['sklearn', 'gpax', 'sable']¶
- class dial_dataclass.dial_dataclass.DialWorkflowDatasetUpdate(*, workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation], next_x: Annotated[list[float], MinLen(min_length=1)], next_y: float, kernel_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, backend_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None)¶
- backend_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
Additional arguments to provide alongside the backend type. These arguments will OVERRIDE prior saved arguments.
- extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
Miscellaneous additional arguments. These arguments will OVERRIDE prior saved arguments.
- kernel_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
Additional arguments to provide alongside the kernel type. These arguments will OVERRIDE prior saved arguments.
- next_x: list[float]¶
the next collection of X values you want to append
- next_y: float¶
the next Y value you want to append
- workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation]¶
- class dial_dataclass.dial_dataclass.DialWorkflowDatasetUpdates(*, workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation], next_x_list: Annotated[list[list[float]], MinLen(min_length=1)], next_y_list: Annotated[list[float], MinLen(min_length=1)], kernel_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, backend_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None, extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None = None)¶
- backend_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
- extra_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
- kernel_args: dict[str, float | int | bool | str | list[float] | tuple] | None¶
- next_x_list: list[list[float]]¶
- next_y_list: list[float]¶
- workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation]¶
Response Objects¶
- class dial_dataclass.dial_dataclass_responses.DialDataResponse1D(*, data: list[float], workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation])¶
Possible response from DIAL
- data: list[float]¶
Raw data
- workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation]¶
The same workflow ID that was used to get the data, to facilitate possible load balancing.
- class dial_dataclass.dial_dataclass_responses.DialDataResponse2D(*, data: list[list[float]], workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation])¶
Possible response from DIAL
- data: list[list[float]]¶
Raw data
- workflow_id: Annotated[ObjectId, _ObjectIdPydanticAnnotation]¶
The same workflow ID that was used to get the data, to facilitate possible load balancing.