torch
Создано: 23 декабря 2016 г. | Последнее обновление: 11 июля 2026 г.
Пакет torch содержит структуры данных для многомерных тензоров и определяет математические операции над этими тензорами. Кроме того, он предоставляет множество средств для эффективной сериализации тензоров и произвольных типов, а также другие полезные утилиты.
Для него существует версия CUDA, позволяющая выполнять вычисления с тензорами на графическом процессоре NVIDIA с вычислительными возможностями >= 3.0.
Тензоры
is_tensor
| Возвращает True, если |
is_storage
| Возвращает True, если |
is_complex
| Возвращает True, если тип данных |
is_conj
| Возвращает True, если |
is_floating_point
| Возвращает True, если тип данных |
is_inference
| Возвращает True, если |
is_neg
| |
is_nonzero
| Возвращает True, если |
is_same_size
| |
is_signed
| |
set_default_dtype
| Устанавливает тип данных с плавающей точкой по умолчанию: |
get_default_dtype
| Возвращает текущий тип данных с плавающей точкой по умолчанию |
set_default_device
| Устанавливает |
get_default_device
| Возвращает |
set_default_tensor_type
| |
numel
| Возвращает общее количество элементов в тензоре |
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), копируя |
sparse_coo_tensor
| Создаёт разреженный тензор в формате COO (координатный формат) с заданными значениями по указанным |
sparse_csr_tensor
| Создаёт разреженный тензор в формате CSR (сжатые разреженные строки) с заданными значениями по указанным |
sparse_csc_tensor
| Создаёт разреженный тензор в формате CSC (сжатые разреженные столбцы) с заданными значениями по указанным |
sparse_bsr_tensor
| Создаёт разреженный тензор в формате BSR (сжатые разреженные строки блоков)) с заданными двумерными блоками по указанным |
sparse_bsc_tensor
| Создаёт разреженный тензор в формате BSC (сжатые разреженные столбцы блоков)) с заданными двумерными блоками по указанным |
asarray
| Преобразует |
as_tensor
| Преобразует |
as_strided
| Создаёт представление существующего |
from_file
| Создаёт тензор на CPU, хранилище которого основано на файле, отображённом в память. |
from_numpy
| Создаёт |
from_dlpack
| Преобразует тензор из внешней библиотеки в |
frombuffer
| Создаёт одномерный |
zeros
| Возвращает тензор, заполненный скалярным значением |
zeros_like
| Возвращает тензор, заполненный скалярным значением |
ones
| Возвращает тензор, заполненный скалярным значением |
ones_like
| Возвращает тензор, заполненный скалярным значением |
arange
| Возвращает одномерный тензор размера со значениями из интервала |
range
| Возвращает одномерный тензор размера со значениями от |
linspace
| Создаёт одномерный тензор размера |
logspace
| Создаёт одномерный тензор размера |
eye
| Возвращает двумерный тензор с единицами на диагонали и нулями в остальных позициях. |
empty
| Возвращает тензор, заполненный неинициализированными данными. |
empty_like
| Возвращает неинициализированный тензор того же размера, что и |
empty_permuted
| Создаёт неинициализированный плотный тензор без перекрытий с заданной |
empty_quantized
| |
empty_strided
| Создаёт тензор с заданными |
full
| Создаёт тензор размера |
full_like
| Возвращает тензор того же размера, что и |
quantize_per_tensor
| Преобразует тензор с числами с плавающей точкой в квантованный тензор с заданными масштабом и нулевой точкой. |
quantize_per_tensor_dynamic
| Преобразует тензор с числами с плавающей точкой в квантованный тензор, масштаб и zero_point которого динамически вычисляются на основе входных данных. |
quantize_per_channel
| Преобразует тензор с числами с плавающей точкой в поканально квантованный тензор с заданными масштабами и нулевыми точками. |
dequantize
| Возвращает тензор fp32, выполняя деквантование квантованного тензора. |
complex
| Создаёт комплексный тензор, действительная часть которого равна |
polar
| Создаёт комплексный тензор, элементы которого являются декартовыми координатами, соответствующими полярным координатам с модулем |
scalar_tensor
| |
heaviside
| Вычисляет ступенчатую функцию Хевисайда для каждого элемента |
Индексация, срезы, объединение и изменение
adjoint
| Возвращает представление тензора с комплексным сопряжением и транспонированными двумя последними измерениями. |
alias_copy
| Выполняет ту же операцию, что и |
argwhere
| Возвращает тензор, содержащий индексы всех ненулевых элементов |
as_strided_copy
| Выполняет ту же операцию, что и |
as_strided_scatter
| Встраивает значения тензора |
cat
| Объединяет заданную последовательность тензоров в |
ccol_indices_copy
| |
col_indices_copy
| Выполняет ту же операцию, что и |
concat
| Псевдоним |
concatenate
| Псевдоним |
conj
| Возвращает представление |
chunk
| Пытается разделить тензор на указанное количество частей. |
crow_indices_copy
| Выполняет ту же операцию, что и |
detach
| |
detach_copy
| Выполняет ту же операцию, что и |
diagonal_copy
| Выполняет ту же операцию, что и |
dsplit
| Разбивает |
column_stack
| Создаёт новый тензор, горизонтально объединяя тензоры из |
dstack
| Объединяет тензоры последовательности по глубине (вдоль третьей оси). |
expand_copy
| Выполняет ту же операцию, что и |
fill
| |
gather
| Собирает значения вдоль оси, указанной в |
hsplit
| Разбивает |
hstack
| Объединяет тензоры последовательности по горизонтали (по столбцам). |
index_add
| Описание функции см. в |
index_copy
| Описание функции см. в |
index_put_
| |
index_reduce
| Описание функции см. в |
index_select
| Возвращает новый тензор, индексирующий тензор |
indices_copy
| Выполняет ту же операцию, что и |
masked_fill
| |
masked_select
| Возвращает новый одномерный тензор, который индексирует тензор |
movedim
| Перемещает измерения |
moveaxis
| Псевдоним для |
narrow
| Возвращает новый тензор, представляющий собой суженную версию тензора |
narrow_copy
| То же, что и |
nonzero
| |
nonzero_static
| Возвращает двумерный тензор, в каждой строке которого находится индекс ненулевого значения. |
permute
| Возвращает представление исходного тензора |
permute_copy
| Выполняет ту же операцию, что и |
put
| |
reshape
| Возвращает тензор с теми же данными и количеством элементов, что и |
row_indices_copy
| |
row_stack
| Псевдоним |
select
| Извлекает срез тензора |
select_copy
| Выполняет ту же операцию, что и |
scatter
| Версия |
diagonal_scatter
| Встраивает значения тензора |
select_scatter
| Встраивает значения тензора |
slice_copy
| Выполняет ту же операцию, что и |
slice_inverse
| |
slice_scatter
| Встраивает значения тензора |
scatter_add
| Версия |
scatter_reduce
| Версия |
segment_reduce
| Выполняет операцию редукции по сегментам входного тензора вдоль указанной оси. |
split
| Разбивает тензор на части. |
split_copy
| Выполняет ту же операцию, что и |
split_with_sizes_copy
| Выполняет ту же операцию, что и |
squeeze
| Возвращает тензор, из которого удалены все указанные измерения |
squeeze_copy
| Выполняет ту же операцию, что и |
stack
| Объединяет последовательность тензоров вдоль нового измерения. |
swapaxes
| Псевдоним для |
swapdims
| Псевдоним для |
t
| Ожидает, что |
t_copy
| Выполняет ту же операцию, что и |
take
| Возвращает новый тензор с элементами |
take_along_dim
| Выбирает значения из |
tensor_split
| Разбивает тензор на несколько подтензоров, каждый из которых является представлением |
tile
| Создаёт тензор, повторяя элементы |
transpose
| Возвращает тензор, являющийся транспонированной версией |
transpose_copy
| Выполняет ту же операцию, что и |
unbind
| Удаляет измерение тензора. |
unbind_copy
| Выполняет ту же операцию, что и |
unfold_copy
| Выполняет ту же операцию, что и |
unravel_index
| Преобразует тензор линейных индексов в кортеж тензоров координат, индексирующих произвольный тензор заданной формы. |
unsqueeze
| Возвращает новый тензор с измерением размера один, вставленным в указанную позицию. |
unsqueeze_copy
| Выполняет ту же операцию, что и |
values_copy
| Выполняет ту же операцию, что и |
view_as_complex_copy
| Выполняет ту же операцию, что и |
view_as_real_copy
| Выполняет ту же операцию, что и |
view_copy
| Выполняет ту же операцию, что и |
vsplit
| Разбивает |
vstack
| Объединяет тензоры последовательности по вертикали (по строкам). |
where
| Возвращает тензор, содержащий элементы, выбранные из |
Ускорители
В репозитории 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.
Генераторы
Случайная выборка
seed
| Устанавливает начальное значение для генерации случайных чисел в недетерминированное случайное число на всех устройствах. |
manual_seed
| Устанавливает начальное значение для генерации случайных чисел на всех устройствах. |
initial_seed
| Возвращает начальное значение для генерации случайных чисел в виде объекта Python |
get_rng_state
| Возвращает состояние генератора случайных чисел в виде |
set_rng_state
| Устанавливает состояние генератора случайных чисел. |
-
torch.default_generator Returns the default CPU torch.Generator
bernoulli
| Выбирает двоичные случайные числа (0 или 1) из распределения Бернулли. |
multinomial
| Возвращает тензор, в каждой строке которого содержатся |
normal
| Возвращает тензор случайных чисел, выбранных из отдельных нормальных распределений, среднее значение и стандартное отклонение которых заданы. |
poisson
| Возвращает тензор того же размера, что и |
rand
| Возвращает тензор, заполненный случайными числами из равномерного распределения на интервале |
rand_like
| Возвращает тензор того же размера, что и |
randint
| Возвращает тензор, заполненный случайными целыми числами, равномерно распределёнными между |
randint_like
| Возвращает тензор той же формы, что и тензор |
randn
| Возвращает тензор, заполненный случайными числами из нормального распределения со средним значением |
randn_like
| Возвращает тензор того же размера, что и |
randperm
| Возвращает случайную перестановку целых чисел от |
Случайная выборка на месте
Для тензоров также определено несколько дополнительных функций случайной выборки на месте. Перейдите по ссылкам, чтобы ознакомиться с документацией:
-
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_()— числа, выбранные из непрерывного равномерного распределения
Квазислучайная выборка
|
Сериализация
save
| Сохраняет объект в файл на диске. |
load
| Загружает из файла объект, сохранённый с помощью |
-
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
| Менеджер контекста, включающий вычисление градиентов. |
Менеджер контекста, включающий или отключающий вычисление градиентов. | |
is_grad_enabled
| Возвращает True, если режим вычисления градиентов в данный момент включён. |
Менеджер контекста, включающий или отключающий режим инференса. | |
is_inference_mode_enabled
| Возвращает True, если режим инференса в данный момент включён. |
Математические операции
Константы
| Число Эйлера — основание натуральных логарифмов (~2.7183). Псевдоним для |
| Положительная бесконечность с плавающей точкой. Псевдоним для |
| Значение «не число» с плавающей точкой. Это значение не является допустимым числом. Псевдоним для |
| Отношение длины окружности к её диаметру (~3.1416). Псевдоним для |
Поэлементные операции
abs
| Вычисляет абсолютное значение каждого элемента в |
abs_
| Версия |
absolute
| Псевдоним для |
acos
| Возвращает новый тензор с арккосинусом (в радианах) каждого элемента в |
acos_
| Версия |
arccos
| Псевдоним для |
arccos_
| Версия |
acosh
| Возвращает новый тензор с обратным гиперболическим косинусом элементов |
acosh_
| Версия |
arccosh
| Псевдоним для |
arccosh_
| Версия |
add
| Прибавляет |
addcdiv
| Выполняет поэлементное деление |
addcmul
| Выполняет поэлементное умножение |
angle
| Вычисляет поэлементный аргумент (в радианах) заданного тензора |
asin
| Возвращает новый тензор с арксинусами элементов (в радианах) тензора |
asin_
| Версия |
arcsin
| Псевдоним для |
arcsin_
| Версия |
asinh
| Возвращает новый тензор с обратным гиперболическим синусом элементов |
asinh_
| Версия |
arcsinh
| Псевдоним для |
arcsinh_
| Версия |
atan
| Возвращает новый тензор с арктангенсами элементов (в радианах) тензора |
atan_
| Версия |
arctan
| Псевдоним для |
arctan_
| Версия |
atanh
| Возвращает новый тензор с обратным гиперболическим тангенсом элементов |
atanh_
| Версия |
arctanh
| Псевдоним для |
arctanh_
| Версия |
atan2
| Поэлементный арктангенс с учетом квадранта. |
arctan2
| Псевдоним для |
bitwise_not
| Вычисляет побитовое НЕ заданного входного тензора. |
bitwise_and
| Вычисляет побитовое И для |
bitwise_or
| Вычисляет побитовое ИЛИ для |
bitwise_xor
| Вычисляет побитовое исключающее ИЛИ для |
bitwise_left_shift
| Выполняет арифметический сдвиг |
bitwise_right_shift
| Выполняет арифметический сдвиг |
ceil
| Возвращает новый тензор с результатами округления элементов |
ceil_
| Версия |
clamp
| |
clamp_
| Версия |
clamp_max_
| |
clamp_min_
| |
clip
| Псевдоним для |
clip_
| Версия |
conj_physical
| Вычисляет поэлементное комплексное сопряжение заданного тензора |
conj_physical_
| Версия |
copysign
| Создает новый тензор с плавающей точкой, поэлементно используя модуль значений |
cos
| Возвращает новый тензор с косинусами элементов |
cos_
| Версия |
cosh
| Возвращает новый тензор с гиперболическими косинусами элементов |
cosh_
| Версия |
deg2rad
| Возвращает новый тензор, в котором каждый элемент |
deg2rad_
| Версия |
div
| Делит каждый элемент входного тензора |
divide
| Псевдоним для |
digamma
| Псевдоним для |
erf
| Псевдоним для |
erf_
| Версия |
erfc
| Псевдоним для |
erfc_
| Версия |
erfinv
| Псевдоним для |
exp
| Возвращает новый тензор с экспонентами элементов входного тензора |
exp_
| Версия |
exp2
| Псевдоним для |
exp2_
| Версия |
expm1
| Псевдоним для |
expm1_
| Версия |
fake_quantize_per_channel_affine
| Возвращает новый тензор с данными из |
fake_quantize_per_tensor_affine
| Возвращает новый тензор с данными из |
fill_
| Версия |
fix
| Псевдоним для |
fix_
| Версия |
float_power
| Поэлементно возводит |
floor
| Возвращает новый тензор с результатами округления элементов |
floor_
| Версия |
floor_divide
| |
fmod
| Поэлементно применяет функцию C++ std::fmod. |
frac
| Вычисляет дробную часть каждого элемента в |
frac_
| Версия |
frexp
| Разлагает |
gradient
| Оценивает градиент функции по одному или нескольким измерениям с помощью метода центральных разностей второго порядка точности и оценок первого или второго порядка на границах. |
imag
| Возвращает новый тензор, содержащий мнимые части значений тензора |
ldexp
| Умножает |
ldexp_
| Версия |
lerp
| Выполняет линейную интерполяцию двух тензоров |
lgamma
| Вычисляет натуральный логарифм абсолютного значения гамма-функции для |
log
| Возвращает новый тензор с натуральными логарифмами элементов |
log_
| Версия |
log10
| Возвращает новый тензор с десятичными логарифмами элементов |
log10_
| Версия |
log1p
| Возвращает новый тензор с натуральными логарифмами (1 + |
log1p_
| Версия |
log2
| Возвращает новый тензор с логарифмами по основанию 2 элементов |
log2_
| Версия |
logaddexp
| Логарифм суммы экспонент входных значений. |
logaddexp2
| Логарифм по основанию 2 суммы экспонент входных значений. |
logical_and
| Вычисляет поэлементное логическое И для заданных входных тензоров. |
logical_not
| Вычисляет поэлементное логическое НЕ для заданного входного тензора. |
logical_or
| Вычисляет поэлементное логическое ИЛИ для заданных входных тензоров. |
logical_xor
| Вычисляет поэлементное логическое исключающее ИЛИ для заданных входных тензоров. |
logit
| Псевдоним для |
logit_
| Версия |
hypot
| По длинам катетов прямоугольного треугольника возвращает длину его гипотенузы. |
i0
| Псевдоним для |
i0_
| Версия |
igamma
| Псевдоним для |
igammac
| Псевдоним для |
mul
| Умножает |
multiply
| Псевдоним для |
mvlgamma
| Псевдоним для |
nan_to_num
| Заменяет значения |
nan_to_num_
| Версия |
neg
| Возвращает новый тензор с числами, противоположными элементам |
neg_
| Версия |
negative
| Псевдоним для |
negative_
| Версия |
nextafter
| Поэлементно возвращает следующее значение с плавающей точкой после |
polygamma
| Псевдоним для |
positive
| Возвращает |
pow
| Возводит каждый элемент |
quantized_batch_norm
| Применяет пакетную нормализацию к 4D-квантованному тензору (NCHW). |
quantized_max_pool1d
| Применяет одномерную максимальную субдискретизацию к входному квантованному тензору, состоящему из нескольких входных плоскостей. |
quantized_max_pool2d
| Применяет двумерную максимальную субдискретизацию к входному квантованному тензору, состоящему из нескольких входных плоскостей. |
rad2deg
| Возвращает новый тензор, в котором каждый элемент |
rad2deg_
| Версия |
real
| Возвращает новый тензор, содержащий действительные значения тензора |
reciprocal
| Возвращает новый тензор, содержащий обратные значения элементов |
reciprocal_
| Версия |
remainder
| Поэлементно вычисляет операцию взятия остатка по модулю в Python. |
round
| Округляет элементы |
round_
| Версия |
rsqrt
| Возвращает новый тензор, содержащий величины, обратные квадратным корням элементов |
rsqrt_
| Версия |
sigmoid
| Псевдоним для |
sigmoid_
| Версия |
sign
| Возвращает новый тензор со знаками элементов |
sgn
| Эта функция расширяет torch.sign() для комплексных тензоров. |
signbit
| Проверяет, установлен ли бит знака у каждого элемента |
sin
| Возвращает новый тензор с синусами элементов тензора |
sin_
| Версия |
sinc
| Псевдоним для |
sinc_
| Версия |
sinh
| Возвращает новый тензор с гиперболическими синусами элементов |
sinh_
| Версия |
softmax
| Псевдоним для |
sqrt
| Возвращает новый тензор с квадратными корнями элементов |
sqrt_
| Версия |
square
| Возвращает новый тензор с квадратами элементов |
square_
| Версия |
sub
| Вычитает из |
subtract
| Псевдоним для |
tan
| Возвращает новый тензор с тангенсами элементов тензора |
tan_
| Версия |
tanh
| Возвращает новый тензор с гиперболическими тангенсами элементов |
tanh_
| Версия |
true_divide
| Псевдоним для |
trunc
| Возвращает новый тензор с усечёнными целыми значениями элементов |
trunc_
| Версия |
xlogy
| Псевдоним для |
xlogy_
| Версия |
zero_
|
Операции редукции
argmax
| Возвращает индексы максимального значения среди всех элементов тензора |
argmin
| Возвращает индексы минимального значения или значений уплощённого тензора либо вдоль заданного измерения |
amax
| Возвращает максимальное значение для каждого среза тензора |
amin
| Возвращает минимальное значение для каждого среза тензора |
aminmax
| Вычисляет минимальное и максимальное значения тензора |
all
| Проверяет, дают ли все элементы |
any
| Проверяет, даёт ли хотя бы один элемент |
max
| Возвращает максимальное значение среди всех элементов тензора |
min
| Возвращает минимальное значение среди всех элементов тензора |
dist
| Возвращает p-норму ( |
logsumexp
| Возвращает логарифм суммы экспонент для каждой строки тензора |
mean
| |
nanmean
| Вычисляет среднее значение всех элементов |
median
| Возвращает медиану значений в |
nanmedian
| Возвращает медиану значений в |
mode
| Возвращает именованный кортеж |
norm
| Возвращает матричную или векторную норму заданного тензора. |
norm_except_dim
| |
nuclear_norm
| |
nansum
| Возвращает сумму всех элементов, считая значения Not a Numbers (NaN) равными нулю. |
prod
| Возвращает произведение всех элементов тензора |
quantile
| Вычисляет q-квантили каждой строки тензора |
nanquantile
| Это вариант |
std
| Вычисляет стандартное отклонение по измерениям, указанным в |
std_mean
| Вычисляет стандартное отклонение и среднее значение по измерениям, указанным в |
sum
| Возвращает сумму всех элементов тензора |
unique
| Возвращает уникальные элементы входного тензора. |
unique_consecutive
| Удаляет все элементы из каждой группы последовательных эквивалентных элементов, кроме первого. |
var
| Вычисляет дисперсию по измерениям, указанным в |
var_mean
| Вычисляет дисперсию и среднее значение по измерениям, указанным в |
count_nonzero
| Подсчитывает количество ненулевых значений в тензоре |
hash_tensor
| Возвращает хеш всех элементов тензора |
Операции сравнения
allclose
| Эта функция проверяет, удовлетворяют ли |
argsort
| Возвращает индексы, которые сортируют тензор по заданному измерению в порядке возрастания значений. |
eq
| Вычисляет поэлементное равенство |
equal
|
|
ge
| Поэлементно вычисляет . |
greater_equal
| Псевдоним для |
gt
| Поэлементно вычисляет . |
greater
| Псевдоним для |
isclose
| Возвращает новый тензор с логическими элементами, указывающими, является ли каждый элемент |
isfinite
| Возвращает новый тензор с логическими элементами, указывающими, является ли каждый элемент |
isin
| Проверяет, содержится ли каждый элемент |
isinf
| Проверяет, является ли каждый элемент |
isposinf
| Проверяет, является ли каждый элемент |
isneginf
| Проверяет, является ли каждый элемент |
isnan
| Возвращает новый тензор с логическими элементами, указывающими, является ли каждый элемент |
isreal
| Возвращает новый тензор с логическими элементами, указывающими, является ли каждый элемент |
kthvalue
| Возвращает именованный кортеж |
le
| Поэлементно вычисляет . |
less_equal
| Псевдоним для |
lt
| Поэлементно вычисляет . |
less
| Псевдоним для |
maximum
| Вычисляет поэлементный максимум |
minimum
| Вычисляет поэлементный минимум |
fmax
| Вычисляет поэлементный максимум |
fmin
| Вычисляет поэлементный минимум |
ne
| Поэлементно вычисляет . |
not_equal
| Псевдоним для |
sort
| Сортирует элементы тензора |
topk
| Возвращает |
msort
| Сортирует элементы тензора |
Спектральные операции
stft
| Кратковременное преобразование Фурье (STFT). |
istft
| Обратное кратковременное преобразование Фурье. |
bartlett_window
| Оконная функция Бартлетта. |
blackman_window
| Оконная функция Блэкмана. |
hamming_window
| Оконная функция Хэмминга. |
hann_window
| Оконная функция Ханна. |
kaiser_window
| Вычисляет окно Кайзера длиной |
Прочие операции
adaptive_avg_pool1d
| Применяет адаптивную одномерную операцию усредняющего пулинга к входному сигналу, состоящему из нескольких входных плоскостей. |
adaptive_max_pool1d
| |
affine_grid_generator
| |
alpha_dropout
| |
alpha_dropout_
| Версия |
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
| Применяет билинейное преобразование к входным данным: |
bincount
| Подсчитывает частоту каждого значения в массиве неотрицательных целых чисел. |
binomial
| |
block_diag
| Создаёт блочно-диагональную матрицу из переданных тензоров. |
broadcast_tensors
| Выполняет широковещательное преобразование заданных тензоров согласно семантике широковещательного преобразования. |
broadcast_to
| Выполняет широковещательное преобразование |
broadcast_shapes
| Аналогична |
bucketize
| Возвращает индексы сегментов, к которым относится каждое значение в |
cartesian_prod
| Вычисляет декартово произведение заданной последовательности тензоров. |
cdist
| Вычисляет пакетное расстояние по p-норме между каждой парой строковых векторов из двух наборов. |
celu_
| Версия |
channel_shuffle
| Разделяет каналы тензора формы на g групп и переставляет их в форму , сохраняя исходную форму тензора. |
choose_qparams_optimized
| |
clone
| Возвращает копию |
combinations
| Вычисляет комбинации длины заданного тензора. |
conv1d
| Применяет одномерную свёртку к входному сигналу, состоящему из нескольких входных плоскостей. |
conv3d
| Применяет трёхмерную свёртку к входному изображению, состоящему из нескольких входных плоскостей. |
conv_tbc
| Применяет одномерную свёртку последовательности к входной последовательности. |
conv_transpose1d
| Применяет оператор одномерной транспонированной свёртки к входному сигналу, состоящему из нескольких входных плоскостей; также иногда называется «деконволюцией». |
conv_transpose2d
| Применяет оператор двумерной транспонированной свёртки к входному изображению, состоящему из нескольких входных плоскостей; также иногда называется «деконволюцией». |
conv_transpose3d
| Применяет оператор трёхмерной транспонированной свёртки к входному изображению, состоящему из нескольких входных плоскостей; также иногда называется «деконволюцией» |
convolution
| |
corrcoef
| Оценивает матрицу коэффициентов корреляции произведений моментов Пирсона для переменных, заданных матрицей |
cosine_embedding_loss
| |
cosine_similarity
| Возвращает косинусное сходство между |
cov
| Оценивает ковариационную матрицу переменных, заданных матрицей |
cross
| Возвращает векторное произведение векторов в измерении |
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
| Возвращает именованный кортеж |
cummin
| Возвращает именованный кортеж |
cumprod
| Возвращает накопительное произведение элементов |
cumsum
| Возвращает накопительную сумму элементов |
detach_
| Версия |
diag
|
|
diag_embed
| Создаёт тензор, в котором диагонали определённых двумерных плоскостей (указанных с помощью |
diagflat
|
|
diagonal
| Возвращает частичное представление |
diff
| Вычисляет n-ю прямую разность вдоль заданного измерения. |
dropout_
| |
einsum
| Суммирует произведения элементов входного |
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_
| Версия |
feature_dropout
| |
feature_dropout_
| Версия |
flatten
| Преобразует |
flip
| Изменяет порядок элементов n-мерного тензора на обратный вдоль заданных осей в dims. |
fliplr
| Отражает тензор слева направо и возвращает новый тензор. |
flipud
| Отражает тензор сверху вниз и возвращает новый тензор. |
fused_moving_avg_obs_fake_quant
| |
gcd
| Поэлементно вычисляет наибольший общий делитель (НОД) |
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
| Вычисляет произведение Кронекера, обозначаемое символом , тензоров |
lcm
| Поэлементно вычисляет наименьшее общее кратное (НОК) |
lcm_
| Версия |
logcumsumexp
| Возвращает логарифм накопительной суммы экспонент элементов |
lstm
| |
lstm_cell
| |
margin_ranking_loss
| |
max_pool1d
| |
max_pool3d
| |
meshgrid
| Создаёт сетки координат, заданных одномерными входными тензорами в |
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
| Реализация |
native_group_norm
|
native_layer_norm
| |
native_norm
| |
pairwise_distance
| Подробнее см. в разделе |
pdist
| Вычисляет расстояние в p-норме между каждой парой векторов-строк входных данных. |
pixel_unshuffle
| Отменяет операцию |
poisson_nll_loss
| |
prelu
| Поэлементно применяет функцию , где 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_
| Версия |
renorm
| Возвращает тензор, в котором каждый подтензор |
repeat_interleave
| Повторяет элементы тензора. |
resize_as_
| |
resize_as_sparse_
| |
rms_norm
| |
rnn_relu
| |
rnn_relu_cell
| |
rnn_tanh
| |
rnn_tanh_cell
| |
roll
| Циклически сдвигает тензор |
rot90
| Поворачивает n-мерный тензор на 90 градусов в плоскости, заданной осями dims. |
rrelu
| |
rrelu_
| Версия |
rsub
| |
searchsorted
| Находит индексы во внутреннем измерении |
selu
| |
selu_
| Версия |
tensordot
| Возвращает свёртку a и b по нескольким измерениям. |
threshold
| |
threshold_
| Версия |
trace
| Возвращает сумму элементов диагонали входной двумерной матрицы. |
tril
| Возвращает нижнюю треугольную часть матрицы (двумерного тензора) или пакета матриц |
tril_indices
| Возвращает индексы нижней треугольной части матрицы размером |
triu
| Возвращает верхнюю треугольную часть матрицы (двумерного тензора) или пакета матриц |
triu_indices
| Возвращает индексы верхней треугольной части матрицы размером |
triplet_margin_loss
| |
unflatten
| Разбивает одно измерение входного тензора на несколько измерений. |
vander
| Создаёт матрицу Вандермонда. |
view_as_real
| Возвращает представление |
view_as_complex
| Возвращает представление |
resolve_conj
| Возвращает новый тензор с материализованным комплексным сопряжением, если бит сопряжения у |
resolve_neg
| Возвращает новый тензор с материализованным отрицанием, если бит отрицания у |
Операции BLAS и LAPACK
addbmm
| Выполняет пакетное умножение матриц, сохранённых в |
addmm
| Выполняет умножение матриц |
addmv
| Выполняет умножение матрицы |
addmv_
| Версия |
addr
| Вычисляет внешнее произведение векторов |
baddbmm
| Выполняет пакетное умножение матриц из |
bmm
| Выполняет пакетное умножение матриц, сохранённых в |
chain_matmul
| Возвращает произведение матриц для двумерных тензоров. |
cholesky_inverse
| Вычисляет обратную матрицу комплексной эрмитовой или вещественной симметричной положительно определённой матрицы по её разложению Холецкого. |
cholesky_solve
| Вычисляет решение системы линейных уравнений с комплексной эрмитовой или вещественной симметричной положительно определённой левой частью по её разложению Холецкого. |
dot
| Вычисляет скалярное произведение двух одномерных тензоров. |
dsmm
| |
geqrf
| Это низкоуровневая функция для прямого вызова LAPACK geqrf. |
ger
| Псевдоним для |
hsmm
| |
inner
| Вычисляет скалярное произведение одномерных тензоров. |
inverse
| Псевдоним для |
det
| Псевдоним для |
logdet
| Вычисляет логарифм определителя квадратной матрицы или пакета квадратных матриц. |
slogdet
| Псевдоним для |
lu
| Вычисляет LU-разложение матрицы или пакета матриц |
lu_solve
| Решает систему линейных уравнений с использованием LU-разложения A с частичным выбором главного элемента, полученного с помощью |
lu_unpack
| Распаковывает LU-разложение, возвращённое функцией |
matmul
| Произведение двух тензоров. |
matrix_power
| Псевдоним для |
matrix_exp
| Псевдоним для |
mm
| Выполняет умножение матриц |
mv
| Выполняет умножение матрицы |
orgqr
| Псевдоним для |
ormqr
| Вычисляет произведение матриц Хаусхолдера и общей матрицы. |
outer
| Внешнее произведение |
pinverse
| Псевдоним для |
saddmm
| |
spmm
| |
svd
| Вычисляет сингулярное разложение матрицы или пакета матриц |
svd_lowrank
| Возвращает сингулярное разложение |
pca_lowrank
| Выполняет линейный анализ главных компонент (PCA) матрицы низкого ранга, пакета таких матриц или разреженной матрицы. |
lobpcg
| Находит k наибольших (или наименьших) собственных значений и соответствующие собственные векторы обобщённой задачи на собственные значения для симметричной положительно определённой матрицы с помощью безматричных методов LOBPCG. |
trapz
| Псевдоним для |
trapezoid
| Вычисляет метод трапеций вдоль |
cumulative_trapezoid
|
Вычисляет накопленное значение по методу трапеций вдоль |
triangular_solve
| Решает систему уравнений с обратимой квадратной верхней или нижней треугольной матрицей и несколькими правыми частями . |
vdot
| Вычисляет скалярное произведение двух одномерных векторов вдоль заданного измерения. |
Операции Foreach
Предупреждение
Этот API находится в бета-версии и может измениться в будущем. Поддержка AD в режиме прямого прохода отсутствует.
_foreach_abs
| Применяет |
_foreach_abs_
| Применяет |
_foreach_acos
| Применяет |
_foreach_acos_
| Применяет |
_foreach_asin
| Применяет |
_foreach_asin_
| Применяет |
_foreach_atan
| Применяет |
_foreach_atan_
| Применяет |
_foreach_ceil
| Применяет |
_foreach_ceil_
| Применяет |
_foreach_clone
| |
_foreach_cos
| Применяет |
_foreach_cos_
| Применяет |
_foreach_cosh
| Применяет |
_foreach_cosh_
| Применяет |
_foreach_erf
| Применяет |
_foreach_erf_
| Применяет |
_foreach_erfc
| Применяет |
_foreach_erfc_
| Применяет |
_foreach_exp
| Применяет |
_foreach_exp_
| Применяет |
_foreach_expm1
| Применяет |
_foreach_expm1_
| Применяет |
_foreach_floor
| Применяет |
_foreach_floor_
| Применяет |
_foreach_log
| Применяет |
_foreach_log_
| Применяет |
_foreach_log10
| Применяет |
_foreach_log10_
| Применяет |
_foreach_log1p
| Применяет |
_foreach_log1p_
| Применяет |
_foreach_log2
| Применяет |
_foreach_log2_
| Применяет |
_foreach_neg
| Применяет |
_foreach_neg_
| Применяет |
_foreach_tan
| Применяет |
_foreach_tan_
| Применяет |
_foreach_sin
| Применяет |
_foreach_sin_
| Применяет |
_foreach_sinh
| Применяет |
_foreach_sinh_
| Применяет |
_foreach_round
| Применяет |
_foreach_round_
| Применяет |
_foreach_sqrt
| Применяет |
_foreach_sqrt_
| Применяет |
_foreach_lgamma
| Применяет |
_foreach_lgamma_
| Применяет |
_foreach_frac
| Применяет |
_foreach_frac_
| Применяет |
_foreach_reciprocal
| Применяет |
_foreach_reciprocal_
| Применяет |
_foreach_sigmoid
| Применяет |
_foreach_sigmoid_
| Применяет |
_foreach_trunc
| Применяет |
_foreach_trunc_
| Применяет |
_foreach_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
| Возвращает |
can_cast
| Определяет, допустимо ли преобразование типа в соответствии с правилами приведения PyTorch, описанными в документации по повышению типов. |
promote_types
| Возвращает |
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 — это векторизованное отображение; |
_assert
| Обёртка над assert в Python, поддерживающая символическую трассировку. |
typename
| Строковое представление типа объекта. |
Информация о типах
-
class torch.TensorType
Символические числа
-
class torch.SymInt(node)[исходный код] -
Подобен int (включая магические методы), но перенаправляет все операции на обёрнутый узел. В частности, это используется для символической записи операций в процессе работы с символическими формами.
-
class torch.SymFloat(node)[исходный код] -
Подобен float (включая магические методы), но перенаправляет все операции на обёрнутый узел. В частности, это используется для символической записи операций в процессе работы с символическими формами.
-
as_integer_ratio()[исходный код] -
Представляет это число с плавающей точкой в виде точного отношения целых чисел
-
conjugate()[исходный код] -
Возвращает комплексно-сопряжённое значение числа с плавающей точкой.
- Тип возвращаемого значения:
-
hex()[исходный код] -
Возвращает шестнадцатеричное представление числа с плавающей точкой.
- Тип возвращаемого значения:
-
is_integer()[исходный код] -
Возвращает True, если число с плавающей точкой является целым.
- Тип возвращаемого значения:
-
-
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 ( |
sym_sqrt
| |
sym_sum
| Сложение N аргументов, которое вычисляется быстрее последовательного двоичного сложения для длинных списков. |
Путь экспорта
Предупреждение
Эта функция является прототипом; в будущем возможны несовместимые изменения.
export generated/exportdb/index
Поток управления
Предупреждение
Эта функция является прототипом; в будущем возможны несовместимые изменения.
cond
| Условно применяет |
Оптимизации
compile
| Оптимизирует указанную модель/функцию с помощью TorchDynamo и выбранного бэкенда. |
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/torch.html