Ricerca…


Osservazioni

Un utente di caffe invia istruzioni per eseguire operazioni specifiche sugli oggetti caffe. Questi oggetti interagiscono tra loro in base alle loro specifiche di progettazione ed eseguono le operazioni. Questo è un paradigma di principio OOP di base.

Mentre ci sono molti tipi di oggetto caffe (o classi C ++), per una comprensione di base iniziale ci concentriamo su 4 importanti oggetti caffe. In questa fase, il nostro obiettivo è semplicemente osservare l'interazione tra questi oggetti su un livello altamente astratto in cui dettagli specifici di implementazione e design sono oscurati, e invece viene messa a fuoco una vista a volo d'uccello dell'operazione.

I 4 oggetti base di caffe sono:

  • Risolutore
  • Netto
  • Strato
  • macchia

Un'introduzione molto semplice e una visione a volo d'uccello del loro ruolo nel funzionamento del caffè sono presentati in punti concisi nella sezione degli esempi.

Dopo aver letto e ottenuto un'idea di base su come questi oggetti caffe interagiscono, ogni tipo di oggetto può essere letto in dettaglio nei loro argomenti dedicati.

Come questi oggetti interagiscono insieme.

  • Un utente sta cercando di utilizzare caffe per l'addestramento e il test della CNN. L'utente decide sulla progettazione dell'architettura della CNN (ad es. Numero di strati, numero di filtri e relativi dettagli, ecc.). L'utente decide anche la tecnica di ottimizzazione per i parametri di formazione e apprendimento nel caso in cui la formazione debba essere eseguita. Se l'operazione è di semplice test di vaniglia, un modello pre-addestrato viene specificato dall'utente. Usando tutte queste informazioni, l'utente crea un'istanza di un oggetto Risolutore e fornisce all'oggetto Risolutore un'istruzione (che decide operazioni come addestramento e test).

  • Risolutore : questo oggetto può essere considerato come un'entità che supervisiona l'addestramento e il test di una CNN. È l'effettivo contraente che ottiene una CNN su processore e in esecuzione. È specializzato nell'eseguire le ottimizzazioni specifiche che portano a ottenere una formazione dalla CNN.

  • Net : Net può essere considerato un oggetto specializzato che rappresenta la CNN effettiva su cui vengono eseguite le operazioni. Net viene istruito da Solver per allocare effettivamente la memoria per la CNN e istanziarla. Net è anche responsabile di dare istruzioni che in realtà portano avanti o backpropagation in corso sulla CNN.

  • Livello : è un oggetto che rappresenta un particolare livello di una CNN. Quindi una CNN è composta da strati. Per quanto riguarda il caffe, l'oggetto Net istanzia ogni tipo di " Layer " specificato nella definizione dell'architettura e collega anche diversi strati insieme. Uno strato specifico esegue una serie specifica di operazioni (es. - Max-Pooling, Min-Pooling, 2D Convolution ecc.)

  • Blob : i dati fluiscono attraverso una CNN durante l'allenamento e il test. Questi dati oltre a contenere i dati dell'utente, includono anche diversi calcoli intermedi che vengono eseguiti su CNN. Questi dati sono incapsulati in un oggetto chiamato Blob.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow