Ejemplo n.º 1
0
    data_set_parameters = {
        'data_set_dir': './data/pathfinder_natural_images_2',
    }

    train_parameters = {
        'train_batch_size': 32,
        'test_batch_size': 1,
        'learning_rate': 1e-4,
        'num_epochs': 50,
        'gaussian_reg_weight': 1e-5,
        'gaussian_reg_sigma': 10,
    }

    # Create Model
    cont_int_layer = new_piech_models.CurrentSubtractInhibitLayer(
        lateral_e_size=15, lateral_i_size=15, n_iters=5)

    # cont_int_layer = new_control_models.ControlMatchParametersLayer(
    #     lateral_e_size=15, lateral_i_size=15)
    # cont_int_layer = new_control_models.ControlMatchIterationsLayer(
    #     lateral_e_size=15, lateral_i_size=15, n_iters=5)

    scale_down_input_to_contour_integration_layer = 4
    net = new_piech_models.BinaryClassifierResnet50(cont_int_layer)

    main(net,
         train_params=train_parameters,
         data_set_params=data_set_parameters,
         base_results_store_dir='./results/pathfinder',
         cont_int_scale=scale_down_input_to_contour_integration_layer)
Ejemplo n.º 2
0
    # ----------------------------------------------------------------------
    data_set_parameters = {
        'data_set_dir': "./data/channel_wise_optimal_full14_frag7",
        'train_subset_size': 20000,
        'test_subset_size': 2000
    }

    for lr in lr_arr:
        print("Processing learning rate = {} {}".format(lr, '*' * 40))

        base_results_dir = './results/analyze_lr_rate/lr_{}'.format(lr)

        cont_int_layer = new_piech_models.CurrentSubtractInhibitLayer(
            lateral_e_size=15,
            lateral_i_size=15,
            n_iters=5,
            use_recurrent_batch_norm=True)
        # cont_int_layer = new_piech_models.CurrentDivisiveInhibitLayer(
        #     lateral_e_size=15, lateral_i_size=15, n_iters=5, use_recurrent_batch_norm=True)

        # cont_int_layer = new_control_models.ControlMatchParametersLayer(
        #      lateral_e_size=15, lateral_i_size=15)

        model = new_piech_models.ContourIntegrationResnet50(cont_int_layer)

        train_parameters = {
            'random_seed': random_seed,
            'train_batch_size': 32,
            'test_batch_size': 32,
            'learning_rate': lr,
Ejemplo n.º 3
0
    plt.title("Input")


if __name__ == "__main__":
    # -----------------------------------------------------------------------------------
    # Init
    # -----------------------------------------------------------------------------------
    random_seed = 10
    plt.ion()
    torch.manual_seed(random_seed)
    np.random.seed(random_seed)
    data_dir = "./data/channel_wise_optimal_full14_frag7"

    cont_int_layer = new_piech_models.CurrentSubtractInhibitLayer(
        lateral_e_size=15,
        lateral_i_size=15,
        n_iters=5,
        store_recurrent_acts=True)

    net = new_piech_models.ContourIntegrationResnet50(cont_int_layer)
    saved_model = \
        './results/positive_weights' \
        '/ContourIntegrationResnet50_CurrentSubtractInhibitLayer_20201220_194703_baseline' \
        '/best_accuracy.pth'

    dev = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    net.load_state_dict(torch.load(saved_model, map_location=dev))

    device = dev

    # -----------------------------------------------------------------------------------