示例#1
0
def main(args, _=None):
    args = args.__dict__
    args.pop("command", None)
    num_workers = args.pop("num_workers")

    with get_pool(num_workers) as p:
        Preprocessor(**args).process_all(p)
示例#2
0
def main() -> None:
    """Run ``esrgan-process-images`` script."""
    args = args = parse_args().__dict__
    num_workers = args.pop("num_workers")

    with utils.get_pool(num_workers) as p:
        Preprocessor(**args).process_all(p)
示例#3
0
def main(args, _=None):
    """Run the ``catalyst-data process-images`` script."""
    args = args.__dict__
    args.pop("command", None)
    num_workers = args.pop("num_workers")

    with get_pool(num_workers) as p:
        Preprocessor(**args).process_all(p)
def main(args, _=None):
    with get_pool(args.num_workers) as pool:
        images = os.listdir(args.in_dir)
        colors = tqdm_parallel_imap(colors_in_image, images, pool)
        unique_colors = reduce(lambda s1, s2: s1 | s2, colors)

    index2color = collections.OrderedDict([
        (index, color) for index, color in enumerate(sorted(unique_colors))
    ])
    print("Num classes: ", len(index2color))

    with open(args.out_labeling, "w") as fout:
        json.dump(index2color, fout, indent=4)
示例#5
0
def main(args):
    df = pd.read_csv(args.in_csv)
    if args.datapath:
        df["datapath"] = args.datapath

    if args.out_dir:
        df["out_dir"] = args.out_dir

    df_list = csv2list(df)
    with get_pool(args.n_cpu) as pool:
        df_list_out = tqdm_parallel_imap(process_row, df_list, pool)
    df_out = pd.DataFrame(df_list_out)
    df_out.to_csv(args.out_csv, index=False)
示例#6
0
def optimize_thresholds(
    predictions: np.ndarray,
    labels: np.ndarray,
    classes: List[int],
    metric_fn: Callable = metrics.roc_auc_score,
    num_splits: int = 5,
    num_repeats: int = 1,
    num_workers: int = 0,
    ignore_label: int = None,
) -> Tuple[Dict, Dict]:
    """@TODO: Docs. Contribution is welcome."""
    pool = utils.get_pool(num_workers)

    predictions_copy = predictions.copy()

    predictions_list, labels_list = [], []
    for class_index in classes:
        predictions_list.append(predictions_copy[:, class_index])
        labels_list.append(
            get_binary_labels(labels, class_index, ignore_label=ignore_label)
        )

    results = utils.tqdm_parallel_imap(
        find_best_threshold_wrapper,
        zip(
            classes,
            predictions_list,
            labels_list,
            repeat(metric_fn),
            repeat(num_splits),
            repeat(num_repeats),
        ),
        pool,
    )
    results = [(r[1], r[2]) for r in sorted(results, key=lambda x: x[0])]

    result_thresholds = [r[0] for r in results]
    result_metrics = [r[1] for r in results]
    class_thresholds = {c: t for (c, t) in zip(classes, result_thresholds)}
    class_metrics = {c: m for (c, m) in zip(classes, result_metrics)}
    return class_thresholds, class_metrics