circular_pad1d_demo.py
import svetoviz_webgpu as sv
# 1. Create a 1D sequence (5 samples)
input_tensor = torch.tensor([[[1.0, 2.0, 3.0, 4.0, 5.0]]])
# 2. Define CircularPad1d
# Padding of 2 on both sides wraps the ends to the opposite side
pad1d = nn.CircularPad1d(padding=2)
def terminal_callback(buffer, message, images, files):
output = pad1d(input_tensor)
buffer.send_system_message(f"Input Sequence: {input_tensor.tolist()[0][0]}")
buffer.send_system_message(f"Circularly Padded: {output.tolist()[0][0]}")
buffer.send_system_message("The sequence now wraps around itself seamlessly.")
# 3. Start the interactive session
sv.pytorch_web(module=pad1d, terminal_callback=terminal_callback)