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