コード例 #1
0
    def train(self, event):
        if self.train_f_name_tb.GetValue() != '':
            ffp = FaceFileParser()
            ffp.add_dir(self.train_f_name_tb.GetValue())
            datalist = ffp.get_data()

            layers = int(self.train_numLayers_tb.GetValue())
            nodes = int(self.train_numNodes_tb.GetValue())
            epochs = int(self.train_numEpochs_tb.GetValue())

            nettype = self.netbox.GetSelection()

            print layers
            print nodes
            print epochs
            print nettype

            if nettype == 0:
                fc = SupervisedFacialClassifier()
                if layers == 1:
                    errorData = fc.alternateTrain(datalist, [(nodes)], epochs,
                                                  5)
                elif layers == 2:
                    errorData = fc.alternateTrain(datalist, (nodes, nodes),
                                                  epochs, 5)
                elif layers == 3:
                    errorData = fc.alternateTrain(datalist,
                                                  (nodes, nodes, nodes),
                                                  epochs, 5)

                print 'ErrorData:\n'

                print errorData

                print '\n'

                for entry in errorData['training_error']:
                    print entry
            else:
                fc = UnsupervisedFacialClassifier(2, 2)
                errorData = fc.train(datalist)
コード例 #2
0
    def train(self, event):
        if self.train_f_name_tb.GetValue() != '':
            ffp = FaceFileParser()
            ffp.add_dir(self.train_f_name_tb.GetValue())
            datalist = ffp.get_data()

            layers = int(self.train_numLayers_tb.GetValue())
            nodes = int(self.train_numNodes_tb.GetValue())
            epochs = int(self.train_numEpochs_tb.GetValue())

            nettype = self.netbox.GetSelection()

            print layers
            print nodes
            print epochs
            print nettype

            if nettype == 0:
                fc = SupervisedFacialClassifier()
                if layers == 1:
                    errorData = fc.alternateTrain(datalist, [(nodes)], epochs, 5)
                elif layers == 2:
                    errorData = fc.alternateTrain(datalist, (nodes,nodes), epochs, 5)
                elif layers == 3:
                    errorData = fc.alternateTrain(datalist, (nodes,nodes,nodes), epochs, 5)

                print 'ErrorData:\n'
                
                print errorData
                    
                print '\n'
                
                for entry in errorData['training_error']:
                    print entry
            else:
                fc = UnsupervisedFacialClassifier(2,2)
                errorData = fc.train(datalist)
コード例 #3
0
ファイル: test.py プロジェクト: mwebergithub/face457b
"""
print "Single Hidden Layer"
for i in range(2,20):
    fc = FacialClassifier()
    fc.alternateTrain(datalist, [(i)], 25)

print "Double Hidden Layer"
for i in range(2,20):
    fc = FacialClassifier()
    fc.alternateTrain(datalist, (i,i), 25)

print "Triple Hidden Layer"
for i in range(2,20):
    fc = FacialClassifier()
    fc.alternateTrain(datalist, (i,i,i), 25)
"""
fc = SupervisedFacialClassifier()
# alternateTrain(datalist, hiddenNodes, #epochs, log stats every X epochs)
fc.alternateTrain(datalist, (20, 20), 500, 10)

"""
#Test a single input file
ffp2 = FaceFileParser()
ffp2.add_file("c:\\face457b\\inputData\\in01.csv")

datalist2 = ffp2.get_data()

emo,data = datalist2[0]
fc.classify(data)
"""
コード例 #4
0
"""
print "Single Hidden Layer"
for i in range(2,20):
    fc = FacialClassifier()
    fc.alternateTrain(datalist, [(i)], 25)

print "Double Hidden Layer"
for i in range(2,20):
    fc = FacialClassifier()
    fc.alternateTrain(datalist, (i,i), 25)

print "Triple Hidden Layer"
for i in range(2,20):
    fc = FacialClassifier()
    fc.alternateTrain(datalist, (i,i,i), 25)
"""
fc = SupervisedFacialClassifier()
# alternateTrain(datalist, hiddenNodes, #epochs, log stats every X epochs)
fc.alternateTrain(datalist, (20,20), 500, 10);

"""
#Test a single input file
ffp2 = FaceFileParser()
ffp2.add_file("c:\\face457b\\inputData\\in01.csv")

datalist2 = ffp2.get_data()

emo,data = datalist2[0]
fc.classify(data)
"""
コード例 #5
0
from face_file_parser import FaceFileParser
from supervised_facial_classifier import SupervisedFacialClassifier

max_hn = 400
min_hn = 50
step_size = 25
epochs = 750
output = 50

ffp = FaceFileParser()
sfc = SupervisedFacialClassifier()
ffp.add_dir('./normData')
d_s = ffp.get_data()

csv_out = open('./vary_topology.csv','w')
csv_out.write('topology,min test error,at epoch,avg test error,avg train error\n')

l1 = min_hn
while l1 <= max_hn:
    print 'Topology :' + str(l1) + '\n'
    results = sfc.alternateTrain(d_s,[(l1)],epochs,logFreq=output)
    min_err = min(results['testing_error'])
    at_e = results['epochs'][results['testing_error'].index(min_err)]
    avg_tst = results['avg_testing_error']
    avg_trn = results['avg_training_error']
    csv_out.write(str(l1) + ';' + ',' + str(min_err) + ','
    + str(at_e) + ',' + str(avg_tst) + ',' + str(avg_trn) + '\n')
    print 'Minimum error of ' + str(min_err) + ' at epoch ' + str(at_e)

    l2 = min_hn
    while l2 <= max_hn: