Skip to content

Config

Top-level Config

yolo.config.config.Config dataclass

Source code in yolo/config/config.py
@dataclass
class Config:
    task: Union[TrainConfig, InferenceConfig, ValidationConfig]
    dataset: DatasetConfig
    model: ModelConfig
    name: str

    trainer: TrainerConfig

    image_size: List[int]

    out_path: str
    exist_ok: bool

    lucky_number: int
    use_wandb: bool
    use_tensorboard: bool

    task_type: str
    weight: Optional[str]

task instance-attribute

dataset instance-attribute

model instance-attribute

name instance-attribute

trainer instance-attribute

image_size instance-attribute

out_path instance-attribute

exist_ok instance-attribute

lucky_number instance-attribute

use_wandb instance-attribute

use_tensorboard instance-attribute

task_type instance-attribute

weight instance-attribute

__init__(task, dataset, model, name, trainer, image_size, out_path, exist_ok, lucky_number, use_wandb, use_tensorboard, task_type, weight)

Model Schema

yolo.config.schemas.model

AnchorConfig dataclass

Source code in yolo/config/schemas/model.py
@dataclass
class AnchorConfig:
    strides: List[int]
    reg_max: Optional[int]
    anchor_num: Optional[int]
    anchor: List[List[int]]

LayerConfg dataclass

Source code in yolo/config/schemas/model.py
@dataclass
class LayerConfg:
    args: Dict
    source: Union[int, str, List[int]]
    tags: str

BlockConfig dataclass

Source code in yolo/config/schemas/model.py
@dataclass
class BlockConfig:
    block: List[Dict[str, LayerConfg]]

ModelConfig dataclass

Source code in yolo/config/schemas/model.py
@dataclass
class ModelConfig:
    name: Optional[str]
    anchor: AnchorConfig
    model: Dict[str, BlockConfig]

YOLOLayer dataclass

Bases: Module

Source code in yolo/config/schemas/model.py
@dataclass
class YOLOLayer(nn.Module):
    source: Union[int, str, List[int]]
    output: bool
    tags: str
    layer_type: str
    usable: bool
    external: Optional[dict]

Data Schema

yolo.config.schemas.data

DownloadDetail dataclass

Source code in yolo/config/schemas/data.py
5
6
7
8
@dataclass
class DownloadDetail:
    url: str
    file_size: int

DownloadOptions dataclass

Source code in yolo/config/schemas/data.py
@dataclass
class DownloadOptions:
    details: Dict[str, DownloadDetail]

DatasetConfig dataclass

Source code in yolo/config/schemas/data.py
@dataclass
class DatasetConfig:
    path: str
    class_num: int
    class_list: List[str]
    auto_download: Optional[DownloadOptions]

DataConfig dataclass

Source code in yolo/config/schemas/data.py
@dataclass
class DataConfig:
    shuffle: bool
    batch_size: int
    pin_memory: bool
    dataloader_workers: int
    image_size: List[int]
    data_augment: Dict[str, int]
    source: Optional[Union[str, int]]
    dynamic_shape: Optional[bool]
    equivalent_batch_size: Optional[int] = 64
    drop_last: bool = True

Training Schema

yolo.config.schemas.training

DataConfig dataclass

Source code in yolo/config/schemas/data.py
@dataclass
class DataConfig:
    shuffle: bool
    batch_size: int
    pin_memory: bool
    dataloader_workers: int
    image_size: List[int]
    data_augment: Dict[str, int]
    source: Optional[Union[str, int]]
    dynamic_shape: Optional[bool]
    equivalent_batch_size: Optional[int] = 64
    drop_last: bool = True

ValidationConfig dataclass

Source code in yolo/config/schemas/task.py
@dataclass
class ValidationConfig:
    task: str
    nms: NMSConfig
    data: DataConfig

OptimizerArgs dataclass

Source code in yolo/config/schemas/training.py
@dataclass
class OptimizerArgs:
    lr: float
    weight_decay: float
    momentum: float

OptimizerConfig dataclass

Source code in yolo/config/schemas/training.py
@dataclass
class OptimizerConfig:
    type: str
    args: OptimizerArgs

MatcherConfig dataclass

Source code in yolo/config/schemas/training.py
@dataclass
class MatcherConfig:
    iou: str
    topk: int
    factor: Dict[str, int]

TrainerConfig dataclass

Source code in yolo/config/schemas/training.py
@dataclass
class TrainerConfig:
    accelerator: str = "auto"
    device: Union[str, int] = "auto"
    precision: str = "32-true"
    sync_batchnorm: bool = True
    log_every_n_steps: int = 1
    gradient_clip_val: float = 10.0
    gradient_clip_algorithm: str = "norm"
    deterministic: bool = True

LossConfig dataclass

Source code in yolo/config/schemas/training.py
@dataclass
class LossConfig:
    objective: Dict[str, int]
    aux: Union[bool, float]
    matcher: MatcherConfig

SchedulerConfig dataclass

Source code in yolo/config/schemas/training.py
@dataclass
class SchedulerConfig:
    type: str
    warmup: Dict[str, Union[int, float]]
    args: Dict[str, Any]

EMAConfig dataclass

Source code in yolo/config/schemas/training.py
@dataclass
class EMAConfig:
    enable: bool
    decay: float

TrainConfig dataclass

Source code in yolo/config/schemas/training.py
@dataclass
class TrainConfig:
    task: str
    epoch: int
    data: DataConfig
    optimizer: OptimizerConfig
    loss: LossConfig
    scheduler: SchedulerConfig
    ema: EMAConfig
    validation: ValidationConfig

Task Schema

yolo.config.schemas.task

DataConfig dataclass

Source code in yolo/config/schemas/data.py
@dataclass
class DataConfig:
    shuffle: bool
    batch_size: int
    pin_memory: bool
    dataloader_workers: int
    image_size: List[int]
    data_augment: Dict[str, int]
    source: Optional[Union[str, int]]
    dynamic_shape: Optional[bool]
    equivalent_batch_size: Optional[int] = 64
    drop_last: bool = True

NMSConfig dataclass

Source code in yolo/config/schemas/task.py
@dataclass
class NMSConfig:
    min_confidence: float
    min_iou: float
    max_bbox: int

InferenceConfig dataclass

Source code in yolo/config/schemas/task.py
@dataclass
class InferenceConfig:
    task: str
    nms: NMSConfig
    data: DataConfig
    fast_inference: Optional[None]
    save_predict: bool

ValidationConfig dataclass

Source code in yolo/config/schemas/task.py
@dataclass
class ValidationConfig:
    task: str
    nms: NMSConfig
    data: DataConfig