Skip to content

Conv

dataphy.visionpack.tforms.conv

Classes

RandomConv(kernel_variance: float = 0.05, kernel_size: int = 3, per_channel: bool = True, normalize_gain: bool = True, alpha_identity: Optional[List[float]] = None, sample_mode: Literal['gaussian', 'bank', 'hybrid'] = 'gaussian', kernel_bank: Optional[List] = None, bank_prob: float = 0.3, passes: int = 1, boundary: Literal['reflect', 'replicate', 'zeros'] = 'reflect', **kwargs: Any)

Bases: BaseTransform

Source code in src/dataphy/visionpack/tforms/conv.py
def __init__(
    self,
    kernel_variance: float = 0.05,
    kernel_size: int = 3,
    per_channel: bool = True,
    normalize_gain: bool = True,
    alpha_identity: Optional[List[float]] = None,
    sample_mode: Literal["gaussian", "bank", "hybrid"] = "gaussian",
    kernel_bank: Optional[List] = None,
    bank_prob: float = 0.3,
    passes: int = 1,
    boundary: Literal["reflect", "replicate", "zeros"] = "reflect",
    **kwargs: Any
):
    super().__init__(**kwargs)
    self.kernel_variance = kernel_variance
    self.kernel_size = kernel_size
    self.per_channel = per_channel
    self.normalize_gain = normalize_gain
    self.alpha_identity = alpha_identity or [0.0, 1.0]
    self.sample_mode = sample_mode
    self.kernel_bank = kernel_bank or self._create_default_kernel_bank()
    self.bank_prob = bank_prob
    self.passes = passes
    self.boundary = boundary

    assert kernel_size in [3, 5], "kernel_size must be 3 or 5"
    self.padding = kernel_size // 2
Attributes
kernel_variance = kernel_variance instance-attribute
kernel_size = kernel_size instance-attribute
per_channel = per_channel instance-attribute
normalize_gain = normalize_gain instance-attribute
alpha_identity = alpha_identity or [0.0, 1.0] instance-attribute
sample_mode = sample_mode instance-attribute
kernel_bank = kernel_bank or self._create_default_kernel_bank() instance-attribute
bank_prob = bank_prob instance-attribute
passes = passes instance-attribute
boundary = boundary instance-attribute
padding = kernel_size // 2 instance-attribute
p = p instance-attribute
apply_to = apply_to if apply_to is not None else ['rgb'] instance-attribute
sync_views = sync_views instance-attribute
update_intrinsics = update_intrinsics instance-attribute
mask_protect = mask_protect if mask_protect is not None else [] instance-attribute
min_visible_mask_pct = min_visible_mask_pct instance-attribute
resample = resample instance-attribute
border_mode = border_mode instance-attribute
pad_mode = pad_mode instance-attribute
pad_value = pad_value instance-attribute
seed_policy = seed_policy instance-attribute
Functions
forward(batch: Dict[str, Any]) -> Dict[str, Any]

Base forward method that handles cross-cutting logic.

Source code in src/dataphy/visionpack/tforms/base.py
def forward(self, batch: Dict[str, Any]) -> Dict[str, Any]:
    """Base forward method that handles cross-cutting logic."""
    if not self._should_apply():
        return batch

    # Setup seed policy
    episode_id = batch.get("episode_id")
    self._setup_seed(episode_id)

    # Apply transform
    return self._apply_transform(batch)