Hi There!
Can something like this list of Conv1d layers be achieved using a single Conv2d or Conv2dTransposed? I tried thinking really hard but was unable to think of something clever!
assert in_channels < out_channels
assert features.shape == (batch_size, in_channels, signal_length)

convs = nn.ModuleList(
    [nn.Conv1d(in_channels=in_channels, out_channels=out_channels, kernel_size=1)
     for _ in range(num_layers)])

# [batch_size, in_channels, signal_length] →
# list of [batch_size, out_channels, signal_length]
features = [conv(features) for conv in convs]

assert len(features) == num_layers

# list of [batch_size, out_channels, signal_length] →
# [batch_size, num_layers, out_channels, signal_length]
features = torch.stack(features, dim=1)

Thanks!