Vue d'ensemble

PyTorch 1.8, publié le 5 mars 2021, introduit le module torch.fft pour les transformées de Fourier et ajoute le support officiel des GPU AMD via ROCm.

Fonctionnalités principales

Module torch.fft

Le nouveau module torch.fft fournit des fonctions de transformée de Fourier rapide directement intégrées à PyTorch, avec support du calcul sur GPU et de l'autograd pour la rétropropagation.

python
import torch

# Signal sinusoïdal
t = torch.linspace(0, 1, 1000)
signal = torch.sin(2 * torch.pi * 50 * t)

# Transformée de Fourier
spectre = torch.fft.fft(signal)
frequences = torch.fft.fftfreq(len(t), d=1/1000)
print(f'Fréquence dominante : {frequences[spectre.abs().argmax()]:.0f} Hz')
# Fréquence dominante : 50 Hz

Support AMD ROCm

PyTorch 1.8 ajoute le support officiel de la plateforme AMD ROCm, permettant d'exécuter les mêmes modèles sur GPU AMD sans modifier le code. L'API reste identique à celle utilisée avec CUDA.

python
import torch

# Même code pour CUDA (NVIDIA) et ROCm (AMD)
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

x = torch.randn(1000, 1000, device=device)
y = torch.matmul(x, x.T)
print(f'Device : {y.device}')  # cuda:0 (NVIDIA ou AMD)

Sources