Exemple #1
0
    def generateTrainSet(self):
        """
        Gerneruje zestaw treningowy.
        Przeprowadza naukę sieci neuronowej.
        Parametry treningu sieci są pobierane z elementów GUI.

        Uwaga: Każdorazowo sieć tworzona jest na nowo.
        
        """

        if len(self.ui.o_zbiorTreningowy.text()) == 0:
            QMessageBox.warning(None, "BMMSI",
                                u"Należy podać istniejącą scieżkę")
            return

        gen = GenratorPlikuTestowego()
        gen.generuj(self.ui.o_zbiorTreningowy.text())

        if self.siec_neuronowa is not None:
            del self.siec_neuronowa
            self.siec_neuronowa = None

        ssn_params = [
            25,
        ]  #wartstwa wejściowa
        # warstwy ukryte
        for x in range(self.ui.i_iloscWarstwUkrytych.value()):
            ssn_params.append(self.ui.i_liczbaNeuronowWarstwaUkryta.value())
        # warstwa wyjściowa
        ssn_params.append(4)
        self.siec_neuronowa = SSN(
            2 + self.ui.i_iloscWarstwUkrytych.value(),
            ssn_params,
        )

        self.siec_neuronowa.logEntry.connect(self.addLineToLog)

        self.siec_neuronowa.train(
            (QDir.currentPath() + QDir.separator() + "test.txt"),
            liczbaEpok=self.ui.i_liczbaEpok.value(),
            N=self.ui.i_wspolczynnikUczenia.value(),
            M=self.ui.i_wspolczynnikMomentum.value(),
            min_blad=self.ui.i_limiWartosciBledu.value())

        self.ui.ib_testuj.setEnabled(True)