コード例 #1
0
def train_destin(destin_train_iterations, train_only_layer=-1):
  
    # only enable one layer if specified
    if train_only_layer != -1:
        for i in xrange(layers):
            dn.setLayerIsTraining(i, False)
        dn.setLayerIsTraining(train_only_layer, True)
        
    for i in range(destin_train_iterations):
        if i % 100 == 0:
            print "Training DeSTIN iteration: " + str(i)
            
            #chart.update([dn.getQuality(top_layer), dn.getVar(top_layer), dn.getSep(top_layer)])
            #chart.update([dn.getVar(top_layer), dn.getSep(top_layer)])
            #report_layer = 0
            #variance = dn.getVar(report_layer)
            #seperation = dn.getSep(report_layer)
            #quality = dn.getQuality(report_layer)
            #qual_moving_average = moving_average(quality)
            #chart.update([variance, seperation])
            chart.update(dn.getLayersQualities())
            if i%200 == 0:
                chart.draw()
           # print "Qual: %f, Variance: %f, seperation: %f, average: %f" % (quality, variance, seperation, qual_moving_average)
        
        #find an image of an enabled class
        cs.findNextImage()

        dn.doDestin(getCifarFloatImage(cs))
    
    dn.save( experiment_save_dir+"/network_"+run_id+".dst")
コード例 #2
0
def train():
    for i in xrange(iterations):
        if i % 10 == 0:
            variances = dn.getLayersVariances()
            separations = dn.getLayersSeparations()

            chart.update([
                separations[draw_layer] - variances[draw_layer],
                variances[draw_layer], separations[draw_layer]
            ])
            chart.draw()

            if (i % 300) == 0:
                print "#####################################"
                print "Iteration " + str(i)
                print ""

                for j in range(len(centroids)):
                    print "Layer: " + str(j)
                    print "Variance: " + str(variances[j])
                    print "Separation: " + str(separations[j])
                    print "Quality: " + str(separations[j] - variances[j])
                    print "Centroids: " + str(dn.getBeliefsPerNode(j))
                    print ""
                sys.stdout.flush()

        ims.findNextImage()
        #dn.clearBeliefs()
        for j in range(1):
            f = ims.getGrayImageFloat()
            dn.doDestin(f)
コード例 #3
0
def train_destin(destin_train_iterations, train_only_layer=-1):

    # only enable one layer if specified
    if train_only_layer != -1:
        for i in xrange(layers):
            dn.setLayerIsTraining(i, False)
        dn.setLayerIsTraining(train_only_layer, True)

    for i in range(destin_train_iterations):
        if i % 100 == 0:
            print "Training DeSTIN iteration: " + str(i)

            #chart.update([dn.getQuality(top_layer), dn.getVar(top_layer), dn.getSep(top_layer)])
            #chart.update([dn.getVar(top_layer), dn.getSep(top_layer)])
            #report_layer = 0
            #variance = dn.getVar(report_layer)
            #seperation = dn.getSep(report_layer)
            #quality = dn.getQuality(report_layer)
            #qual_moving_average = moving_average(quality)
            #chart.update([variance, seperation])
            chart.update(dn.getLayersQualities())
            if i % 200 == 0:
                chart.draw()
        # print "Qual: %f, Variance: %f, seperation: %f, average: %f" % (quality, variance, seperation, qual_moving_average)

        #find an image of an enabled class
        cs.findNextImage()

        dn.doDestin(getCifarFloatImage(cs))

    dn.save(experiment_save_dir + "/network_" + run_id + ".dst")
コード例 #4
0
def train():
    for i in xrange(iterations):
        if i % 10 == 0:
            variances = dn.getLayersVariances();
            separations = dn.getLayersSeparations();

            chart.update([separations[draw_layer] - variances[draw_layer], variances[draw_layer], separations[draw_layer]])
            chart.draw()
            
            if (i % 300) == 0:
                print "#####################################";
                print "Iteration " + str(i)
                print ""

                for j in range(len(centroids)):
                    print "Layer: " + str(j)
                    print "Variance: " + str(variances[j])
                    print "Separation: " + str(separations[j])
                    print "Quality: " + str(separations[j] - variances[j])
                    print "Centroids: " + str(dn.getBeliefsPerNode(j))
                    print ""
                sys.stdout.flush()

        ims.findNextImage()
        #dn.clearBeliefs()
        for j in range(1):
            f = ims.getGrayImageFloat()    
            dn.doDestin(f)
コード例 #5
0
def train():
    for i in xrange(iterations):
        if i % 10 == 0:
            variances = dn.getLayersVariances();
            separations = dn.getLayersSeparations();

            chart.update([separations[draw_layer] - variances[draw_layer], variances[draw_layer], separations[draw_layer]])
            chart.draw()
            
            if (i % 300) == 0:
                print "#####################################";
                print "Iteration " + str(i)
                print ""

                for j in range(len(centroids)):
                    print "Layer: " + str(j)
                    print "Variance: " + str(variances[j])
                    print "Separation: " + str(separations[j])
                    print "Quality: " + str(separations[j] - variances[j])
                    print "Centroids: " + str(dn.getBeliefsPerNode(j))
                    print ""
                sys.stdout.flush()

        ims.findNextImage()
        #dn.clearBeliefs()
        for j in range(1):
            if image_mode == pd.DST_IMG_MODE_GRAYSCALE:
                f = ims.getGrayImageFloat()    
            elif image_mode == pd.DST_IMG_MODE_RGB:
                f = ims.getRGBImageFloat()
            else:
                raise Exception("unsupported image mode")
            dn.doDestin(f)
コード例 #6
0
def train():
    for i in xrange(iterations):
        if i % 10 == 0:
            variances = dn.getLayersVariances()
            separations = dn.getLayersSeparations()

            chart.update([
                separations[draw_layer] - variances[draw_layer],
                variances[draw_layer], separations[draw_layer]
            ])
            chart.draw()

            if (i % 300) == 0:
                print "#####################################"
                print "Iteration " + str(i)
                print ""

                for j in range(len(centroids)):
                    print "Layer: " + str(j)
                    print "Variance: " + str(variances[j])
                    print "Separation: " + str(separations[j])
                    print "Quality: " + str(separations[j] - variances[j])
                    print "Centroids: " + str(dn.getBeliefsPerNode(j))
                    print ""
                sys.stdout.flush()

        ims.findNextImage()
        #dn.clearBeliefs()
        for j in range(1):
            if image_mode == pd.DST_IMG_MODE_GRAYSCALE:
                f = ims.getGrayImageFloat()
            elif image_mode == pd.DST_IMG_MODE_RGB:
                f = ims.getRGBImageFloat()
            else:
                raise Exception("unsupported image mode")
            dn.doDestin(f)
コード例 #7
0
def train():
    for i in xrange(4000):
        if i % 10 == 0:
            print "Iteration " + str(i)
            var = dn.getVar(top_layer)
            print "Variance: " +str(var)
            
            sep =  dn.getSep(top_layer)
            print "Sep: " + str(sep)
            
            qual = dn.getQuality(top_layer)
            print "Quality: " + str(qual)
            
            chart.update([qual, var, sep])
            chart.draw()
            #code.interact(local=locals())
            
            
        ims.findNextImage()
        #dn.clearBeliefs()
        for j in range(1):
            
            f = ims.getGrayImageFloat()    
            dn.doDestin(f)
コード例 #8
0
 def run(self):
     chart.draw()
コード例 #9
0
 def run(self):
     chart.draw()