You could also perform all transformations once and push the data afterwards to the GPU.
Note however, that also in your approach each sample would be “randomly” transformed only once, since the data on the GPU wouldn’t be transformed anymore.