def anticorrupt()

in ebm_sandbox.py [0:0]


def anticorrupt(dataloader, weights, model, target_vars, logdir, sess):
    X, Y_GT, X_final = target_vars['X'], target_vars['Y_GT'], target_vars['X_final']
    for data_corrupt, data, label_gt in tqdm(dataloader):
        data, label_gt = data.numpy(), label_gt.numpy()

        noise = np.random.uniform(0, 1, size=[data.shape[0], data.shape[1], data.shape[2]])
        low_mask = noise < 0.05
        high_mask = (noise > 0.05) & (noise < 0.1)

        print(high_mask.shape)

        data_corrupt = data.copy()
        data_corrupt[low_mask] = 0.1
        data_corrupt[high_mask] = 0.9
        data_corrupt_init = data_corrupt

        for i in range(5):
            feed_dict = {X: data_corrupt, Y_GT: label_gt}
            data_corrupt = sess.run([X_final], feed_dict)[0]

        data_uncorrupt = data_corrupt
        data_corrupt, data_uncorrupt, data = rescale_im(data_corrupt_init), rescale_im(data_uncorrupt), rescale_im(data)

        panel_im = np.zeros((32*20, 32*3, 3)).astype(np.uint8)

        for i in range(20):
            panel_im[32*i:32*i+32, :32] = data_corrupt[i]
            panel_im[32*i:32*i+32, 32:64] = data_uncorrupt[i]
            panel_im[32*i:32*i+32, 64:] = data[i]

        imsave(osp.join(logdir, "anticorrupt.png"), panel_im)
        assert False