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.close()
enqueuer.get() должен быть бесконечным потоком данных.
Методы
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/r1.15/api_docs/python/tf/keras/utils/SequenceEnqueuer