Spec-Zone.ru › PyTorch 1

torch.backends

torch.backends управляет поведением различных бэкэндов, которые поддерживает PyTorch.

Эти бэкэнды включают:

  • torch.backends.cuda
  • torch.backends.cudnn
  • torch.backends.mps
  • torch.backends.mkl
  • torch.backends.mkldnn
  • torch.backends.openmp
  • torch.backends.opt_einsum
  • torch.backends.xeon

torch.backends.cuda

torch.backends.cuda.is_built() [source]

Возвращает, построена ли PyTorch с поддержкой CUDA. Обратите внимание, что это не обязательно означает, что CUDA доступна; это просто означает, что если этот двоичный файл PyTorch был запущен на машине с работающими драйверами и устройствами CUDA, мы могли бы его использовать.

torch.backends.cuda.matmul.allow_tf32

Переменная типа bool, которая управляет тем, можно ли использовать тензорные ядра TensorFloat-32 в матричных умножениях на GPU Ampere и новее. См. TensorFloat-32(TF32) на устройствах Ampere.

torch.backends.cuda.matmul.allow_fp16_reduced_precision_reduction

Переменная типа bool, которая управляет разрешением уменьшения точности с плавающей запятой (например, с типом накопления fp16) при использовании fp16 GEMM.

torch.backends.cuda.cufft_plan_cache

cufft_plan_cache кэширует планы cuFFT

size

Только для чтения int, показывающий количество планов в кэше планов cuFFT.

torch.backends.cuda.max_size

int, который управляет емкостью кэша планов cuFFT.

torch.backends.cuda.clear()

Очищает кэш планов cuFFT.

torch.backends.cuda.preferred_linalg_library(backend=None) [source]

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

Этот флаг экспериментальный и может измениться.

При выполнении PyTorch операции линейной алгебры CUDA часто использует библиотеки cuSOLVER или MAGMA, и если обе доступны, она выбирает, какую использовать, с помощью эвристики. Этот флаг (тип str) позволяет переопределить эти эвристики.

  • Если “cusolver” установлен, то cuSOLVER будет использоваться по возможности.
  • Если “magma” установлен, то MAGMA будет использоваться по возможности.
  • Если “default” (по умолчанию) установлен, то будут использоваться эвристики для выбора между cuSOLVER и MAGMA, если обе доступны.
  • При отсутствии входных данных эта функция возвращает текущую предпочитаемую библиотеку.

Примечание: когда предпочитается одна библиотека, другие библиотеки могут все еще использоваться, если предпочитаемая библиотека не реализует вызываемую(ые) операцию(и). Этот флаг может обеспечить лучшую производительность, если эвристическое определение библиотеки PyTorch неверно для входных данных вашего приложения.

В настоящее время поддерживаются следующие операторы линейной алгебры:

  • torch.linalg.inv()
  • torch.linalg.inv_ex()
  • torch.linalg.cholesky()
  • torch.linalg.cholesky_ex()
  • torch.cholesky_solve()
  • torch.cholesky_inverse()
  • torch.linalg.lu_factor()
  • torch.linalg.lu()
  • torch.linalg.lu_solve()
  • torch.linalg.qr()
  • torch.linalg.eigh()
  • torch.linalg.eighvals()
  • torch.linalg.svd()
  • torch.linalg.svdvals()
Тип возвращаемого значения:

_LinalgBackend

torch.backends.cuda.flash_sdp_enabled() [source]

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

Этот флаг экспериментальный и может измениться.

Возвращает, включен ли flash sdp или нет.

torch.backends.cuda.enable_flash_sdp(enabled) [source]

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

Этот флаг экспериментальный и может измениться.

Включает или отключает flash sdp.

torch.backends.cuda.math_sdp_enabled() [source]

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

Этот флаг экспериментальный и может измениться.

Возвращает, включен ли math sdp или нет.

torch.backends.cuda.enable_math_sdp(enabled) [source]

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

Этот флаг экспериментальный и может измениться.

Включает или отключает math sdp.

torch.backends.cuda.sdp_kernel(enable_flash=True, enable_math=True) [source]

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

Этот флаг экспериментальный и может измениться.

Этот менеджер контекста может быть использован для временного включения или отключения flash sdp и math sdp. При выходе из менеджера контекста предыдущее состояние флагов будет восстановлено.

END_OF_DOCUMENT_MARKER

torch.backends.cudnn

torch.backends.cudnn.version() [source]

Возвращает версию cuDNN

torch.backends.cudnn.is_available() [source]

Возвращает булево значение, указывающее, доступен ли в данный момент CUDNN.

torch.backends.cudnn.enabled

Переменная bool, управляющая включением cuDNN.

torch.backends.cudnn.allow_tf32

Переменная bool, управляющая тем, могут ли использоваться тензорные ядра TensorFloat-32 в операциях свёртки cuDNN на GPU Ampere или более поздних.

См. TensorFloat-32 (TF32) на устройствах Ampere.

torch.backends.cudnn.deterministic

Переменная bool, которая, если равна True, заставляет cuDNN использовать только детерминированные алгоритмы свёртки. См. также torch.are_deterministic_algorithms_enabled() и torch.use_deterministic_algorithms().

torch.backends.cudnn.benchmark

Переменная bool, которая, если равна True, заставляет cuDNN проводить бенчмаркинг нескольких алгоритмов свёртки и выбирать самый быстрый.

torch.backends.cudnn.benchmark_limit

Переменная int, которая определяет максимальное количество алгоритмов свёртки cuDNN для проверки, когда torch.backends.cudnn.benchmark равно True.

Установите benchmark_limit в ноль, чтобы проверить все доступные алгоритмы. Обратите внимание, что данная настройка влияет только на свёртки, выполняемые через API cuDNN v8.

torch.backends.mps

torch.backends.mps.is_available() [source]

Возвращает булево значение, указывающее, доступен ли в данный момент MPS.

Тип возвращаемого значения:

bool

torch.backends.mps.is_built() [source]

Возвращает значение, указывающее, поддерживает ли PyTorch MPS. Обратите внимание, что это не обязательно означает, что MPS доступен; это просто означает, что если бы этот бинарник PyTorch был запущен на машине с рабочими драйверами и устройствами MPS, мы могли бы использовать его.

Тип возвращаемого значения:

bool

torch.backends.mkl

torch.backends.mkl.is_available() [source]

Возвращает значение, указывающее, поддерживает ли PyTorch MKL.

class torch.backends.mkl.verbose(enable) [source]

Функциональность отладочной печати oneMKL по запросу. Для упрощения отладки проблем производительности oneMKL может выводить подробные сообщения, содержащие информацию об исполнении, такую как время выполнения ядра. Функциональность отладочной печати может быть вызвана через переменную среды, названную MKL_VERBOSE. Однако этот метод выводит сообщения на всех этапах. Это большое количество отладочных сообщений. Кроме того, для выявления проблем производительности, обычно достаточно получить отладочные сообщения для одного единственного итерационного шага.

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

import torch
model(data)
with torch.backends.mkl.verbose(torch.backends.mkl.VERBOSE_ON):
    model(data)
Параметры:

level – Уровень отладочной печати - VERBOSE_OFF: Выключить отладочную печать - VERBOSE_ON: Включить отладочную печать

torch.backends.mkldnn

torch.backends.mkldnn.is_available() [source]

Возвращает значение, указывающее, поддерживает ли PyTorch MKL-DNN.

class torch.backends.mkldnn.verbose(level) [source]

Функциональность отладочной печати oneDNN (прежнее название MKL-DNN) по запросу. Для упрощения отладки проблем производительности oneDNN может выводить подробные сообщения, содержащие информацию, такую как размер ядра, размер входных данных и время выполнения ядра во время выполнения ядра. Функциональность отладочной печати может быть вызвана через переменную среды, названную DNNL_VERBOSE. Однако этот метод выводит сообщения на всех этапах. Это большое количество отладочных сообщений. Кроме того, для выявления проблем производительности, обычно достаточно получить отладочные сообщения для одного единственного итерационного шага. Данная функциональность по запросу позволяет управлять областью вывода отладочных сообщений. В следующем примере отладочные сообщения будут выводиться только для второй инференции.

import torch
model(data)
with torch.backends.mkldnn.verbose(torch.backends.mkldnn.VERBOSE_ON):
    model(data)
Параметры:

level – Уровень отладочной печати - VERBOSE_OFF: Выключить отладочную печать - VERBOSE_ON: Включить отладочную печать - VERBOSE_ON_CREATION: Включить отладочную печать, включая создание одногоDNN ядра

torch.backends.openmp

torch.backends.openmp.is_available() [source]

Возвращает значение, указывающее, поддерживает ли PyTorch OpenMP.

torch.backends.opt_einsum

torch.backends.opt_einsum.is_available() [source]

Возвращает значение bool, указывающее, доступен ли в данный момент opt_einsum.

Тип возвращаемого значения:

bool

torch.backends.opt_einsum.get_opt_einsum() [source]

Возвращает пакет opt_einsum, если он доступен в данный момент, иначе None.

Тип возвращаемого значения:

Any

torch.backends.opt_einsum.enabled

Объект :class:bool, который управляет тем, включён ли opt_einsum (включён по умолчанию). В таком случае torch.einsum будет использовать opt_einsum (https://optimized-einsum.readthedocs.io/en/stable/path_finding.html), если он доступен, для вычисления оптимального пути сокращения для повышения производительности.

Если opt_einsum недоступен, torch.einsum вернётся к стандартному пути сокращения слева направо.

torch.backends.opt_einsum.strategy

Объект :class:str, который определяет, какие стратегии следует попробовать, когда torch.backends.opt_einsum.enabled True. По умолчанию torch.einsum попробует стратегию «auto», но также поддерживаются стратегии «greedy» и «optimal». Обратите внимание, что стратегия «optimal» имеет факториальную зависимость от количества входных данных, так как она перебирает все возможные пути. Дополнительные сведения см. в документации opt_einsum (https://optimized-einsum.readthedocs.io/en/stable/path_finding.html).

torch.backends.xeon

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/backends.html

Spec-Zone.ru

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