PyrosSoftware Neural Network

1.0

PyrosSoftware Neural Network (o PSNN) è una semplice libreria scritta in python, contenente modelli di reti neurali.

Utilizzarla è molto semplice, grazie a come è progettata e anche grazie al nostro manuale d’uso. Si tratta di un progetto pensato per avvicinare la maggior parte dei programmatori (o appassionati di informatica) al mondo delle intelligenze artificiali.

Attualmente la libreria permette di creare una rete neurale di tipo “feed forward” scegliendo il numero di input, il numero di strati nascosti e il numero di output. Il tutto con pochissime righe di codice.

Ecco la dimostrazione della creazione di una rete neurale che apprende una porta logica OR (il numero di neuroni nell’esempio è volutamente superiore rispetto alla quantità richiesta per risolvere il problema).

def main():

    net = PyrosSoftware_FF_Net(); #creo l'oggetto "net" (rete neurale). Ovviamente potete chiamarlo come preferite
	
	#aggiungo i layer (ovvero gli strati della rete neurale
    net.addLayer(2); #strato di input (2 input) 
    net.addLayer(3); #strato nascosto composto da 3 neuroni
    net.addLayer(1); #strato di output composto da un solo neurone
	
    net.createNet(); #creazione della rete
	
	#utilizziamo la porta logica OR come esempio
    inp = [[0,0],[0,1],[1,0],[1,1]] #tutte le casistiche di input
    outp = [[0],[1],[1],[1]]        #tutti gli output desiderati per ciascuna casistica
	
	#addestro la rete fornendo gli input e output desiderati. Fornisco inoltre l'errore che desidero accettare
	#nel nostro caso scegliamo "default" che corrisponde ad un errore pari a 0.001, altrimenti mettete il numero che desiderate
	#senza le virgolette
    net.trainNet(inp,outp,"default");

	#è ora di testare cosa la rete ha appreso
    provainput = [0,1]; #creo un array contenente i due input (sono gli 0 e 1 d'ingresso della porta logica)
	
	#propago gli input nella rete neurale e stampo il risultato (la funzione restituisce un array) 
    print net.feedForward(provainput); #essendo gli input 0 ed 1 mi aspetto che il risultato sia qualcosa come 0.99 (molto vicino all'uno)
	
    print net.getError(); #se necessario, stampo l'errore della rete (è un singolo numero) 
    
    
        
if __name__=='__main__':
    main()
	
	
PyrosSoftware Neural Network

L’uso di questa libreria è concesso a chiunque, in qualsiasi tipo di progetto.

Questa libreria verrà inoltre utilizzata come strumento dimostrativo nella nascente associazione AI.N.E (Artificial Intelligence Next Element)

Ecco il link del download:

Download PyrosSoftware NN library (python) (16 download)