예제 #1
0
def main(params):
    """ PIPELINE for new detections

    :param dict params:
    """
    params['path_expt'] = os.path.join(
        params['path_output'], run_detect.FOLDER_EXPERIMENT % params['name'])
    tl_expt.set_experiment_logger(params['path_expt'])
    # tl_expt.create_subfolders(params['path_expt'], LIST_SUBDIRS)
    logging.info(tl_expt.string_dict(params, desc='PARAMETERS'))

    path_csv = os.path.join(params['path_expt'], NAME_CSV_TRIPLES)
    df_paths = run_detect.get_csv_triplets(params['path_list'], path_csv,
                                           params['path_images'],
                                           params['path_segms'],
                                           params['path_centers'],
                                           FORCE_RELOAD)

    df_eval = df_paths.copy(deep=True)
    for stage in params['stages']:
        df_eval = evaluate_detection_stage(df_eval, stage,
                                           params['path_infofile'],
                                           params['path_expt'],
                                           params['nb_workers'])
        if not df_eval.empty and 'image' in df_eval.columns:
            df_eval.set_index('image', inplace=True)
        df_eval.to_csv(os.path.join(params['path_expt'],
                                    NAME_CSV_TRIPLES_STAT))
        gc.collect()
        time.sleep(1)

    if not df_eval.empty:
        df_stat = df_eval.describe().transpose()
        logging.info('STATISTIC: \n %r', df_stat)
        df_stat.to_csv(os.path.join(params['path_expt'], NAME_CSV_STATISTIC))
예제 #2
0
def main(params):
    """ PIPELINE for new detections

    :param {str: str} paths:
    :param int nb_jobs:
    """
    logging.info('running...')

    # run_train.check_pathes_patterns(paths)
    tl_expt.set_experiment_logger(params['path_output'])
    # tl_expt.create_subfolders(params['path_output'], LIST_SUBDIRS)
    logging.info(tl_expt.string_dict(params, desc='PARAMETERS'))

    path_csv = os.path.join(params['path_output'], NAME_CSV_TRIPLES)
    df_paths = run_detect.get_csv_triplets(params['path_list'], path_csv,
                                           params['path_images'],
                                           params['path_segms'],
                                           params['path_centers'],
                                           FORCE_RELOAD)

    df_eval = df_paths.copy(deep=True)
    for stage in params['stages']:
        df_eval = evaluate_detection_stage(df_eval, stage,
                                           params['path_infofile'],
                                           params['path_output'],
                                           params['nb_jobs'])
        if len(df_eval) > 0 and 'image' in df_eval.columns:
            df_eval.set_index('image', inplace=True)
        df_eval.to_csv(
            os.path.join(params['path_output'], NAME_CSV_TRIPLES_STAT))
        gc.collect()
        time.sleep(1)

    if len(df_eval) > 0:
        df_stat = df_eval.describe().transpose()
        logging.info('STATISTIC: \n %s', repr(df_stat))
        df_stat.to_csv(os.path.join(params['path_output'], NAME_CSV_STATISTIC))

    logging.info('DONE')