Caffe2 - Panoramica

Dopo aver acquisito alcune informazioni sul deep learning, diamo una panoramica di cosa è Caffe.

Formazione di una CNN

Impariamo il processo per addestrare una CNN a classificare le immagini. Il processo consiste nei seguenti passaggi:

  • Data Preparation- In questo passaggio, ritagliamo al centro le immagini e le ridimensioniamo in modo che tutte le immagini per l'addestramento e il test abbiano le stesse dimensioni. Questo di solito viene fatto eseguendo un piccolo script Python sui dati dell'immagine.

  • Model Definition- In questa fase, definiamo un'architettura CNN. La configurazione viene salvata in.pb (protobuf)file. Una tipica architettura CNN è mostrata nella figura seguente.

  • Solver Definition- Definiamo il file di configurazione del solutore. Il risolutore esegue l'ottimizzazione del modello.

  • Model Training- Usiamo l'utility Caffe incorporata per addestrare il modello. La formazione può richiedere una notevole quantità di tempo e utilizzo della CPU. Una volta completato l'addestramento, Caffe memorizza il modello in un file, che può essere utilizzato in seguito sui dati di test e sulla distribuzione finale per le previsioni.

Novità di Caffe2

In Caffe2, troverai molti modelli pre-addestrati pronti per l'uso e potrai anche sfruttare i contributi della comunità di nuovi modelli e algoritmi abbastanza frequentemente. I modelli che crei possono essere facilmente ampliati utilizzando la potenza della GPU nel cloud e possono anche essere ridotti all'uso di masse su dispositivi mobili con le sue librerie multipiattaforma.

I miglioramenti apportati a Caffe2 rispetto a Caffe possono essere riassunti come segue:

  • Distribuzione mobile
  • Nuovo supporto hardware
  • Supporto per formazione distribuita su larga scala
  • Calcolo quantizzato
  • Stress testato su Facebook

Demo modello pre-addestrato

Il sito Berkeley Vision and Learning Center (BVLC) fornisce demo delle loro reti pre-addestrate. Una di queste reti per la classificazione delle immagini è disponibile sul link qui indicatohttps://caffe2.ai/docs/learn-more#null__caffe-neural-network-for-image-classification ed è raffigurato nello screenshot qui sotto.

Nello screenshot, l'immagine di un cane è classificata ed etichettata con la sua precisione di previsione. Dice anche che ci sono voluti solo0.068 secondsper classificare l'immagine. Puoi provare un'immagine di tua scelta specificando l'URL dell'immagine o caricando l'immagine stessa nelle opzioni fornite nella parte inferiore dello schermo.