def plot_some_data_t1km_flair_adc_cbv():
    memmap_name = "patchClassification_ws_resampled_t1km_flair_adc_cbv_new"
    with open("../data/%s_properties.pkl" % memmap_name, 'r') as f:
        memmap_properties = cPickle.load(f)
    n_pos_train = memmap_properties["train_pos"]
    n_neg_train = memmap_properties["train_neg"]
    n_pos_val = memmap_properties["val_pos"]
    n_neg_val = memmap_properties["val_neg"]
    train_pos_memmap = memmap("../data/%s_train_pos.memmap" % memmap_name, dtype=np.float32, mode="r+", shape=memmap_properties["train_pos_shape"])
    train_neg_memmap = memmap("../data/%s_train_neg.memmap" % memmap_name, dtype=np.float32, mode="r+", shape=memmap_properties["train_neg_shape"])
    val_pos_memmap = memmap("../data/%s_val_pos.memmap" % memmap_name, dtype=np.float32, mode="r+", shape=memmap_properties["val_pos_shape"])
    val_neg_memmap = memmap("../data/%s_val_neg.memmap" % memmap_name, dtype=np.float32, mode="r+", shape=memmap_properties["val_neg_shape"])
    i = 0
    ctr = 0
    for data, seg, labels in memmapGenerator_t1km_flair_adc_cbv(val_neg_memmap, val_pos_memmap, 128, n_pos_val, n_neg_val):
        if i == 2:
            break
        data2 = np.array(data)
        for img, segm, lab in zip(data2, seg, labels):
            t1km_img = img[0]
            flair_img = img[1]
            adc_img = img[2]
            cbv_img = img[3]
            plt.figure(figsize=(24,8))
            plt.subplot(1, 5, 1)
            plt.imshow(t1km_img, interpolation='nearest', cmap="gray")
            if lab == 0:
                color = 'green'
            else:
                color = 'red'
            plt.text(0, 0, lab, color=color, bbox=dict(facecolor='white', alpha=1))

            plt.subplot(1, 5, 2)
            plt.imshow(flair_img, interpolation='nearest', cmap="gray")
            plt.subplot(1, 5, 3)
            plt.imshow(adc_img, interpolation='nearest', cmap="gray")
            plt.subplot(1, 5, 4)
            plt.imshow(cbv_img, interpolation='nearest', cmap="gray")
            plt.subplot(1, 5, 5)
            plt.imshow(segm[0], cmap="jet")
            plt.savefig("../some_images/img_%04.0f.png"%ctr)
            plt.close()
            ctr += 1
        i += 1
        train_loss += loss
        train_loss_tmp += loss
        train_acc_tmp += acc
        batch_ctr += 1
        if batch_ctr > n_batches_per_epoch:
            break

    train_loss /= n_batches_per_epoch
    print "training loss average on epoch: ", train_loss

    test_loss = 0
    accuracies = []
    valid_batch_ctr = 0
    for data, seg, labels in multi_threaded_generator(
            memmapGenerator_t1km_flair_adc_cbv(val_neg_memmap, val_pos_memmap,
                                               BATCH_SIZE, n_pos_val,
                                               n_neg_val),
            num_threads=2):
        # loss, acc = val_fn(data, convert_seg_map_for_crossentropy(seg, range(4)).astype(np.float32))
        seg_flat = seg.flatten()
        loss, acc = val_fn(data, seg_flat)  #, class_weights[seg_flat]
        test_loss += loss
        accuracies.append(acc)
        valid_batch_ctr += 1
        if valid_batch_ctr > n_test_batches:
            break
    test_loss /= n_test_batches
    print "test loss: ", test_loss
    print "test acc: ", np.mean(accuracies), "\n"
    all_validation_losses.append(test_loss)
    all_validation_accuracies.append(np.mean(accuracies))
Beispiel #3
0
        seg_flat = seg.flatten()
        loss, acc = train_fn(data, seg_flat) #class_weights[seg_flat]
        train_loss += loss
        train_loss_tmp += loss
        train_acc_tmp += acc
        batch_ctr += 1
        if batch_ctr > n_batches_per_epoch:
            break

    train_loss /= n_batches_per_epoch
    print "training loss average on epoch: ", train_loss

    test_loss = 0
    accuracies = []
    valid_batch_ctr = 0
    for data, seg, labels in multi_threaded_generator(memmapGenerator_t1km_flair_adc_cbv(val_neg_memmap, val_pos_memmap, BATCH_SIZE, n_pos_val, n_neg_val), num_threads=2):
        # loss, acc = val_fn(data, convert_seg_map_for_crossentropy(seg, range(4)).astype(np.float32))
        seg_flat = seg.flatten()
        loss, acc = val_fn(data, seg_flat) #, class_weights[seg_flat]
        test_loss += loss
        accuracies.append(acc)
        valid_batch_ctr += 1
        if valid_batch_ctr > n_test_batches:
            break
    test_loss /= n_test_batches
    print "test loss: ", test_loss
    print "test acc: ", np.mean(accuracies), "\n"
    all_validation_losses.append(test_loss)
    all_validation_accuracies.append(np.mean(accuracies))
    printLosses(all_training_losses, all_training_accs, all_validation_losses, all_validation_accuracies, "../results/%s.png" % EXPERIMENT_NAME, n_feedbacks_per_epoch)
    learning_rate *= 0.1
        seg_flat = seg.flatten()
        loss, acc = train_fn(data, seg_flat) #class_weights[seg_flat]
        train_loss += loss
        train_loss_tmp += loss
        train_acc_tmp += acc
        batch_ctr += 1
        if batch_ctr > n_batches_per_epoch:
            break

    train_loss /= n_batches_per_epoch
    print "training loss average on epoch: ", train_loss

    test_loss = 0
    accuracies = []
    valid_batch_ctr = 0
    for data, seg, labels in multi_threaded_generator(memmapGenerator_t1km_flair_adc_cbv(val_neg_memmap, val_pos_memmap, BATCH_SIZE, n_pos_val, n_neg_val), num_threads=2):
        # loss, acc = val_fn(data, convert_seg_map_for_crossentropy(seg, range(4)).astype(np.float32))
        seg_flat = seg.flatten()
        loss, acc = val_fn(data, seg_flat) #, class_weights[seg_flat]
        test_loss += loss
        accuracies.append(acc)
        valid_batch_ctr += 1
        if valid_batch_ctr > n_test_batches:
            break
    test_loss /= n_test_batches
    print "test loss: ", test_loss
    print "test acc: ", np.mean(accuracies), "\n"
    all_validation_losses.append(test_loss)
    all_validation_accuracies.append(np.mean(accuracies))
    printLosses(all_training_losses, all_training_accs, all_validation_losses, all_validation_accuracies, "../results/%s.png" % EXPERIMENT_NAME, n_feedbacks_per_epoch)
    learning_rate *= 0.1
Beispiel #5
0
def plot_some_data_t1km_flair_adc_cbv():
    memmap_name = "patchClassification_ws_resampled_t1km_flair_adc_cbv_new"
    with open("../data/%s_properties.pkl" % memmap_name, 'r') as f:
        memmap_properties = cPickle.load(f)
    n_pos_train = memmap_properties["train_pos"]
    n_neg_train = memmap_properties["train_neg"]
    n_pos_val = memmap_properties["val_pos"]
    n_neg_val = memmap_properties["val_neg"]
    train_pos_memmap = memmap("../data/%s_train_pos.memmap" % memmap_name,
                              dtype=np.float32,
                              mode="r+",
                              shape=memmap_properties["train_pos_shape"])
    train_neg_memmap = memmap("../data/%s_train_neg.memmap" % memmap_name,
                              dtype=np.float32,
                              mode="r+",
                              shape=memmap_properties["train_neg_shape"])
    val_pos_memmap = memmap("../data/%s_val_pos.memmap" % memmap_name,
                            dtype=np.float32,
                            mode="r+",
                            shape=memmap_properties["val_pos_shape"])
    val_neg_memmap = memmap("../data/%s_val_neg.memmap" % memmap_name,
                            dtype=np.float32,
                            mode="r+",
                            shape=memmap_properties["val_neg_shape"])
    i = 0
    ctr = 0
    for data, seg, labels in memmapGenerator_t1km_flair_adc_cbv(
            val_neg_memmap, val_pos_memmap, 128, n_pos_val, n_neg_val):
        if i == 2:
            break
        data2 = np.array(data)
        for img, segm, lab in zip(data2, seg, labels):
            t1km_img = img[0]
            flair_img = img[1]
            adc_img = img[2]
            cbv_img = img[3]
            plt.figure(figsize=(24, 8))
            plt.subplot(1, 5, 1)
            plt.imshow(t1km_img, interpolation='nearest', cmap="gray")
            if lab == 0:
                color = 'green'
            else:
                color = 'red'
            plt.text(0,
                     0,
                     lab,
                     color=color,
                     bbox=dict(facecolor='white', alpha=1))

            plt.subplot(1, 5, 2)
            plt.imshow(flair_img, interpolation='nearest', cmap="gray")
            plt.subplot(1, 5, 3)
            plt.imshow(adc_img, interpolation='nearest', cmap="gray")
            plt.subplot(1, 5, 4)
            plt.imshow(cbv_img, interpolation='nearest', cmap="gray")
            plt.subplot(1, 5, 5)
            plt.imshow(segm[0], cmap="jet")
            plt.savefig("../some_images/img_%04.0f.png" % ctr)
            plt.close()
            ctr += 1
        i += 1