tf.experimental.dtensor.relayout
Изменяет расположение tensor.
tf.experimental.dtensor.relayout(
tensor: tf.Tensor,
layout: tf.experimental.dtensor.Layout,
name: Optional[str] = None
) -> tf.Tensor
Используется в блокнотах
| Используется в руководстве |
|---|
Изменяет расположение tensor на layout. Это используется для настройки поведения операций, следующих за/связанных с tensor, например, для выбора одного шаблона расширения SPMD по сравнению с другим. Это работает путём прямого распространения layout в подключенные вычислительные графы TensorFlow во время распространения расположения.
В настоящее время поддерживается только преобразование расположений из реплицированных в фрагментированные или из фрагментированных в реплицированные по каждой размерности сетки. То есть, поддерживается "x, y" -> "нефрагментированное, y", в то время как "x, y" -> "z, y" не поддерживается.
Мы также поддерживаем специальный фрагментированный спектр "match", который указывает relayout действовать как тождественная операция по отношению к любому фрагментированию в этих размерностях сетки.
Relayout внутренне понижается до набора операций Split и/или AllToAll. При преобразовании расположений тензоров из реплицированных во фрагментированные затраты сравнительно низкие, так как мы вставляем только операции Split и не требуется межпроцессорная коммуникация. Однако, при преобразовании расположений тензоров из фрагментированных в реплицированные может произойти межпроцессорная коммуникация, что может повлиять на производительность.
| Args | |
|---|---|
tensor | DTensor для указания нового расположения. |
layout | Объект Layout, определяющий новый спектр фрагментирования. |
name | Имя операции. |
| Returns | |
|---|---|
| Результат DTensor от операции Relayout. |
© 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/api_docs/python/tf/experimental/dtensor/relayout