Spec-Zone.ru › PyTorch 2.14

torch

Создано: 23 декабря 2016 г. | Последнее обновление: 11 июля 2026 г.

Пакет torch содержит структуры данных для многомерных тензоров и определяет математические операции над этими тензорами. Кроме того, он предоставляет множество средств для эффективной сериализации тензоров и произвольных типов, а также другие полезные утилиты.

Для него существует версия CUDA, позволяющая выполнять вычисления с тензорами на графическом процессоре NVIDIA с вычислительными возможностями >= 3.0.

Тензоры

is_tensor

Возвращает True, если obj является тензором PyTorch.

is_storage

Возвращает True, если obj является объектом хранения PyTorch.

is_complex

Возвращает True, если тип данных input является комплексным, то есть одним из torch.complex64 и torch.complex128.

is_conj

Возвращает True, если input является сопряжённым тензором, то есть его бит сопряжения установлен в True.

is_floating_point

Возвращает True, если тип данных input является типом с плавающей точкой, то есть одним из torch.float64, torch.float32, torch.float16 и torch.bfloat16.

is_inference

Возвращает True, если input является инференсным тензором.

is_neg
is_nonzero

Возвращает True, если input является одноэлементным тензором, не равным нулю после преобразования типов.

is_same_size
is_signed
set_default_dtype

Устанавливает тип данных с плавающей точкой по умолчанию: d.

get_default_dtype

Возвращает текущий тип данных с плавающей точкой по умолчанию torch.dtype.

set_default_device

Устанавливает torch.Tensor, на котором по умолчанию будет выделяться память: device.

get_default_device

Возвращает torch.Tensor, на котором по умолчанию будет выделяться память: device

set_default_tensor_type
numel

Возвращает общее количество элементов в тензоре input.

set_printoptions

Задаёт параметры вывода.

set_flush_denormal

Отключает денормализованные числа с плавающей точкой на CPU.

Операции создания

Примечание

Операции создания со случайной выборкой перечислены в разделе Случайная выборка и включают: torch.rand() torch.rand_like() torch.randn() torch.randn_like() torch.randint() torch.randint_like() torch.randperm() Можно также использовать torch.empty() вместе с методами случайной выборки на месте для создания torch.Tensor со значениями, выбранными из более широкого диапазона распределений.

tensor

Создаёт тензор без истории autograd (также называемый «листовым тензором», см. раздел Механика Autograd), копируя data.

sparse_coo_tensor

Создаёт разреженный тензор в формате COO (координатный формат) с заданными значениями по указанным indices.

sparse_csr_tensor

Создаёт разреженный тензор в формате CSR (сжатые разреженные строки) с заданными значениями по указанным crow_indices и col_indices.

sparse_csc_tensor

Создаёт разреженный тензор в формате CSC (сжатые разреженные столбцы) с заданными значениями по указанным ccol_indices и row_indices.

sparse_bsr_tensor

Создаёт разреженный тензор в формате BSR (сжатые разреженные строки блоков)) с заданными двумерными блоками по указанным crow_indices и col_indices.

sparse_bsc_tensor

Создаёт разреженный тензор в формате BSC (сжатые разреженные столбцы блоков)) с заданными двумерными блоками по указанным ccol_indices и row_indices.

asarray

Преобразует obj в тензор.

as_tensor

Преобразует data в тензор, по возможности совместно используя данные и сохраняя историю autograd.

as_strided

Создаёт представление существующего torch.Tensor input с заданными size, stride и storage_offset.

from_file

Создаёт тензор на CPU, хранилище которого основано на файле, отображённом в память.

from_numpy

Создаёт Tensor из numpy.ndarray.

from_dlpack

Преобразует тензор из внешней библиотеки в torch.Tensor.

frombuffer

Создаёт одномерный Tensor из объекта, реализующего протокол буфера Python.

zeros

Возвращает тензор, заполненный скалярным значением 0, с формой, заданной аргументом переменной длины size.

zeros_like

Возвращает тензор, заполненный скалярным значением 0, того же размера, что и input.

ones

Возвращает тензор, заполненный скалярным значением 1, с формой, заданной аргументом переменной длины size.

ones_like

Возвращает тензор, заполненный скалярным значением 1, того же размера, что и input.

arange

Возвращает одномерный тензор размера ⌈end−startstep⌉\left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil со значениями из интервала [start, end) с постоянной разностью step, начиная с start.

range

Возвращает одномерный тензор размера ⌊end−startstep⌋+1\left\lfloor \frac{\text{end} - \text{start}}{\text{step}} \right\rfloor + 1 со значениями от start до end с шагом step.

linspace

Создаёт одномерный тензор размера steps, значения которого равномерно распределены от start до end включительно.

logspace

Создаёт одномерный тензор размера steps, значения которого равномерно распределены от basestart{{\text{{base}}}}^{{\text{{start}}}} до baseend{{\text{{base}}}}^{{\text{{end}}}} включительно, в логарифмическом масштабе с основанием base.

eye

Возвращает двумерный тензор с единицами на диагонали и нулями в остальных позициях.

empty

Возвращает тензор, заполненный неинициализированными данными.

empty_like

Возвращает неинициализированный тензор того же размера, что и input.

empty_permuted

Создаёт неинициализированный плотный тензор без перекрытий с заданной size, где physical_layout задаёт физическое расположение измерений в памяти (каждое логическое измерение перечисляется от внешнего к внутреннему).

empty_quantized
empty_strided

Создаёт тензор с заданными size и stride, заполненный неопределёнными данными.

full

Создаёт тензор размера size, заполненный значением fill_value.

full_like

Возвращает тензор того же размера, что и input, заполненный значением fill_value.

quantize_per_tensor

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

quantize_per_tensor_dynamic

Преобразует тензор с числами с плавающей точкой в квантованный тензор, масштаб и zero_point которого динамически вычисляются на основе входных данных.

quantize_per_channel

Преобразует тензор с числами с плавающей точкой в поканально квантованный тензор с заданными масштабами и нулевыми точками.

dequantize

Возвращает тензор fp32, выполняя деквантование квантованного тензора.

complex

Создаёт комплексный тензор, действительная часть которого равна real, а мнимая часть — imag.

polar

Создаёт комплексный тензор, элементы которого являются декартовыми координатами, соответствующими полярным координатам с модулем abs и углом angle.

scalar_tensor
heaviside

Вычисляет ступенчатую функцию Хевисайда для каждого элемента input.

Индексация, срезы, объединение и изменение

adjoint

Возвращает представление тензора с комплексным сопряжением и транспонированными двумя последними измерениями.

alias_copy

Выполняет ту же операцию, что и torch.alias(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

argwhere

Возвращает тензор, содержащий индексы всех ненулевых элементов input.

as_strided_copy

Выполняет ту же операцию, что и torch.as_strided(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

as_strided_scatter

Встраивает значения тензора src в input в элементы, соответствующие результату вызова input.as_strided(size, stride, storage_offset).

cat

Объединяет заданную последовательность тензоров в tensors по указанному измерению.

ccol_indices_copy
col_indices_copy

Выполняет ту же операцию, что и torch.col_indices(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

concat

Псевдоним torch.cat().

concatenate

Псевдоним torch.cat().

conj

Возвращает представление input с инвертированным битом комплексного сопряжения.

chunk

Пытается разделить тензор на указанное количество частей.

crow_indices_copy

Выполняет ту же операцию, что и torch.crow_indices(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

detach
detach_copy

Выполняет ту же операцию, что и torch.detach(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

diagonal_copy

Выполняет ту же операцию, что и torch.diagonal(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

dsplit

Разбивает input — тензор с тремя или более измерениями — на несколько тензоров по глубине в соответствии с indices_or_sections.

column_stack

Создаёт новый тензор, горизонтально объединяя тензоры из tensors.

dstack

Объединяет тензоры последовательности по глубине (вдоль третьей оси).

expand_copy

Выполняет ту же операцию, что и torch.Tensor.expand(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

fill
gather

Собирает значения вдоль оси, указанной в dim.

hsplit

Разбивает input — тензор с одним или несколькими измерениями — на несколько тензоров по горизонтали в соответствии с indices_or_sections.

hstack

Объединяет тензоры последовательности по горизонтали (по столбцам).

index_add

Описание функции см. в index_add_().

index_copy

Описание функции см. в index_copy_().

index_put_
index_reduce

Описание функции см. в index_reduce_().

index_select

Возвращает новый тензор, индексирующий тензор input по измерению dim с использованием элементов из index.

indices_copy

Выполняет ту же операцию, что и torch.indices(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

masked_fill
masked_select

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

movedim

Перемещает измерения input из позиций source в позиции destination.

moveaxis

Псевдоним для torch.movedim().

narrow

Возвращает новый тензор, представляющий собой суженную версию тензора input.

narrow_copy

То же, что и Tensor.narrow(), но возвращает копию, а не данные в общей области памяти.

nonzero
nonzero_static

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

permute

Возвращает представление исходного тензора input с переставленными измерениями.

permute_copy

Выполняет ту же операцию, что и torch.permute(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

put
reshape

Возвращает тензор с теми же данными и количеством элементов, что и input, но с указанной формой.

row_indices_copy
row_stack

Псевдоним torch.vstack().

select

Извлекает срез тензора input вдоль выбранного измерения по заданному индексу.

select_copy

Выполняет ту же операцию, что и torch.select(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

scatter

Версия torch.Tensor.scatter_(), не изменяющая входной тензор.

diagonal_scatter

Встраивает значения тензора src в input вдоль диагональных элементов input относительно dim1 и dim2.

select_scatter

Встраивает значения тензора src в input по заданному индексу.

slice_copy

Выполняет ту же операцию, что и torch.slice(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

slice_inverse
slice_scatter

Встраивает значения тензора src в input по заданному измерению.

scatter_add

Версия torch.Tensor.scatter_add_(), не изменяющая входной тензор.

scatter_reduce

Версия torch.Tensor.scatter_reduce_(), не изменяющая входной тензор.

segment_reduce

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

split

Разбивает тензор на части.

split_copy

Выполняет ту же операцию, что и torch.split(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

split_with_sizes_copy

Выполняет ту же операцию, что и torch.split_with_sizes(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

squeeze

Возвращает тензор, из которого удалены все указанные измерения input размера 1.

squeeze_copy

Выполняет ту же операцию, что и torch.squeeze(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

stack

Объединяет последовательность тензоров вдоль нового измерения.

swapaxes

Псевдоним для torch.transpose().

swapdims

Псевдоним для torch.transpose().

t

Ожидает, что input — это тензор размерности не более 2 и транспонирует измерения 0 и 1.

t_copy

Выполняет ту же операцию, что и torch.t(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

take

Возвращает новый тензор с элементами input по заданным индексам.

take_along_dim

Выбирает значения из input по одномерным индексам из indices вдоль заданного dim.

tensor_split

Разбивает тензор на несколько подтензоров, каждый из которых является представлением input, вдоль измерения dim в соответствии с индексами или количеством частей, заданными в indices_or_sections.

tile

Создаёт тензор, повторяя элементы input.

transpose

Возвращает тензор, являющийся транспонированной версией input.

transpose_copy

Выполняет ту же операцию, что и torch.transpose(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

unbind

Удаляет измерение тензора.

unbind_copy

Выполняет ту же операцию, что и torch.unbind(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

unfold_copy

Выполняет ту же операцию, что и torch.unfold(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

unravel_index

Преобразует тензор линейных индексов в кортеж тензоров координат, индексирующих произвольный тензор заданной формы.

unsqueeze

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

unsqueeze_copy

Выполняет ту же операцию, что и torch.unsqueeze(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

values_copy

Выполняет ту же операцию, что и torch.values(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

view_as_complex_copy

Выполняет ту же операцию, что и torch.view_as_complex(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

view_as_real_copy

Выполняет ту же операцию, что и torch.view_as_real(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

view_copy

Выполняет ту же операцию, что и torch.view(), но все выходные тензоры создаются заново, а не являются псевдонимами входных данных.

vsplit

Разбивает input — тензор с двумя или более измерениями — на несколько тензоров по вертикали в соответствии с indices_or_sections.

vstack

Объединяет тензоры последовательности по вертикали (по строкам).

where

Возвращает тензор, содержащий элементы, выбранные из input или other в зависимости от condition.

Ускорители

В репозитории PyTorch под «ускорителем» понимается torch.device, используемое вместе с CPU для ускорения вычислений. Эти устройства используют схему асинхронного выполнения, а для синхронизации главным образом применяют torch.Stream и torch.Event. Также предполагается, что на одном узле одновременно может быть доступен только один такой ускоритель. Это позволяет использовать текущий ускоритель в качестве устройства по умолчанию для соответствующих понятий, таких как закреплённая память, device_type потока, FSDP и т. д.

На данный момент к устройствам-ускорителям относятся (в произвольном порядке) «CUDA», «MTIA», «XPU», «MPS», «HPU» и PrivateUse1 (многие устройства, отсутствующие в самом репозитории PyTorch).

Многие инструменты экосистемы PyTorch используют fork для создания дочерних процессов (например, для загрузки данных или параллелизма внутри операций), поэтому важно как можно дольше откладывать любые операции, препятствующие последующему созданию процессов. Это особенно важно в данном случае, поскольку инициализация большинства ускорителей приводит к такому эффекту. На практике следует помнить, что по умолчанию проверка torch.accelerator.current_accelerator() выполняется во время компиляции и поэтому всегда безопасна для fork. Напротив, передача флага check_available=True этой функции или вызов torch.accelerator.is_available() обычно препятствуют последующему созданию процессов.

Некоторые бэкенды предоставляют экспериментальную опцию, позволяющую сделать проверку доступности во время выполнения безопасной для fork. Например, при использовании устройства CUDA можно использовать PYTORCH_NVML_BASED_CUDA_CHECK=1.

Stream

Очередь выполнения соответствующих задач асинхронно, в порядке «первым поступил — первым обслужен» (FIFO).

Event

Запрашивает и записывает состояние потока, чтобы выявлять зависимости между потоками, управлять ими и измерять время выполнения.

Генераторы

Generator

Случайная выборка

seed

Устанавливает начальное значение для генерации случайных чисел в недетерминированное случайное число на всех устройствах.

manual_seed

Устанавливает начальное значение для генерации случайных чисел на всех устройствах.

initial_seed

Возвращает начальное значение для генерации случайных чисел в виде объекта Python long.

get_rng_state

Возвращает состояние генератора случайных чисел в виде torch.ByteTensor.

set_rng_state

Устанавливает состояние генератора случайных чисел.

torch.default_generator Returns the default CPU torch.Generator
bernoulli

Выбирает двоичные случайные числа (0 или 1) из распределения Бернулли.

multinomial

Возвращает тензор, в каждой строке которого содержатся num_samples индексов, выбранных из мультиномиального распределения (более строгое определение — многомерное; подробности см. в torch.distributions.multinomial.Multinomial), заданного соответствующей строкой тензора input.

normal

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

poisson

Возвращает тензор того же размера, что и input, каждый элемент которого выбран из распределения Пуассона с параметром интенсивности, заданным соответствующим элементом input, то есть

rand

Возвращает тензор, заполненный случайными числами из равномерного распределения на интервале [0,1)[0, 1)

rand_like

Возвращает тензор того же размера, что и input, заполненный случайными числами из равномерного распределения на интервале [0,1)[0, 1).

randint

Возвращает тензор, заполненный случайными целыми числами, равномерно распределёнными между low (включительно) и high (не включая).

randint_like

Возвращает тензор той же формы, что и тензор input, заполненный случайными целыми числами, равномерно распределёнными между low (включительно) и high (не включая).

randn

Возвращает тензор, заполненный случайными числами из нормального распределения со средним значением 0 и дисперсией 1 (также называемого стандартным нормальным распределением).

randn_like

Возвращает тензор того же размера, что и input, заполненный случайными числами из нормального распределения со средним значением 0 и дисперсией 1.

randperm

Возвращает случайную перестановку целых чисел от 0 до n - 1.

Случайная выборка на месте

Для тензоров также определено несколько дополнительных функций случайной выборки на месте. Перейдите по ссылкам, чтобы ознакомиться с документацией:

  • torch.Tensor.bernoulli_() — версия torch.bernoulli(), выполняющая операцию на месте
  • torch.Tensor.cauchy_() — числа, выбранные из распределения Коши
  • torch.Tensor.exponential_() — числа, выбранные из экспоненциального распределения
  • torch.Tensor.geometric_() — элементы, выбранные из геометрического распределения
  • torch.Tensor.log_normal_() — выборки из логнормального распределения
  • torch.Tensor.normal_() — версия torch.normal(), выполняющая операцию на месте
  • torch.Tensor.random_() — числа, выбранные из дискретного равномерного распределения
  • torch.Tensor.uniform_() — числа, выбранные из непрерывного равномерного распределения

Квазислучайная выборка

quasirandom.SobolEngine

torch.quasirandom.SobolEngine — это механизм для генерации (перемешанных) последовательностей Соболя.

Сериализация

save

Сохраняет объект в файл на диске.

load

Загружает из файла объект, сохранённый с помощью torch.save().

torch.serialization.check_module_version_greater_or_equal(module, req_version_tuple, error_if_malformed=True) [исходный код]

Проверяет, соответствует ли версия модуля требованиям

Обычно строка версии модуля имеет вид «x.y.z» и представляется кортежем (x, y, z), но иногда её формат может быть неожиданным. Если строка версии не соответствует формату заданного кортежа по всей его длине, функция выдаёт ошибку и завершает работу либо выводит предупреждение.

Параметры:
  • module — модуль, версию которого нужно проверить
  • req_version_tuple — кортеж (обычно из целых чисел), представляющий требуемую версию
  • error_if_malformed — следует ли завершить работу, если строка версии модуля имеет некорректный формат
Возвращает:

bool

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

requirement_is_met

torch.serialization.default_restore_location(storage, location) [исходный код]

Восстанавливает storage с помощью функции десериализации, зарегистрированной для location.

Эта функция ищет в реестре функции десериализации, соответствующие location. Если они найдены, функция пытается использовать их в порядке приоритета для восстановления storage, пока одна из них не вернёт результат, отличный от None. Если в реестре не найдена функция десериализации или все найденные функции не возвращают результат, возникает исключение RuntimeError.

Параметры:
  • storage (STORAGE) — объект хранилища, который нужно восстановить
  • location (str) — тег расположения, связанный с объектом хранилища
Возвращает:

Optional[STORAGE]

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

storage

Вызывает исключение:

RuntimeError — если в реестре не найдена функция десериализации, соответствующая location, или если все соответствующие функции возвращают None.

Параллелизм

fork
get_num_threads

Возвращает количество потоков, используемых для распараллеливания операций на CPU

init_num_threads

init_num_threads()

set_num_threads

Устанавливает количество потоков, используемых для внутрипроцессного параллелизма на CPU.

get_num_interop_threads

Возвращает количество потоков, используемых для межоперационного параллелизма на CPU (например, в интерпретаторе JIT).

set_num_interop_threads

Устанавливает количество потоков, используемых для межоперационного параллелизма на CPU (например, в интерпретаторе JIT).

wait

Локальное отключение вычисления градиентов

Менеджеры контекста torch.no_grad(), torch.enable_grad() и torch.set_grad_enabled() позволяют локально отключать и включать вычисление градиентов. Подробнее об их использовании см. в разделе Локальное отключение вычисления градиентов. Эти менеджеры контекста действуют только в пределах текущего потока, поэтому они не будут работать, если отправить задачу в другой поток с помощью модуля threading и т. п.

Примеры:

>>> x = torch.zeros(1, requires_grad=True)
>>> with torch.no_grad():
...     y = x * 2
>>> y.requires_grad
False

>>> is_train = False
>>> with torch.set_grad_enabled(is_train):
...     y = x * 2
>>> y.requires_grad
False

>>> torch.set_grad_enabled(True)  # this can also be used as a function
>>> y = x * 2
>>> y.requires_grad
True

>>> torch.set_grad_enabled(False)
>>> y = x * 2
>>> y.requires_grad
False
no_grad

Менеджер контекста, отключающий вычисление градиентов.

enable_grad

Менеджер контекста, включающий вычисление градиентов.

autograd.grad_mode.set_grad_enabled

Менеджер контекста, включающий или отключающий вычисление градиентов.

is_grad_enabled

Возвращает True, если режим вычисления градиентов в данный момент включён.

autograd.grad_mode.inference_mode

Менеджер контекста, включающий или отключающий режим инференса.

is_inference_mode_enabled

Возвращает True, если режим инференса в данный момент включён.

Математические операции

Константы

e

Число Эйлера — основание натуральных логарифмов (~2.7183). Псевдоним для math.e.

inf

Положительная бесконечность с плавающей точкой. Псевдоним для math.inf.

nan

Значение «не число» с плавающей точкой. Это значение не является допустимым числом. Псевдоним для math.nan.

pi

Отношение длины окружности к её диаметру (~3.1416). Псевдоним для math.pi.

Поэлементные операции

abs

Вычисляет абсолютное значение каждого элемента в input.

abs_

Версия torch.abs() с изменением на месте

absolute

Псевдоним для torch.abs()

acos

Возвращает новый тензор с арккосинусом (в радианах) каждого элемента в input.

acos_

Версия torch.acos() с изменением на месте

arccos

Псевдоним для torch.acos().

arccos_

Версия torch.arccos() с изменением на месте

acosh

Возвращает новый тензор с обратным гиперболическим косинусом элементов input.

acosh_

Версия torch.acosh() с изменением на месте

arccosh

Псевдоним для torch.acosh().

arccosh_

Версия torch.arccosh() с изменением на месте

add

Прибавляет other, умноженное на alpha, к input.

addcdiv

Выполняет поэлементное деление tensor1 на tensor2, умножает результат на скаляр value и прибавляет его к input.

addcmul

Выполняет поэлементное умножение tensor1 на tensor2, умножает результат на скаляр value и прибавляет его к input.

angle

Вычисляет поэлементный аргумент (в радианах) заданного тензора input.

asin

Возвращает новый тензор с арксинусами элементов (в радианах) тензора input.

asin_

Версия torch.asin() с изменением на месте

arcsin

Псевдоним для torch.asin().

arcsin_

Версия torch.arcsin() с изменением на месте

asinh

Возвращает новый тензор с обратным гиперболическим синусом элементов input.

asinh_

Версия torch.asinh() с изменением на месте

arcsinh

Псевдоним для torch.asinh().

arcsinh_

Версия torch.arcsinh() с изменением на месте

atan

Возвращает новый тензор с арктангенсами элементов (в радианах) тензора input.

atan_

Версия torch.atan() с изменением на месте

arctan

Псевдоним для torch.atan().

arctan_

Версия torch.arctan() с изменением на месте

atanh

Возвращает новый тензор с обратным гиперболическим тангенсом элементов input.

atanh_

Версия torch.atanh() с изменением на месте

arctanh

Псевдоним для torch.atanh().

arctanh_

Версия torch.arctanh() с изменением на месте

atan2

Поэлементный арктангенс inputi/otheri\text{input}_{i} / \text{other}_{i} с учетом квадранта.

arctan2

Псевдоним для torch.atan2().

bitwise_not

Вычисляет побитовое НЕ заданного входного тензора.

bitwise_and

Вычисляет побитовое И для input и other.

bitwise_or

Вычисляет побитовое ИЛИ для input и other.

bitwise_xor

Вычисляет побитовое исключающее ИЛИ для input и other.

bitwise_left_shift

Выполняет арифметический сдвиг input влево на other бит.

bitwise_right_shift

Выполняет арифметический сдвиг input вправо на other бит.

ceil

Возвращает новый тензор с результатами округления элементов input вверх до наименьшего целого, большего или равного каждому элементу.

ceil_

Версия torch.ceil() с изменением на месте

clamp

Ограничивает все элементы в input диапазоном [ min, max ].

clamp_

Версия torch.clamp() с изменением на месте

clamp_max_
clamp_min_
clip

Псевдоним для torch.clamp().

clip_

Версия torch.clip() с изменением на месте

conj_physical

Вычисляет поэлементное комплексное сопряжение заданного тензора input.

conj_physical_

Версия torch.conj_physical() с изменением на месте

copysign

Создает новый тензор с плавающей точкой, поэлементно используя модуль значений input и знак значений other.

cos

Возвращает новый тензор с косинусами элементов input, заданных в радианах.

cos_

Версия torch.cos() с изменением на месте

cosh

Возвращает новый тензор с гиперболическими косинусами элементов input.

cosh_

Версия torch.cosh() с изменением на месте

deg2rad

Возвращает новый тензор, в котором каждый элемент input преобразован из градусов в радианы.

deg2rad_

Версия torch.deg2rad() с изменением на месте

div

Делит каждый элемент входного тензора input на соответствующий элемент other.

divide

Псевдоним для torch.div().

digamma

Псевдоним для torch.special.digamma().

erf

Псевдоним для torch.special.erf().

erf_

Версия torch.erf() с изменением на месте

erfc

Псевдоним для torch.special.erfc().

erfc_

Версия torch.erfc() с изменением на месте

erfinv

Псевдоним для torch.special.erfinv().

exp

Возвращает новый тензор с экспонентами элементов входного тензора input.

exp_

Версия torch.exp() с изменением на месте

exp2

Псевдоним для torch.special.exp2().

exp2_

Версия torch.exp2() с изменением на месте

expm1

Псевдоним для torch.special.expm1().

expm1_

Версия torch.expm1() с изменением на месте

fake_quantize_per_channel_affine

Возвращает новый тензор с данными из input, подвергнутыми поканальному фиктивному квантованию с использованием scale, zero_point, quant_min и quant_max вдоль канала, заданного параметром axis.

fake_quantize_per_tensor_affine

Возвращает новый тензор с данными из input, подвергнутыми фиктивному квантованию с использованием scale, zero_point, quant_min и quant_max.

fill_

Версия torch.fill() с изменением на месте

fix

Псевдоним для torch.trunc()

fix_

Версия torch.fix() с изменением на месте

float_power

Поэлементно возводит input в степень exponent, используя двойную точность.

floor

Возвращает новый тензор с результатами округления элементов input вниз до наибольшего целого, меньшего или равного каждому элементу.

floor_

Версия torch.floor() с изменением на месте

floor_divide
fmod

Поэлементно применяет функцию C++ std::fmod.

frac

Вычисляет дробную часть каждого элемента в input.

frac_

Версия torch.frac() с изменением на месте

frexp

Разлагает input на тензоры мантисс и показателей степени так, что input=mantissa×2exponent\text{input} = \text{mantissa} \times 2^{\text{exponent}}.

gradient

Оценивает градиент функции g:Rn→Rg : \mathbb{R}^n \rightarrow \mathbb{R} по одному или нескольким измерениям с помощью метода центральных разностей второго порядка точности и оценок первого или второго порядка на границах.

imag

Возвращает новый тензор, содержащий мнимые части значений тензора self.

ldexp

Умножает input на 2 ** other.

ldexp_

Версия torch.ldexp() с изменением на месте

lerp

Выполняет линейную интерполяцию двух тензоров start (задаваемую параметром input) и end на основе скаляра или тензора weight и возвращает результирующий тензор out.

lgamma

Вычисляет натуральный логарифм абсолютного значения гамма-функции для input.

log

Возвращает новый тензор с натуральными логарифмами элементов input.

log_

Версия torch.log() с изменением на месте

log10

Возвращает новый тензор с десятичными логарифмами элементов input.

log10_

Версия torch.log10() с изменением на месте

log1p

Возвращает новый тензор с натуральными логарифмами (1 + input).

log1p_

Версия torch.log1p() с изменением на месте

log2

Возвращает новый тензор с логарифмами по основанию 2 элементов input.

log2_

Версия torch.log2() с изменением на месте

logaddexp

Логарифм суммы экспонент входных значений.

logaddexp2

Логарифм по основанию 2 суммы экспонент входных значений.

logical_and

Вычисляет поэлементное логическое И для заданных входных тензоров.

logical_not

Вычисляет поэлементное логическое НЕ для заданного входного тензора.

logical_or

Вычисляет поэлементное логическое ИЛИ для заданных входных тензоров.

logical_xor

Вычисляет поэлементное логическое исключающее ИЛИ для заданных входных тензоров.

logit

Псевдоним для torch.special.logit().

logit_

Версия torch.logit() с изменением на месте

hypot

По длинам катетов прямоугольного треугольника возвращает длину его гипотенузы.

i0

Псевдоним для torch.special.i0().

i0_

Версия torch.i0(), изменяющая данные на месте

igamma

Псевдоним для torch.special.gammainc().

igammac

Псевдоним для torch.special.gammaincc().

mul

Умножает input на other.

multiply

Псевдоним для torch.mul().

mvlgamma

Псевдоним для torch.special.multigammaln().

nan_to_num

Заменяет значения NaN, положительной и отрицательной бесконечности в input значениями, заданными параметрами nan, posinf и neginf соответственно.

nan_to_num_

Версия torch.nan_to_num(), изменяющая данные на месте

neg

Возвращает новый тензор с числами, противоположными элементам input.

neg_

Версия torch.neg(), изменяющая данные на месте

negative

Псевдоним для torch.neg()

negative_

Версия torch.negative(), изменяющая данные на месте

nextafter

Поэлементно возвращает следующее значение с плавающей точкой после input в направлении other.

polygamma

Псевдоним для torch.special.polygamma().

positive

Возвращает input.

pow

Возводит каждый элемент input в степень exponent и возвращает тензор с результатом.

quantized_batch_norm

Применяет пакетную нормализацию к 4D-квантованному тензору (NCHW).

quantized_max_pool1d

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

quantized_max_pool2d

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

rad2deg

Возвращает новый тензор, в котором каждый элемент input преобразован из радиан в градусы.

rad2deg_

Версия torch.rad2deg(), изменяющая данные на месте

real

Возвращает новый тензор, содержащий действительные значения тензора self.

reciprocal

Возвращает новый тензор, содержащий обратные значения элементов input

reciprocal_

Версия torch.reciprocal(), изменяющая данные на месте

remainder

Поэлементно вычисляет операцию взятия остатка по модулю в Python.

round

Округляет элементы input до ближайшего целого числа.

round_

Версия torch.round(), изменяющая данные на месте

rsqrt

Возвращает новый тензор, содержащий величины, обратные квадратным корням элементов input.

rsqrt_

Версия torch.rsqrt(), изменяющая данные на месте

sigmoid

Псевдоним для torch.special.expit().

sigmoid_

Версия torch.sigmoid(), изменяющая данные на месте

sign

Возвращает новый тензор со знаками элементов input.

sgn

Эта функция расширяет torch.sign() для комплексных тензоров.

signbit

Проверяет, установлен ли бит знака у каждого элемента input.

sin

Возвращает новый тензор с синусами элементов тензора input, где каждое значение входного тензора задано в радианах.

sin_

Версия torch.sin(), изменяющая данные на месте

sinc

Псевдоним для torch.special.sinc().

sinc_

Версия torch.sinc(), изменяющая данные на месте

sinh

Возвращает новый тензор с гиперболическими синусами элементов input.

sinh_

Версия torch.sinh(), изменяющая данные на месте

softmax

Псевдоним для torch.nn.functional.softmax().

sqrt

Возвращает новый тензор с квадратными корнями элементов input.

sqrt_

Версия torch.sqrt(), изменяющая данные на месте

square

Возвращает новый тензор с квадратами элементов input.

square_

Версия torch.square(), изменяющая данные на месте

sub

Вычитает из input величину other, умноженную на alpha.

subtract

Псевдоним для torch.sub().

tan

Возвращает новый тензор с тангенсами элементов тензора input, где каждое значение входного тензора задано в радианах.

tan_

Версия torch.tan(), изменяющая данные на месте

tanh

Возвращает новый тензор с гиперболическими тангенсами элементов input.

tanh_

Версия torch.tanh(), изменяющая данные на месте

true_divide

Псевдоним для torch.div() с rounding_mode=None.

trunc

Возвращает новый тензор с усечёнными целыми значениями элементов input.

trunc_

Версия torch.trunc(), изменяющая данные на месте

xlogy

Псевдоним для torch.special.xlogy().

xlogy_

Версия torch.xlogy(), изменяющая данные на месте

zero_

Операции редукции

argmax

Возвращает индексы максимального значения среди всех элементов тензора input.

argmin

Возвращает индексы минимального значения или значений уплощённого тензора либо вдоль заданного измерения

amax

Возвращает максимальное значение для каждого среза тензора input по указанным измерениям dim.

amin

Возвращает минимальное значение для каждого среза тензора input по указанным измерениям dim.

aminmax

Вычисляет минимальное и максимальное значения тензора input.

all

Проверяет, дают ли все элементы input значение True.

any

Проверяет, даёт ли хотя бы один элемент input значение True.

max

Возвращает максимальное значение среди всех элементов тензора input.

min

Возвращает минимальное значение среди всех элементов тензора input.

dist

Возвращает p-норму (input - other)

logsumexp

Возвращает логарифм суммы экспонент для каждой строки тензора input по указанному измерению dim.

mean
nanmean

Вычисляет среднее значение всех элементов non-NaN по указанным измерениям.

median

Возвращает медиану значений в input.

nanmedian

Возвращает медиану значений в input, игнорируя значения NaN.

mode

Возвращает именованный кортеж (values, indices), где values — мода каждой строки тензора input по заданному измерению dim, то есть значение, встречающееся в этой строке чаще всего, а indices — индексная позиция каждой найденной моды.

norm

Возвращает матричную или векторную норму заданного тензора.

norm_except_dim
nuclear_norm
nansum

Возвращает сумму всех элементов, считая значения Not a Numbers (NaN) равными нулю.

prod

Возвращает произведение всех элементов тензора input.

quantile

Вычисляет q-квантили каждой строки тензора input вдоль измерения dim.

nanquantile

Это вариант torch.quantile(), который «игнорирует» значения NaN и вычисляет квантили q так, как если бы значения NaN в input отсутствовали.

std

Вычисляет стандартное отклонение по измерениям, указанным в dim.

std_mean

Вычисляет стандартное отклонение и среднее значение по измерениям, указанным в dim.

sum

Возвращает сумму всех элементов тензора input.

unique

Возвращает уникальные элементы входного тензора.

unique_consecutive

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

var

Вычисляет дисперсию по измерениям, указанным в dim.

var_mean

Вычисляет дисперсию и среднее значение по измерениям, указанным в dim.

count_nonzero

Подсчитывает количество ненулевых значений в тензоре input вдоль заданного измерения dim.

hash_tensor

Возвращает хеш всех элементов тензора input.

Операции сравнения

allclose

Эта функция проверяет, удовлетворяют ли input и other следующему условию:

argsort

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

eq

Вычисляет поэлементное равенство

equal

True, если два тензора имеют одинаковые размеры и элементы, и False в противном случае.

ge

Поэлементно вычисляет input≥other\text{input} \geq \text{other}.

greater_equal

Псевдоним для torch.ge().

gt

Поэлементно вычисляет input>other\text{input} > \text{other}.

greater

Псевдоним для torch.gt().

isclose

Возвращает новый тензор с логическими элементами, указывающими, является ли каждый элемент input «близким» к соответствующему элементу other.

isfinite

Возвращает новый тензор с логическими элементами, указывающими, является ли каждый элемент finite.

isin

Проверяет, содержится ли каждый элемент elements в test_elements.

isinf

Проверяет, является ли каждый элемент input бесконечным (положительной или отрицательной бесконечностью).

isposinf

Проверяет, является ли каждый элемент input положительной бесконечностью.

isneginf

Проверяет, является ли каждый элемент input отрицательной бесконечностью.

isnan

Возвращает новый тензор с логическими элементами, указывающими, является ли каждый элемент input значением NaN.

isreal

Возвращает новый тензор с логическими элементами, указывающими, является ли каждый элемент input действительным числом.

kthvalue

Возвращает именованный кортеж (values, indices), где values — это k-й наименьший элемент каждой строки тензора input по заданному измерению dim.

le

Поэлементно вычисляет input≤other\text{input} \leq \text{other}.

less_equal

Псевдоним для torch.le().

lt

Поэлементно вычисляет input<other\text{input} < \text{other}.

less

Псевдоним для torch.lt().

maximum

Вычисляет поэлементный максимум input и other.

minimum

Вычисляет поэлементный минимум input и other.

fmax

Вычисляет поэлементный максимум input и other.

fmin

Вычисляет поэлементный минимум input и other.

ne

Поэлементно вычисляет input≠other\text{input} \neq \text{other}.

not_equal

Псевдоним для torch.ne().

sort

Сортирует элементы тензора input по заданному измерению в порядке возрастания значений.

topk

Возвращает k наибольших элементов заданного тензора input по заданному измерению.

msort

Сортирует элементы тензора input по его первому измерению в порядке возрастания значений.

Спектральные операции

stft

Кратковременное преобразование Фурье (STFT).

istft

Обратное кратковременное преобразование Фурье.

bartlett_window

Оконная функция Бартлетта.

blackman_window

Оконная функция Блэкмана.

hamming_window

Оконная функция Хэмминга.

hann_window

Оконная функция Ханна.

kaiser_window

Вычисляет окно Кайзера длиной window_length и с параметром формы beta.

Прочие операции

adaptive_avg_pool1d

Применяет адаптивную одномерную операцию усредняющего пулинга к входному сигналу, состоящему из нескольких входных плоскостей.

adaptive_max_pool1d
affine_grid_generator
alpha_dropout
alpha_dropout_

Версия torch.alpha_dropout() с изменением на месте

as_strided_

Версия torch.as_strided() с изменением на месте

atleast_1d

Возвращает одномерное представление каждого входного тензора с нулевым числом измерений.

atleast_2d

Возвращает двумерное представление каждого входного тензора с нулевым числом измерений.

atleast_3d

Возвращает трёхмерное представление каждого входного тензора с нулевым числом измерений.

avg_pool1d

Применяет одномерную операцию усредняющего пулинга к входному сигналу, состоящему из нескольких входных плоскостей.

batch_norm_backward_elemt
batch_norm_backward_reduce
batch_norm_elemt
batch_norm_gather_stats
batch_norm_gather_stats_with_counts
batch_norm_stats
batch_norm_update_stats
bilinear

Применяет билинейное преобразование к входным данным: y=x1TAx2+by = x_1^T A x_2 + b

bincount

Подсчитывает частоту каждого значения в массиве неотрицательных целых чисел.

binomial
block_diag

Создаёт блочно-диагональную матрицу из переданных тензоров.

broadcast_tensors

Выполняет широковещательное преобразование заданных тензоров согласно семантике широковещательного преобразования.

broadcast_to

Выполняет широковещательное преобразование input до формы shape.

broadcast_shapes

Аналогична broadcast_tensors(), но применяется к формам.

bucketize

Возвращает индексы сегментов, к которым относится каждое значение в input; границы сегментов задаются с помощью boundaries.

cartesian_prod

Вычисляет декартово произведение заданной последовательности тензоров.

cdist

Вычисляет пакетное расстояние по p-норме между каждой парой строковых векторов из двух наборов.

celu_

Версия celu() с изменением на месте.

channel_shuffle

Разделяет каналы тензора формы (∗,C,H,W)(*, C , H, W) на g групп и переставляет их в форму (∗,Cg,g,H,W)(*, C \frac g, g, H, W), сохраняя исходную форму тензора.

choose_qparams_optimized
clone

Возвращает копию input.

combinations

Вычисляет комбинации длины rr заданного тензора.

conv1d

Применяет одномерную свёртку к входному сигналу, состоящему из нескольких входных плоскостей.

conv3d

Применяет трёхмерную свёртку к входному изображению, состоящему из нескольких входных плоскостей.

conv_tbc

Применяет одномерную свёртку последовательности к входной последовательности.

conv_transpose1d

Применяет оператор одномерной транспонированной свёртки к входному сигналу, состоящему из нескольких входных плоскостей; также иногда называется «деконволюцией».

conv_transpose2d

Применяет оператор двумерной транспонированной свёртки к входному изображению, состоящему из нескольких входных плоскостей; также иногда называется «деконволюцией».

conv_transpose3d

Применяет оператор трёхмерной транспонированной свёртки к входному изображению, состоящему из нескольких входных плоскостей; также иногда называется «деконволюцией»

convolution
corrcoef

Оценивает матрицу коэффициентов корреляции произведений моментов Пирсона для переменных, заданных матрицей input, где строки соответствуют переменным, а столбцы — наблюдениям.

cosine_embedding_loss
cosine_similarity

Возвращает косинусное сходство между x1 и x2, вычисленное вдоль измерения dim.

cov

Оценивает ковариационную матрицу переменных, заданных матрицей input, где строки соответствуют переменным, а столбцы — наблюдениям.

cross

Возвращает векторное произведение векторов в измерении dim тензоров input и other.

ctc_loss
cudnn_affine_grid_generator
cudnn_batch_norm
cudnn_convolution
cudnn_convolution_add_relu
cudnn_convolution_relu
cudnn_convolution_transpose
cudnn_grid_sampler
cudnn_is_acceptable
cummax

Возвращает именованный кортеж (values, indices), в котором values — накопительный максимум элементов input по измерению dim.

cummin

Возвращает именованный кортеж (values, indices), в котором values — накопительный минимум элементов input по измерению dim.

cumprod

Возвращает накопительное произведение элементов input по измерению dim.

cumsum

Возвращает накопительную сумму элементов input по измерению dim.

detach_

Версия torch.detach() с изменением на месте

diag
  • Если input — вектор (одномерный тензор), возвращает квадратный двумерный тензор
diag_embed

Создаёт тензор, в котором диагонали определённых двумерных плоскостей (указанных с помощью dim1 и dim2) заполняются значениями input.

diagflat
  • Если input — вектор (одномерный тензор), возвращает квадратный двумерный тензор
diagonal

Возвращает частичное представление input, добавляя его диагональные элементы относительно dim1 и dim2 в качестве измерения в конце формы.

diff

Вычисляет n-ю прямую разность вдоль заданного измерения.

dropout_
einsum

Суммирует произведения элементов входного operands по измерениям, указанным с помощью обозначений, основанных на соглашении суммирования Эйнштейна.

embedding
embedding_renorm_
fbgemm_linear_fp16_weight
fbgemm_linear_fp16_weight_fp32_activation
fbgemm_linear_int8_weight
fbgemm_linear_int8_weight_fp32_activation
fbgemm_linear_quantize_weight
fbgemm_pack_gemm_matrix_fp16
fbgemm_pack_quantized_matrix
feature_alpha_dropout
feature_alpha_dropout_

Версия torch.feature_alpha_dropout() с изменением на месте

feature_dropout
feature_dropout_

Версия torch.feature_dropout() с изменением на месте

flatten

Преобразует input в одномерный тензор, изменяя его форму.

flip

Изменяет порядок элементов n-мерного тензора на обратный вдоль заданных осей в dims.

fliplr

Отражает тензор слева направо и возвращает новый тензор.

flipud

Отражает тензор сверху вниз и возвращает новый тензор.

fused_moving_avg_obs_fake_quant
gcd

Поэлементно вычисляет наибольший общий делитель (НОД) input и other.

gcd_

Версия torch.gcd() с изменением на месте

grid_sampler_2d
grid_sampler_3d
group_norm
gru
gru_cell
hardshrink

Поэлементно применяет функцию жёсткого сжатия

hinge_embedding_loss
histc

Вычисляет гистограмму тензора.

histogram

Вычисляет гистограмму значений тензора.

histogramdd

Вычисляет многомерную гистограмму значений тензора.

instance_norm
int_repr
kl_div
kron

Вычисляет произведение Кронекера, обозначаемое символом ⊗\otimes, тензоров input и other.

lcm

Поэлементно вычисляет наименьшее общее кратное (НОК) input и other.

lcm_

Версия torch.lcm() с изменением на месте

logcumsumexp

Возвращает логарифм накопительной суммы экспонент элементов input по измерению dim.

lstm
lstm_cell
margin_ranking_loss
max_pool1d
max_pool3d
meshgrid

Создаёт сетки координат, заданных одномерными входными тензорами в attr:tensors.

miopen_batch_norm
miopen_convolution
miopen_convolution_add_relu
miopen_convolution_relu
miopen_convolution_transpose
miopen_ctc_loss
miopen_depthwise_convolution
miopen_rnn
mkldnn_adaptive_avg_pool2d
mkldnn_convolution
mkldnn_linear_backward_weights
mkldnn_max_pool2d
mkldnn_max_pool3d
mkldnn_rnn_layer
native_batch_norm
native_channel_shuffle

Реализация channel_shuffle на уровне нативного ядра.

native_group_norm
native_layer_norm
native_norm
pairwise_distance

Подробнее см. в разделе torch.nn.PairwiseDistance

pdist

Вычисляет расстояние в p-норме между каждой парой векторов-строк входных данных.

pixel_unshuffle

Отменяет операцию PixelShuffle, переставляя элементы тензора формы (∗,C,H×r,W×r)(*, C, H \times r, W \times r) в тензор формы (∗,C×r2,H,W)(*, C \times r^2, H, W), где r — downscale_factor.

poisson_nll_loss
prelu

Поэлементно применяет функцию PReLU(x)=max⁡(0,x)+weight∗min⁡(0,x)\text{PReLU}(x) = \max(0,x) + \text{weight} * \min(0,x), где weight — обучаемый параметр.

q_per_channel_axis
q_per_channel_scales
q_per_channel_zero_points
q_scale
q_zero_point
quantized_gru_cell
quantized_lstm_cell
quantized_max_pool3d
quantized_rnn_relu_cell
quantized_rnn_tanh_cell
ravel

Возвращает непрерывный развёрнутый тензор.

relu_

Версия relu(), изменяющая данные на месте.

renorm

Возвращает тензор, в котором каждый подтензор input вдоль измерения dim нормализован так, что p-норма подтензора меньше значения maxnorm

repeat_interleave

Повторяет элементы тензора.

resize_as_
resize_as_sparse_
rms_norm
rnn_relu
rnn_relu_cell
rnn_tanh
rnn_tanh_cell
roll

Циклически сдвигает тензор input вдоль указанных измерений.

rot90

Поворачивает n-мерный тензор на 90 градусов в плоскости, заданной осями dims.

rrelu
rrelu_

Версия rrelu(), изменяющая данные на месте.

rsub
searchsorted

Находит индексы во внутреннем измерении sorted_sequence так, чтобы при вставке перед этими индексами соответствующих значений из values сохранялся порядок соответствующего внутреннего измерения в sorted_sequence.

selu
selu_

Версия selu(), изменяющая данные на месте.

tensordot

Возвращает свёртку a и b по нескольким измерениям.

threshold
threshold_

Версия threshold(), изменяющая данные на месте.

trace

Возвращает сумму элементов диагонали входной двумерной матрицы.

tril

Возвращает нижнюю треугольную часть матрицы (двумерного тензора) или пакета матриц input; остальные элементы результирующего тензора out устанавливаются в 0.

tril_indices

Возвращает индексы нижней треугольной части матрицы размером row на col в тензоре 2×N: первая строка содержит координаты строк всех индексов, а вторая — координаты столбцов.

triu

Возвращает верхнюю треугольную часть матрицы (двумерного тензора) или пакета матриц input; остальные элементы результирующего тензора out устанавливаются в 0.

triu_indices

Возвращает индексы верхней треугольной части матрицы размером row на col в тензоре 2×N: первая строка содержит координаты строк всех индексов, а вторая — координаты столбцов.

triplet_margin_loss
unflatten

Разбивает одно измерение входного тензора на несколько измерений.

vander

Создаёт матрицу Вандермонда.

view_as_real

Возвращает представление input в виде вещественного тензора.

view_as_complex

Возвращает представление input в виде комплексного тензора.

resolve_conj

Возвращает новый тензор с материализованным комплексным сопряжением, если бит сопряжения у input установлен в True; в противном случае возвращает input.

resolve_neg

Возвращает новый тензор с материализованным отрицанием, если бит отрицания у input установлен в True; в противном случае возвращает input.

Операции BLAS и LAPACK

addbmm

Выполняет пакетное умножение матриц, сохранённых в batch1 и batch2, с последующим сложением (результаты всех умножений матриц накапливаются вдоль первого измерения).

addmm

Выполняет умножение матриц mat1 и mat2.

addmv

Выполняет умножение матрицы mat на вектор vec.

addmv_

Версия torch.addmv(), изменяющая данные на месте

addr

Вычисляет внешнее произведение векторов vec1 и vec2 и прибавляет его к матрице input.

baddbmm

Выполняет пакетное умножение матриц из batch1 и batch2.

bmm

Выполняет пакетное умножение матриц, сохранённых в input и mat2.

chain_matmul

Возвращает произведение матриц для NN двумерных тензоров.

cholesky_inverse

Вычисляет обратную матрицу комплексной эрмитовой или вещественной симметричной положительно определённой матрицы по её разложению Холецкого.

cholesky_solve

Вычисляет решение системы линейных уравнений с комплексной эрмитовой или вещественной симметричной положительно определённой левой частью по её разложению Холецкого.

dot

Вычисляет скалярное произведение двух одномерных тензоров.

dsmm
geqrf

Это низкоуровневая функция для прямого вызова LAPACK geqrf.

ger

Псевдоним для torch.outer().

hsmm
inner

Вычисляет скалярное произведение одномерных тензоров.

inverse

Псевдоним для torch.linalg.inv()

det

Псевдоним для torch.linalg.det()

logdet

Вычисляет логарифм определителя квадратной матрицы или пакета квадратных матриц.

slogdet

Псевдоним для torch.linalg.slogdet()

lu

Вычисляет LU-разложение матрицы или пакета матриц A.

lu_solve

Решает систему линейных уравнений Ax=bAx = b с использованием LU-разложения A с частичным выбором главного элемента, полученного с помощью lu_factor().

lu_unpack

Распаковывает LU-разложение, возвращённое функцией lu_factor(), в P, L, U матрицы.

matmul

Произведение двух тензоров.

matrix_power

Псевдоним для torch.linalg.matrix_power()

matrix_exp

Псевдоним для torch.linalg.matrix_exp().

mm

Выполняет умножение матриц input и mat2.

mv

Выполняет умножение матрицы input на вектор vec.

orgqr

Псевдоним для torch.linalg.householder_product().

ormqr

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

outer

Внешнее произведение input и vec2.

pinverse

Псевдоним для torch.linalg.pinv()

saddmm
spmm
svd

Вычисляет сингулярное разложение матрицы или пакета матриц input.

svd_lowrank

Возвращает сингулярное разложение (U, S, V) матрицы, пакета матриц или разреженной матрицы AA, такое что A≈Udiag⁡(S)VHA \approx U \operatorname{diag}(S) V^{\text{H}}.

pca_lowrank

Выполняет линейный анализ главных компонент (PCA) матрицы низкого ранга, пакета таких матриц или разреженной матрицы.

lobpcg

Находит k наибольших (или наименьших) собственных значений и соответствующие собственные векторы обобщённой задачи на собственные значения для симметричной положительно определённой матрицы с помощью безматричных методов LOBPCG.

trapz

Псевдоним для torch.trapezoid().

trapezoid

Вычисляет метод трапеций вдоль dim.

cumulative_trapezoid

Вычисляет накопленное значение по методу трапеций вдоль dim.

triangular_solve

Решает систему уравнений с обратимой квадратной верхней или нижней треугольной матрицей AA и несколькими правыми частями bb.

vdot

Вычисляет скалярное произведение двух одномерных векторов вдоль заданного измерения.

Операции Foreach

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

Этот API находится в бета-версии и может измениться в будущем. Поддержка AD в режиме прямого прохода отсутствует.

_foreach_abs

Применяет torch.abs() к каждому тензору входного списка.

_foreach_abs_

Применяет torch.abs() к каждому тензору входного списка.

_foreach_acos

Применяет torch.acos() к каждому тензору входного списка.

_foreach_acos_

Применяет torch.acos() к каждому тензору входного списка.

_foreach_asin

Применяет torch.asin() к каждому тензору входного списка.

_foreach_asin_

Применяет torch.asin() к каждому тензору входного списка.

_foreach_atan

Применяет torch.atan() к каждому тензору входного списка.

_foreach_atan_

Применяет torch.atan() к каждому тензору входного списка.

_foreach_ceil

Применяет torch.ceil() к каждому тензору входного списка.

_foreach_ceil_

Применяет torch.ceil() к каждому тензору входного списка.

_foreach_clone
_foreach_cos

Применяет torch.cos() к каждому тензору входного списка.

_foreach_cos_

Применяет torch.cos() к каждому тензору входного списка.

_foreach_cosh

Применяет torch.cosh() к каждому тензору входного списка.

_foreach_cosh_

Применяет torch.cosh() к каждому тензору входного списка.

_foreach_erf

Применяет torch.erf() к каждому тензору входного списка.

_foreach_erf_

Применяет torch.erf() к каждому тензору входного списка.

_foreach_erfc

Применяет torch.erfc() к каждому тензору входного списка.

_foreach_erfc_

Применяет torch.erfc() к каждому тензору входного списка.

_foreach_exp

Применяет torch.exp() к каждому тензору входного списка.

_foreach_exp_

Применяет torch.exp() к каждому тензору входного списка.

_foreach_expm1

Применяет torch.expm1() к каждому тензору входного списка.

_foreach_expm1_

Применяет torch.expm1() к каждому тензору входного списка.

_foreach_floor

Применяет torch.floor() к каждому тензору входного списка.

_foreach_floor_

Применяет torch.floor() к каждому тензору входного списка.

_foreach_log

Применяет torch.log() к каждому тензору входного списка.

_foreach_log_

Применяет torch.log() к каждому тензору входного списка.

_foreach_log10

Применяет torch.log10() к каждому тензору входного списка.

_foreach_log10_

Применяет torch.log10() к каждому тензору входного списка.

_foreach_log1p

Применяет torch.log1p() к каждому тензору входного списка.

_foreach_log1p_

Применяет torch.log1p() к каждому тензору входного списка.

_foreach_log2

Применяет torch.log2() к каждому тензору входного списка.

_foreach_log2_

Применяет torch.log2() к каждому тензору входного списка.

_foreach_neg

Применяет torch.neg() к каждому тензору входного списка.

_foreach_neg_

Применяет torch.neg() к каждому тензору входного списка.

_foreach_tan

Применяет torch.tan() к каждому тензору входного списка.

_foreach_tan_

Применяет torch.tan() к каждому тензору входного списка.

_foreach_sin

Применяет torch.sin() к каждому тензору входного списка.

_foreach_sin_

Применяет torch.sin() к каждому тензору входного списка.

_foreach_sinh

Применяет torch.sinh() к каждому тензору входного списка.

_foreach_sinh_

Применяет torch.sinh() к каждому тензору входного списка.

_foreach_round

Применяет torch.round() к каждому тензору входного списка.

_foreach_round_

Применяет torch.round() к каждому тензору входного списка.

_foreach_sqrt

Применяет torch.sqrt() к каждому тензору входного списка.

_foreach_sqrt_

Применяет torch.sqrt() к каждому тензору входного списка.

_foreach_lgamma

Применяет torch.lgamma() к каждому тензору входного списка.

_foreach_lgamma_

Применяет torch.lgamma() к каждому тензору входного списка.

_foreach_frac

Применяет torch.frac() к каждому тензору входного списка.

_foreach_frac_

Применяет torch.frac() к каждому тензору входного списка.

_foreach_reciprocal

Применяет torch.reciprocal() к каждому тензору входного списка.

_foreach_reciprocal_

Применяет torch.reciprocal() к каждому тензору входного списка.

_foreach_sigmoid

Применяет torch.sigmoid() к каждому тензору входного списка.

_foreach_sigmoid_

Применяет torch.sigmoid() к каждому тензору входного списка.

_foreach_trunc

Применяет torch.trunc() к каждому тензору входного списка.

_foreach_trunc_

Применяет torch.trunc() к каждому тензору входного списка.

_foreach_zero_

Применяет torch.zero() к каждому тензору входного списка.

Утилиты

autocast_decrement_nesting
autocast_increment_nesting
clear_autocast_cache
compiled_with_cxx11_abi

Возвращает, был ли PyTorch собран с _GLIBCXX_USE_CXX11_ABI=1

get_autocast_cpu_dtype
get_autocast_dtype
get_autocast_gpu_dtype
get_autocast_ipu_dtype
get_autocast_xla_dtype
get_device
get_device_module

Возвращает модуль, связанный с указанным устройством (например, torch.device('cuda'), "mtia:0", "xpu" и т. д.).

import_ir_module
import_ir_module_from_buffer
is_anomaly_check_nan_enabled
is_anomaly_enabled
is_autocast_cache_enabled
is_autocast_cpu_enabled
is_autocast_enabled
is_autocast_ipu_enabled
is_autocast_xla_enabled
is_distributed
is_vulkan_available
merge_type_from_type_comment
parse_ir
parse_schema
parse_type_comment
result_type

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

can_cast

Определяет, допустимо ли преобразование типа в соответствии с правилами приведения PyTorch, описанными в документации по повышению типов.

promote_types

Возвращает torch.dtype наименьшего размера и скалярного вида, который не меньше и не имеет более низкий вид, чем type1 или type2.

set_anomaly_enabled
set_autocast_cache_enabled
set_autocast_cpu_dtype
set_autocast_cpu_enabled
set_autocast_dtype
set_autocast_enabled
set_autocast_gpu_dtype
set_autocast_ipu_dtype
set_autocast_ipu_enabled
set_autocast_xla_dtype
set_autocast_xla_enabled
use_deterministic_algorithms

Задаёт, должны ли операции PyTorch использовать «детерминированные» алгоритмы.

are_deterministic_algorithms_enabled

Возвращает True, если глобальный флаг детерминированности включён.

is_deterministic_algorithms_warn_only_enabled

Возвращает True, если для глобального флага детерминированности установлен режим только предупреждений.

set_deterministic_debug_mode

Задаёт режим отладки для детерминированных операций.

get_deterministic_debug_mode

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

set_float32_matmul_precision

Задаёт внутреннюю точность умножения матриц float32.

get_float32_matmul_precision

Возвращает текущее значение точности умножения матриц float32.

set_warn_always

Если этот флаг равен False (значение по умолчанию), некоторые предупреждения PyTorch могут появляться только один раз за процесс.

is_warn_always_enabled

Возвращает True, если глобальный флаг warn_always включён.

vmap

vmap — это векторизованное отображение; vmap(func) возвращает новую функцию, которая применяет func к некоторому измерению входных данных.

_assert

Обёртка над assert в Python, поддерживающая символическую трассировку.

typename

Строковое представление типа объекта.

Информация о типах

class torch.TensorType

Символические числа

class torch.SymInt(node) [исходный код]

Подобен int (включая магические методы), но перенаправляет все операции на обёрнутый узел. В частности, это используется для символической записи операций в процессе работы с символическими формами.

as_integer_ratio() [исходный код]

Представляет это целое число в виде точного отношения целых чисел

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

tuple[SymInt, int]

class torch.SymFloat(node) [исходный код]

Подобен float (включая магические методы), но перенаправляет все операции на обёрнутый узел. В частности, это используется для символической записи операций в процессе работы с символическими формами.

as_integer_ratio() [исходный код]

Представляет это число с плавающей точкой в виде точного отношения целых чисел

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

tuple[int, int]

conjugate() [исходный код]

Возвращает комплексно-сопряжённое значение числа с плавающей точкой.

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

SymFloat

hex() [исходный код]

Возвращает шестнадцатеричное представление числа с плавающей точкой.

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

str

is_integer() [исходный код]

Возвращает True, если число с плавающей точкой является целым.

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

bool

class torch.SymBool(node) [исходный код]

Подобен bool (включая магические методы), но перенаправляет все операции на обёрнутый узел. В частности, это используется для символической записи операций в процессе работы с символическими формами.

В отличие от обычных значений bool, стандартные логические операторы создают дополнительные проверки вместо символического вычисления. Для этого используйте побитовые операторы.

sym_constrain_range
sym_constrain_range_for_size
sym_float

Утилита для приведения к float с поддержкой SymInt.

sym_fresh_size
sym_int

Утилита для приведения к int с поддержкой SymInt.

sym_max

Утилита для вычисления max с поддержкой SymInt, не требующая ветвления по условию a < b.

sym_min

Утилита для вычисления min() с поддержкой SymInt.

sym_not

Утилита для логического отрицания с поддержкой SymInt.

sym_ite

Утилита для тернарного оператора с поддержкой SymInt (t if b else f.)

sym_sqrt
sym_sum

Сложение N аргументов, которое вычисляется быстрее последовательного двоичного сложения для длинных списков.

Путь экспорта

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

Эта функция является прототипом; в будущем возможны несовместимые изменения.

export generated/exportdb/index

Поток управления

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

Эта функция является прототипом; в будущем возможны несовместимые изменения.

cond

Условно применяет true_fn или false_fn.

Оптимизации

compile

Оптимизирует указанную модель/функцию с помощью TorchDynamo и выбранного бэкенда.

Документация по torch.compile

Теги операторов

class torch.Tag

Элементы:

core

cudagraph_unsafe

data_dependent_output

dynamic_output_shape

flexible_layout

generated

inplace

inplace_view

maybe_aliasing_or_mutating

needs_contiguous_strides

needs_exact_strides

needs_fixed_stride_order

nondeterministic_bitwise

nondeterministic_seeded

out

out_variant

pointwise

pt2_compliant_tag

reduction

view_copy

property name
get_inline_skeleton

Получает полностью встроенный каркас фронтенда.

get_model_info

Получает информацию о модели в формате JSON.

StorageType

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

Spec-Zone.ru

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