TorchCodec consolida la decodifica e la codifica dei contenuti multimediali mentre le altre librerie si concentrano sulle trasformazioni
Lo stack multimediale ora separa la decodifica e la codifica dalle trasformazioni, consentendo alle librerie di seguire i propri cicli di rilascio.
Illustrazione IALa decodifica e la codifica dei contenuti multimediali sono state consolidate in TorchCodec, mentre TorchVision e TorchAudio ora si concentrano sulle trasformazioni. La riorganizzazione riguarda immagini, video e audio e sostituisce un insieme di interfacce e backend in precedenza frammentato.
Per gli utenti, la divisione separa il passaggio dei contenuti multimediali da e verso i tensori dalle operazioni eseguite tra questi due passaggi. TorchCodec si occupa di decodificare file o byte codificati in tensori e di codificare i tensori in file multimediali. TorchVision fornisce trasformazioni per immagini e video; TorchAudio gestisce le trasformazioni audio.
Le modifiche riguardano anche il software esistente. Le interfacce di decodifica e codifica in precedenza fornite da TorchVision e TorchAudio sono state deprecate o rimosse. Modelli, dataset e pipeline di queste librerie non sono più in sviluppo attivo, mentre alternative presenti altrove nell'ecosistema coprono tali funzioni.
Nicolas Hug e Scott Schneider hanno indicato manutenzione e prestazioni come motivi per concentrare l'input e l'output multimediale in un'unica libreria. Secondo il loro resoconto, TorchCodec offre in genere prestazioni migliori rispetto alle implementazioni precedenti, in particolare nella decodifica video con CUDA. Il consolidamento concentra inoltre il lavoro che coinvolge FFmpeg, l'SDK dei codec di NVIDIA e le librerie per i singoli formati di immagine.
Gli autori hanno dichiarato che la transizione è stata particolarmente dirompente per TorchAudio, con numerose interfacce deprecate e infine rimosse. Il feedback della community li ha portati a mantenere diverse interfacce popolari che inizialmente avevano pianificato di eliminare.
Secondo gli autori, tutte e tre le librerie sono ora stabili a livello di ABI. La versione di una libreria non è più legata a una singola release del framework e può continuare a funzionare con le versioni successive. Le librerie quindi non richiedono una ricompilazione a ogni release del framework e non seguono più il suo ciclo di rilascio. Il consolidamento è avvenuto nel corso degli ultimi due anni, anziché rappresentare una singola nuova funzionalità multimediale.