Rilascio del sistema di apprendimento automatico TensorFlow 2.0

Introdotto rilascio significativo della piattaforma di machine learning TensoreFlusso 2.0, che fornisce implementazioni già pronte di vari algoritmi di apprendimento automatico profondo, una semplice interfaccia di programmazione per la creazione di modelli in Python e un'interfaccia di basso livello per il linguaggio C++ che consente di controllare la costruzione e l'esecuzione di grafici computazionali. Il codice di sistema è scritto in C++ e Python e distribuito da sotto la 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, il filtraggio dello spam in Gmail, selezione notizie in Google News e organizzare la traduzione tenendo conto del significato. I sistemi di machine learning distribuiti possono essere creati su hardware standard, grazie al supporto integrato di TensorFlow per la distribuzione dei calcoli su più CPU o GPU.

TensorFlow fornisce una libreria di algoritmi di calcolo numerico già pronti implementati attraverso grafici del flusso di dati. I nodi in tali grafici implementano operazioni matematiche o punti di input/output, mentre i bordi del grafico rappresentano array di dati multidimensionali (tensori) che scorrono tra i nodi.
I nodi possono essere assegnati ai dispositivi informatici ed eseguiti in modo asincrono, elaborando simultaneamente tutti i thesor adatti a loro contemporaneamente, il che rende possibile organizzare il funzionamento simultaneo dei nodi in una rete neurale per analogia con l'attivazione simultanea dei neuroni nel cervello.

L'obiettivo principale nella preparazione della nuova versione è stato la semplificazione e la facilità d'uso. Un po 'di innovazioni:

  • È stata proposta una nuova API di alto livello per la creazione e il training dei modelli Keras, che fornisce diverse opzioni di interfaccia per la creazione di modelli (sequenziale, funzionale, sottoclasse) con la possibilità di immediata attuazione (senza precompilazione) e con un semplice meccanismo di debug;
  • API aggiunta tf.distribute.Strategy per l'organizzazione apprendimento distribuito modelli con modifiche minime al codice esistente. Oltre alla possibilità di distribuire i calcoli più GPU, è disponibile il supporto sperimentale per la suddivisione del processo di apprendimento in diversi processori indipendenti e la possibilità di utilizzare il cloud TPU (Unità di elaborazione tensore);
  • Invece di un modello dichiarativo di costruzione di un grafico con esecuzione tramite tf.Session, è possibile scrivere funzioni ordinarie in Python che, utilizzando una chiamata a tf.function, possono essere convertite in grafici e quindi eseguite, serializzate o ottimizzate in remoto. per migliorare le prestazioni;
  • Traduttore aggiunto Autografo, che converte un flusso di comandi Python in espressioni TensorFlow, consentendo l'utilizzo del codice Python all'interno delle funzioni tf.function-decorated, tf.data, tf.distribute e tf.keras;
  • SavedModel unifica il formato di scambio del modello e aggiunge il supporto per il salvataggio e il ripristino degli stati del modello. I modelli compilati per TensorFlow ora possono essere utilizzati in TensorFlow Lite (sui dispositivi mobili), TensorFlowJS (nel browser o Node.js), Servizio TensorFlow и Hub TensorFlow;
  • Unificate le API tf.train.Optimizers e tf.keras.Optimizers; al posto di compute_gradients è stata proposta una nuova classe per il calcolo dei gradienti Nastro sfumato;
  • Prestazioni notevolmente aumentate quando si utilizza la GPU.
    La velocità di training dei modelli sui sistemi con GPU NVIDIA Volta e Turing è aumentata fino a tre volte;

  • Eseguito Importante pulizia dell'API, molte chiamate rinominate o rimosse, supporto per le variabili globali nei metodi helper interrotto. Invece di tf.app, tf.flags, tf.logging, viene proposta una nuova API absl-py. Per continuare ad utilizzare le vecchie API è stato predisposto il modulo compat.v1.

Fonte: opennet.ru

Aggiungi un commento