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), удаляет и возвращает пару (ключ, значение) как кортеж из двух элементов; но генерирует исключение KeyError, если D пуст.

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(), делает: для k в E: D[k] = E[k] Если E присутствует и не имеет метода .keys(), делает: для (k, v) в E: D[k] = v В любом случае, этому следуют: для k, v в 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