支持的功能¶
每个 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 的详细信息,请参阅 文档。