Example #1
0
def visual_evaluation(model, quadratic, writer, epoch):
    gen = dataloader.generate_hard_input(quadratic=quadratic)

    y_hats = []
    ys = []
    for X, y in gen:
        X = X.cuda() / 255.
        y = y / 255.

        y_hat = model(X).detach().cpu().squeeze(dim=0)
        y_hats.append(y_hat)
        ys.append(y)

    y_hats = torch.stack(y_hats).clamp(0, 1)
    ys = torch.stack(ys)

    # create image grid
    grid = utilities.create_grid(y_hats, ys, padding=20, nrow=4)

    writer.add_image('hard_examples', img_tensor=grid, global_step=epoch)
Example #2
0
                                     weight_in_current_cluster)
                    if curr_cost < min_cost:
                        # Found better package to go to next
                        min_index = i
                        min_cost = curr_cost
            if min_index != -1:
                print("Appended ", min_index, " with cost ", min_cost)
                cluster.append(min_index)
                packages_visited[min_index] = 1
                num_packages_visited += 1
                curr_x = packages[min_index].x
                curr_y = packages[min_index].y
                weight_in_current_cluster += packages[min_index].weight
        clusters.append(cluster)

    return clusters


if __name__ == '__main__':
    packages = []
    obstacles = []
    num_r = 0
    packages, obstacles, num_r = utilities.parse_input('3a.in')
    maze = utilities.create_grid(packages, obstacles)

    clusters = part3(packages)
    print(clusters)
    sequence = convert_clusters_to_sequence(packages, clusters, maze)
    print(sequence)
    build_output(packages, sequence, maze)