Spec-Zone.ru › PyTorch 2.14

torch.Tensor.dim_order

Tensor.dim_order(ambiguity_check=False) → tuple [source]

Возвращает однозначно определяемый кортеж целых чисел, описывающий порядок измерений или физическую раскладку self.

Порядок измерений показывает, как измерения расположены в памяти плотных тензоров: от самого внешнего до самого внутреннего измерения.

Обратите внимание, что порядок измерений не всегда можно определить однозначно. Если ambiguity_check имеет значение True, эта функция вызывает RuntimeError, когда порядок измерений нельзя определить однозначно; если ambiguity_check представляет собой список форматов памяти, эта функция вызывает RuntimeError, когда тензор нельзя интерпретировать как один из указанных форматов памяти или когда однозначно определить порядок измерений невозможно. Если ambiguity_check имеет значение False, функция возвращает один из допустимых порядков измерений, не проверяя его однозначность. В противном случае будет вызвана ошибка TypeError.

Параметры:

ambiguity_check (bool or List[torch.memory_format]) – Метод проверки неоднозначности порядка измерений.

Примеры:

>>> torch.empty((2, 3, 5, 7)).dim_order()
(0, 1, 2, 3)
>>> torch.empty((2, 3, 5, 7)).transpose(1, 2).dim_order()
(0, 2, 1, 3)
>>> torch.empty((2, 3, 5, 7), memory_format=torch.channels_last).dim_order()
(0, 2, 3, 1)
>>> torch.empty((1, 2, 3, 4)).dim_order()
(0, 1, 2, 3)
>>> try:
...     torch.empty((1, 2, 3, 4)).dim_order(ambiguity_check=True)
... except RuntimeError as e:
...     print(e)
The tensor does not have unique dim order, or cannot map to exact one of the given memory formats.
>>> torch.empty((1, 2, 3, 4)).dim_order(
...     ambiguity_check=[torch.contiguous_format, torch.channels_last]
... )  # It can be mapped to contiguous format
(0, 1, 2, 3)
>>> try:
...     torch.empty((1, 2, 3, 4)).dim_order(ambiguity_check="ILLEGAL") # type: ignore[arg-type]
... except TypeError as e:
...     print(e)
The ambiguity_check argument must be a bool or a list of memory formats.

Предупреждение

API dim_order для тензоров является экспериментальным и может измениться.

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.Tensor.dim_order.html

Spec-Zone.ru

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