Each TorchAudio API supports a subset of PyTorch features, such as devices and data types. Supported features are indicated in API references like the following:
These icons mean that they are verified through automated testing.
Missing feature icons mean that they are not tested, and this can mean different things, depending on the API.
The API is compatible with the feature but not tested.
The API is not compatible with the feature.
In case of 2, the API might explicitly raise an error, but that is not guaranteed. For example, APIs without an Autograd badge might throw an error during backpropagation, or silently return a wrong gradient.
If you use an API that hasn’t been labeled as supporting a feature, you might want to first verify that the feature works fine.
TorchAudio APIs that support CPU can perform their computation on CPU tensors.
TorchAudio APIs that support CUDA can perform their computation on CUDA devices.
In case of functions, move the tensor arguments to CUDA device before passing them to a function.
cuda = torch.device("cuda") waveform = waveform.to(cuda) spectrogram = torchaudio.functional.spectrogram(waveform)
Classes with CUDA support are implemented with
It is also necessary to move the instance to CUDA device, before passing CUDA tensors.
cuda = torch.device("cuda") resampler = torchaudio.transforms.Resample(8000, 16000) resampler.to(cuda) waveform.to(cuda) resampled = resampler(waveform)
TorchAudio APIs with autograd support can correctly backpropagate gradients.
For the basics of autograd, please refer to this tutorial.
APIs without this mark may or may not raise an error during backpropagation. The absence of an error raised during backpropagation does not necessarily mean the gradient is correct.