Ejemplo n.º 1
0
 val_target_stat = np.exp(val_target_logit)
 val_target_AUC = roc_auc_score(yt_val, val_target_stat)
 test_auc_list.append(test_target_AUC)
 val_auc_list.append(val_target_AUC)
 np.savetxt(DA_model_folder + '/test_auc.txt', test_auc_list)
 np.savetxt(DA_model_folder + '/val_auc.txt', val_auc_list)
 # loss
 M_loss_list.append(
     M_loss
 )  # ;D_loss_list.append(D_loss);sC_loss_list.append(sC_loss)
 np.savetxt(DA_model_folder + '/MMD_loss.txt', M_loss_list)
 # np.savetxt(DA_model_folder+'/G_loss.txt',G_loss_list);
 np.savetxt(DA_model_folder + '/src_clf_loss.txt', sC_loss_list)
 # print and plot results
 print_block(symbol='-', nb_sybl=60)
 print_yellow(os.path.basename(DA_model_folder))
 if nb_trg_labels > 0:
     train_auc_list.append(train_target_AUC)
     tC_loss_list.append(tC_loss)
     np.savetxt(os.path.join(DA_model_folder, 'trg_train_auc.txt'),
                train_auc_list)
     np.savetxt(os.path.join(DA_model_folder, 'trg_clf_loss.txt'),
                tC_loss_list)
     print_green(
         'AUC: T-test {0:.4f}, T-valid {1:.4f}, T-train {2:.4f}, S-test: {3:.4f}'
         .format(test_target_AUC, val_target_AUC, train_target_AUC,
                 test_source_AUC))
     print_yellow(
         'Loss: D:{:.4f}, S:{:.4f}, T:{:.4f}, Iter:{:}'.format(
             M_loss, sC_loss, tC_loss, iteration))
     plot_LOSS(
Ejemplo n.º 2
0
 np.savetxt(os.path.join(DA_model_folder, 'test_auc.txt'),
            test_auc_list)
 np.savetxt(os.path.join(DA_model_folder, 'val_auc.txt'),
            val_auc_list)
 # 			np.savetxt(os.path.join(DA_model_folder,'dom_acc.txt'), dom_acc_list)
 np.savetxt(os.path.join(DA_model_folder, 'D_loss.txt'),
            D_loss_list)
 np.savetxt(os.path.join(DA_model_folder, 'G_loss.txt'),
            G_loss_list)
 np.savetxt(os.path.join(DA_model_folder, 'MMD_loss.txt'),
            mmd_loss_list)
 np.savetxt(os.path.join(DA_model_folder, 'src_clf_loss.txt'),
            sC_loss_list)
 # print and plot results
 print_block(symbol='-', nb_sybl=60)
 print_yellow(os.path.basename(DA_model_folder))
 if nb_trg_labels > 0:
     train_auc_list.append(train_target_AUC)
     tC_loss_list.append(tC_loss)
     np.savetxt(os.path.join(DA_model_folder, 'train_auc.txt'),
                train_auc_list)
     np.savetxt(os.path.join(DA_model_folder, 'trg_clf_loss.txt'),
                tC_loss_list)
     print_green(
         'AUC: T-test {0:.4f}, T-valid {1:.4f}, T-train {2:.4f}, S-test: {3:.4f}'
         .format(test_target_AUC, val_target_AUC, train_target_AUC,
                 test_source_AUC))
     print_yellow(
         'Loss: D:{0:.4f}, G:{1:.4f}, MMD:{2:.4f} S:{3:.4f}, T:{4:.4f}, Iter:{5:}'
         .format(D_loss, G_loss, M_loss, sC_loss, tC_loss,
                 iteration))
Ejemplo n.º 3
0
            test_auc_list)
 np.savetxt(os.path.join(DA_model_folder, 'val_auc.txt'),
            val_auc_list)
 np.savetxt(os.path.join(DA_model_folder, 'dom_acc.txt'),
            dom_acc_list)
 np.savetxt(os.path.join(DA_model_folder, 'D_loss.txt'),
            D_loss_list)
 np.savetxt(os.path.join(DA_model_folder, 'G_loss.txt'),
            G_loss_list)
 np.savetxt(os.path.join(DA_model_folder, 'MMD_loss.txt'),
            mmd_loss_list)
 np.savetxt(os.path.join(DA_model_folder, 'src_clf_loss.txt'),
            sC_loss_list)
 # print and plot results
 print_block(symbol='-', nb_sybl=60)
 print_yellow(os.path.basename(DA_model_folder))
 if nb_trg_labels > 0:
     train_auc_list.append(train_target_AUC)
     tC_loss_list.append(tC_loss)
     np.savetxt(os.path.join(DA_model_folder, 'train_auc.txt'),
                train_auc_list)
     np.savetxt(os.path.join(DA_model_folder, 'trg_clf_loss.txt'),
                tC_loss_list)
     print_green(
         'AUC: T-test {0:.4f}, T-valid {1:.4f}, T-train {2:.4f}, S-test: {3:.4f}; ACC: dom {4:.4f}'
         .format(test_target_AUC, val_target_AUC, train_target_AUC,
                 test_source_AUC, domain_acc))
     print_yellow(
         'Loss: D:{0:.4f}, G:{1:.4f}, MMD:{2:.4f} S:{3:.4f}, T:{4:.4f}, Iter:{5:}'
         .format(D_loss, G_loss, M_loss, sC_loss, tC_loss,
                 iteration))
if docker:
    dataset_dir = '../data/minidataset/'
else:
    dataset_dir = './data/Phase_fluo_Cells/0_FUCCI_Timelapse/'

phase_img_folder = dataset_dir + 'f0_phase_cropped/'
fl1_img_folder = dataset_dir + 'f0_fl1_cropped/'
fl2_img_folder = dataset_dir + 'f0_fl2_cropped/'

phase_img_files = glob.glob(phase_img_folder + '*.tif')
fl1_img_files = glob.glob(fl1_img_folder + '*.tif')
fl2_img_files = glob.glob(fl2_img_folder + '*.tif')

nb_imgs = 6
for i in range(nb_imgs):
    print_yellow(os.path.basename(phase_img_files[i]))
    print_red(os.path.basename(fl1_img_files[i]))
    print_green(os.path.basename(fl2_img_files[i]))

# plt.ion();
fig = plt.figure(1)

index = 1
pha_file_name = os.path.basename(phase_img_files[index])
fl1_file_name = pha_file_name.replace('ch0', 'ch1').replace('mhilbert', 'mFL1')
fl2_file_name = pha_file_name.replace('ch0', 'ch2').replace('mhilbert', 'mFL2')
pha_img = io.imread(phase_img_folder + pha_file_name)
fl1_img = io.imread(fl1_img_folder + fl1_file_name)
fl2_img = io.imread(fl2_img_folder + fl2_file_name)
print(pha_file_name)
print(fl1_file_name)
Ejemplo n.º 5
0
 # 			loss_norm = cost.eval(session = sess, feed_dict = {x:X_SA_tst,is_training: False})
 # 			loss_anomaly = cost.eval(session = sess, feed_dict = {x:X_SP_tst,is_training: False})
 # reconstructed images
 # 			Yn = y.eval(session = sess, feed_dict = {x: X_SA_tst,is_training: False}); Ya = y.eval(session = sess, feed_dict = {x: X_SP_tst, is_training:False})
 y_recon = np.concatenate([Yn, Ya], axis=0)
 # reconstruction errors-based detection
 # 			norm_err_map = err_map.eval(session = sess, feed_dict = {x: X_SA_tst,is_training: False}); anomaly_err_map = err_map.eval(session = sess, feed_dict = {x: X_SP_tst,is_training: False})
 recon_err_map = np.concatenate([norm_err_map, anomaly_err_map],
                                axis=0)
 recon_errs = np.apply_over_axes(np.mean, recon_err_map,
                                 [1, 2, 3]).flatten()
 AE_auc = roc_auc_score(yt, recon_errs)
 # print out results
 print_block(symbol='-', nb_sybl=50)
 print(model_name)
 print_yellow('LOSS: T {0:.4f}, V {1:.4f}, Norm {2:.4f}, Anomaly {3:.4f}; AUC: AE {4:.4f}, M: {5:.4f}; iter {6:}'.\
   format(loss_trn, loss_val, loss_norm, loss_anomaly, AE_auc, MP_auc, iteration))
 # save model
 if iteration % 10000 == 0:
     saver.save(sess,
                model_folder + '/model',
                global_step=iteration)
     print_red('Update model')
 # save results
 loss_trn_list, loss_val_list, loss_norm_list, loss_anomaly_list, auc_list =\
  np.append(loss_trn_list, loss_trn), np.append(loss_val_list, loss_val),\
   np.append(loss_norm_list, loss_norm), np.append(loss_anomaly_list, loss_anomaly), np.append(auc_list, AE_auc)
 np.savetxt(model_folder + '/train_loss.txt', loss_trn_list)
 np.savetxt(model_folder + '/val_loss.txt', loss_val_list)
 np.savetxt(model_folder + '/norm_loss.txt', loss_norm_list)
 np.savetxt(model_folder + '/anomaly_loss.txt', loss_anomaly_list)
 plot_LOSS(model_folder + '/loss-{}.png'.format(model_name), 0,
Ejemplo n.º 6
0
                          })
 if nb_trg_labels > 0:
     trg_loss = target_loss.eval(session=sess,
                                 feed_dict={
                                     xt1: batch_x,
                                     yt1: batch_y,
                                     is_training: False
                                 })
     trg_trn_stat = target_logit_l.eval(session=sess,
                                        feed_dict={
                                            xt1: batch_x,
                                            is_training: False
                                        })
     trg_trn_auc = roc_auc_score(batch_y, trg_trn_stat)
     print_yellow(
         'Train with target labels:loss {0:.4f} auc {1:.4f}'.format(
             trg_loss, trg_trn_auc))
     trg_loss_list, trg_trn_auc_list = np.append(
         trg_loss_list,
         trg_loss), np.append(trg_trn_auc_list, trg_trn_auc)
     np.savetxt(DA_model_folder + '/target_train_loss.txt',
                trg_loss_list)
     np.savetxt(DA_model_folder + '/target_train_auc.txt',
                trg_trn_auc_list)
 src_trn_stat = source_logit.eval(session=sess,
                                  feed_dict={
                                      xs: source_x,
                                      is_training: False
                                  })
 src_trn_auc = roc_auc_score(source_y, src_trn_stat)
 src_stat = source_logit.eval(session=sess,
                find_points.append((xc + i, yc + j))
    return find_points


for image_indx in range(len(image_ids)):
    # Load the map
    image_id = image_ids[image_indx]
    pha_file_name = os.path.basename(phase_img_files[image_id])
    mask_file_name = 'm_' + pha_file_name.replace('ch0', 'ch4').replace(
        'mhilbert', 'mFL4')
    pha_img = io.imread(phase_img_folder + pha_file_name)
    pha_img = pha_img[::2, ::2]
    map = io.imread(combined_masks + mask_file_name)
    map = map[::2, ::2]
    if image_indx % 10 == 0:
        print_yellow('The {}-th image'.format(image_indx))
        print_yellow(mask_files[image_id])
        print_green(combined_masks + mask_file_name)
    mask_list = []

    # Generate the edge masks for all objects
    uni_values = np.unique(map)
    for cls_indx in range(1, len(uni_values)):
        map_layer = map == uni_values[cls_indx]
        mask_ext = np.zeros([map_layer.shape[0] + 2, map_layer.shape[1] + 2])
        shp = map_layer.shape
        mask_ext[1:-1, 1:-1] = map_layer
        masks = np.zeros(map_layer.shape + (9, ))
        for i in range(-1, 2):
            for j in range(-1, 2):
                masks[:, :,
Ejemplo n.º 8
0
			test_source_logit = model_test(sess, source_logit, xs, Xs_tst)
# 			test_source_logit=source_logit.eval(session=sess,feed_dict={xs:Xs_tst,g_training:False,d_training:False})
			test_source_stat=np.exp(test_source_logit);test_source_AUC=roc_auc_score(ys_tst,test_source_stat);src_test_list.append(test_source_AUC)
# 			test_target_logit = target_logit.eval(session=sess,feed_dict={xt:Xt_tst, g_training: False, d_training: False})
			test_target_logit = model_test(sess, target_logit, xt, Xt_tst)
			test_target_stat = np.exp(test_target_logit);test_target_AUC = roc_auc_score(yt_tst, test_target_stat)
			val_target_logit = target_logit.eval(session=sess,feed_dict={xt:Xt_val, g_training: False})
			val_target_stat = np.exp(val_target_logit);val_target_AUC = roc_auc_score(yt_val, val_target_stat)
			test_auc_list.append(test_target_AUC);val_auc_list.append(val_target_AUC)
			np.savetxt(DA_model_folder+'/test_auc.txt', test_auc_list);np.savetxt(DA_model_folder+'/val_auc.txt', val_auc_list)
			# loss
			M_loss_list.append(M_loss)# ;D_loss_list.append(D_loss);sC_loss_list.append(sC_loss)
			np.savetxt(DA_model_folder+'/MMD_loss.txt',M_loss_list);# np.savetxt(DA_model_folder+'/G_loss.txt',G_loss_list);
			np.savetxt(DA_model_folder+'/src_clf_loss.txt',sC_loss_list)
			# print and plot results
			print_block(symbol = '-', nb_sybl = 60);print_yellow(os.path.basename(DA_model_folder))
			if nb_trg_labels > 0:
				train_auc_list.append(train_target_AUC);tC_loss_list.append(tC_loss)
				np.savetxt(os.path.join(DA_model_folder,'trg_train_auc.txt'), train_auc_list)
				np.savetxt(os.path.join(DA_model_folder,'trg_clf_loss.txt'),tC_loss_list)
				print_green('AUC: T-test {0:.4f}, T-valid {1:.4f}, T-train {2:.4f}, S-test: {3:.4f}'.format(test_target_AUC, val_target_AUC, train_target_AUC, test_source_AUC))
				print_yellow('Loss: D:{:.4f}, S:{:.4f}, T:{:.4f}, Iter:{:}'.format(M_loss, sC_loss, tC_loss, iteration))
				plot_LOSS(DA_model_folder+'/loss_{}.png'.format(DA_model_name), M_loss_list, sC_loss_list, tC_loss_list)
				plot_loss(DA_model_folder, M_loss_list, M_loss_list, DA_model_folder+'/MMD_loss_{}.png'.format(DA_model_name))
				plot_src_trg_AUCs(DA_model_folder+'/AUC_src_{}.png'.format(DA_model_name), train_auc_list, val_auc_list, test_auc_list, src_test_list)
				plot_AUCs(DA_model_folder+'/AUC_trg_{}.png'.format(DA_model_name), train_auc_list, val_auc_list, test_auc_list)
			else:
				print_green('AUC: T-test {0:.4f}, T-valid {1:.4f}, S-test: {2:.4f}'.format(test_target_AUC, val_target_AUC, test_source_AUC))
				print_yellow('Loss: D:{:.4f}, S:{:.4f}, Iter:{:}'.format(M_loss, sC_loss, iteration))
				plot_loss(DA_model_folder, M_loss_list, sC_loss_list, DA_model_folder+'/loss_{}.png'.format(DA_model_name))
				plot_loss(DA_model_folder, M_loss_list, M_loss_list, DA_model_folder+'/MMD_lOSS_{}.png'.format(DA_model_name))