Spec-Zone.ru › TensorFlow

tf.keras.distribution.LayoutMap

Объект, подобный словарю, который сопоставляет строки с экземплярами TensorLayout.

tf.keras.distribution.LayoutMap(
    device_mesh=None
)

LayoutMap использует строку в качестве ключа, а TensorLayout — в качестве значения. Этот класс отличается по поведению от обычного словаря Python. При получении значения строковый ключ рассматривается как регулярное выражение. Подробнее см. в строке документации get.

Пример использования приведен ниже. Можно определить схему именования TensorLayout, а затем получить соответствующий экземпляр TensorLayout.

В обычном случае ключом для поиска, как правило, является variable.path — идентификатор переменной.

Для краткости при добавлении в качестве значения также можно использовать кортеж или список имен осей; они будут преобразованы в TensorLayout.

layout_map = LayoutMap(device_mesh=None)
layout_map['dense.*kernel'] = (None, 'model')         # layout_2d
layout_map['dense.*bias'] = ('model',)                # layout_1d
layout_map['conv2d.*kernel'] = TensorLayout((None, None, None, 'model'))
layout_map['conv2d.*bias'] = TensorLayout(('model',))  # layout_1d

layout_1 = layout_map['dense_1.kernel']             # layout_1 == layout_2d
layout_2 = layout_map['dense_1.bias']               # layout_2 == layout_1d
layout_3 = layout_map['dense_2.kernel']             # layout_3 == layout_2d
layout_4 = layout_map['dense_2.bias']               # layout_4 == layout_1d
layout_5 = layout_map['my_model/conv2d_123/kernel'] # layout_5 == layout_4d
layout_6 = layout_map['my_model/conv2d_123/bias']   # layout_6 == layout_1d
layout_7 = layout_map['my_model/conv3d_1/kernel']   # layout_7 == None
layout_8 = layout_map['my_model/conv3d_1/bias']     # layout_8 == None
Аргументы
device_mesh Необязательный объект DeviceMesh, который можно использовать для заполнения TensorLayout.device_mesh, если TensorLayout.device_mesh не задан.
Атрибуты
device_mesh

Методы

clear

clear()

D.clear() -> None. Удаляет все элементы из D.

get

get(
    key, default=None
)

Получает соответствующий макет по строковому ключу.

Если точного совпадения нет, все существующие ключи карты макетов рассматриваются как регулярные выражения и повторно сопоставляются с входным ключом. Если для регулярного выражения найдено несколько совпадений, будет вызвано исключение ValueError. Возвращает None, если совпадений не найдено.

Аргументы
key Строковый ключ для поиска макета.
Возвращает
Соответствующий запросу макет.

items

items()

D.items() -> объект, подобный множеству, предоставляющий представление элементов D

keys

keys()

D.keys() -> объект, подобный множеству, предоставляющий представление ключей D

pop

pop(
    key, default=__marker
)

D.pop(k[,d]) -> v, удаляет указанный ключ и возвращает соответствующее значение. Если ключ не найден, возвращается d, если оно задано; в противном случае вызывается KeyError.

popitem

popitem()

D.popitem() -> (k, v), удаляет и возвращает некоторую пару (ключ, значение) в виде 2-кортежа; если D пуст, вызывает KeyError.

setdefault

setdefault(
    key, default=None
)

D.setdefault(k[,d]) -> D.get(k,d), также устанавливает D[k]=d, если k отсутствует в D

update

update(
    other, /, **kwds
)

D.update([E, ]**F) -> None. Обновляет D данными из отображения/итерируемого объекта E и F. Если E задан и имеет метод .keys(), выполняется: for k in E: D[k] = E[k] Если E задан, но не имеет метода .keys(), выполняется: for (k, v) in E: D[k] = v В обоих случаях затем выполняется: for k, v in F.items(): D[k] = v

values

values()

D.values() -> объект, предоставляющий представление значений D

__contains__

__contains__(
    key
)

__eq__

__eq__(
    other
)

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

__getitem__

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

__getitem__(
    key
)

Получает соответствующий макет по строковому ключу.

Если точного совпадения нет, все существующие ключи карты макетов рассматриваются как регулярные выражения и повторно сопоставляются с входным ключом. Если для регулярного выражения найдено несколько совпадений, будет вызвано исключение ValueError. Возвращает None, если совпадений не найдено.

Аргументы
key Строковый ключ для поиска макета.
Возвращает
Соответствующий запросу макет.

__iter__

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

__iter__()

__len__

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

__len__()

© 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/keras/distribution/LayoutMap

Spec-Zone.ru

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