def METHOD_NAME(self, module: ModuleWithBatchnorm, ghost_batch_size: int,
                                     batch_size: int) -> None:
    torch.manual_seed(123)
    size = [batch_size, module.num_features] + ([3] * module.num_dims)
    X = torch.randn(size=size)
    module.train()
    out = module(X)
    n_channels = out.shape[1]
    # reduce over everything but channel idx
    reduce_dims = (0,) + tuple(range(2, out.ndim))
    nchunks = int(math.ceil(batch_size / ghost_batch_size))
    for ghost_batch in out.chunk(nchunks):
        channel_variances, channel_means = torch.var_mean(ghost_batch, dim=reduce_dims, unbiased=False)
        torch.testing.assert_close(channel_variances, torch.ones(n_channels))
        torch.testing.assert_close(channel_means, torch.zeros(n_channels))