Spec-Zone.ru › PyTorch 1

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_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 с значениями, выбранными из более широкого диапазона распределений.

END_OF_DOCUMENT_MARKER
tensor

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

sparse_coo_tensor

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

asarray

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

as_tensor

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

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

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

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

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

movedim

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

moveaxis

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

narrow

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

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.

tile

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

transpose

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

unbind

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

unsqueeze

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

vsplit

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

vstack

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

where

Возвращает тензор элементов, выбранных либо из x или y, в зависимости от 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.

In-place случайная выборка

Есть несколько дополнительных функций случайной выборки in-place, определённых для тензоров. Перейдите по ссылкам, чтобы просмотреть документацию:

  • torch.Tensor.bernoulli_() - версия in-place для torch.bernoulli()
  • torch.Tensor.cauchy_() - числа, выбранные из распределения Коши
  • torch.Tensor.exponential_() - числа, выбранные из экспоненциального распределения
  • torch.Tensor.geometric_() - элементы, выбранные из геометрического распределения
  • torch.Tensor.log_normal_() - выборки из логнормального распределения
  • torch.Tensor.normal_() - версия in-place для 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, если режим grad в настоящее время включен.

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().

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**:attr:other.

lerp

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

lgamma

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

log

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

log10

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

log1p

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

log2

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

logaddexp

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

logaddexp2

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

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 и возвращает тензор с результатом.

quantized_batch_norm

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

quantized_max_pool1d

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

quantized_max_pool2d

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

rad2deg

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

real

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

reciprocal

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

remainder

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

round

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

rsqrt

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

sigmoid

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

sign

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

sgn

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

signbit

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

sin

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

sinc

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

sinh

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

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

Если unbiased равно True, будет использоваться поправка Бесселя.

std_mean

Если unbiased равно True, для расчета стандартного отклонения будет использоваться поправка Бесселя.

sum

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

unique

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

unique_consecutive

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

var

Если unbiased равно True, будет использоваться поправка Бесселя.

var_mean

Если unbiased равно True, для расчета дисперсии будет использоваться поправка Бесселя.

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 вдоль заданной размерности(ей).

searchsorted

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

tensordot

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

trace

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

tril

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

tril_indices

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

triu

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

triu_indices

Возвращает индексы верхней треугольной части row на col матрицы в тензоре 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

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

geqrf

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

ger

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

inner

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

inverse

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

det

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

logdet

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

slogdet

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

lu

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

lu_solve

Возвращает LU решение системы линейных уравнений 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()

qr

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

svd

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

svd_lowrank

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

pca_lowrank

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

symeig

Эта функция возвращает собственные значения и собственные векторы вещественной симметричной или комплексной эрмитовой матрицы input или набора таких матриц, представленных именованной кортежем (собственные значения, собственные векторы).

lobpcg

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

trapz

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

trapezoid

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

cumulative_trapezoid

Кумулятивно вычисляет правило трапеций по dim.

triangular_solve

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

vdot

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

Утилиты

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 включен.

_assert

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

Метки операторов

class torch.Tag

Члены:

inplace_view

nondeterministic_seeded

dynamic_output_shape

data_dependent_output

view_copy

generated

nondeterministic_bitwise

property name

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

Spec-Zone.ru

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