You can do something like:
import numpy
def fliping_gen(image_generator, flip_p=0.5):
for x, y in image_generator:
flip_selector = numpy.random.binomial(1, flip_p, size=x.shape[0]) == 1
x[flip_selector,:,:,:] = x[flip_selector,:,::-1,:]
y[flip_selector] = (-1) * y[flip_selector]
yield x, y
source
share