예제 #1
0
def test_inverted(neural_net, testing_file, render=False):
    test_pattern = image.load_binary_image(testing_file)["data"]
    inverted_pattern = invert_pattern(test_pattern)
    image.render_image(inverted_pattern, neural_net.rows, neural_net.cols)
    input("Press enter to continue...")
    
    # Evaluate
    refreshed = neural_net.evaluate_net(inverted_pattern, 'async', 20,render=render)
    image.render_image(refreshed, neural_net.rows, neural_net.cols)
    input("Press enter to continue...")
예제 #2
0
    def refresh_synchronic(self, s, render):
        refreshed = [sgn(x) for x in np.dot(self.W, s)]
        # TODO: ver eso de render image
        if render:
            im, bitmap = image.render_image(refreshed, self.rows, self.cols)

        return np.array(refreshed)
예제 #3
0
def test_combination(neural_net, testing_set, render=False):
    log.info("Testing patterns...")
    L = len(testing_set)

    # Combine patterns
    combined_pattern = image.load_binary_image(testing_set[0])["data"]
    for i in range(1,L):
        next_pattern = image.load_binary_image(testing_set[i])["data"]
        # Load test pattern
        combined_pattern = sum_patterns(combined_pattern, next_pattern)
    image.render_image(combined_pattern, neural_net.rows, neural_net.cols)
    input("Press enter to continue...")
    
    # Evaluate
    refreshed = neural_net.evaluate_net(combined_pattern, 'async', 20,render=render)
    image.render_image(refreshed, neural_net.rows, neural_net.cols)
    input("Press enter to continue...")
예제 #4
0
def test(neural_net, testing_set, render=False):
    log.info("Testing patterns...")

    for test in testing_set:
        # Load test pattern
        test_pattern = image.load_binary_image(test)["data"]

        # Add noise to test pattern
        test_pattern_noisy = add_noise(test_pattern, 0.25)
        image.render_image(test_pattern_noisy, neural_net.rows,
                           neural_net.cols)
        input("Press enter to continue...")

        refreshed = neural_net.evaluate_net(test_pattern_noisy,
                                            'async',
                                            20,
                                            render=render)

        image.render_image(refreshed, neural_net.rows, neural_net.cols)
        input("Press enter to continue...")
예제 #5
0
    def refresh_asynchronic(self, s, render):  # Asynchronic
        if render:
            im, bitmap = image.render_image(s, self.rows, self.cols)

        refreshed_s = np.copy(s)

        for i in (np.random.permutation(self.N)):
            refreshed_s[i] = sgn(sum(self.W[i, :] * refreshed_s))

            if render and refreshed_s[i] != s[i]:
                im, bitmap = image.render_pixel(im, bitmap, refreshed_s[i],
                                                i % self.cols,
                                                int(np.floor(i / self.cols)))
        return np.array(refreshed_s)
예제 #6
0
def plot():
    output = render_image()
    return Response(output.getvalue(), mimetype='image/png')
예제 #7
0
 def draw(self):
     render_image(self.title, self.im, self.fps, False)