def charger(self, nomfichier): from ast import literal_eval self.couches = None fichier = open(nomfichier, 'r') couche_type = fichier.readline().rstrip('\n\r') while couche_type != 'end': if couche_type == 'MLP': nbrElmCouche = literal_eval(fichier.readline().rstrip('\n\r')) couche = MLP(nbrElmCouche) for k in range(couche.nbrCouches): poids = fichier.readline().rstrip('\n\r').split(" ") couche.poids[k] = np.array(map(float, poids)).reshape( nbrElmCouche[k], nbrElmCouche[k + 1]) bias = fichier.readline().rstrip('\n\r').split(" ") couche.bias[k] = np.array(map(float, bias)) elif couche_type == 'CNN': dimFiltres = literal_eval(fichier.readline().rstrip('\n\r')) dimSech = literal_eval(fichier.readline().rstrip('\n\r')) couche = CNN(dimFiltres, dimSech) couche.dimInput = literal_eval( fichier.readline().rstrip('\n\r')) couche.filtresPoids = fichier.readline().rstrip('\n\r').split( " ") couche.filtresPoids = np.array(map( float, couche.filtresPoids)).reshape(dimFiltres) couche.filtresBias = fichier.readline().rstrip('\n\r').split( " ") couche.filtresBias = np.array(map( float, couche.filtresBias)).reshape(dimFiltres[0]) couche.dimConv = (couche.dimFiltres[0], ) + ( couche.dimInput[-2] - couche.dimFiltres[-2] + 1, couche.dimInput[-1] - couche.dimFiltres[-1] + 1) couche.dimOutput = (couche.dimFiltres[0], ) + ( couche.dimConv[-2] / couche.dimSech[-2], couche.dimConv[-1] / couche.dimSech[-1]) self.addCouche(couche) couche_type = fichier.readline().rstrip('\n\r')