FFTConvolve¶
- class torchaudio.transforms.FFTConvolve(mode: str = 'full')[source]¶
使用 FFT 对最后一个维度上的输入进行卷积。对于最后一个维度很大的输入,此模块通常比
Convolve
快得多。请注意,与实际应用了交叉相关算子的torch.nn.Conv1d
不同,此模块应用的是真正的 卷积 算子。另请注意,此模块只能输出浮点张量(整数张量输入将被强制转换为浮点)。- 参数
mode (str, optional) –
必须是以下之一(“full”, “valid”, “same”)。
“full”:返回完整的卷积结果,形状为 (…, N + M - 1),其中 N 和 M 是两个输入的最后维度。(默认)
”valid”: 返回完整卷积结果中两个输入完全重叠的片段,形状为 (…, max(N, M) - min(N, M) + 1)。
”same”: 返回完整卷积结果的中心片段,形状为 (…, N)。
- forward(x: Tensor, y: Tensor) Tensor [source]¶
- 参数
x (torch.Tensor) – 第一个卷积操作数,形状为 (…, N)。
y (torch.Tensor) – 第二个卷积操作数,形状为 (…, M)(前导维度必须可广播到
x
的维度)。
- 返回
卷积
x
和y
的结果,形状为 (…, L),其中前导维度与x
的维度匹配,而 L 由mode
决定。- 返回类型