支持的功能¶
每个 TorchAudio API 都支持 PyTorch 功能的一个子集,例如设备和数据类型。支持的功能在 API 参考中有所说明,如下所示
这些图标表示它们已通过自动化测试进行验证。
注意
缺少功能图标表示它们未经测试,这可能意味着不同的情况,具体取决于 API。
API 与该功能兼容,但未经测试。
API 与该功能不兼容。
对于情况 2,API 可能会明确引发错误,但不能保证这一点。例如,没有自动微分徽章的 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)
属性¶
自动微分¶
支持自动微分的 TorchAudio API 可以正确地反向传播梯度。
有关自动微分的详细信息,请参阅此 教程。
注意
没有此标记的 API 可能会或可能不会在反向传播期间引发错误。在反向传播期间没有引发错误并不一定意味着梯度是正确的。
TorchScript¶
支持 TorchScript 的 TorchAudio API 可以序列化并在非 Python 环境中执行。
有关 TorchScript 的详细信息,请参阅 文档。