lancio significativo della piattaforma di machine learning , che offre implementazioni pronte di vari algoritmi di deep learning, un'interfaccia di programmazione semplice per costruire modelli in Python e un'interfaccia a basso livello per C++, consentendo di gestire la costruzione e l'esecuzione di grafi computazionali. Il codice del sistema è scritto in C++ e Python e è sotto licenza Apache.
La piattaforma è stata originariamente sviluppata dal team di Google Brain ed è utilizzata nei servizi Google per il riconoscimento vocale, l'identificazione dei volti nelle fotografie, il riconoscimento delle somiglianze tra immagini, il filtraggio dello spam in Gmail, di notizie in Google News e l'organizzazione delle traduzioni tenendo conto del significato. I sistemi distribuiti di machine learning possono essere creati su hardware standard, grazie al supporto integrato in TensorFlow per la distribuzione dei calcoli su più CPU o GPU.
TensorFlow offre una libreria di algoritmi predefiniti per il calcolo numerico, implementati tramite grafi di flusso di dati. I nodi in questi grafi eseguono operazioni matematiche o fungono da punti di ingresso/uscita, mentre i bordi del grafo rappresentano array multidimensionali di dati (tensori) che fluiscono tra i nodi.
I nodi possono essere associati a dispositivi di calcolo e operare in modo asincrono, elaborando contemporaneamente tutti i tensori ad essi associati, permettendo così un funzionamento simultaneo dei nodi in una rete neurale, simile all'attivazione simultanea dei neuroni nel cervello.
Nella preparazione della nuova versione, si è posta particolare attenzione alla semplicità e alla facilità d'uso. :
- È stato proposto un nuovo API di alto livello per la costruzione e l'addestramento di modelli , che offre diverse opzioni di interfaccia per la costruzione dei modelli (Sequential, Functional, Subclassing) con la possibilità di (senza compilazione preventiva) e con un semplice meccanismo di debug;
- Aggiunto API per organizzare modelli con minime modifiche al codice esistente. Oltre alla possibilità di distribuire i calcoli su , è disponibile un supporto sperimentale per la distribuzione del processo di apprendimento su più gestori indipendenti e la possibilità di utilizzare (unità di elaborazione dei tensori);
- Invece del modello dichiarativo per la costruzione del grafo eseguito tramite tf.Session, è ora possibile scrivere normali funzioni in Python, che attraverso la chiamata a tf.function possono essere convertite in grafi e quindi eseguite, serializzate o ottimizzate per aumentare le prestazioni;
- Aggiunto il traduttore , che traduce il flusso di comandi Python in espressioni TensorFlow, consentendo di utilizzare il codice Python all'interno di funzioni decorate con tf.function, tf.data, tf.distribute e tf.keras;
- Nel SavedModel è stato uniformato il formato di scambio dei modelli e aggiunto il supporto per il salvataggio e il ripristino dello stato dei modelli. I modelli creati per TensorFlow possono ora essere utilizzati in (su dispositivi mobili), (nel browser o in Node.js), e ;
- Le API unificati tf.train.Optimizers e tf.keras.Optimizers, invece di compute_gradients per calcolare i gradienti, offrono una nuova classe. ;
- Le prestazioni sono state significativamente aumentate durante l'uso della GPU.
La velocità di allenamento dei modelli su sistemi con GPU NVIDIA Volta e Turing è aumentata fino a tre volte; - pulizia significativa dell'API, molte chiamate sono state rinominate o rimosse, interrotta la supporto alle variabili globali nei metodi ausiliari. Invece di tf.app, tf.flags, tf.logging è stato proposto un nuovo API absl-py. Un modulo compat.v1 è stato preparato per continuare a utilizzare l'old API.
Fonte: opennet.ru
