WaveNet-style models use causal, dilated convolutions: output ttt only sees inputs at t,t−d,t−2d,…t, t-d, t-2d, \dotst,t−d,t−2d,…
with x<0=0x_{<0} = 0x<0=0 (left padding), so the output has the same length as the input. Implement causal_dilated_conv1d(x, w, dilation) for 1-D arrays.
causal_dilated_conv1d(x, w, dilation)