Nuova serie di blog – Memorie di uno sviluppatore TorchVision

Nuova serie di blog – Memorie di uno sviluppatore TorchVision

Nuova serie di blog – Memorie di uno sviluppatore TorchVision PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
Nuova serie di blog – Memorie di uno sviluppatore TorchVision

Sto iniziando una nuova serie di post sul blog sullo sviluppo della libreria di visione artificiale di PyTorch. Ho intenzione di discutere le interessanti funzionalità imminenti principalmente da Torcia Visione e secondario dall'ecosistema PyTorch. Il mio obiettivo è evidenziare le funzionalità nuove e in fase di sviluppo e fornire chiarezza su ciò che accade tra i rilasci. Anche se è probabile che il formato cambi nel tempo, inizialmente ho intenzione di mantenerlo di piccole dimensioni e di offrire riferimenti a coloro che vogliono scavare più a fondo. Infine, invece di pubblicare articoli a intervalli fissi, pubblicherò quando avrò abbastanza argomenti interessanti da trattare.

Disclaimer: Le funzionalità trattate saranno sbilanciate verso argomenti che mi interessano personalmente. L'ecosistema PyTorch è enorme e ho visibilità solo su una piccola parte di esso. Coprire (o non coprire) una caratteristica non dice nulla sulla sua importanza. Le opinioni espresse sono esclusivamente mie.

Detto questo, vediamo cosa bolle in pentola:

Levigatura delle etichette per la perdita di entropia incrociata

Una funzionalità molto richiesta su PyTorch è sostenere obiettivi soft ed aggiungere un'opzione di smussamento dell'etichetta nella perdita di entropia incrociata. Entrambe le funzionalità mirano a semplificare l'esecuzione dell'ottimizzazione delle etichette, con la prima opzione che offre maggiore flessibilità quando tecniche di aumento dei dati come mischiare/cutmix vengono utilizzati e il secondo è più performante per i casi semplici. L’opzione degli obiettivi soft è già stata adottata unito al master di Joel Schlosser mentre l'opzione label_smoothing lo è in fase di sviluppo di Thomas J. Fan ed è attualmente in fase di revisione.

Nuovo programmatore di riscaldamento

Il riscaldamento del tasso di apprendimento è una tecnica comune utilizzata durante l'addestramento dei modelli, ma fino ad ora PyTorch non offriva una soluzione standard. Recentemente, Ilqar Ramazanli ha introdotto un nuovo Scheduler che supporta il riscaldamento lineare e costante. Attualmente è in corso la soluzione migliorare la capacità della catena ed combinazione degli schedulatori esistenti.

TorchVision con “Batterie incluse”

In questa metà stiamo lavorando per aggiungere a TorchVision i modelli più diffusi, le perdite, gli scheduler, gli aumenti di dati e altre utilità utilizzate per ottenere risultati all'avanguardia. Questo progetto è giustamente chiamato “Batterie incluse” ed è attualmente in corso.

All'inizio di questa settimana, ho aggiunto un nuovo livello detto Profondità stocastica che può essere utilizzato per eliminare casualmente i rami residui nelle architetture residue. Attualmente sto lavorando aggiungendo un'implementazione della popolare architettura di rete chiamata Rete efficiente. Infine, Allen Goodman lo è attualmente aggiungendo un nuovo operatore che consentirà la conversione Maschere di segmentazione per riquadri di delimitazione.

Altre funzionalità in sviluppo

Sebbene apportiamo costantemente miglioramenti incrementali alla documentazione, all'infrastruttura CI e alla qualità complessiva del codice, di seguito evidenzio alcuni degli aspetti "rivolti all'utente" elementi della tabella di marcia che sono in fase di sviluppo:

Questo è tutto! Spero che tu l'abbia trovato interessante. Qualsiasi idea su come adattare il formato o quali argomenti trattare è molto gradita. Contattami LinkedIn or Twitter.

Timestamp:

Di più da Databox