Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.tpu.replicate

Создаёт оператор графа, который выполняет реплицированное вычисление TPU.

tf.compat.v1.tpu.replicate(
    computation, inputs=None, infeed_queue=None, device_assignment=None, name=None,
    maximum_shapes=None, padding_spec=None, xla_options=None
)

Пример базового использования, в котором inputs имеет статическую форму:

def computation(x):
  x = x + 1
  return tf.math.reduce_mean(x)

x = tf.convert_to_tensor([1., 2., 3.])
y = tf.convert_to_tensor([4., 5., 6.])
tf.compat.v1.tpu.replicate(computation, inputs=[[x], [y]])

Если inputs имеет динамические формы, и вы хотите автоматически группировать входные данные для избежания перекомпиляции XLA. См. пример ниже:

def computation(x):
  x = x + 1
  return tf.math.reduce_mean(x)

# Assume input tensors in two replicas `x` and `y` both have dynamic shape
# ([None, 2]).
tf.compat.v1.tpu.replicate(
  computation,
  inputs=[x, y],
  maximum_shapes=[tf.TensorShape([None, None])],
  padding_spec=tf.compat.v1.tpu.PaddingSpec.POWER_OF_TWO)
Аргументы
computation Функция Python, которая создаёт вычисление для репликации.
inputs Список списков входных тензоров или None (эквивалентно [[]]), индексированные по [replica_num][input_num]. Все реплики должны иметь одинаковое количество входных данных. Каждый вход может быть вложенной структурой, содержащей значения, преобразуемые в тензоры. Обратите внимание, что передача списка N-мерных совместимых значений приведёт к списку N-мерных скалярных тензоров, а не к одному тензору ранга N. Если вам нужно другое поведение, преобразуйте часть входных данных в тензоры с помощью tf.convert_to_tensor.
infeed_queue Если не None, то InfeedQueue , из которого нужно добавить кортеж аргументов в качестве входных данных для вычисления.
device_assignment Если не None, то DeviceAssignment , описывающий соответствие между логическими ядрами в вычислении и физическими ядрами в топологии TPU. Используется по умолчанию назначение устройств, если None. DeviceAssignment может быть опущено, если каждая реплика вычисления использует только одно ядро, и либо есть только одна реплика, либо количество реплик равно количеству ядер в системе TPU.
name (Устарело) Не делает ничего.
maximum_shapes Вложенная структура tf.TensorShape, представляющая форму, к которой должна быть дополнена соответствующая компонента каждого элемента входных данных в каждой реплике. Любые неизвестные размерности (например, tf.compat.v1.Dimension(None) в tf.TensorShape или -1 в объекте типа тензора) будут дополнены до максимального размера этой размерности по всем репликам. Структура maximum_shapes должна быть такой же, как inputs[0].
padding_spec Перечисление, указанное в tpu.PaddingSpec. Это описывает политику заполнения, когда inputs до tpu.replicate является динамической. Одним из способов использования является включение автоматической группировки входных данных, установив значение в tpu.PaddingSpec.POWER_OF_TWO, что может помочь уменьшить перекомпиляцию со стороны XLA.
xla_options Экземпляр tpu.XLAOptions, указывающий на параметры, передаваемые компилятору XLA. Используйте None для параметров по умолчанию.
Возвращает
Список выходных данных, индексированных по [replica_num] . Каждый выход может быть вложенной структурой, такой же, как и возвращаемое значение computation(), за исключением нескольких случаев.

Исключения включают:

1) Выход None: будет возвращён NoOp, который зависим от вычисления. 2) Выход с одним значением: возвращается кортеж, содержащий значение. 3) Выходы только операций: будет возвращён NoOp, который зависим от вычисления.

Исключения
ValueError Если все реплики не имеют одинакового количества входных тензоров.
ValueError Если количество входных данных на реплику не соответствует количеству формальных параметров computation.
ValueError Если статические inputs размерности не совпадают со значениями, заданными в maximum_shapes.
ValueError Если структура входных данных на реплику не соответствует структуре maximum_shapes.

© 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.4/api_docs/python/tf/compat/v1/tpu/replicate

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API