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')