code: def batch_stats(self, funcs:Collection[Callable]=None, ds_type:DatasetType=DatasetType.Train)->Tensor:
          "Grab a batch of data and call reduction function `func` per channel"
          funcs = ifnone(funcs, [torch.mean,torch.std])
          x = self.one_batch(ds_type=ds_type, denorm=False)[0].cpu()
          return [func(channel_view(x), 1) for func in funcsf batch_stats(self, funcs:Collection[Callable]=None, ds_type:DatasetType=DatasetType.Train)->Tensor:
          "Grab a batch of data and call reduction function `func` per channel"
          funcs = ifnone(funcs, [torch.mean,torch.std])
          x = self.one_batch(ds_type=ds_type, denorm=False)[0].cpu()
          return [func(channel_view(x), 1) for func in funcs]
docs: Grab a batch of data and call reduction function `func` per channel