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)