Skip to content

minrecord.comparator

minrecord.comparator

Contain the comparator base class and some implementations.

minrecord.comparator.BaseComparator

Bases: Generic[T], ABC

Define the base comparator class to implement a comparator.

Example usage:

>>> from minrecord import MinScalarComparator
>>> comparator = MinScalarComparator()
>>> comparator.is_better(old_value=0.4, new_value=0.6)
False
>>> comparator.get_initial_best_value()
inf

minrecord.comparator.BaseComparator.equal abstractmethod

equal(other: Any) -> bool

Indicate if two comparators are equal or not.

Parameters:

Name Type Description Default
other Any

The other object to compare with.

required

Returns:

Type Description
bool

True if the comparators are equal, False otherwise.

Example usage:

>>> from minrecord import MinScalarComparator, MaxScalarComparator
>>> comparator = MinScalarComparator()
>>> comparator.equal(MinScalarComparator())
True
>>> comparator.equal(MaxScalarComparator())
False

minrecord.comparator.BaseComparator.get_initial_best_value abstractmethod

get_initial_best_value() -> T

Get the initial best value.

Returns:

Type Description
T

The initial best value.

Example usage:

>>> from minrecord import MinScalarComparator
>>> comparator = MinScalarComparator()
>>> comparator.get_initial_best_value()
inf

minrecord.comparator.BaseComparator.is_better abstractmethod

is_better(old_value: T, new_value: T) -> bool

Indicate if the new value is better than the old value.

Parameters:

Name Type Description Default
old_value T

The old value to compare.

required
new_value T

The new value to compare.

required

Returns:

Type Description
bool

True if the new value is better than the old value, otherwise False.

Example usage:

>>> from minrecord import MinScalarComparator
>>> comparator = MinScalarComparator()
>>> comparator.is_better(old_value=0.4, new_value=0.6)
False

minrecord.comparator.ComparatorEqualityComparator

Bases: BaseEqualityComparator[BaseComparator]

Implement an equality comparator for BaseBatch objects.

minrecord.comparator.MaxScalarComparator

Bases: BaseComparator[float]

Implement a max comparator for scalar value.

This comparator can be used to find the maximum value between two scalar values.

Example usage:

>>> from minrecord import MaxScalarComparator
>>> comparator = MaxScalarComparator()
>>> comparator.is_better(old_value=0.4, new_value=0.6)
True
>>> comparator.get_initial_best_value()
-inf

minrecord.comparator.MinScalarComparator

Bases: BaseComparator[float]

Implementation of a min comparator for scalar value.

This comparator can be used to find the minimum value between two scalar values.

Example usage:

>>> from minrecord import MinScalarComparator
>>> comparator = MinScalarComparator()
>>> comparator.is_better(old_value=0.4, new_value=0.6)
False
>>> comparator.get_initial_best_value()
inf