If the transformations are static/deterministic, i.e. yielding the same result for each call, then you could store the transformed tensors and just load them (lazily) for your training.
This should speed up the training, if the transformations are really the bottleneck, so you should check that first before optimizing unnecessary code parts.