Can someone explain when to use BatchNorm1d and when BatchNorm2d?
From here 10 BN1d is called temporal:

Because the Batch Normalization is done over the C dimension, computing statistics on (N, L) slices, it’s common terminology to call this Temporal Batch Normalization.

From here 5 BN2d is called spatial:

Because the Batch Normalization is done over the C dimension, computing statistics on (N, H, W) slices, it’s common terminology to call this Spatial Batch Normalization.