tf.keras.utils.GeneratorEnqueuer

Class GeneratorEnqueuer

Inherits From: SequenceEnqueuer

Defined in tensorflow/python/keras/utils/data_utils.py.

Builds a queue out of a data generator.

The provided generator can be finite in which case the class will throw a StopIteration exception.

Used in fit_generator, evaluate_generator, predict_generator.

Arguments:

  • generator: a generator function which yields data
  • use_multiprocessing: use multiprocessing if True, otherwise threading
  • wait_time: time to sleep in-between calls to put()
  • random_seed: Initial seed for workers, will be incremented by one for each worker.

__init__

__init__(
    generator,
    use_multiprocessing=False,
    wait_time=0.05,
    seed=None
)

Methods

get

get()

Creates a generator to extract data from the queue.

Skip the data if it is None.

Yields:

The next element in the queue, i.e. a tuple (inputs, targets) or (inputs, targets, sample_weights).

is_running

is_running()

start

start(
    workers=1,
    max_queue_size=10
)

Kicks off threads which add data from the generator into the queue.

Arguments:

  • workers: number of worker threads
  • max_queue_size: queue size (when full, threads could block on put())

stop

stop(timeout=None)

Stops running threads and wait for them to exit, if necessary.

Should be called by the same thread which called start().

Arguments:

  • timeout: maximum time to wait on thread.join().