frameworks.ultralytics.parameters.hyper_parameters¶
hyper_parameters
¶
Classes:
Name | Description |
---|---|
UltralyticsHyperParameters |
Defines the set of training hyperparameters used for Ultralytics models. |
UltralyticsHyperParameters(log_data)
¶
Bases: HyperParameters
Defines the set of training hyperparameters used for Ultralytics models.
This class extracts, validates, and stores training hyperparameters from a Picsellia experiment log. Each parameter includes type validation, default value fallback, and optional value range enforcement.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
|
LogDataType
|
The dictionary of logged hyperparameters 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:
time = self.extract_parameter(keys=['time'], expected_type=Optional[float], default=None)
instance-attribute
¶
patience = self.extract_parameter(keys=['patience'], expected_type=int, default=100)
instance-attribute
¶
save_period = self.extract_parameter(keys=['save_period'], expected_type=int, default=100)
instance-attribute
¶
cache = self.extract_parameter(keys=['cache', 'use_cache'], expected_type=bool, default=False)
instance-attribute
¶
workers = self.extract_parameter(keys=['workers'], expected_type=int, default=8)
instance-attribute
¶
optimizer = self.extract_parameter(keys=['optimizer'], expected_type=str, default='auto')
instance-attribute
¶
deterministic = self.extract_parameter(keys=['deterministic'], expected_type=bool, default=True)
instance-attribute
¶
single_cls = self.extract_parameter(keys=['single_cls'], expected_type=bool, default=False)
instance-attribute
¶
rect = self.extract_parameter(keys=['rect'], expected_type=bool, default=False)
instance-attribute
¶
cos_lr = self.extract_parameter(keys=['cos_lr'], expected_type=bool, default=False)
instance-attribute
¶
close_mosaic = self.extract_parameter(keys=['close_mosaic'], expected_type=int, default=10)
instance-attribute
¶
amp = self.extract_parameter(keys=['amp'], expected_type=bool, default=True)
instance-attribute
¶
fraction = self.extract_parameter(keys=['fraction'], expected_type=float, default=1.0)
instance-attribute
¶
profile = self.extract_parameter(keys=['profile'], expected_type=bool, default=False)
instance-attribute
¶
freeze = self.extract_parameter(keys=['freeze'], expected_type=Optional[int], default=None)
instance-attribute
¶
lr0 = self.extract_parameter(keys=['lr0'], expected_type=float, default=0.01)
instance-attribute
¶
lrf = self.extract_parameter(keys=['lrf'], expected_type=float, default=0.1)
instance-attribute
¶
momentum = self.extract_parameter(keys=['momentum'], expected_type=float, default=0.937)
instance-attribute
¶
weight_decay = self.extract_parameter(keys=['weight_decay'], expected_type=float, default=0.0005)
instance-attribute
¶
warmup_epochs = self.extract_parameter(keys=['warmup_epochs'], expected_type=float, default=3.0)
instance-attribute
¶
warmup_momentum = self.extract_parameter(keys=['warmup_momentum'], expected_type=float, default=0.8)
instance-attribute
¶
warmup_bias_lr = self.extract_parameter(keys=['warmup_bias_lr'], expected_type=float, default=0.1)
instance-attribute
¶
box = self.extract_parameter(keys=['box'], expected_type=float, default=7.5)
instance-attribute
¶
cls = self.extract_parameter(keys=['cls'], expected_type=float, default=0.5)
instance-attribute
¶
dfl = self.extract_parameter(keys=['dfl'], expected_type=float, default=1.5)
instance-attribute
¶
pose = self.extract_parameter(keys=['pose'], expected_type=float, default=12.0)
instance-attribute
¶
kobj = self.extract_parameter(keys=['kobj'], expected_type=float, default=2.0)
instance-attribute
¶
label_smoothing = self.extract_parameter(keys=['label_smoothing'], expected_type=float, default=0.0)
instance-attribute
¶
nbs = self.extract_parameter(keys=['nbs'], expected_type=int, default=64)
instance-attribute
¶
overlap_mask = self.extract_parameter(keys=['overlap_mask'], expected_type=bool, default=True)
instance-attribute
¶
mask_ratio = self.extract_parameter(keys=['mask_ratio'], expected_type=int, default=4)
instance-attribute
¶
dropout = self.extract_parameter(keys=['dropout'], expected_type=float, default=0.0)
instance-attribute
¶
plots = self.extract_parameter(keys=['plots'], expected_type=bool, default=True)
instance-attribute
¶
parameters_data = self.validate_log_data(log_data)
instance-attribute
¶
defaulted_keys = set()
instance-attribute
¶
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
¶
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 |
---|---|---|---|
|
list
|
A list of possible keys to extract the parameter. |
required |
|
type[T]
|
The expected type of the parameter, can use Union for optional types. |
required |
|
Any
|
The default value if the parameter is not found. Use ... for required parameters. |
...
|
|
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.