示例#1
0
        def evaluation_RBM(self, dr, scale, k):
                rbm = RBM(self.layers[k], self.layers[k+1], self.weightLayers[k], 0)
                for i in range(scale):
                        im = dr.readOne(i)
                        for p in range(len(im)):
                                if im[p] >= 128:
                                        rbm.v_layer.outs[p] = 1.0
                                else:
                                        rbm.v_layer.outs[p] = 0.0                
                        rbm.update_total_error()

                        #just for testing
                        size = [28, 28]
                        image = Image.new("L", size)
                        for p in range(len(self.layers[k].outs)):
                                if self.layers[k].outs[p] == 1.0:
                                        image.putpixel([p%28, p/28], 255)
                                else:
                                        image.putpixel([p%28, p/28], 0)
                        image.show()
                        
                rbm.print_average_error(k)