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))
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
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