예제 #1
0
#visualize.visualize_image_matrix_grayscale(image_matrix, "out_image_original_gray.png")
#for i in range(10):
network.visualize_image(image_matrix_rgb, "original_rgb")
network.visualize_image(image_matrix, "original_greyscale")

hopfield = Hopfield(image_matrix, alpha=alpha, strmost=strmost)

while True:

    # recompute strmost

    _new_strmost = 1.0 * (step * batchsize - strmost_increase_after) / \
                           (strmost_increase_until - strmost_increase_after) * \
                           (strmost_final - strmost) + strmost

    if _new_strmost > strmost:
        hopfield.strmost = _new_strmost

    #hopfield.recompute_random()
    hopfield.recompute_random_batch(batchsize)

    if (step) % visualize_image_after == 0:
        print("{}: strmost={:.1f}, image visualization...".format(
            step, hopfield.strmost))

        new_image_matrix = hopfield.get_recomputed_image_matrix()
        #visualize.visualize_image_matrix_grayscale(new_image_matrix, "out_image.png")
        network.visualize_image(new_image_matrix, "result")
        print("Visualized")

    step += 1
예제 #2
0
    _new_strmost = 1.0 * (step * batchsize - strmost_increase_after) / \
                           (strmost_increase_until - strmost_increase_after) * \
                           (strmost_final - strmost) + strmost

    if _new_strmost > strmost:
        hopfield.strmost = _new_strmost

    print("{}: strmost={:.1f}".format(step * batchsize, hopfield.strmost))

    t = time.time()
    hopfield.recompute_random_batch(batchsize)
    print("Batch took {:.2f}s".format(time.time() - t))

    t = time.time()
    network.visualize_image(hopfield.get_recomputed_image_matrix(), "result")
    network.visualize_image(hopfield.get_recomputed_image_matrix_mean(),
                            "result_mean")
    network.visualize_image(hopfield.get_recomputed_image_matrix_valid(),
                            "result_valid")
    network.visualize_image(hopfield.get_recomputed_image_matrix_var(), "var")
    for i in range(len(b)):
        network.visualize_image(
            hopfield.get_recomputed_image_matrix_one_color(i),
            f"result_colors/result_color_{i}")

    print(hopfield.V[10, 10])
    print("Visualisation took {:.2f}s".format(time.time() - t))

    step += 1