Download source/scripts/corpus/merge.py from Voltline/vimeml-tiny-ja-v1: direct link, hf CLI and curl.
- Browser
- Download file 1.34 kB
-
https://huggingface.co/Voltline/vimeml-tiny-ja-v1/resolve/main/source/scripts/corpus/merge.py
- Command line
-
hf download hf://Voltline/vimeml-tiny-ja-v1/source/scripts/corpus/merge.py
-
curl -L -o merge.py https://huggingface.co/Voltline/vimeml-tiny-ja-v1/resolve/main/source/scripts/corpus/merge.py
1.34 kB
| """Merge completed cleaning parts using the verified parallel exporter.""" | |
| import argparse | |
| import os | |
| import sys | |
| from pathlib import Path | |
| ROOT = Path(__file__).resolve().parents[2] | |
| sys.path.insert(0, str(ROOT / "src")) | |
| from vimeml.data.merge_parts_fast import run | |
| def main(): | |
| parser = argparse.ArgumentParser(description=__doc__) | |
| parser.add_argument("--config", type=Path, default=ROOT / "configs/corpus-parallel.toml") | |
| sources = parser.add_mutually_exclusive_group(required=True) | |
| sources.add_argument("--parts", nargs="+", type=Path) | |
| sources.add_argument("--parts-dir", type=Path) | |
| parser.add_argument("--output", type=Path, required=True) | |
| parser.add_argument("--work", type=Path) | |
| parser.add_argument("--workers", type=int, default=min(8, os.cpu_count() or 1)) | |
| parser.add_argument("--buckets", type=int, default=64, choices=(1, 4, 16, 64, 256)) | |
| parser.add_argument("--cache-mb", type=int, default=128) | |
| args = parser.parse_args() | |
| parts = args.parts if args.parts is not None else sorted(p.parent for p in args.parts_dir.glob("*/manifest.json")) | |
| if not parts: | |
| parser.error("No completed parts found") | |
| run(args.config, parts, args.output, workers=args.workers, buckets=args.buckets, | |
| cache_mb=args.cache_mb, work=args.work) | |
| if __name__ == "__main__": | |
| main() | |