支持的功能¶
每个 TorchAudio API 都支持 PyTorch 功能的子集,例如设备和数据类型。支持的功能在 API 参考中指示,如下所示
这些图标表示它们已通过自动化测试验证。
注意
缺少功能图标表示这些功能未经过测试,这可能意味着不同的含义,具体取决于 API。
API 与该功能兼容,但未经过测试。
API 与该功能不兼容。
在第 2 种情况下,API 可能会显式引发错误,但这不能保证。例如,没有 Autograd 徽章的 API 可能会在反向传播期间抛出错误,或静默返回错误的梯度。
如果您使用的 API 未标记为支持某个功能,您可能需要首先验证该功能是否正常工作。
设备¶
CPU¶
支持 CPU 的 TorchAudio API 可以在 CPU 张量上执行计算。
CUDA¶
支持 CUDA 的 TorchAudio API 可以在 CUDA 设备上执行计算。
对于函数,请在将张量参数传递给函数之前将其移动到 CUDA 设备。
例如
cuda = torch.device("cuda")
waveform = waveform.to(cuda)
spectrogram = torchaudio.functional.spectrogram(waveform)
支持 CUDA 的类使用 torch.nn.Module()
实现。在传递 CUDA 张量之前,也需要将实例移动到 CUDA 设备。
例如
cuda = torch.device("cuda")
resampler = torchaudio.transforms.Resample(8000, 16000)
resampler.to(cuda)
waveform.to(cuda)
resampled = resampler(waveform)
属性¶
Autograd¶
支持 autograd 的 TorchAudio API 可以正确地反向传播梯度。
有关 autograd 的基础知识,请参阅此教程。
注意
没有此标记的 API 在反向传播期间可能会或可能不会引发错误。反向传播期间未引发错误并不一定意味着梯度是正确的。
TorchScript¶
支持 TorchScript 的 TorchAudio API 可以序列化并在非 Python 环境中执行。
有关 TorchScript 的详细信息,请参阅文档。