code: def _preprocess(self, data,  train):
          
          if train:
              inputs, labels = data
              self.data_mean = inputs.mean(axis=0)
              self.data_std = inputs.std(axis=0)
              self.labels_mean = labels.mean(axis=0)
              self.labels_std = labels.std(axis=0)
              return ((inputs-self.data_mean)/self.data_std, (labels-self.labels_mean)/self.labels_std)
          else:
              return (data-self.data_mean)/self.data_std
docs: Zero-mean, unit-variance normalization by default