Skip to content

core.parameters.hyper_parameters

hyper_parameters

Classes:

Name Description
HyperParameters

HyperParameters(log_data)

Bases: Parameters

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
epochs
batch_size
image_size
seed
validate
train_set_split_ratio
device
parameters_data
defaulted_keys set[str]

epochs = self.extract_parameter(keys=['epoch', 'epochs'], expected_type=int) instance-attribute

batch_size = self.extract_parameter(keys=['batch_size', 'batch'], expected_type=int, default=8) instance-attribute

image_size = self.extract_parameter(keys=['image_size', 'imgsz', 'img_size'], expected_type=int) instance-attribute

seed = self.extract_parameter(keys=['seed'], expected_type=int, default=0) instance-attribute

validate = self.extract_parameter(keys=['validate', 'val', 'validation'], expected_type=bool, default=False) instance-attribute

train_set_split_ratio = self.extract_parameter(keys=['prop_train_split', 'train_set_split_ratio'], expected_type=float, default=0.8) instance-attribute

device = self.extract_parameter(keys=['device'], expected_type=str, default='cuda: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.