FFTConvolve¶
- class torchaudio.transforms.FFTConvolve(mode: str = 'full')[source]¶
使用 FFT 沿其最后一个维度对输入进行卷积。对于最后一个维度很大的输入,此模块通常比
Convolve
快得多。请注意,与torch.nn.Conv1d
实际上应用有效互相关运算符不同,此模块应用真正的 卷积 运算符。还要注意,此模块只能输出浮点张量(int 张量输入将被转换为浮点型)。- 参数:
mode (str, 可选) –
必须是 (“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
决定。- 返回类型: