Dropout2d

https://pytorch.org/docs/stable/generated/torch.nn.Dropout2d.html

dropout2d_demo.py
import svetoviz_webgpu as sv

# 1. Prepare 2D Image (Batch=1, Channels=3, H, W)
input_tensor = torch.from_numpy(img_np).permute(2, 0, 1).unsqueeze(0)

# 2. Define Dropout2d
dropout = nn.Dropout2d(p=0.5)

def terminal_callback(buffer, message, images, files):
    dropout.train()
    output = dropout(input_tensor)

    # Check R, G, B status
    status = ["Active" if output[0, i].sum() > 0 else "Dropped" for i in range(3)]

    buffer.send_system_message(f"Channel Status (R, G, B): {status}")
    buffer.send_system_message("Logic: Prevents co-adaptation of entire 2D feature maps.")

# 3. Start the interactive session
sv.pytorch_web(module=dropout, terminal_callback=terminal_callback)
Spatial Dropout in CNNs
Dropout2d activations
Similar to its 1D counterpart, Dropout2d zeroes entire feature maps. This is particularly effective in early convolutional layers where spatial correlation is very high, ensuring the model doesn't rely on a single feature detector to identify an object.