| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- from define import *
- import numpy
- def mult(Addresse,Neuronne, poids):
- print (Addresse[30])
- 1.7159*numpy.tanh(
- 0.66666667*( \
- Neuronne[Addresse[0]] * \
- Neuronne[Addresse[1]] * \
- Neuronne[Addresse[2]] * \
- Neuronne[Addresse[3]] * \
- Neuronne[Addresse[4]] * \
- Neuronne[Addresse[5]] * \
- Neuronne[Addresse[6]] * \
- Neuronne[Addresse[7]] * \
- Neuronne[Addresse[8]] * \
- Neuronne[Addresse[9]] * \
- Neuronne[Addresse[10]] * \
- Neuronne[Addresse[11]] * \
- Neuronne[Addresse[12]] * \
- Neuronne[Addresse[13]] * \
- Neuronne[Addresse[14]] * \
- Neuronne[Addresse[15]] * \
- Neuronne[Addresse[16]] * \
- Neuronne[Addresse[17]] * \
- Neuronne[Addresse[18]] * \
- Neuronne[Addresse[19]] * \
- Neuronne[Addresse[20]] * \
- Neuronne[Addresse[21]] * \
- Neuronne[Addresse[22]] * \
- Neuronne[Addresse[23]] * \
- Neuronne[Addresse[24]] * \
- Neuronne[Addresse[25]] * \
- Neuronne[Addresse[26]] * \
- Neuronne[Addresse[27]] * \
- Neuronne[Addresse[28]] * \
- Neuronne[Addresse[29]] * \
- Neuronne[Addresse[30]] * \
- poids))
- # Fonction d'initialisation du reseau de neuronne
- class RDN():
- def __init__(self,ID):
-
- self.ID = ID
-
- self.C1 = [0]*NBC1
- self.C2 = [0]*NBC2
- self.C3 = [0]*NBC3
- self.C4 = [0]*NBC4
- self.C5 = [0]*NBC5
- #print (self.C1)
-
- path = D_file + str(ID) + "/"
-
- #changer les addresse des fichier des poids avec l'ID
- F_add2=open(path + "Addresse2.pos","r")
- F_add3=open(path + "Addresse3.pos","r")
- F_add4=open(path + "Addresse4.pos","r")
- F_add5=open(path + "Addresse5.pos","r")
-
- F_Poid2=open(path + "poids2.wei","r")
- F_Poid3=open(path + "poids3.wei","r")
- F_Poid4=open(path + "poids4.wei","r")
- F_Poid5=open(path + "poids5.wei","r")
-
- self.add2 = []
- self.add3 = []
- self.add4 = []
- self.add5 = []
-
- self.poid2 = []
- self.poid3 = []
- self.poid4 = []
- self.poid5 = []
-
- for i in F_add2:
- data = i.strip('][\n').split(', ')
- tmp=[]
- for j in data:
- tmp.append(int(j))
- self.add2.append(tmp)
-
- for i in F_add3:
- data = i.strip('][\n').split(', ')
- tmp=[]
- for j in data:
- tmp.append(int(j))
- self.add3.append(tmp)
- for i in F_add4:
- data = i.strip('][\n').split(', ')
- tmp=[]
- for j in data:
- tmp.append(int(j))
- self.add4.append(tmp)
- for i in F_add5:
- data = i.strip('][\n').split(', ')
- tmp=[]
- for j in data:
- tmp.append(int(j))
- self.add5.append(tmp)
-
- for i in F_Poid2:
- self.poid2.append(float(i))
- for i in F_Poid3:
- self.poid3.append(float(i))
- for i in F_Poid4:
- self.poid4.append(float(i))
- for i in F_Poid5:
- self.poid5.append(float(i))
-
- def MiseAJourC1(self,tab):
- self.C1 = tab
-
- def tour(self):
- for i in range(len(self.C2)):
- #print (self.C1)
- self.C2[i]=mult(self.add2[i],self.C1,self.poid2[i])
-
- for i in range(len(self.C3)):
- self.C3[i]=mult(self.add3[i],self.C2,self.poid3[i])
-
- for i in range(len(C4)):
- self.C4[i]=mult(self.add4[i],self.C3,self.poid4[i])
-
- for i in range(len(self.C5)):
- self.C5[i]=mult(self.add5[i],self.C4,self.poid5[i])
- return self.C5
|