Skip to content

frameworks.ultralytics.parameters.augmentation_parameters

augmentation_parameters

Classes:

Name Description
UltralyticsAugmentationParameters

Defines data augmentation parameters for Ultralytics-based training.

UltralyticsAugmentationParameters(log_data)

Bases: AugmentationParameters

Defines data augmentation parameters for Ultralytics-based training.

This class extracts and validates augmentation parameters from Picsellia logs. Each parameter is automatically parsed and type-checked using extract_parameter.

Parameters:

Name Type Description Default

log_data

LogDataType

The dictionary of logged parameters from the Picsellia platform.

required

Methods:

Name Description
extract_parameter

Extract a parameter using keys, type, optional default, and optional value range.

to_dict

Return parameters as a dictionary, excluding internal fields.

validate_log_data

Validate and return log data if it's a dictionary.

Attributes:

Name Type Description
hsv_h
hsv_s
hsv_v
degrees
translate
scale
shear
perspective
flipud
fliplr
bgr
mosaic
mixup
copy_paste
auto_augment
erasing
crop_fraction
parameters_data
defaulted_keys set[str]

hsv_h = self.extract_parameter(keys=['hsv_h'], expected_type=float, default=0.015, range_value=(0.0, 1.0)) instance-attribute

hsv_s = self.extract_parameter(keys=['hsv_s'], expected_type=float, default=0.7, range_value=(0.0, 1.0)) instance-attribute

hsv_v = self.extract_parameter(keys=['hsv_v'], expected_type=float, default=0.4, range_value=(0.0, 1.0)) instance-attribute

degrees = self.extract_parameter(keys=['degrees'], expected_type=float, default=0.0, range_value=(-180.0, 180.0)) instance-attribute

translate = self.extract_parameter(keys=['translate'], expected_type=float, default=0.1, range_value=(0.0, 1.0)) instance-attribute

scale = self.extract_parameter(keys=['scale'], expected_type=float, default=0.5, range_value=(0.0, float('inf'))) instance-attribute

shear = self.extract_parameter(keys=['shear'], expected_type=float, default=0.0, range_value=(-180.0, 180.0)) instance-attribute

perspective = self.extract_parameter(keys=['perspective'], expected_type=float, default=0.0, range_value=(0.0, 0.001)) instance-attribute

flipud = self.extract_parameter(keys=['flipud'], expected_type=float, default=0.0, range_value=(0.0, 1.0)) instance-attribute

fliplr = self.extract_parameter(keys=['fliplr'], expected_type=float, default=0.5, range_value=(0.0, 1.0)) instance-attribute

bgr = self.extract_parameter(keys=['bgr'], expected_type=float, default=0.0, range_value=(0.0, 1.0)) instance-attribute

mosaic = self.extract_parameter(keys=['mosaic'], expected_type=float, default=1.0, range_value=(0.0, 1.0)) instance-attribute

mixup = self.extract_parameter(keys=['mixup'], expected_type=float, default=0.0, range_value=(0.0, 1.0)) instance-attribute

copy_paste = self.extract_parameter(keys=['copy_paste'], expected_type=float, default=0.0, range_value=(0.0, 1.0)) instance-attribute

auto_augment = self.extract_parameter(keys=['auto_augment'], expected_type=str, default='randaugment') instance-attribute

erasing = self.extract_parameter(keys=['erasing'], expected_type=float, default=0.4, range_value=(0.0, 1.0)) instance-attribute

crop_fraction = self.extract_parameter(keys=['crop_fraction'], expected_type=float, default=1.0, range_value=(0.1, 1.0)) instance-attribute

parameters_data = self.validate_log_data(log_data) instance-attribute

defaulted_keys = set() instance-attribute

extract_parameter(keys, expected_type, default=..., range_value=None)

extract_parameter(keys: list, expected_type: type[T], default: Any = ..., range_value: tuple[Any, Any] | None = None) -> T
extract_parameter(keys: list, expected_type: Any, default: Any = ..., range_value: tuple[Any, Any] | None = None) -> Any

Extract a parameter using keys, type, optional default, and optional value range.

Examples:

Extract a required string parameter that cannot be None:

parameter = self.extract_parameter(keys=["key1", "key2"], expected_type=str)

Extract a required integer parameter that can be None:

parameter = self.extract_parameter(keys=["key1"], expected_type=int | None)

Extract an optional float parameter within a specific range:

parameter = self.extract_parameter(keys=["key1"], expected_type=float, default=0.5, range_value=(0.0, 1.0))

Extract an optional string parameter with a default value:

parameter = self.extract_parameter(keys=["key1"], expected_type=str, default="default_value")

Extract an optional string parameter that can be None:

parameter = self.extract_parameter(keys=["key1"], expected_type=Union[str, None], default=None)

Parameters:

Name Type Description Default
keys
list

A list of possible keys to extract the parameter.

required
expected_type
type[T]

The expected type of the parameter, can use Union for optional types.

required
default
Any

The default value if the parameter is not found. Use ... for required parameters.

...
range_value
tuple[Any, Any] | None

A tuple of two numbers representing the allowed range of the parameter.

None

Returns:

Type Description
Any

The parsed parameter.

to_dict()

Return parameters as a dictionary, excluding internal fields.

validate_log_data(log_data)

Validate and return log data if it's a dictionary.