SigmoidTransformation¶
- class baybe.transformations.basic.SigmoidTransformation[source]¶
Bases:
MonotonicTransformationA sigmoid transformation.
Public methods
__init__([center, steepness])Method generated by attrs for class SigmoidTransformation.
abs()Take the absolute value of the output of the transformation.
chain(transformation, /)Chain another transformation with the existing one.
clamp([min, max])Clamp the output of the transformation.
from_anchors(anchors)Create a sigmoid transformation from two anchor points.
from_dict(dictionary)Create an object from its dictionary representation.
from_json(source, /)Create an object from its JSON representation.
get_codomain([interval])Get the codomain of a certain interval (assuming transformation continuity).
get_image([interval])Get the image of a certain interval (assuming transformation continuity).
negate()Negate the output of the transformation.
Convert to BoTorch objective.
to_dict()Create an object's dictionary representation.
to_json([sink, overwrite])Create an object's JSON representation.
Public attributes and properties
The center of the sigmoid function, where it crosses 0.5.
The steepness of the sigmoid function.
- __init__(center=0.0, steepness=1.0)¶
Method generated by attrs for class SigmoidTransformation.
For details on the parameters, see Public attributes and properties.
- abs()¶
Take the absolute value of the output of the transformation.
- Return type:
- chain(transformation: Transformation, /)¶
Chain another transformation with the existing one.
- Return type:
- classmethod from_anchors(anchors: Sequence[Sequence[float]])[source]¶
Create a sigmoid transformation from two anchor points.
- Parameters:
anchors (
Sequence[Sequence[float]]) – The anchor points defining the sigmoid transformation. Must be convertible to two pairs of floats, where each pair represents an anchor point through which the sigmoid curve passes.- Raises:
ValueError – If the input given as anchors does not represent two points.
ValueError – If the ordinates of the anchors are not in the unit interval.
- Return type:
- Returns:
A sigmoid transformation passing through the specified anchor points.
Example
>>> import torch >>> p1 = (-2, 0.1) >>> p2 = (5, 0.6) >>> t = SigmoidTransformation.from_anchors([p1, p2]) >>> out = t(torch.tensor([p1[0], p2[0]])) >>> assert torch.equal(out, torch.tensor([p1[1], p2[1]]))
- classmethod from_json(source: str | Path | SupportsRead[str], /)¶
Create an object from its JSON representation.
- Parameters:
source (str | Path | SupportsRead[str]) –
The JSON source. Can be:
A string containing JSON content.
A file path or
Pathobject pointing to a JSON file.A file-like object with a
read()method.
- Raises:
ValueError – If
sourceis not one of the allowed types.- Return type:
_T
- Returns:
The reconstructed object.
- get_codomain(interval: Interval | None = None, /)¶
Get the codomain of a certain interval (assuming transformation continuity).
In accordance with the mathematical definition of a function’s codomain, we define the codomain of a given
Intervalunder a certain (assumed continuous)Transformationto be anIntervalguaranteed to contain all possible outcomes when theTransformationis applied to all points in the inputInterval. In cases where the image cannot exactly be computed, it is often still possible to compute a codomain. The codomain always contains the image, but might be larger.- Return type:
- get_image(interval: Interval | None = None, /)¶
Get the image of a certain interval (assuming transformation continuity).
In accordance with the mathematical definition of a function’s image, we define the image of a given
Intervalunder a certain (assumed continuous)Transformationto be the smallestIntervalcontaining all possible outcomes when theTransformationis applied to all points in the inputInterval.- Return type:
- negate()¶
Negate the output of the transformation.
- Return type:
- to_botorch_objective()¶
Convert to BoTorch objective.
- Return type:
MCAcquisitionObjective
- to_dict()¶
Create an object’s dictionary representation.
- Return type:
- Returns:
The dictionary representation of the object.
- to_json(sink: str | Path | SupportsWrite[str] | None = None, /, *, overwrite: bool = False, **kwargs: Any)¶
Create an object’s JSON representation.
- Parameters:
sink (str | Path | SupportsWrite[str] | None) –
The JSON sink. Can be:
None(only returns the JSON string).A file path or
Pathobject pointing to a location where to write the JSON content.A file-like object with a
write()method.
overwrite (bool) – Boolean flag indicating if to overwrite the file if it already exists. Only relevant if
sinkis a file path orPathobject.**kwargs (Any) – Additional keyword arguments to pass to
json.dumps().
- Raises:
FileExistsError – If
sinkpoints to an already existing file butoverwriteisFalse.- Return type:
str
- Returns:
The JSON representation as a string.