N3Lib - Neural Network Library

Standard

Descrizione

Una libreria in C per costruire reti neurali con la capacità di definire funzioni di attivazione personalizzate, tasso di apprendimento, bias e altri parametri.

Sia la forward che la backpropagation sono implementate in modo da parallelizzare il lavoro attraverso l'uso di thread.

Durante la forward propagation ogni layer esegue la funzione di attivazione con thread paralleli, quando un livello termina il processo, il risultato da inviare ad ogni neurone del layer successivo è anch'esso elaborato tramite thread concorrenti. L'intero processo è eseguito per ogni layer dall'input all'output.

Durante la backward propagation avviene l'elaborazione del delta in base all'errore processato che servirà all'aggiornamento dei pesi dei singoli neuroni. Il ritorno del delta dal neurone di output al neurone in input è processato in parallelo per ognuno dei neuroni di output creati.

Per come è stata implementata la struttura dei layer e dei neruoni, , N3 Library, consente di rimuovere o aggiungere elementi anche durante l'esecuzione ( alla fine di ogni iterazione ).

Installazione & Download

La libreria è stata sviluppata per essere eseguita in sistemi GNU\Linux.

È possibile compilarla con i seguenti comandi:

$ make
# make install

Per ripulire i file oggetto creati durante la compilazione è possibile farlo eseguendo il comando make clean. Per disinstallarla è necessario eseguire il comando make uninstall come utente root.

Flags:

  • debug=true aggiunge gli argomenti -g -Ddebug_enable -pg
  • extra=true aggiunge gli argomenti -Wall -Wextra -ansi -pedantic
  • flags=arguments aggiunge gli argomenti specificati
  • destdir=mydir installa la libraria nel percorso mydir specificato

Documentazione

La libreria è scritta per utilizzare Doxygen per la generation della documentazione e le pagine man. È possibile aggiornarla con il seguente comando:

doxygen n3lib.doxygen.conf

Ed installare le pagine man tramite:

# make install doc

Documentazione Online

Navigazione Sorgenti