Thanks for the response!  This answers my question.
So I guess I need to have different BatchNorm() statements for each of the CNNs for two reasons: 1) there are learnable parameters \alpha and \beta that might be different from layer to layer, 2) it seems that the BatchNorm stores the batch mean and the variance somewhere so that it can be used at run-time.  Where exactly is that stored though?  When I save out the model using torch.save(net.state_dict(), filename) is it dumped out along with the network weights?
Also, I can’t understand why I only need to input the number of channels and not the length of the signal (in the 1d case) or W,H (in the 2D case). Any ideas?