Spec-Zone.ru › PyTorch 2

torch

Пакет 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_nonzero

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

set_default_dtype

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

get_default_dtype

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

set_default_device

Устанавливает значение по умолчанию для torch.Tensor на device.

set_default_tensor_type

Устанавливает тип тензора по умолчанию для типа данных с плавающей точкой t.

numel

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

set_printoptions

Установить параметры для печати.

set_flush_denormal

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

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

Примечание

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

tensor

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

sparse_coo_tensor

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

sparse_csr_tensor

Создаёт разреженный тензор в формате CSR (Compressed Sparse Row) со значениями в заданных crow_indices и col_indices.

sparse_csc_tensor

Создаёт разреженный тензор в формате CSC (Compressed Sparse Column) со значениями в заданных ccol_indices и row_indices.

sparse_bsr_tensor

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

sparse_bsc_tensor

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

asarray

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

as_tensor

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

as_strided

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

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

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

empty

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

empty_like

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

empty_strided

Создаёт тензор со специфицированными size и stride и заполненными неопределёнными данными.

full

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

full_like

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

quantize_per_tensor

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

quantize_per_channel

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

dequantize

Возвращает тензор fp32 путём деквантизации квантованного тензора.

complex

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

polar

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

heaviside

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

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

adjoint

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

argwhere

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

cat

Конкатенирует заданную последовательность тензоров seq по заданному измерению.

concat

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

concatenate

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

conj

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

chunk

Попытка разбить тензор на указанное количество кусков.

dsplit

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

column_stack

Создаёт новый тензор, склеивая тензоры в tensors по горизонтали.

dstack

Склеивает тензоры последовательно по глубине (по третьему измерению).

gather

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

hsplit

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

hstack

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

index_add

См. index_add_() для описания функции.

index_copy

См. index_add_() для описания функции.

index_reduce

См. index_reduce_() для описания функции.

index_select

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

masked_select

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

movedim

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

moveaxis

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

narrow

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

narrow_copy

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

nonzero
permute

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

reshape

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

row_stack

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

select

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

scatter

Неизменяющий вариант torch.Tensor.scatter_()

diagonal_scatter

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

select_scatter

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

slice_scatter

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

scatter_add

Неизменяющий вариант torch.Tensor.scatter_add_()

scatter_reduce

Неизменяющий вариант torch.Tensor.scatter_reduce_()

split

Разделяет тензор на куски.

squeeze

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

stack

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

swapaxes

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

swapdims

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

t

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

take

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

take_along_dim

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

tensor_split

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

END_OF_DOCUMENT_MARKER
tile

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

transpose

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

unbind

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

unsqueeze

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

vsplit

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

vstack

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

where

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

Генераторы

Generator

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

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

seed

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

manual_seed

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

initial_seed

Возвращает начальный 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 индексы, взятые из многомерного распределения вероятностей, расположенного в соответствующей строке тензора 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(), из файла.

Параллельность

get_num_threads

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

set_num_threads

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

get_num_interop_threads

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

set_num_interop_threads

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

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

Менеджеры контекста 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

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

set_grad_enabled

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

is_grad_enabled

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

inference_mode

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

is_inference_mode_enabled

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

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

Точечные операции

abs

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

absolute

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

acos

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

arccos

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

acosh

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

arccosh

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

add

Добавляет other, масштабированный на alpha, к input.

addcdiv

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

addcmul

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

angle

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

asin

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

arcsin

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

asinh

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

arcsinh

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

atan

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

arctan

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

atanh

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

arctanh

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

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, наименьшее целое число, большее или равное каждому элементу.

clamp

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

clip

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

conj_physical

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

copysign

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

cos

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

cosh

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

deg2rad

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

div

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

divide

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

digamma

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

erf

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

erfc

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

erfinv

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

exp

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

exp2

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

END_OF_DOCUMENT_MARKER
expm1

Псевдоним для torch.special.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.

fix

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

float_power

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

floor

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

floor_divide
fmod

Применяет C++'s std::fmod поэлементно.

frac

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

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.

lerp

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

lgamma

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

log

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

log10

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

log1p

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

log2

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

logaddexp

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

logaddexp2

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

logical_and

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

logical_not

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

logical_or

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

logical_xor

Вычисляет поэлементное логическое ИСКЛЮЧАЮЩЕЕ ИЛИ заданных входных тензоров.

logit

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

hypot

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

i0

Псевдоним для torch.special.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.

neg

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

negative

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

nextafter

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

polygamma

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

positive

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

pow

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

END_OF_DOCUMENT_MARKER
quantized_batch_norm

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

quantized_max_pool1d

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

quantized_max_pool2d

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

rad2deg

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

real

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

reciprocal

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

remainder

Вычисляет операцию взятия остатка (модуль) по элементам.

round

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

rsqrt

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

sigmoid

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

sign

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

sgn

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

signbit

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

sin

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

sinc

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

sinh

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

softmax

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

sqrt

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

square

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

sub

Вычитает other, масштабированное на alpha, из input.

subtract

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

tan

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

tanh

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

true_divide

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

trunc

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

xlogy

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

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

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

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

nanmean

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

median

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

nanmedian

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

mode

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

norm

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

nansum

Возвращает сумму всех элементов, обрабатывая значения Not a Number (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.

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

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.

Другие операции

atleast_1d

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

atleast_2d

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

atleast_3d

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

bincount

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

block_diag

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

broadcast_tensors

Распространяет заданные тензоры в соответствии с семантикой распространения.

broadcast_to

Распространяет input до формы shape.

broadcast_shapes

Аналогично broadcast_tensors(), но для форм.

bucketize

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

cartesian_prod

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

cdist

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

clone

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

combinations

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

corrcoef

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

cov

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

cross

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

cummax

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

cummin

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

cumprod

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

cumsum

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

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

Создает тензор, диагонали некоторых 2D-плоскостей (указанных dim1 и dim2) заполнены значением input.

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

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

diff

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

einsum

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

flatten

Разворачивает input, переформировывая его в одномерный тензор.

flip

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

fliplr

Переворачивает тензор влево/вправо, возвращая новый тензор.

flipud

Переворачивает тензор вверх/вниз, возвращая новый тензор.

kron

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

rot90

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

gcd

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

histc

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

histogram

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

histogramdd

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

meshgrid

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

lcm

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

logcumsumexp

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

ravel

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

renorm

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

repeat_interleave

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

roll

Сдвигает тензор input вдоль заданных измерений.

END_OF_DOCUMENT_MARKER
searchsorted

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

tensordot

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

trace

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

tril

Возвращает нижнюю треугольную часть матрицы (2-мерного тензора) или набора матриц input, остальные элементы результирующего тензора out устанавливаются в 0.

tril_indices

Возвращает индексы нижней треугольной части матрицы rowxcol в тензоре 2xN, где первая строка содержит координаты строк всех индексов, а вторая строка содержит координаты столбцов.

triu

Возвращает верхнюю треугольную часть матрицы (2-мерного тензора) или набора матриц input, остальные элементы результирующего тензора out устанавливаются в 0.

triu_indices

Возвращает индексы верхней треугольной части матрицы rowxcol в тензоре 2xN, где первая строка содержит координаты строк всех индексов, а вторая строка содержит координаты столбцов.

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.

addr

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

baddbmm

Выполняет произведение матриц в наборах batch1 и batch2.

bmm

Выполняет произведение матриц в наборах input и mat2.

chain_matmul

Возвращает матричное произведение NN 2-мерных тензоров.

cholesky

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

cholesky_inverse

Вычисляет обратную матрицу AA используя её фактор Холецкого uu: возвращает матрицу inv.

cholesky_solve

Решает систему линейных уравнений с положительно полуопределённой матрицей, которая должна быть обращена, с заданным фактором Холецкого uu.

dot

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

geqrf

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

ger

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

inner

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

inverse

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

det

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

logdet

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

slogdet

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

lu

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

lu_solve

Возвращает LU-решение системы линейных уравнений Ax=bAx = b используя частично-пивотированное LU-разложение А из 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()

qr

Вычисляет QR-разложение матрицы или набора матриц input, и возвращает именованную кортеж (Q, R) тензоров, таких что input=QR\text{input} = Q R с QQ ортогональной матрицей или набором ортогональных матриц и RR верхней треугольной матрицей или набором верхних треугольных матриц.

svd

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

END_OF_DOCUMENT_MARKER
svd_lowrank

Возвращает сингулярное разложение (U, S, V) матрицы, набора матриц или разреженной матрицы AA таким образом, что A≈Udiag(S)VTA \approx U diag(S) V^T.

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_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() к каждому тензору в списке входных данных.

Утилиты

compiled_with_cxx11_abi

Возвращает значение, указывающее, был ли PyTorch скомпилирован с _GLIBCXX_USE_CXX11_ABI=1

result_type

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

can_cast

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

promote_types

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

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

Обёртка над утверждением Python, которая является символьно прослеживаемой.

Символьные числа

class torch.SymInt(node) [source]

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

class torch.SymFloat(node) [source]

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

class torch.SymBool(node) [source]

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

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

sym_float

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

sym_int

Утилита, учитывающая SymInt, для преобразования в целочисленный тип.

sym_max

Утилита, учитывающая SymInt, для операции max().

sym_min

Утилита, учитывающая SymInt, для операции max().

sym_not

Утилита, учитывающая SymInt, для логического отрицания.

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

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

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

export generated/exportdb/index

Оптимизации

compile

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

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

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

class torch.Tag

Члены:

core

data_dependent_output

dynamic_output_shape

generated

inplace_view

nondeterministic_bitwise

nondeterministic_seeded

pointwise

view_copy

property name

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

Spec-Zone.ru

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