# Generated by configen, do not edit.
# See https://github.com/facebookresearch/hydra/tree/master/tools/configen
# fmt: off
# isort:skip_file
# flake8: noqa

from dataclasses import dataclass, field
from conduit.data.datasets.audio.ecoacoustics import SoundscapeAttr
from omegaconf import MISSING
from ranzen.torch.data import TrainingMode
from typing import Any
from typing import List
from typing import Optional


@dataclass
class EcoacousticsDataModuleConf:
    _target_: str = "conduit.data.datamodules.audio.EcoacousticsDataModule"
    root: str = MISSING
    train_batch_size: int = 64
    eval_batch_size: Optional[int] = None
    val_prop: float = 0.2
    test_prop: float = 0.2
    num_workers: int = 0
    seed: int = 47
    persist_workers: bool = False
    pin_memory: bool = True
    stratified_sampling: bool = False
    instance_weighting: bool = False
    training_mode: TrainingMode = TrainingMode.epoch
    train_tf: Any = None  # Optional[Callable[[Tensor], Tensor]]
    test_tf: Any = None  # Optional[Callable[[Tensor], Tensor]]
    segment_len: float = 15
    sample_rate: int = 48000
    target_attrs: List[SoundscapeAttr] = MISSING
