Example #1
0
def eval_for_uats_mc(model_dir,
                     model_name,
                     batch_size=1,
                     out_dir=None,
                     lesion=False,
                     eval=True):
    GT_dir = '/cache/suhita/skin/preprocessed/labelled/test/'
    print('create start')
    img_arr, GT_arr = create_test_arrays(GT_dir)

    print('create end')
    DIM = img_arr.shape
    from dataset_specific.skin_2D.model.uats_entropy import weighted_model
    wm = weighted_model()
    model = wm.build_model(img_shape=(DIM[1], DIM[2], DIM[3]),
                           learning_rate=1e-07,
                           gpu_id=None,
                           nb_gpus=None,
                           trained_model=os.path.join(model_dir,
                                                      model_name + '.h5'))
    model[0].load_weights(os.path.join(model_dir, model_name + '.h5'))
    val_supervised_flag = np.ones((DIM[0], DIM[1], DIM[2], 1), dtype='int8')
    prediction = model[0].predict([img_arr, GT_arr, val_supervised_flag],
                                  batch_size=batch_size,
                                  verbose=1)

    # weights epochs LR gpu_id dist orient prediction LRDecay earlyStop
    evaluateFiles_arr(
        img_path='/cache/suhita/skin/preprocessed/labelled/test/',
        prediction=prediction,
        connected_component=True,
        out_dir=out_dir,
        eval=eval,
        lesion=lesion)
Example #2
0
def eval_for_supervised(model_dir,
                        img_path,
                        model_name,
                        eval=True,
                        out_dir=None,
                        connected_component=True):
    if eval:
        img_arr, GT_arr = create_test_arrays(img_path, eval=eval)
    else:
        img_arr = create_test_arrays(img_path, eval=eval)
    DIM = img_arr.shape
    from dataset_specific.skin_2D.model.baseline import weighted_model
    wm = weighted_model()
    model = wm.build_model(img_shape=(DIM[1], DIM[2], DIM[3]),
                           learning_rate=1e-07)
    model.load_weights(os.path.join(model_dir, model_name + '.h5'))
    prediction = model.predict(img_arr, batch_size=1, verbose=1)

    # weights epochs LR gpu_id dist orient prediction LRDecay earlyStop
    evaluateFiles_arr(img_path=img_path,
                      prediction=prediction,
                      connected_component=connected_component,
                      out_dir=out_dir,
                      eval=eval)
Example #3
0
## Parse arguments
parser = argparse.ArgumentParser()
parser.add_argument('-g', '--gpu_num', type=str, default='2', help='GPU Number')
parser.add_argument('-f', '--fold_num', type=int, default=1, help='Fold Number')
parser.add_argument('-e', '--ens_folder_name', type=str, help='ensemble folder name')
parser.add_argument('-d', '--ds', type=str, default=SKIN_DATASET_NAME, help='dataset name')

config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
config.allow_soft_placement = True

try:
    args = parser.parse_args()
    os.environ["CUDA_VISIBLE_DEVICES"] = args.gpu_num
    metadata = get_metadata(args.ds)
    # Build Model
    wm = weighted_model()
    train(None, None,
          dataset_name=args.ds,
          ens_folder_name=args.temp_path,
          labelled_perc=args.perc,
          fold_num=args.fold_num,
          model_type=wm
          )

finally:
    if os.path.exists(metadata[m_root_temp_path] + args.temp_path):
        cleanup(metadata[m_root_temp_path] + args.temp_path)
        print('clean up done!')