Torch包函数4 - v1.1(施工中...)

  1. torch.sort(input,dim=-1,descending=False,out=None): → Tensor

    将input张量在指定维按升序排序元素。

    如果dim未指定,则默认为最后一个维度。

    如果descending为True,则按降序排序。

    返回一个命名元组(values,indices),其中values为值排好序的张量,indices为values对应的索引张量。

    参数

    input(Tensor): 输入张量。

    dim(int,可选): 排序的维度。

    descending(bool,可选): 控制排序方式。

    out(tuple,可选): 可被选作做输出缓冲区的输出元组(Tensor,LongTensor)。

    Example:

    在这里插入图片描述

  2. torch.topk(input,k,dim=None,largest=True,sorted=True,out=None): → (Tensor,LongTensor)

    返回input在给定dim维的前k大的元素。

    如果dim未给,则默认为input的最后维。

    如果largest为False,则返回第k小的元素。

    返回一个命名元组(values,indices),其中values为值排好序的张量,indices为values对应的索引张量。

    如果bool值sorted为True,则返回的张量也会被排序。

    参数

    input(Tensor): 输入张量。

    k(int): 返回前k个值。

    dim(int,可选): 排序的维度。

    largest(bool,可选): 决定返回的是最大值还是最小值。

    sorted(bool,可选): 决定返回的张量是否排序。

    out(tuple,可选): 可被选作做输出缓冲区的输出元组(Tensor,LongTensor)。

    Example:

    在这里插入图片描述

Spectral Ops

  1. torch.fft(input,signal_ndim,normalized=False): → Tensor

    该函数用来计算复到复(complex-to-complex)的离散傅里叶变换。忽略了批维度(batch dimensions),它计算以下的表达式:

    在这里插入图片描述
    其中d = signal_ndim为信号的维度数,Ni为第i信号维的大小。

    该方法支持1D,2D和3D的复到复的,由signal_ndim指示的变换。输入必须是最后一维大小为2——表示复数的实部和虚部,且拥有可选的任意数量的前导批维度的,至少signal_ndim+1维的张量。如果normalized被设置为True,则通过将结果除以
    在这里插入图片描述
    来进行规范化。

    返回形状与input相同的且同时具有实部和虚部的张量。

    该函数的逆函数为ifft()。

    Note:
    对于CUDA张量,cuFFT计划使用LRU高速缓存来加速在有着相同配置和几何的张量上重复运行的FFT方法。见 https://blog.csdn.net/JachinMa/article/details/94026347 以了解更多操作和控制高速缓存的细节。

    Warning:
    对CPU张量来说,本方法目前只适用于MKL。使用torch.backends.mkl.is_available()来检查MKL是否安装。

    参数

    input(Tensor): 至少有signal_ndim+1维的输入张量。

    signal_ndim(int): 每个信号的维度数。signal_ndim可以是1,2或3.

    normalized(bool,可选): 决定是否返回g规范化的结果。默认为False。

    Example:

    在这里插入图片描述

  2. ifft(input,signal_ndim,normalized=False): → Tensor

    该函数用来计算复到复(complex-to-complex)的逆离散傅里叶变换。忽略了批维度(batch dimensions),它计算以下的表达式:

    在这里插入图片描述
    其中d = signal_ndim为信号的维度数,Ni为第i信号维的大小。

    该参数的规格基本与fft()相同。然而,如果normalized被设为True,该函数返回结果与
    在这里插入图片描述
    的乘积来进行g规范化。因此,要反转fft(),应为fft()设置相同的规范化参数。

    返回形状与input相同的且同时具有实部和虚部的张量。

    该函数的逆函数为fft()。

    Note:
    对于CUDA张量,cuFFT计划使用LRU高速缓存来加速在有着相同配置和几何的张量上重复运行的FFT方法。见 https://blog.csdn.net/JachinMa/article/details/94026347 以了解更多操作和控制高速缓存的细节。

    Warning:
    对CPU张量来说,本方法目前只适用于MKL。使用torch.backends.mkl.is_available()来检查MKL是否安装。

    参数

    input(Tensor): 至少有signal_ndim+1维的输入张量。

    signal_ndim(int): 每个信号的维度数。signal_ndim可以是1,2或3.

    normalized(bool,可选): 决定是否返回g规范化的结果。默认为False。

    Example:

    在这里插入图片描述

  3. torch.rfft(input,signal_ndim,normalized=False,onesided=True): → Tensor

    该函数用来计算实到复(real-to-complex)的离散傅里叶变换。它在数学上和fft()等效,仅在输入和输出的格式上有差异。

    该方法支持1D,2D和3D的复到复的,由signal_ndim指示的变换。输入必须是最后一维大小为2——表示复数的实部和虚部,且拥有可选的任意数量的前导批维度的,至少signal_ndim+1维的张量。如果normalized被设置为True,则通过将结果除以
    在这里插入图片描述
    来进行规范化,其中Ni为第i信号维的大小。

    实对复傅里叶变换结果遵循共轭对称:

    在这里插入图片描述
    其中×为共轭操作符,d = signal_ndim。onesided控制是否避免输出结果的冗余。如果设为True(默认值),输出将不会是形状为(,2)的完整的复结果——其中×为input的形状,取而代之的,是最后一个维度将会是
    在这里插入图片描述
    的一半。

    该函数的逆函数为irfft()。

    Note:
    对于CUDA张量,cuFFT计划使用LRU高速缓存来加速在有着相同配置和几何的张量上重复运行的FFT方法。见 https://blog.csdn.net/JachinMa/article/details/94026347 以了解更多操作和控制高速缓存的细节。

    Warning:
    对CPU张量来说,本方法目前只适用于MKL。使用torch.backends.mkl.is_available()来检查MKL是否安装。

    参数

    input(Tensor): 至少有signal_ndim+1维的输入张量。

    signal_ndim(int): 每个信号的维度数。signal_ndim可以是1,2或3.

    normalized(bool,可选): 决定是否返回g规范化的结果。默认为False。

    Example:

    在这里插入图片描述

  4. torch.irfft(input,signal_ndim,normalized=False,onesided=True): → Tensor

    该函数用来计算实到复(real-to-complex)的逆离散傅里叶变换。它在数学上和ifft()等效,仅在输入和输出的格式上有差异。

    该方法支持1D,2D和3D的复到复的,由signal_ndim指示的变换。输入必须是最后一维大小为2——表示复数的实部和虚部,且拥有可选的任意数量的前导批维度的,至少signal_ndim+1维的张量。如果normalized被设置为True,则通过将结果除以
    在这里插入图片描述
    来进行规范化,其中Ni为第i信号维的大小。

    实对复傅里叶变换结果遵循共轭对称:

    在这里插入图片描述
    其中×为共轭操作符,d = signal_ndim。onesided控制是否避免输出结果的冗余。如果设为True(默认值),输出将不会是形状为(,2)的完整的复结果——其中×为input的形状,取而代之的,是最后一个维度将会是
    在这里插入图片描述
    的一半。

    该函数的逆函数为irfft()。

    Note:
    对于CUDA张量,cuFFT计划使用LRU高速缓存来加速在有着相同配置和几何的张量上重复运行的FFT方法。见 https://blog.csdn.net/JachinMa/article/details/94026347 以了解更多操作和控制高速缓存的细节。

    Warning:
    对CPU张量来说,本方法目前只适用于MKL。使用torch.backends.mkl.is_available()来检查MKL是否安装。

    参数

    input(Tensor): 至少有signal_ndim+1维的输入张量。

    signal_ndim(int): 每个信号的维度数。signal_ndim可以是1,2或3.

    normalized(bool,可选): 决定是否返回g规范化的结果。默认为False。

    Example:

发布了74 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/JachinMa/article/details/94026268
今日推荐