un'importante rilascio della piattaforma di machine learning , che fornisce implementazioni pronte di vari algoritmi di machine learning profondo, un'interfaccia software semplice per costruire modelli in Python e un'interfaccia a basso livello per C++, che consente 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 Google Brain e viene utilizzata nei servizi Google per il riconoscimento vocale, l'identificazione dei volti nelle fotografie, la determinazione della somiglianza delle immagini, la filtrazione dello spam in Gmail, di notizie in Google News e l'organizzazione della traduzione 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 fornisce una libreria di algoritmi di calcolo numerico pronti, realizzati tramite grafi di flusso dei dati (data flow graphs). I nodi in questi grafi implementano operazioni matematiche o punti di ingresso/uscita, mentre i bordi del grafo rappresentano array multidimensionali di dati (tensori) che fluiscono tra i nodi.
I nodi possono essere assegnati a dispositivi di calcolo e vengono eseguiti in modo asincrono, elaborando simultaneamente tutti i tensori ad essi associati, consentendo un lavoro simultaneo dei nodi in una rete neurale, in analogia con l'attivazione simultanea dei neuroni nel cervello.
L'attenzione principale nella preparazione della nuova versione è stata sulla semplificazione e facilità d'uso. :
- Per la costruzione e l'allenamento dei modelli è stato proposto un nuovo API di alto livello , che fornisce diverse opzioni di interfaccia per costruire modelli (Sequential, Functional, Subclassing) con la possibilità di (senza compilazione preliminare) e con un semplice meccanismo di debug;
- È stato aggiunto l'API per organizzare dei modelli con una minima modifica del codice esistente. Oltre alla possibilità di distribuire i calcoli su , è disponibile il supporto sperimentale per la distribuzione del processo di addestramento su più gestori indipendenti e la possibilità di utilizzare le (unità di elaborazione dei tensori);
- Invece di un modello dichiarativo per la costruzione di grafi eseguiti tramite tf.Session, è stata fornita la possibilità di scrivere normali funzioni in Python, che possono essere trasformate in grafi e poi eseguite, serializzate o ottimizzate tramite la chiamata a tf.function per migliorare le prestazioni;
- Aggiunto il traduttore , che trasforma il flusso di comandi Python in espressioni TensorFlow, consentendo di utilizzare il codice Python all'interno di funzioni decorate da tf.function, tf.data, tf.distribute e tf.keras;
- Nel SavedModel, il formato di scambio dei modelli è stato uniformato e supportata la salvataggio e il ripristino dello stato dei modelli. I modelli costruiti per TensorFlow possono ora essere utilizzati in (su dispositivi mobili), (nel browser o in Node.js), e ;
- Uniformati gli API tf.train.Optimizers e tf.keras.Optimizers, al posto di compute_gradients per il calcolo dei gradienti è stata proposta una nuova classe ;
- Migliorate significativamente le prestazioni nell'uso della GPU.
La velocità di apprendimento dei modelli sui sistemi con GPU NVIDIA Volta e Turing è aumentata fino a tre volte; - pulizia generale dell'API, molte chiamate sono state rinominate o rimosse, e il supporto per le variabili globali nei metodi ausiliari è stato interrotto. Invece di tf.app, tf.flags, tf.logging è stata proposta una nuova API absl-py. Per continuare a utilizzare la vecchia API, è stato preparato un modulo compat.v1.
Fonte: opennet.ru
