Beispiel #1
0
    assert numpy.array([img[:-7] == lbl[:-9] for img, lbl in zip(rgb, labels)]).all() == True

    numpy.random.seed(1203412412)
    indexes = numpy.random.permutation(len(rgb))
    perm_rgb = numpy.array(rgb)[indexes].tolist()
    perm_labels = numpy.array(labels)[indexes].tolist()

    train_data = Reader(perm_rgb[:-10], perm_labels[:-10], 2)
    valid_data = Reader(perm_rgb[-10:], perm_labels[-10:], 2)

    transforms = [dc.rgba2rgb(),
                  dc.clip_patch((192, 192)),
                  dc.flip_horizontally(),
                  dc.flip_vertically(),
                  dc.rotate90(),
                  dc.random_transform(0.1, 90, 0),
                  dc.blur(),
                  dc.normalize(0.5, 0.5)]

    generator = train_data.create_batch_generator(30, transforms=transforms)
    mask_builder = dc.build_halo_mask()

    net = dc.EUnet(3, 9, 4, 3, 1, depth=3, padding=1, init_xavier=True, use_bn=False, use_dropout=True).to(device)
    model, errors = dc.train(generator=generator,
                             model=net,
                             mask_builder=mask_builder,
                             niter=10000,
                             caption=join(directory, "model"))

    print(evaluate(valid_data, net, 65))
Beispiel #2
0
    numpy.random.seed(1203412412)
    indexes = numpy.random.permutation(len(rgb))
    perm_rgb = numpy.array(rgb)[indexes].tolist()
    perm_labels = numpy.array(labels)[indexes].tolist()

    train_data = dc.Reader(perm_rgb[:-10], perm_labels[:-10], 1)
    valid_data = dc.Reader(perm_rgb[-10:], perm_labels[-10:], 1)

    transforms = [
        dc.clip_patch((256, 256)),
        dc.flip_horizontally(),
        dc.flip_vertically(),
        dc.rotate90(),
        dc.rgb2gray(),
        dc.normalize(0.5, 0.5)
    ]

    generator = train_data.create_batch_generator(30, transforms=transforms)
    mask_builder = clip_mask_builder(
        dc.build_halo_mask(fixed_depth=100, margin=35, min_fragment=10))

    net = dc.EUnet(1, 6, k=2, s=4, depth=3, l=1, padding=0,
                   use_dropout=True).to(device)
    model, errors = dc.train(generator=generator,
                             model=net,
                             mask_builder=mask_builder,
                             niter=7000,
                             k_neg=5.,
                             lr=1e-3,
                             caption=join(directory, "model"))