code: def transform(self, fn, lazy=True):
          
          trans = _LazyTransformDataset(self, fn)
          if lazy:
              return trans
          return SimpleDataset([i for i in trans])
docs: Returns a new dataset with each sample transformed by the
          transformer function `fn`.
  
          Parameters
          ----------
          fn : callable
              A transformer function that takes a sample as input and
              returns the transformed sample.
          lazy : bool, default True
              If False, transforms all samples at once. Otherwise,
              transforms each sample on demand. Note that if `fn`
              is stochastic, you must set lazy to True or you will
              get the same result on all epochs.
  
          Returns
          -------
          Dataset
              The transformed dataset.