tf.tpu.batch_parallel
Разделение computation по размеру пакет для параллельного выполнения.
tf.tpu.batch_parallel(
computation, inputs=None, num_shards=1, infeed_queue=None,
device_assignment=None, name=None
)
Обёртка для удобства работы с shard().
inputs должна быть списком тензоров или None (эквивалентно пустому списку). Каждый вход разделяется на num_shards части по 0-му измерению, и вычисление применяется к каждому фрагменту параллельно.
Тензоры транслируются на все фрагменты, если они лексически захвачены computation. Например:
x = tf.constant(7) def computation(): return x + 3 ... = shard(computation, ...)
Выходы со всех фрагментов конкатенируются обратно по их 0-му измерению.
Входы и выходы вычисления должны быть тензорами с рангом не менее 1.
| Аргументы | |
|---|---|
computation | Функция Python, которая строит вычисление, применяемое к каждому фрагменту входных данных. |
inputs | Список входных тензоров или None (эквивалентно пустому списку). 0-е измерение каждого тензора должно быть кратно num_shards. |
num_shards | Количество фрагментов. |
infeed_queue | Если не None, кортеж аргументов, которые нужно добавить в качестве входов в computation. |
device_assignment | Если не None, описание соответствия между логическими ядрами в вычислении и физическими ядрами в топологии TPU. Используется значение по умолчанию, если None. Описание соответствия можно опустить, если каждый фрагмент вычисления использует только одно ядро, и либо фрагментов только один, либо количество фрагментов равно количеству ядер в системе TPU. |
name | (Устарело) Ничего не делает. |
| Возвращаемые значения | |
|---|---|
| Список выходных тензоров. |
| Исключения | |
|---|---|
ValueError | Если num_shards <= 0 |
© 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/tpu/batch_parallel