CircularPad1d

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

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)
Periodic Wrap Logic
CircularPad1d image border visualization
Circular padding treats the input as a periodic signal. For an input [1, 2, 3] with padding 1, the result is [3, 1, 2, 3, 1]. This is ideal for data with cyclic properties, such as 360° panoramic signals or audio loops.