Hi,
I want to do mean over time in pytorch. Basically I don’t want to include the padding time steps while doing the mean. How can I do that?
Thanks
Tapas
Hi,
I want to do mean over time in pytorch. Basically I don’t want to include the padding time steps while doing the mean. How can I do that?
Thanks
Tapas
If I understand your question correctly, you would like to implement a moving average filter for 1D input?
You could use a convolution with directly specified weights and apply it on your signal.
Try this code:
x = torch.randn(1, 1, 100)
mean_conv = nn.Conv1d(in_channels=1,
out_channels=1,
kernel_size=5)
# Set kernel to calculate mean
kernel_weights = np.array([1., 1., 1., 1., 1.])/5
mean_conv.weight.data = torch.FloatTensor(kernel_weights).view(1, 1, 5)
output = mean_conv(Variable(x))
output.shape
will be [1, 1, 96]
since we did not use padding.