Sono interessato a reti neurali convoluzionali (CNN) come un esempio di computazionalmente vasta applicazione che è adatto per l'accelerazione utilizzando hardware riconfigurabile (cioè diciamo FPGA)Una semplice rete neurale convoluzionale codice
Per farlo ho è necessario esaminare un semplice codice CNN che posso usare per capire come sono implementati, come sono effettuati i calcoli in ogni strato, come l'output di ogni strato viene alimentato all'ingresso del successivo. Ho familiarità con la parte teorica (http://cs231n.github.io/convolutional-networks/)
Ma, non sono interessato alla formazione della CNN, voglio un codice CNN completo e autonomo pre-addestrato e tutti i valori di pesi e bias sono noti.
So che ci sono un sacco di librerie CNN, ad esempio Caffe, ma il problema è che non esiste un codice di esempio banale che sia autonomo. anche per il più semplice esempio di Caffe "cpp_classification" vengono richiamate molte librerie, l'architettura della CNN è espressa come file .prototxt, altri tipi di input come .caffemodel e .binaryproto sono coinvolti. anche le librerie openCV2 sono invocate. ci sono strati e strati di astrazione e diverse librerie che lavorano insieme per produrre l'esito della classificazione.
So che tali astrazioni sono necessarie per generare un'implementazione CNN "utilizzabile", ma per una persona dell'hardware che ha bisogno di un codice bare-bone per studiare, questo è troppo "lavoro non correlato".
La mia domanda è: Qualcuno può guidarmi in una implementazione CNN semplice e autonoma con cui posso iniziare?
Grazie! tiny-cnn è in effetti molto più leggibile per un principiante piuttosto che per il caffè ed è un buon punto di partenza. – bromanous