예제 #1
0
def main():
    md = GtsrbModel(source_dir='GTSRB')
    # _model0 = (0, "models/gtsrbreplace_worst_of_10_model_False.hdf5")
    _model0 = (0, "models/gtsrb.oxford.original_model.hdf5")
    # _model0 = (0, "models/gtsrbga_loss_model_False.hdf5")
    x_original_test, y_original_test = md.load_original_test_data()

    model = md.load_model(_model0[0], _model0[1])

    # index = 50, 10, 20, 30
    index = 10578
    save_img(x_original_test[index], "cur_image")
    img = copy.copy(x_original_test[index])
    label = y_original_test[index]

    x, y = generate_image(img, label)

    temp_x = copy.copy(x)
    value = generate_value(model, md.preprocess_original_imgs(temp_x), y)
    # print value
    xig, yig, zig = prepare_data(value)
    plot(xig, yig, zig, "Loss")

    # value = generate_cov2(model, md.preprocess_original_imgs(x_original_test), md.preprocess_original_imgs(x),
    #                       y, y_original_test)
    # org_imgs = []
    # for i in range(len(y)):
    #     temp_img = copy.copy(img)
    #     org_imgs.append(temp_img)
    # value = generate_cov(model, md.preprocess_original_imgs(org_imgs), md.preprocess_original_imgs(x), y)
    #
    # xig, yig, zig = prepare_data(value)
    # plot(xig, yig, zig, "Cov")
    plt.show()
예제 #2
0
def main():
    md = GtsrbModel(source_dir='GTSRB')
    _model0 = (0, "models/gtsrbga_loss_model_False.hdf5")
    x_original_test, y_original_test = md.load_original_test_data()

    model0 = md.load_model(_model0[0], _model0[1])

    x_part = x_original_test[0:2000]
    y_part = y_original_test[0:2000]

    au = Augmenter()
    temp_x_original_train = copy.deepcopy(x_part)
    x_part2, y_part = au.random_replace(temp_x_original_train, y_part)

    x_part = md.preprocess_original_imgs(x_part)
    x_part2 = md.preprocess_original_imgs(x_part2)

    function_test(model0, x_part, x_part2, y_part)
예제 #3
0
def main2():
    md = GtsrbModel(source_dir='GTSRB')
    _model0 = (0, "models/gtsrbga_loss_model_False.hdf5")
    x_original_test, y_original_test = md.load_original_test_data()

    model0 = md.load_model(_model0[0], _model0[1])

    x_part = x_original_test[0:1000]
    y_part = y_original_test[0:1000]

    au = Augmenter()
    temp_x_original_train = copy.deepcopy(x_part)

    x_10, y_train = au.worst_of_10(temp_x_original_train, y_part)
    select_worst_cov(md, model0, md.preprocess_original_imgs(temp_x_original_train), x_10, y_train)
예제 #4
0
    # x_original_test = x_original_test[0:10]
    # y_original_test = y_original_test[0:10]

    x_original_train, y_original_train = md.load_original_data('train')

    # perturb data
    temp_x_test = copy.deepcopy(x_original_test)
    pt = Perturbator()
    x_perturbed_test, y_perturbed_test = pt.random_perturb(
        temp_x_test, y_original_test)

    # Load model
    _model0 = (0, "models/gtsrb.oxford.model0.hdf5")
    model0 = md.load_model(_model0[0], _model0[1])

    x_original_test = md.preprocess_original_imgs(x_original_test)
    x_perturbed_test = md.preprocess_original_imgs(x_perturbed_test)

    loss_set = generate_loss(x_perturbed_test, y_perturbed_test)
    print loss_set

    nc = NeuralCoverage(model0)
    coverage_diff_set = nc.generate_coverage_diff(x_original_test,
                                                  x_perturbed_test)
    print coverage_diff_set

    print np.corrcoef(loss_set, coverage_diff_set)

    import matplotlib
    import matplotlib.pyplot as plt