Il 21 Aprile scorso è stata rilasciata l'ultima versione di PyTorch, una delle più note e usate librerie per il machine learning su Python, giunta alla versione 1.5. Grazie ad una nota di rilascio, pubblicata dal team di sviluppo sul sito ufficiale del progetto, abbiamo la possibilità di concentrarci sulle principali novità introdotte in questa nuova versione.
Supporto anche a C++
Innanzitutto, con la nuova versione di PyTorch arrivano un importante annuncio riguardante la comunità degli sviluppatori C++. Infatti, sebbene sia nota ai più per offrire funzionalità principalmente destinate agli sviluppatori Python, in realtà questa libreria offre da tempo supporto anche a C++, fornendo un'interfaccia che però non è mai stata allo stesso livello di quella di Python.
Con la nuova versione, le API C++ sono state molto migliorate, al punto (a detta degli sviluppatori stessi) di essere al pari di Python. Ciò è dimostrato anche da una nuova documentazione appropriata che include la taggatura di alcune funzionalità come "sperimentali", così da poter distinguere il codice utilizzabile in produzione dal resto.
Channel Last, framework RPC e fine del supporto a Python 2
Un'altra novità importante è costituita dal formato di memoria Channel Last, pensato per i modelli di computer vision, che permetterà di eseguire algoritmi basati su convoluzioni in maniera molto efficiente, sfruttando anche i core delle GPU nVidia in modo più efficace. Con le nuove API, viene anche migliorata la possibilità di eseguire operazioni hessiane e jacobiane, che grazie alle ottimizzazione introdotte sono più efficienti.
In questa versione è stato anche aggiornato il framework RPC, rilasciato (in versione sperimentale) nella versione 1.4, che adesso include diversi miglioramenti. Ciò è dovuto principalmente ad un grosso processo di bug fixing, che conferisce all'intero framework affidabilità e robustezza significativamente migliori .
Per gli utilizzatori di Google TPU, un ulteriore miglioramento è costituito dall'aggiornamento del modulo torch_xla, anch'esso alla versione 1.5 e perfettamente compatibile con l'ultimo rilascio di PyTorch.
Infine, è bene notare che a partire da PyTorch 1.5, sarà abolito il supporto a Python 2: l'intero team si concentrerà al solo uso di Python 3, con particolare riferimento alle versioni 3.5, 3.6, 3.7 e 3.8.