tf.keras.dtensor.experimental.LayoutMap
Объект, похожий на словарь, который сопоставляет строки с экземплярами Layout.
tf.keras.dtensor.experimental.LayoutMap(
mesh=None
)
LayoutMap использует строку в качестве ключа и Layout в качестве значения. Существует различие в поведении между обычным словарем Python и этим классом. Строковый ключ будет обрабатываться как регулярное выражение при извлечении значения. Подробнее см. строку документации для get.
Ниже приведен пример использования. Вы можете определить схему именования Layout, а затем извлечь соответствующий экземпляр Layout.
Чтобы использовать LayoutMap с Model, см. строку документации tf.keras.dtensor.experimental.layout_map_scope.
map = LayoutMap(mesh=None) map['.*dense.*kernel'] = layout_2d map['.*dense.*bias'] = layout_1d map['.*conv2d.*kernel'] = layout_4d map['.*conv2d.*bias'] = layout_1d layout_1 = map['dense_1.kernel'] # layout_1 == layout_2d layout_2 = map['dense_1.bias'] # layout_2 == layout_1d layout_3 = map['dense_2.kernel'] # layout_3 == layout_2d layout_4 = map['dense_2.bias'] # layout_4 == layout_1d layout_5 = map['my_model/conv2d_123/kernel'] # layout_5 == layout_4d layout_6 = map['my_model/conv2d_123/bias'] # layout_6 == layout_1d
| Аргументы | |
|---|---|
mesh | Необязательный Mesh, который можно использовать для создания всех дублируемых макетов по умолчанию, когда макет не найден на основе запроса по строке. |
Методы
clear
clear()
D.clear() -> None. Удаляет все элементы из D.
get
get(
key, default=None
)
Извлекает соответствующий макет по строковому ключу.
Если точного совпадения нет, все существующие ключи в карте макетов будут обрабатываться как регулярные выражения и сопоставляться с входным ключом повторно. Первое совпадение будет возвращено в соответствии с порядком вставки ключей. Возвращает None, если совпадение не найдено.
| Аргументы | |
|---|---|
key | строковый ключ в качестве запроса для макета. |
| Возвращаемое значение | |
|---|---|
| Соответствующий макет на основе запроса. |
get_default_mesh
get_default_mesh()
Возвращает установленный по умолчанию Mesh при создании экземпляра.
Mesh можно использовать для создания по умолчанию дублированных Layout при отсутствии совпадения входного строкового запроса.
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-кортежа; но вызывает KeyError, если D пусто.
setdefault
setdefault(
key, default=None
)
D.setdefault(k[,d]) -> D.get(k,d), также устанавливает D[k]=d, если k не в D
update
update(
*args, **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
)
Извлекает соответствующий макет по строковому ключу.
Если точного совпадения нет, все существующие ключи в карте макетов будут обрабатываться как регулярные выражения и сопоставляться с входным ключом повторно. Первое совпадение будет возвращено в соответствии с порядком вставки ключей. Возвращает 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/versions/r2.9/api_docs/python/tf/keras/dtensor/experimental/LayoutMap