Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.tpu.replicate

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

tf.compat.v1.tpu.replicate(
    computation: Callable[..., Any],
    inputs: Optional[List[List[core_types.Tensor]]] = None,
    infeed_queue: Optional[tpu_feed.InfeedQueue] = None,
    device_assignment: Optional[tf.tpu.experimental.DeviceAssignment] = None,
    name: Optional[Text] = None,
    maximum_shapes: Optional[Any] = None,
    padding_spec: Optional[tf.compat.v1.tpu.PaddingSpec] = None,
    xla_options: Optional[tf.tpu.XLAOptions] = None
) -> List[Any]

Пример базового использования, где 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, кортеж аргументов, которые нужно добавить как входы в вычисление.
device_assignment Если не None, описание сопоставления между логическими ядрами в вычислении и физическими ядрами в топологии TPU. Использует значение по умолчанию, если None. Описание сопоставления можно опустить, если каждая реплика вычисления использует только одно ядро, и либо есть только одна реплика, либо количество реплик равно количеству ядер в системе 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.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/tpu/replicate

Spec-Zone.ru

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