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