Spec-Zone.ru › TensorFlow 2.9

tf.experimental.dtensor.Mesh

Представляет конфигурацию Mesh над определённым списком измерений Mesh.

tf.experimental.dtensor.Mesh(
    dim_names: List[str],
    global_device_ids: np.ndarray,
    local_device_ids: List[int],
    local_devices: List[tf.compat.v1.DeviceSpec],
    mesh_name: str = '',
    global_devices: Optional[List[tf_device.DeviceSpec]] = None
)

Массив состоит из именованных измерений с размерами, которые описывают, как набор устройств расположен. Определение раскладов тензоров в терминах измерений массива позволяет нам эффективно определять коммуникацию, необходимую при вычислении операции с тензорами разных раскладов.

Массив предоставляет информацию не только о размещении тензоров, но и о топологии подлежащих устройств. Например, мы можем сгруппировать 8 TPU в 1-мерный массив для параллелизма данных или в 2x4 сетку для (двухстороннего) параллелизма данных и (четырёхстороннего) параллелизма модели.

Примечание: утилиты dtensor.create_mesh и dtensor.create_distributed_mesh предоставляют более простой API для создания массивов для одно- или многоклиентских случаев.
Аргументы
dim_names Список строк, указывающих имена измерений.
global_device_ids Массив ndarray глобальных идентификаторов устройств используется для составления DeviceSpecs, описывающих массив. Форма этого массива определяет размер каждого измерения массива. Значения в этом массиве должны последовательно увеличиваться от 0. Этот аргумент одинаков для каждого клиента DTensor.
local_device_ids Список локальных идентификаторов устройств, равный подмножеству значений в global_device_ids. Они указывают положение локальных устройств в глобальном массиве. Разные клиенты DTensor должны содержать различные локальные идентификаторы устройств. Все local_device_ids от всех клиентов DTensor должны покрывать каждый элемент в global_device_ids.
local_devices Список устройств, размещённых локально. Элементы соответствуют 1:1 элементам local_device_ids.
mesh_name Имя массива. В настоящее время это редко используется и в основном используется для указания, является ли это массив на основе CPU, GPU или TPU. global_devices (необязательно): Список глобальных устройств. Устанавливается при использовании нескольких массивов устройств.
Атрибуты
dim_names
name
size

Методы

as_proto

Просмотреть исходный код

as_proto() -> layout_pb2.MeshProto

Возвращает протобуфер массива.

contains_dim

Просмотреть исходный код

contains_dim(
    dim_name: str
) -> bool

Возвращает True, если Mesh содержит заданное имя измерения.

device_type

Просмотреть исходный код

device_type() -> str

Возвращает тип устройства Mesh.

dim_size

Просмотреть исходный код

dim_size(
    dim_name: str
) -> int

Возвращает размер измерения.

from_proto

Просмотреть исходный код

@staticmethod
from_proto(
    proto: layout_pb2.MeshProto
) -> 'Mesh'

Создаёт экземпляр массива из входного proto.

from_string

Просмотреть исходный код

@staticmethod
from_string(
    mesh_str: str
) -> 'Mesh'

Создаёт экземпляр массива из входного proto.

host_mesh

Просмотреть исходный код

host_mesh()

Возвращает сопоставленный 1:1 хост-массив.

is_remote

Просмотреть исходный код

is_remote() -> bool

Возвращает True, если Mesh содержит только удалённые устройства.

local_device_ids

Просмотреть исходный код

local_device_ids() -> List[int]

Возвращает список локальных идентификаторов устройств.

local_device_locations

Просмотреть исходный код

local_device_locations() -> List[Dict[str, int]]

Возвращает список локаций локальных устройств.

Расположение устройства — это словарь из имён измерений и индексов на этих измерениях.

local_devices

Просмотреть исходный код

local_devices() -> List[str]

Возвращает список локальных спецификаций устройств, представленных в виде строк.

min_global_device_id

Просмотреть исходный код

min_global_device_id() -> int

Возвращает минимальный глобальный идентификатор устройства.

num_local_devices

Просмотреть исходный код

num_local_devices() -> int

Возвращает количество локальных устройств.

shape

Просмотреть исходный код

shape() -> List[int]

Возвращает форму массива.

to_string

Просмотреть исходный код

to_string() -> str

Возвращает строковое представление массива Mesh.

unravel_index

Просмотреть исходный код

unravel_index()

Возвращает словарь из идентификатора устройства в {имя_измерения: индекс_измерения}.

Например, для массива 3x2, возвращает это:

{ 0: {'x': 0, 'y', 0},
  1: {'x': 0, 'y', 1},
  2: {'x': 1, 'y', 0},
  3: {'x': 1, 'y', 1},
  4: {'x': 2, 'y', 0},
  5: {'x': 2, 'y', 1} }

__contains__

Просмотреть исходный код

__contains__(
    dim_name: str
) -> bool

__eq__

Просмотреть исходный код

__eq__(
    other
)

Возвращает self==value.

__getitem__

Просмотреть исходный код

__getitem__(
    dim_name: str
) -> MeshDimension

© 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/experimental/dtensor/Mesh

Spec-Zone.ru

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