Architettura di TensorFlow - Le 10 caratteristiche principali dell'architettura TensorFlow

Sommario:

Anonim

Introduzione a TensorFlow

In questo articolo, vedremo uno schema su TensorFlow Architecture. TensorFlow è una libreria multipiattaforma e ci sono alcuni concetti comuni come operazioni, sessioni e grafici di calcolo. TensorFlow Serving semplifica l'implementazione di nuovi algoritmi ed esperimenti mantenendo la stessa architettura di database e le stesse API.

Cos'è l'architettura Tensorflow?

Tensorflow è una libreria di apprendimento profondo comunemente usata, costruita dal team del cervello di Google che stava lavorando sull'intelligenza artificiale. È stato sviluppato in modo da poter essere utilizzato su più CPU, GPU e può anche essere eseguito su dispositivi mobili e supporta diverse classi di wrapper come Python, C ++ o Java e Tensor che sono oggetti che descrivono la relazione lineare tra vettori, scalari e altri tensori .

I tensori non sono altro che matrici multidimensionali. Per comprendere l'architettura e le caratteristiche di TensorFlow, innanzitutto dobbiamo comprendere alcuni termini.

  1. Servables Tensorflow
  2. Versioni Servibili
  3. Flussi servibili
  4. Modello Tensorflow
  5. Caricatori Tensorflow
  6. Fonti di Tensorflow
  7. Manager Tensorflow
  8. Tensorflow Core
  9. Vita utile
  10. Batcher In architettura Tensorflow

1. Servables Tensorflow

  • I servables Tensorflow sono oggetti comuni che vengono utilizzati principalmente per eseguire il calcolo. Le dimensioni del servizio TensorFlow sono molto flessibili. I servable sono unità centrali non completate nel servizio TensorFlow.
  • Un'unità servibile può contenere qualcosa di simile può contenere tuple, tabelle di ricerca. Gli oggetti servibili possono essere di qualsiasi tipo e di qualsiasi interfaccia, grazie a queste funzionalità è molto flessibile e facile apportare miglioramenti futuri come le modalità di operazioni asincrone, i risultati di streaming e le API sperimentali.

2. Versioni servibili

  • Le versioni utilizzabili vengono utilizzate per mantenere le versioni di TensorFlow utilizzabili. Può gestire una o più versioni di Servables. Può aiutare a configurare i nuovi algoritmi, gestire pesi e altre modifiche possono essere fatte, i dati possono essere caricati.
  • Può anche modificare e gestire le versioni, abilitare più versioni servibili alla volta.

3. Flussi servibili

È una raccolta di diverse versioni di Servables. Lo memorizza in una sequenza crescente di versioni.

4. Modelli Tensorflow

  • Un modello TensorFlow può contenere uno o più Servables TensorFlow. Viene utilizzato principalmente nelle attività di apprendimento automatico che possono contenere più di un algoritmo che contiene pesi diversi in base al modello, alle tabelle di ricerca, alle metriche e agli incorporamenti delle tabelle.
  • Può essere servito in molti modi diversi in modo tale che ci siano diversi modi per servire la tabella di ricerca.

5. Caricatori Tensorflow

  • Il caricatore Tensorflow è un'API che gestisce il ciclo di vita dei servizi TensorFlow. Fornisce un'infrastruttura comune per alcuni degli algoritmi di apprendimento.
  • L'uso principale del caricatore TensorFlow è quello di caricare e scaricare i servizi tramite le API caricatore standardizzate.

6. Fonti di Tensorflow

  • Le fonti funzionano come un modulo plugin. La fonte Tensorflow esegue la gestione di base dei servizi come la ricerca di servizi, fornisce servizi su richiesta.
  • Ogni riferimento può fornire uno o più flussi servibili alla volta. Ogni sorgente fornisce un'istanza del caricatore per la gestione della versione del flusso. E ogni flusso servibile viene caricato in base alla versione.
  • I sorgenti hanno stati diversi che possono essere condivisi con versioni diverse e con più Servable. Può anche gestire l'aggiornamento o la modifica tra le versioni.

7. Gestori Tensorflow

  • Il manager Tensorflow gestisce il ciclo di vita da fine a fine del servizio.
  • Caricamento servibile, servizio servibile, scarico servibile.
  • Manager ottiene la risposta da tutte le fonti servibili e ne monitora anche tutte le versioni. Il gestore può anche rifiutare o posticipare il caricamento.
  • La funzione GetServableHandle () fornisce un'interfaccia che aiuta a gestire le cose gestionali sui servizi TensorFlow.

8. Tensorflow Core

Tensorflow Core contiene:

  • Ciclo di vita, metriche.
  • Il nucleo di servizio di Tensorflow accetta i servable e i caricatori come oggetto.

9. Durata di un servizio

L'intera procedura è spiegata su come viene utilizzato il servizio e l'intero ciclo di vita del servizio:

  • Sorgente crea caricatori per diverse versioni servibili. La richiesta del client al gestore e al gestore ha inviato la versione aspirata dei caricatori, caricata e pubblicata al client.
  • Loader contiene metadati che possono essere utilizzati per caricare i Servable. Il callback viene utilizzato per informare il gestore delle versioni di origine servibili. Il gestore segue una politica di versione che aiuta a configurare e decidere quale azione sarà necessaria in seguito.
  • Il gestore controlla anche la sicurezza dei caricatori, se è sicuro, solo allora darà le risorse necessarie al caricatore e darà l'autorizzazione a caricare la nuova versione. Il gestore fornisce Severable sulla richiesta del client, oppure richiederà esplicitamente una versione specifica o può richiedere la versione più recente diretta dopo che quel manager ha restituito un handle per l'accesso al servizio.
  • Il gestore dinamico gestisce le versioni servibili, applica i criteri di versione e decide che è necessario caricare la versione o l'ultima versione. Il gestore dinamico alloca la memoria al caricatore. Loader avvia il grafico TensorFlow e aggiorna i pesi del grafico TensorFlow.
  • Quando un client richiede il servizio e verifica la versione richiesta dal client, il gestore dinamico restituisce quel gestore con la versione richiesta del servizio.

10. Batcher nell'architettura di Tensorflow

  • Il batch è una procedura per gestire più richieste in una singola richiesta.
  • Utilizzando questa procedura possiamo ridurre i costi di esecuzione delle inferenze, in particolare l'accelerazione di hardware come GPU, TPU.
  • Il servable di Tensorflow contiene un widget Batcher, usando questo widget i client possono facilmente raggruppare le loro richieste di inferenza specifiche multiple in una singola richiesta batch. Quindi possono eseguire questa procedura in modo efficiente.

Conclusione - TensorFlow Architecture

L'architettura Tensorflow rappresenta un sistema decentralizzato. Mostra come funzionano diversi componenti e svolgono i loro ruoli in un sistema decentralizzato. Servire su richiesta del cliente e utilizzare il batch di più operazioni in parallelo. Alcune delle migliori funzionalità dell'architettura TensorFlow sono il raggruppamento di operazioni, accelerazione hardware e opzioni di gestione dinamica, caricatori, origini, flussi servibili.

Articoli consigliati

Questa è una guida all'architettura TensorFlow. Qui discutiamo cos'è TensorFlow e alcune delle migliori funzionalità di TensorFlow Architecture. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Introduzione a Tensorflow con caratteristiche
  2. TensorFlow vs Spark | I 5 migliori confronti
  3. Theano vs Tensorflow - Migliori differenze
  4. TensorFlow Alternative | Primi 11