class MaFenetre(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.setWindowTitle("reseau neurones test") self.resize(420, 420) self.dessin = ZoneDessin(self) self.dessin.setGeometry(50, 50, 28 * 5, 28 * 5) self.btn_0 = QtGui.QPushButton("tester", self) self.btn_0.clicked.connect(self.tester) self.btn_0.setGeometry(50, 280, 150, 50) self.btn_1 = QtGui.QPushButton("effacer", self) self.btn_1.clicked.connect(self.effacer) self.btn_1.setGeometry(50, 340, 150, 50) self.btn_2 = QtGui.QPushButton("charger un reseau", self) self.btn_2.clicked.connect(self.charger) self.btn_2.setGeometry(50, 220, 150, 50) self.btn_3 = QtGui.QPushButton("quitter", self) self.btn_3.clicked.connect(QtCore.QCoreApplication.instance().quit) self.btn_3.setGeometry(300, 340, 100, 40) self.label = QtGui.QLabel(self) self.label.setGeometry(200, 115, 175, 75) self.label.setFrameStyle(QtGui.QFrame.Panel | QtGui.QFrame.Sunken) self.label.setText("reponse du reseau : ?\n\n") self.label.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignRight) self.reseau = None def effacer(self): self.dessin.im.fill(QtCore.Qt.white) self.dessin.repaint() self.label.setText("reponse du reseau : ?\n\n") def tester(self): if (self.reseau == None): QtGui.QMessageBox.information( self, "Information", "Vouds devez d'abord charger un reseau") else: input = self.dessin.toBinaryMatrix() output = self.reseau.getOutput( input.reshape((1, ) + np.shape(input))) classe = np.argmax(output) self.label.setText("reponse du reseau : {}\n\n".format(classe)) def charger(self): nomfichier, _ = QtGui.QFileDialog.getOpenFileName( self, str("charger un reseau"), "/home/jana", str("reseau sauvegarde (*.txt *.csv)")) if nomfichier != '': self.reseau = Reseau() self.reseau.charger(nomfichier) if isinstance(self.reseau.couches[0], CNN): self.dessin.setGeometry( 50, 50, self.reseau.couches[0].dimInput[1] * 5 + 2, self.reseau.couches[0].dimInput[2] * 5 + 2) if isinstance(self.reseau.couches[0], MLP): self.dessin.setGeometry( *(50, 50) + (int(np.sqrt(self.reseau.couches[0].dimInput)) * 5 + 2, ) * 2)
def charger(self): nomfichier, _ = QtGui.QFileDialog.getOpenFileName( self, str("charger un reseau"), "/home/jana", str("reseau sauvegarde (*.txt *.csv)")) if nomfichier != '': self.reseau = Reseau() self.reseau.charger(nomfichier) if isinstance(self.reseau.couches[0], CNN): self.dessin.setGeometry( 50, 50, self.reseau.couches[0].dimInput[1] * 5 + 2, self.reseau.couches[0].dimInput[2] * 5 + 2) if isinstance(self.reseau.couches[0], MLP): self.dessin.setGeometry( *(50, 50) + (int(np.sqrt(self.reseau.couches[0].dimInput)) * 5 + 2, ) * 2)
class GuiLogger(QWidget): def __init__(self): super().__init__() self.reseau = Reseau() self.planning = Planning() self.createLogger() def createLogger(self): self.setGeometry(300, 300, 300, 220) self.setWindowTitle('Connexion') # create layout vertical contenant les layouts horizontaux vbox = QVBoxLayout(self) boxLoggin = QHBoxLayout() lalogin = QLabel("login : "******"@epitech.eu") boxLoggin.addWidget(lalogin) boxLoggin.addWidget(self.liLogin) boxLoggin.addWidget(laepitech) boxPasswd = QHBoxLayout() lapasswd = QLabel("Passwd : ") self.liPasswd = QLineEdit() self.liPasswd.setEchoMode(QLineEdit.Password) boxPasswd.addWidget(lapasswd) boxPasswd.addWidget(self.liPasswd) btnConnect = QPushButton('Connexion', self) btnConnect.clicked.connect(self.on_click) vbox.addLayout(boxLoggin) vbox.addLayout(boxPasswd) vbox.addWidget(btnConnect) self.show() @pyqtSlot() def on_click(self): ret = self.reseau.authenticate(self.liLogin.text() + "@epitech.eu", self.liPasswd.text()) if ret == True: self.win = GuiLesson(self.reseau) self.close() else: QMessageBox.warning("Connexion error", 'Error connexion, check id', QMessageBox.Ok, QMessageBox.Ok)
#!/usr/bin/env python #-*- coding: latin-1 -*- from Reseau import Reseau from MLP import MLP from CNN import CNN from outils import * from matplotlib import pyplot as plt nbrExplApr = 783 Niter = 100 paquetSize =19 nbrPaquet = nbrExplApr/paquetSize #creation du modele reseau=Reseau(learning_rate=0.1,momentum=0.8) reseau.addCouche(CNN((4,1,5,5))) reseau.addCouche(MLP((4*12*12,120,10))) #chargement de la base d'apprentissage images , etiquetes = chargerBase('data/digit10_28x28_learn.txt') images=images.reshape(nbrExplApr,1,28,28) #entrainement du modele couts=reseau.entrainer(images,etiquetes,Niter,nbrPaquet,paquetSize,cout_type='crossEntropy',getCouts=True,autosave=20) #affichage du cout par iteration plt.plot(couts,label="aprentissage") plt.xlabel("nombre d'iterations")
def __init__(self): super().__init__() self.reseau = Reseau() self.planning = Planning() self.createLogger()
import numpy as np from outils import * from mnistHandwriting import * from Reseau import Reseau from CNN import CNN from MLP import MLP #parametres du reseau nu = 1e-1 nbrIter = 400 nbrExplApr = 2560 nbrExpltest = 2560 paquetSize = 32 moment = 0.0 poidDecay = 0.0008 nbrPaquets = nbrExplApr / paquetSize baseApr = chargerBase('data/digit10_28x28_learn.txt') images, targets = adaptData(baseApr, nbrExplApr, (28, 28)) reseau = Reseau(nu, moment, poidDecay) reseau.addCouche(MLP((28 * 28, 120, 10))) reseau.entrainer(images, targets, nbrIter, paquetSize, nbrPaquets) basetest = MNISTexample(0, nbrExpltest, only01=False, bTrain=False) #basetest=chargerBase('data/digit10_28x28_test.txt') images, targets = adaptData(basetest, nbrExpltest, (28, 28)) reseau.tester(images, targets, nbrExpltest)
obj.append( Cour(ret[i]['codemodule'], ret[i]['codeinstance'], ret[i]['codeacti'], ret[i]['codeevent'], ret[i]['acti_title'], ret[i]['scolaryear'])) print('id=', i, ret[i]['codemodule'], ret[i]['codeinstance'], ret[i]['codeacti'], ret[i]['codeevent'], ret[i]['acti_title'], ret[i]['scolaryear']) i += 1 return obj except Exception as e: print("Planning exception: %s" % str(e)) return obj if __name__ == "__main__": reseau = Reseau() planning = Planning() reseau.authenticate("*****@*****.**", "hjR5HQq.") cours = planning.reqDay(reseau) # Attente selection du cours !!!! id_cour = input('Selection du cours: ') cours[int(id_cour)].reqRegistered(reseau) # Creation client com avec Serveur NFC client = Client(config.URI) print('Place card') lastID = ""
data = openFile(file) busStops = parseBusStops(data) reseau.addBusStops(busStops, numLigne) fillHoraire(reseau, data) # ============================================================================= # Execution # ============================================================================= #Récupération des fichiers data_file_name1 = 'data/1_Poisy-ParcDesGlaisins.txt' data_file_name2 = 'data/2_Piscine-Patinoire_Campus.txt' #Création du réseau reseau = Reseau() addLigneFromtxt(reseau, data_file_name1) addLigneFromtxt(reseau, data_file_name2) #print(reseau.djikstraShortest(reseau.listBusStop[4], reseau.listBusStop[21])) print( reseau.djikstraForemost(reseau.listBusStop[1], reseau.listBusStop[8], "10:00")) # ============================================================================= # INTERFACE UTILISATEUR # ============================================================================= root = Tk() ww = GUI(root) for count, i in enumerate(reseau.listBusStop): ww.listBox1.insert(count, i.name)
nbrExpl = 800 centre1=(-2,-2) centre2=(-2, 2) centre3=( 2,-2) centre4=( 2, 2) x,y=generNuageGaussien((centre1,centre2,centre3,centre4),nbrExpl,pour='mlp') #on affiche la base d'aprentissage (la une couleur designe la classe) couleur={0:'r',1:'b',2:'g',3:'k'} for k in range(nbrExpl): plt.plot(x[k,0],x[k,1],'ro',color=couleur[np.argmax(y[k])]) plt.show() #creation d'un perceptron multicouches a l'aide de la classe Reseau et la classe MLP reseau=Reseau(learning_rate=0.1) reseau.addCouche(MLP((2,4))) #aprentissage du modele Niter = 100 couts = reseau.entrainer(x,y,Niter,nbrExpl,getCouts=True,autosave=1) #affichage du cout par iteration plt.plot(couts,label="aprentissage") plt.xlabel("nombre d'iterations") plt.ylabel("le cout ") #teste des performances
from Reseau import Reseau from MLP import MLP from outils import * from matplotlib import pyplot as plt nbrEntrees = 28*28 nbrClasses = 10 tailleCoucheC = 120 #creation du modele reseau=Reseau(learning_rate=0.1) reseau.addCouche(MLP((nbrEntrees,tailleCoucheC,nbrClasses))) #chargement de la base d'apprentissage images , etiquetes = chargerBase('data/digit10_28x28_learn.txt') nbrExpl = 783 #entrainement du modele Niter = 200 paquetSize =19 nbrPaquet = 783/paquetSize couts=reseau.entrainer(images,etiquetes,Niter,nbrPaquet,paquetSize,cout_type='quadratique',getCouts=True,autosave=1) #affichage du cout par iteration plt.plot(couts,label="aprentissage") plt.xlabel("nombre d'iterations") plt.ylabel("le cout ") #teste des performances #chargement de la base de test