tf.keras.utils.SequenceEnqueuer
| Просмотреть исходный код на GitHub |
Базовый класс для очереди ввода.
tf.keras.utils.SequenceEnqueuer(
sequence, use_multiprocessing=False
)
Задача Enqueuer — использовать параллелизм для ускорения предобработки. Это делается с помощью процессов или потоков.
Пример:
enqueuer = SequenceEnqueuer(...)
enqueuer.start()
datas = enqueuer.get()
for data in datas:
# Use the inputs; training, evaluating, predicting.
# ... stop sometime.
enqueuer.stop()
Должно быть бесконечным потоком данных.
Методы
get
get()
Создаёт генератор для извлечения данных из очереди.
Пропускает данные, если они None.
Возвращаемые значения
Generator yielding tuples `(inputs, targets)`
or `(inputs, targets, sample_weights)`.
is_running
is_running()
start
start(
workers=1, max_queue_size=10
)
Запускает рабочие потоки обработчика.
| Аргументы | |
|---|---|
workers | Количество рабочих потоков. |
max_queue_size | Размер очереди (если очередь полная, рабочие потоки могут заблокироваться на put()) |
stop
stop(
timeout=None
)
Останавливает работающие потоки и ожидает их завершения, если необходимо.
Должен вызываться тем же потоком, который вызвал start().
| Аргументы | |
|---|---|
timeout | Максимальное время ожидания на thread.join() |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/utils/SequenceEnqueuer