目录

torch

torch 包包含用于多维的数据结构 张量,并定义对这些张量的数学运算。 此外,它还提供了许多实用程序,用于高效序列化 张量和任意类型,以及其他有用的实用程序。

它有一个 CUDA 对应项,使您能够运行张量计算 在计算能力 >= 3.0 的 NVIDIA GPU 上。

Tensors

is_tensor

如果 obj 是 PyTorch 张量,则返回 True。

is_storage

如果 obj 是 PyTorch 存储对象,则返回 True。

is_complex

如果 的数据类型是复杂数据类型,即 、 和 之一,则返回 True。inputtorch.complex64torch.complex128

is_conj

如果 是共轭张量,即其共轭位设置为 True,则返回 True。input

is_floating_point

如果 的数据类型是浮点数据类型,即 、 、 和 之一,则返回 True 。inputtorch.float64torch.float32torch.float16torch.bfloat16

is_nonzero

如果 是类型转换后不等于零的单元素张量,则返回 True。input

set_default_dtype

将默认浮点 dtype 设置为 .d

get_default_dtype

获取当前默认浮点数

set_default_device

设置要在 上分配的默认值。torch.Tensordevice

get_default_device

获取要分配的默认值torch.Tensordevice

set_default_tensor_type

努梅尔

返回张量中的元素总数。input

set_printoptions

设置打印选项。

set_flush_denormal

禁用 CPU 上的非正规浮点数。

创建任务

注意

随机采样创建操作列在 Random sampling 和 include: 您还可以与 In-place 随机采样方法一起使用,以创建具有从更广泛的 分布范围。

张肌

通过复制构造没有 autograd 历史记录的张量(也称为“叶张量”,请参阅 Autograd 机制)。data

sparse_coo_tensor

COO(rdinate) 格式构造一个稀疏张量,并在给定的 .indices

sparse_csr_tensor

在 CSR(压缩稀疏行)中构造一个稀疏张量,并在给定的 和 处使用指定的值。crow_indicescol_indices

sparse_csc_tensor

在 CSC(压缩稀疏列)中构造一个稀疏张量,并在给定的 和 处使用指定的值。ccol_indicesrow_indices

sparse_bsr_tensor

在 BSR(块压缩稀疏行)中构造一个稀疏张量,其中包含给定 和 处的指定二维块。crow_indicescol_indices

sparse_bsc_tensor

在 BSC(块压缩稀疏列)中构造一个稀疏张量,并在给定的 和 处使用指定的二维块。ccol_indicesrow_indices

asarray

转换为 Tensor。obj

as_tensor

转换为 Tensor,共享数据并尽可能保留 autograd 历史记录。data

as_strided

创建现有Torch的视图具有指定 、 和 的 Tensor 。inputsizestridestorage_offset

from_file

创建一个 CPU 张量,其存储由内存映射文件提供支持。

from_numpy

中创建 .

from_dlpack

将来自外部库的张量转换为 .torch.Tensor

frombuffer

从实现 Python 缓冲区协议的对象创建 1-dimension

返回一个填充了标量值 0 的张量,其形状由变量参数 定义。size

zeros_like

返回一个填充有标量值 0 的张量,其大小与 相同。input

返回一个填充了标量值 1 的张量,其形状由变量参数 定义。size

ones_like

返回一个填充了标量值 1 的张量,其大小与 相同。input

阿兰吉

返回大小为结束开始\left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil使用区间中的值,其中的公差从 start 开始。[start, end)step

范围

返回大小为结束开始+1\left\lfloor \frac{\text{end} - \text{start}}{\text{step}} \right\rfloor + 1其中值从 到 与步骤 .startendstep

林斯帕

创建一个 size 的一维张量,其值从 to 到 (包括 to )均匀分布。stepsstartend

日志空间

创建一个大小的一维张量,其值与steps基础开始{{\text{{base}}}}^{{\text{{start}}}}基础结束{{\text{{base}}}}^{{\text{{end}}}},包括在以 为底的对数刻度上。base

眼睛

返回一个二维张量,其中 1 在对角线上,在其他位置上为 0。

返回一个填充了未初始化数据的张量。

empty_like

返回大小与 相同的未初始化张量。input

empty_strided

使用指定的 和 和 填充未定义的数据创建张量。sizestride

创建一个大小为 的张量,其中填充了 。sizefill_value

full_like

返回一个大小与 fill with 相同大小的张量。inputfill_value

quantize_per_tensor

将浮点张量转换为具有给定比例和零点的量化张量。

quantize_per_channel

将浮点张量转换为具有给定比例和零点的每通道量化张量。

Dequantize (反量化)

通过对量化的 Tensor 进行反量化,返回 fp32 Tensor

复杂

构造一个复张量,其实部等于 ,虚部等于

构造一个复张量,其元素是对应于具有绝对值和 angle 的极坐标的笛卡尔坐标。

重赛德

计算 中每个单元的 Heaviside 阶跃函数。input

索引、切片、联接、更改运算

伴随

返回已变位且最后两个维度转置的张量的视图。

argwhere

返回一个张量,其中包含 的所有非零元素的索引。input

连接给定维度中的给定张量序列。seq

连接

的别名 .

连接

的别名 .

conj

返回具有翻转共轭位的视图。input

尝试将张量拆分为指定数量的块。

dsplit

根据 ,将具有三个或更多维度的张量 (Splits) 深度划分为多个张量。inputindices_or_sections

column_stack

通过在 中水平堆叠张量来创建新的张量。tensors

dstack

按顺序纵向堆叠张量(沿第三个轴)。

收集

沿 dim 指定的轴收集值。

hsplit

Splits ,根据 将具有一个或多个维度的张量水平拆分为多个张量。inputindices_or_sections

hstack

水平顺序(逐列)堆叠张量。

index_add

有关功能说明,请参阅

index_copy

有关功能说明,请参阅

index_reduce

有关功能说明,请参阅

index_select

返回一个新的张量,该张量使用其中的 LongTensor 条目沿维度为张量编制索引。inputdimindex

masked_select

返回一个新的 1-D 张量,该张量根据布尔掩码(即 BoolTensor)为张量编制索引。inputmask

移动

将 位置的尺寸移动到 中的位置。inputsourcedestination

移动轴

别名 .

返回一个新的 Tensor,该 Tensor 是 Tensor 的缩小版本。input

narrow_copy

except 相同,这将返回副本而不是共享存储。

取代

返回原始张量的视图,其维度已排列。input

重塑

返回一个张量,其数据和元素数与 相同,但具有指定的形状。input

row_stack

的别名 .

选择

在给定索引处沿所选维度对张量进行切片。input

散射

的 Out-of-place version

diagonal_scatter

沿 的对角线元素将张量的值嵌入到 中,相对于 和 。srcinputinputdim1dim2

select_scatter

将张量的值嵌入到给定的索引中。srcinput

slice_scatter

将张量的值嵌入到给定维度中。srcinput

scatter_add

的 Out-of-place version

scatter_reduce

的 Out-of-place version

分裂

将张量拆分为块。

返回删除了大小为 1 的所有指定维度的张量。input

沿新维度连接一系列张量。

swapaxes (交换轴)

别名 .

Swapdims

别名 .

t

期望为 <= 2-D 张量并转置维度 0 和 1。input

返回一个新张量,其中包含给定索引的元素。input

take_along_dim

从沿给定 的 1 维索引处选择值。inputindicesdim

tensor_split

根据 指定的索引或截面数,将一个张量拆分为多个子张量,所有这些子张量都是 的视图,沿维度。inputdimindices_or_sections

通过重复 的元素来构造张量。input

Transpose (转置)

返回一个张量,该张量是 的转置版本。input

删除张量维度。

unravel_index

将平面索引的张量转换为坐标张量元组,这些坐标张量元组索引为指定形状的任意张量。

解压

返回在指定位置插入维度大小为 1 的新张量。

vsplit

根据 将具有两个或多个维度的张量垂直拆分为多个张量。inputindices_or_sections

VSTACK

按顺序垂直(逐行)堆叠张量。

哪里

返回从 或 中选择的元素的张量,具体取决于 。inputothercondition

加速器

在 PyTorch 存储库中,我们将 “Accelerator” 定义为正在使用的 以及一个 CPU 来加速计算。这些设备使用异步执行方案 using 作为执行同步的主要方式。 我们还假设给定主机上一次只能有一个这样的加速器可用。这允许 us 使用当前加速器作为相关概念(如固定内存)的默认设备, Stream device_type、FSDP 等。

截至今天,加速器设备是(排名不分先后)“CUDA”、“MTIA”、“XPU”和 PrivateUse1(许多设备不在 PyTorch 存储库本身中)。

按先进先出 (FIFO) 顺序异步执行相应任务的顺序队列。

事件

查询和记录 Stream 状态,以识别或控制 Stream 中的依赖关系并测量计时。

发电机

发电机

创建并返回一个生成器对象,该对象管理生成伪随机数的算法的状态。

随机抽样

种子

在所有设备上将用于生成随机数的种子设置为非确定性随机数。

manual_seed

设置用于在所有设备上生成随机数的种子。

initial_seed

返回用于生成 Python long 形式的随机数的初始种子。

get_rng_state

将随机数生成器状态返回为Torch。ByteTensor 的 ByteTensor 中。

set_rng_state

设置随机数生成器状态。

torch。 default_generator 返回默认 CPU Torch。发电机

伯努利

从伯努利分布中绘制二进制随机数(0 或 1)。

多项式

返回一个张量,其中每行都包含从位于相应张量行中的多项式(更严格的定义是多元,请参阅更多详细信息)概率分布采样的索引。num_samplesinput

正常

返回从给定平均值和标准差的单独正态分布中提取的随机数张量。

泊 松

返回一个张量,其大小与从泊松分布中采样的每个元素相同,其中 rate 参数由相应的元素给出,即inputinput

兰特

返回一个张量,其中填充了区间上均匀分布的随机数[0,1)[0, 1)

rand_like

返回一个张量,其大小与在区间上均匀分布中填充的随机数相同input[0,1)[0, 1).

randint

返回一个张量,其中填充了在 (含) 和 (不含) 之间均匀生成的随机整数。lowhigh

randint_like

返回一个与 Tensor 形状相同的张量,其中填充了在 (含) 和 (不包括) 之间均匀生成的随机整数。inputlowhigh

randn

返回一个张量,该张量填充了均值为 0 且方差为 1 的正态分布中的随机数(也称为标准正态分布)。

randn_like

返回一个大小相同的张量,该张量填充了来自均值为 0 且方差为 1 的正态分布中的随机数。input

兰德珀姆

返回整数的随机排列 from to 。0n - 1

就地随机采样

在 Tensor 上还定义了一些更多的就地随机采样函数。单击以参考其文档:

  • - 的就地版本

  • - 从 Cauchy 分布中抽取的数字

  • - 从指数分布中抽取的数字

  • - 从几何分布中提取的元素

  • - 来自对数正态分布的样本

  • - 的就地版本

  • - 从离散均匀分布中采样的数字

  • - 从连续均匀分布中采样的数字

准随机采样

quasirandom 的SobolEngine 引擎

这是一个用于生成 (打乱) Sobol 序列的引擎。

序列化

将对象保存到磁盘文件。

负荷

从文件加载 保存的对象

排比

get_num_threads

返回用于并行化 CPU 操作的线程数

set_num_threads

设置用于 CPU 上的内部操作并行性的线程数。

get_num_interop_threads

返回用于 CPU 上的操作间并行性的线程数(例如

set_num_interop_threads

设置用于互操作并行度的线程数(例如

在本地禁用梯度计算

上下文管理器 和 有助于在本地禁用和启用 梯度计算。有关的更多详细信息,请参阅本地禁用梯度计算 它们的用途。这些上下文管理器是线程本地的,因此它们不会 work 如果你使用模块将 work 发送到另一个线程,等等。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

禁用梯度计算的 context-manager 。

enable_grad

启用梯度计算的 context-manager 来启用梯度计算。

autograd.grad_mode.set_grad_enabled

设置梯度计算打开或关闭的 context-manager。

is_grad_enabled

如果当前启用了 grad 模式,则返回 True。

autograd.grad_mode.inference_mode

启用或禁用推理模式的 context-manager。

is_inference_mode_enabled

如果当前启用了推理模式,则返回 True。

数学运算

Pointwise Ops

ABS 抗体

计算 中每个元素的绝对值。input

绝对

别名

ACOS

计算 中每个元素的反余弦值。input

arccos

别名 .

阿科什

返回一个具有 的元素的反双曲余弦的新张量。input

阿克科什

别名 .

将 、缩放比例为 的 添加到 。otheralphainput

addcdiv

执行 by 的元素级除法,将结果乘以标量,然后将其添加到 。tensor1tensor2valueinput

添加

执行 by 的元素乘法,将结果乘以标量,并将其添加到 。tensor1tensor2valueinput

角度

计算给定张量的元素角度(以弧度为单位)。input

ASIN (英文)

返回一个新张量,其中包含 的元素的反正弦值。input

arcsin

别名 .

阿辛

返回一个新张量,其中包含 的元素的反双曲正弦值。input

阿辛

别名 .

阿坦

返回一个具有 元素的反正切值的新张量。input

arctan (反正)

别名 .

阿坦

返回一个具有 的元素的反双曲正切的新张量。input

阿克坦

别名 .

阿坦2

元素反正切输入/其他\text{input}_{i} / \text{other}_{i}考虑到象限。

反 2

别名 .

bitwise_not

计算给定输入张量的按位 NOT。

bitwise_and

计算 和 的按位 AND 。inputother

bitwise_or

计算 和 的按位 OR 。inputother

bitwise_xor

计算 和 的按位 XOR 。inputother

bitwise_left_shift

计算 by bits 的左算术移位。inputother

bitwise_right_shift

计算按位的正确算术移位。inputother

CEIL

返回一个新的张量,其中元素的 ceil 为 ,大于或等于每个元素的最小整数。input

将所有元素限制在 [ ] 范围内。input

别名 .

conj_physical

计算给定张量的元素共轭。input

复制签名

按元素创建一个大小为 和 符号 的新浮点张量。inputother

因为

返回一个新张量,其元素的余弦值为 。input

返回一个具有 元素的双曲余弦值的新张量。input

deg2rad

返回一个新的张量,其中包含从以度为单位的角度转换为弧度的每个元素。input

迪夫

将输入的每个元素除以 的相应元素。inputother

别名 .

迪伽马

别名 .

ERF

别名 .

ERFC

别名 .

埃尔芬夫

别名 .

exp (英文)

返回一个新张量,其 input tensor 的元素是指数。input

exp2

别名 .

expm1

别名 .

fake_quantize_per_channel_affine

返回一个新的张量,其中每个通道使用 、 和 、 在 指定的通道上对 数据进行假量化。inputscalezero_pointquant_minquant_maxaxis

fake_quantize_per_tensor_affine

返回一个新的张量,其中数据使用 、 和 进行假量化。inputscalezero_pointquant_minquant_max

修复

别名

float_power

在 element 上提高到 , 的幂,精度为双倍精度。inputexponent

地板

返回一个新张量,其中元素的下限为 ,是小于或等于每个元素的最大整数。input

floor_divide

fmod

逐个入口应用 C++ 的 std::fmod

压裂

计算 中每个元素的小数部分。input

frexp

分解为尾数和指数张量,使得input输入=尾数×2指数\text{input} = \text{mantissa} \times 2^{\text{exponent}}.

梯度

估计函数的梯度g:RnRg : \mathbb{R}^n \rightarrow \mathbb{R}在一个或多个维度中,使用二阶准确中心差分方法和边界处的一阶或二阶估计值。

图像

返回包含张量的虚数值的新张量。self

ldexp

乘以 2 ** 。inputother

插值

对两个张量(由 给出)进行线性插值,并基于标量或张量,并返回结果张量。startinputendweightout

lgamma

计算 上 的 gamma 函数绝对值的自然对数。input

日志

返回一个具有 元素的自然对数的新张量。input

对数 10

返回一个新的张量,其对数为 的 以 的 10 为底的元素。input

对数 1p

返回自然对数为 (1 + ) 的新张量。input

日志 2

返回一个新的张量,其对数为 以 的 2 为底的元素。input

logaddexp

输入的幂和的对数。

logaddexp2

以 2 为基数的输入的幂数之和的对数。

logical_and

计算给定输入张量的元素级逻辑 AND。

logical_not

计算给定 input 张量的元素级逻辑 NOT。

logical_or

计算给定输入张量的元素级逻辑 OR。

logical_xor

计算给定输入张量的元素级逻辑 XOR。

罗吉特

别名 .

海波

给定直角三角形的边,返回其斜边。

i0

别名 .

伊伽玛

别名 .

igammac

别名 .

乘以 。inputother

别名 .

MVLGAMMA

别名 .

nan_to_num

将 、 中的正无穷大和负无穷大值分别替换为 、 和 中指定的值。NaNinputnanposinfneginf

返回一个元素为 负数的新张量。input

阴性

别名

nextafter

返回 towards 之后的下一个浮点值 , elementwise。inputother

Polygamma 系列

别名 .

阳性

返回。input

战俘

获取 with 中每个元素的幂,并返回包含结果的张量。inputexponent

quantized_batch_norm

对 4D (NCHW) 量化张量应用批量归一化。

quantized_max_pool1d

对由多个输入平面组成的输入量化张量应用 1D 最大池化。

quantized_max_pool2d

将 2D 最大池化应用于由多个输入平面组成的输入量化张量。

rad2度

返回一个新的张量,其中每个元素都从以弧度为单位的角度转换为度数。input

真正

返回一个包含张量实数值的新张量。self

倒数

返回一个新张量,其中包含 的元素的倒数input

剩余

按入口计算 Python 的模运算

将 的元素舍入到最接近的整数。input

RSQRT

返回一个新的张量,其中包含 的每个元素的平方根的倒数。input

乙状结肠

别名 .

标志

返回一个带有 元素符号的新张量。input

新加坡

此函数是 torch.sign() 对复杂张量的扩展。

signbit

测试每个元素是否设置了其符号位。input

返回一个新张量,其中包含 的元素的正弦值。input

别名 .

返回一个具有 元素的双曲正弦值的新张量。input

softmax

别名 .

SQRT

返回一个具有 元素的平方根的新张量。input

广场

返回一个新张量,其元素为 的平方。input

从 中减去 、缩放 、 。otheralphainput

减去

别名 .

返回一个新张量,其元素的正切值为 。input

返回一个具有 元素的双曲正切的新张量。input

true_divide

的别名rounding_mode=None

trunc

返回一个新的张量,其中包含 的元素的截断整数值。input

xlogy

别名 .

减少操作

Argmax

返回张量中所有元素的最大值的索引。input

ARGMIN 公司

返回展平张量的最小值或沿维度的索引

阿麦斯

返回给定 dimension(s) 中张量的每个切片的最大值。inputdim

阿明

返回给定 dimension(s) 中张量的每个切片的最小值。inputdim

AMINMAX 公司

计算张量的最小值和最大值。input

All

测试 中的所有元素是否计算结果都为 Trueinput

任何

测试 中的任何元素是否计算为 Trueinput

麦克斯

返回张量中所有元素的最大值。input

分钟

返回张量中所有元素的最小值。input

距离

返回 (input - other)

logsumexp

返回给定 dimension 中张量的每一行的指数求和对数。inputdim

意味 着

返回张量中所有元素的平均值。input

南美

计算沿指定维度的所有非 NaN 元素的平均值。

中位数

返回 中值的中位数。input

南米迪安

返回 中值的中位数,忽略值。inputNaN

模式

返回一个命名元组,其中 是给定维度中张量的每一行的模式值,即该行中最常出现的值,并且是找到的每个模式值的索引位置。(values, indices)valuesinputdimindices

规范

返回给定张量的矩阵范数或向量范数。

南森

返回所有元素的总和,将非数字 (NaN) 视为零。

返回张量中所有元素的乘积。input

分位数

计算沿 dimension . 的每行张量的第 q 个分位数。inputdim

南泉平

这是 “忽略” 值的变体,计算分位数,就好像 中的值不存在一样。NaNqNaNinput

性病

计算 指定的维度的标准差。dim

std_mean

计算 指定的维度的标准差和平均值。dim

返回张量中所有元素的总和。input

独特

返回输入张量的唯一元素。

unique_consecutive

从每组连续的等效元素中消除除第一个元素之外的所有元素。

var (无值)

计算 指定的维度的差异。dim

var_mean

计算 指定的维度的方差和平均值。dim

count_nonzero

计算张量中沿给定 的非零值的数量。inputdim

比较操作

全部关闭

此函数检查是否满足条件:inputother

argsort

返回沿给定维度按值升序对张量进行排序的索引。

情 商

计算元素相等性

平等

True如果两个 Tensor 具有相同的大小和元素,否则。False

通用 电气

计算输入其他\text{input} \geq \text{other}元素。

greater_equal

别名 .

燃气轮机

计算输入>其他\text{input} > \text{other}元素。

别名 .

isclose

返回一个新的张量,其中包含布尔元素,表示 的每个元素是否“接近”的相应元素 。inputother

是有限的

返回一个新的张量,其中包含布尔元素,表示每个元素是否为有限

伊辛

测试 的每个元素是否都在 中。elementstest_elements

测试 的每个元素是否为无限(正或负无穷大)。input

isposinf

测试 的每个元素是否为正无穷大。input

不是

测试 的每个元素是否为负无穷大。input

伊斯南

返回一个新的张量,其中包含布尔元素,表示 的每个元素是否为 NaN。input

以色列

返回一个新的张量,其中包含布尔元素,表示 的每个元素是否为实值。input

kth值

返回一个 namedtuple,其中 是给定维度中张量的每一行的第 个最小元素。(values, indices)valueskinputdim

计算输入其他\text{input} \leq \text{other}元素。

less_equal

别名 .

中尉

计算输入<其他\text{input} < \text{other}元素。

别名 .

最大

计算 和 的元素最大值。inputother

最低

计算 和 的元素最小值。inputother

fmax

计算 和 的元素最大值。inputother

fmin

计算 和 的元素最小值。inputother

NE

计算输入其他\text{input} \neq \text{other}元素。

not_equal

别名 .

排序

沿给定维度按值升序对张量的元素进行排序。input

托普克

返回给定张量沿给定维度的最大元素。kinput

msort

沿张量的第一个维度按值升序对张量的元素进行排序。input

Spectral Ops

STFT

短时傅里叶变换 (STFT)。

ISFT公司

逆短时傅里叶变换。

bartlett_window

Bartlett 窗口函数。

blackman_window

Blackman 窗口函数。

hamming_window

汉明窗函数。

hann_window

Hann 窗口函数。

kaiser_window

使用 window length 和 shape parameter 计算 Kaiser 窗口。window_lengthbeta

其他操作

atleast_1d

返回每个输入张量的一维视图,维度为零。

atleast_2d

返回每个输入张量的二维视图,维度为零。

atleast_3d

返回每个输入张量的 3 维视图,维度为零。

bincount

计算非负 int 数组中每个值的频率。

block_diag

从提供的张量创建块对角矩阵。

broadcast_tensors

根据 Broadcasting 语义广播给定的 Tensor。

broadcast_to

广播到形状 。inputshape

broadcast_shapes

类似于 但 for shapes.

存储桶

返回 中每个值所属的存储桶的索引,其中存储桶的边界由 设置。inputboundaries

cartesian_prod

对给定的张量序列进行笛卡尔积。

CDIST 餐厅

对两个行向量集合的每对之间的 p-norm 距离进行批处理。

克隆

返回 的副本。input

组合

计算长度的组合rr给定张量的 Tensor 中。

科尔科夫

估计矩阵给定的变量的 Pearson 乘积矩相关系数矩阵,其中行是变量,列是观测值。input

COV

估计矩阵给定的变量的协方差矩阵,其中 rows 是变量,columns 是观测值。input

返回向量在维度 和 中的叉积。diminputother

Cummax

返回一个 namedtuple,其中 是维度 中的元素的累积最大值。(values, indices)valuesinputdim

康明

返回一个 namedtuple,其中 是维度 中的元素的累积最小值。(values, indices)valuesinputdim

cumprod

返回维度 中 的元素的累积乘积。inputdim

cumsum

返回维度 中的元素的累积总和 。inputdim

诊断

  • 如果 是向量(一维张量),则返回二维方张量input

diag_embed

创建一个张量,其某些 2D 平面(由 和 指定)的对角线由 填充。dim1dim2input

diagflat

  • 如果 是向量(一维张量),则返回二维方张量input

对角

返回 的部分视图,其中包含相对于形状的对角线元素,并作为维度附加到形状的末尾。inputdim1dim2

差异

计算沿给定维度的第 n 个正向差值。

艾因苏姆

对输入元素的乘积沿使用基于 Einstein 求和约定的表示法指定的维度求和。operands

扁平 化

通过将其重塑为一维张量来展平。input

空翻

反转沿给定轴的 n-D 张量的顺序(以 dims 为单位)。

翻转

向左/向右翻转张量,返回一个新的张量。

翻转

向上/向下翻转张量,返回一个新的张量。

克朗

计算 Kronecker 乘积,表示为\otimes、 的 和 。inputother

腐90

在 dims axis 指定的平面上将 n-D 张量旋转 90 度。

最大公约数

计算 和 的元素最大公约数 (GCD)。inputother

histc

计算张量的直方图。

直方图

计算张量中值的直方图。

直方图DD

计算张量中值的多维直方图。

网格

创建由 attr:tensors 中的 1D 输入指定的坐标网格。

最小公倍数

计算 和 的元素最小公倍数 (LCM)。inputother

logcumsumexp

返回维度 中元素的幂的累积总和的对数。inputdim

拉威尔

返回一个连续的扁平化张量。

重新规范

返回一个张量,其中沿维度的每个子张量都被归一化,使得子张量的 p-norm 低于该值inputdimmaxnorm

repeat_interleave

重复张量的元素。

沿给定维度滚动张量。input

搜索排序

最内层维度中查找索引,这样,如果 中的相应值插入到索引之前,则在排序时,将保留 中相应最内层维度的顺序。sorted_sequencevaluessorted_sequence

张量点

返回 a 和 b 在多个维度上的收缩。

跟踪

返回输入 2-D 矩阵的对角线元素之和。

三重奏

返回矩阵的下三角部分(二维张量)或矩阵批次,结果张量的其他元素设置为 0。inputout

tril_indices

返回 2×N 张量中 -by- 矩阵的下三角部分的索引,其中第一行包含所有索引的行坐标,第二行包含列坐标。rowcol

返回矩阵(二维张量)或矩阵批次的上三角部分,结果张量的其他元素设置为 0。inputout

triu_indices

返回 2×N 张量中 by 矩阵的上三角部分的索引,其中第一行包含所有索引的行坐标,第二行包含列坐标。rowcol

取消展平

在多个维度上扩展输入张量的维度。

范德

生成 Vandermonde 矩阵。

view_as_real

返回作为实际张量的视图。input

view_as_complex

返回 作为复杂张量的视图。input

resolve_conj

如果 的共轭位设置为 True,则返回具有物化共轭的新张量,否则返回 。inputinput

resolve_neg

如果 的负位设置为 True,则返回具有具体化否定的新张量,否则返回 。inputinput

BLAS 和 LAPACK 操作

addbmm

执行存储在 和 中的矩阵的批量矩阵-矩阵积,并减小了加法步长(所有矩阵乘法都沿第一维累积)。batch1batch2

地址

执行矩阵 和 的矩阵乘法。mat1mat2

ADDMV

执行矩阵和向量 的矩阵-向量乘积。matvec

地址

执行向量的外积,并将其添加到矩阵 中。vec1vec2input

baddbmm

执行 和 中的矩阵的批量矩阵-矩阵乘积。batch1batch2

BMM

执行存储在 和 中的矩阵的批量矩阵-矩阵积。inputmat2

chain_matmul

返回NN2-D 张量。

乔尔斯基

计算对称正定矩阵的 Cholesky 分解一个A或对称正定矩阵的批次。

cholesky_inverse

计算给定 Cholesky 分解的复 Hermitian 矩阵或实对称正定矩阵的逆矩阵。

cholesky_solve

计算具有复 Hermitian 或实对称正定 lhs 的线性方程组的解,给定其 Cholesky 分解。

计算两个 1D 张量的点积。

GEQRF

这是一个用于直接调用 LAPACK 的 geqrf 的低级函数。

德国

的别名 .

计算 1D 张量的点积。

别名

Det

别名

logdet

计算方阵或方阵批次的对数行列式。

Slogdet

别名

计算矩阵或矩阵批次的 LU 因式分解。A

lu_solve

返回线性方程组的 LU 求解一个x=bAx = b使用 A from 的部分枢轴 LU 分解。

lu_unpack

将返回的 LU 分解解压缩到 P、L、U 矩阵中。

马特穆尔

两个张量的矩阵积。

matrix_power

别名

matrix_exp

别名 .

毫米

执行矩阵 和 的矩阵乘法。inputmat2

中值

执行矩阵和向量 的矩阵-向量乘积。inputvec

组织 QR

别名 .

ORMQR

计算 Householder 矩阵与一般矩阵的乘积的矩阵乘法。

的外积 和 。inputvec2

平宇宙

别名

二维码

计算矩阵或一批矩阵的 QR 分解,并返回张量的命名元组 (Q, R),使得input输入=QR\text{input} = Q RQQ是正交矩阵或正交矩阵的批次,并且RR是上三角矩阵或上三角矩阵的批次。

SVD

计算矩阵或矩阵批次的奇异值分解。input

svd_lowrank

返回矩阵、矩阵批次或稀疏矩阵的奇异值分解(U, S, V)一个A使得一个U诊断(S)VHA \approx U \operatorname{diag}(S) V^{\text{H}}.

pca_lowrank

对低秩矩阵、此类矩阵的批次或稀疏矩阵执行线性主成分分析 (PCA)。

lobpcg

使用无矩阵 LOBPCG 方法查找对称正定广义特征值问题的 k 个最大(或最小)特征值和相应的特征向量。

陷阱

别名 .

梯形

沿 计算梯形规则dim

cumulative_trapezoid

沿 累积计算梯形规则dim

triangular_solve

求解具有平方上三角或下三角可逆矩阵的方程组一个A和多个右侧bb.

VDOT

计算两个 1D 向量沿一个维度的点积。

Foreach 操作

警告

此 API 目前处于测试阶段,将来可能会发生更改。 不支持前向模式 AD。

_foreach_abs

Apply to each Tensor 的 input 列表。

_foreach_abs_

Apply to each Tensor 的 input 列表。

_foreach_acos

Apply to each Tensor 的 input 列表。

_foreach_acos_

Apply to each Tensor 的 input 列表。

_foreach_asin

Apply to each Tensor 的 input 列表。

_foreach_asin_

Apply to each Tensor 的 input 列表。

_foreach_atan

Apply to each Tensor 的 input 列表。

_foreach_atan_

Apply to each Tensor 的 input 列表。

_foreach_ceil

Apply to each Tensor 的 input 列表。

_foreach_ceil_

Apply to each Tensor 的 input 列表。

_foreach_cos

Apply to each Tensor 的 input 列表。

_foreach_cos_

Apply to each Tensor 的 input 列表。

_foreach_cosh

Apply to each Tensor 的 input 列表。

_foreach_cosh_

Apply to each Tensor 的 input 列表。

_foreach_erf

Apply to each Tensor 的 input 列表。

_foreach_erf_

Apply to each Tensor 的 input 列表。

_foreach_erfc

Apply to each Tensor 的 input 列表。

_foreach_erfc_

Apply to each Tensor 的 input 列表。

_foreach_exp

Apply to each Tensor 的 input 列表。

_foreach_exp_

Apply to each Tensor 的 input 列表。

_foreach_expm1

Apply to each Tensor 的 input 列表。

_foreach_expm1_

Apply to each Tensor 的 input 列表。

_foreach_floor

Apply to each Tensor 的 input 列表。

_foreach_floor_

Apply to each Tensor 的 input 列表。

_foreach_log

Apply to each Tensor 的 input 列表。

_foreach_log_

Apply to each Tensor 的 input 列表。

_foreach_log10

Apply to each Tensor 的 input 列表。

_foreach_log10_

Apply to each Tensor 的 input 列表。

_foreach_log1p

Apply to each Tensor 的 input 列表。

_foreach_log1p_

Apply to each Tensor 的 input 列表。

_foreach_log2

Apply to each Tensor 的 input 列表。

_foreach_log2_

Apply to each Tensor 的 input 列表。

_foreach_neg

Apply to each Tensor 的 input 列表。

_foreach_neg_

Apply to each Tensor 的 input 列表。

_foreach_tan

Apply to each Tensor 的 input 列表。

_foreach_tan_

Apply to each Tensor 的 input 列表。

_foreach_sin

Apply to each Tensor 的 input 列表。

_foreach_sin_

Apply to each Tensor 的 input 列表。

_foreach_sinh

Apply to each Tensor 的 input 列表。

_foreach_sinh_

Apply to each Tensor 的 input 列表。

_foreach_round

Apply to each Tensor 的 input 列表。

_foreach_round_

Apply to each Tensor 的 input 列表。

_foreach_sqrt

Apply to each Tensor 的 input 列表。

_foreach_sqrt_

Apply to each Tensor 的 input 列表。

_foreach_lgamma

Apply to each Tensor 的 input 列表。

_foreach_lgamma_

Apply to each Tensor 的 input 列表。

_foreach_frac

Apply to each Tensor 的 input 列表。

_foreach_frac_

Apply to each Tensor 的 input 列表。

_foreach_reciprocal

Apply to each Tensor 的 input 列表。

_foreach_reciprocal_

Apply to each Tensor 的 input 列表。

_foreach_sigmoid

Apply to each Tensor 的 input 列表。

_foreach_sigmoid_

Apply to each Tensor 的 input 列表。

_foreach_trunc

Apply to each Tensor 的 input 列表。

_foreach_trunc_

Apply to each Tensor 的 input 列表。

_foreach_zero_

Apply to each Tensor 的 input 列表。torch.zero()

公用事业

compiled_with_cxx11_abi

返回 PyTorch 是否是使用 _GLIBCXX_USE_CXX11_ABI=1 构建的

result_type

返回对提供的输入张量执行算术运算的结果。

can_cast

确定类型提升文档中描述的 PyTorch 强制转换规则是否允许类型转换。

promote_types

返回具有最小大小和标量种类的 ,该标量种类不小于 type1type2

use_deterministic_algorithms

设置 PyTorch 操作是否必须使用 “确定性” 算法。

are_deterministic_algorithms_enabled

如果全局确定性标志处于打开状态,则返回 True。

is_deterministic_algorithms_warn_only_enabled

如果全局确定性标志设置为 warn only,则返回 True。

set_deterministic_debug_mode

设置确定性操作的调试模式。

get_deterministic_debug_mode

返回确定性操作的调试模式的当前值。

set_float32_matmul_precision

设置 float32 矩阵乘法的内部精度。

get_float32_matmul_precision

返回 float32 矩阵乘法精度的当前值。

set_warn_always

当此标志为 False (默认) 时,某些 PyTorch 警告可能每个进程只出现一次。

get_device_module

返回与给定设备关联的模块(例如,torch.device('cuda'), “mtia:0”, “xpu”, ...)。

is_warn_always_enabled

如果打开了全局 warn_always 标志,则返回 True。

VMAP

vmap 是矢量化映射; 返回一个映射输入的某个维度的新函数。vmap(func)func

_断言

Python 的 assert 的包装器,可符号地跟踪。

符号数字

Torch 的 Torch 类SymIntnode[来源]

与 int 类似(包括 magic 方法),但会重定向 wrapped 节点。这特别用于符号性记录操作 在 symbolic shape 工作流中。

as_integer_ratio)[来源]

将此 int 表示为精确的整数比率

返回类型

元组[SymIntint]

Torch 的 Torch 类SymFloatnode[来源]

类似于 float(包括魔术方法),但会重定向 wrapped 节点。这特别用于符号性记录操作 在 symbolic shape 工作流中。

as_integer_ratio)[来源]

将此浮点数表示为精确的整数比率

返回类型

元组[intint]

is_integer[来源]

如果浮点数为整数,则返回 True。

Torch 的 Torch 类SymBoolnode[来源]

类似于 bool(包括 magic 方法),但会重定向 wrapped 节点。这特别用于符号性记录操作 在 symbolic shape 工作流中。

与常规 bools 不同,常规 boolean 运算符将强制使用额外的守卫 的象征性评估。请改用按位运算符来处理此问题。

sym_float

用于浮点转换的 SymInt 感知实用程序。

sym_int

用于 int 强制转换的 SymInt 感知实用程序。

sym_max

用于 max 的 SymInt 感知实用程序,可避免在 a < b 上分支。

sym_min

用于 min() 的 SymInt 感知实用程序。

sym_not

用于逻辑求反的 SymInt 感知实用程序。

sym_ite

导出路径

警告

此功能是一个原型,将来可能会发生兼容性中断性变更。

出口 generated/exportdb/index (生成/导出数据库/索引)

控制流

警告

此功能是一个原型,将来可能会发生兼容性中断性变更。

待续

有条件地应用 true_fnfalse_fn

优化

编译

使用 TorchDynamo 和指定的后端优化给定的模型/函数。

torch.compile 文档

操作员标签

Torch 的 Torch 类标记

成员:

核心

data_dependent_output

dynamic_output_shape

flexible_layout

生成

inplace_view

needs_fixed_stride_order

nondeterministic_bitwise

nondeterministic_seeded

逐点

pt2_compliant_tag

view_copy

属性名称

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源