TorchCodec regroupe le décodage et l'encodage multimédias, tandis que les autres bibliothèques se concentrent sur les transformations
La pile multimédia sépare désormais le décodage et l'encodage des transformations, chaque bibliothèque pouvant suivre son propre calendrier de publication.
Illustration IALe décodage et l'encodage multimédias ont été regroupés dans TorchCodec, tandis que TorchVision et TorchAudio se concentrent désormais sur les transformations. La réorganisation couvre les images, la vidéo et l'audio, et remplace un ensemble auparavant fragmenté d'interfaces et de backends.
Pour les utilisateurs, cette répartition distingue le transfert des médias vers et depuis les tenseurs des opérations effectuées entre ces deux étapes. TorchCodec se charge de décoder des fichiers ou des octets encodés en tenseurs, et d'encoder les tenseurs en fichiers multimédias. TorchVision fournit les transformations d'images et de vidéos ; TorchAudio gère les transformations audio.
Ces changements touchent aussi les logiciels existants. Les interfaces de décodage et d'encodage auparavant fournies par TorchVision et TorchAudio ont été dépréciées ou supprimées. Les modèles, jeux de données et pipelines de ces bibliothèques ne sont plus activement développés, tandis que des alternatives ailleurs dans l'écosystème couvrent ces fonctions.
Nicolas Hug et Scott Schneider ont présenté la maintenance et les performances comme les raisons de concentrer les entrées et sorties multimédias dans une seule bibliothèque. Selon eux, TorchCodec offre généralement de meilleures performances que les implémentations précédentes, notamment pour le décodage vidéo avec CUDA. La consolidation concentre également le travail lié à FFmpeg, au SDK de codecs de NVIDIA et aux bibliothèques dédiées à chaque format d'image.
Selon les auteurs, la transition a été particulièrement perturbatrice pour TorchAudio : de nombreuses interfaces ont été dépréciées, puis supprimées. Les retours de la communauté les ont conduits à conserver plusieurs interfaces très utilisées qu'ils avaient d'abord prévu de retirer.
Selon les auteurs, les trois bibliothèques sont désormais stables sur le plan de l'ABI. La version d'une bibliothèque n'est plus liée à une seule version du framework et peut continuer à fonctionner avec les versions suivantes. Les bibliothèques n'ont donc plus besoin d'être recompilées à chaque version du framework et ne suivent plus son calendrier de publication. La consolidation s'est déroulée au cours des deux dernières années, et ne constitue pas une nouvelle fonctionnalité multimédia ponctuelle.