From b943abb22fdcfc2967d6bad49eea49121cd2ce19 Mon Sep 17 00:00:00 2001 From: tzhouam Date: Tue, 11 Nov 2025 10:49:53 +0800 Subject: [PATCH] add data download instructions Signed-off-by: tzhouam --- .../offline_inference/qwen_2_5_omni/README.md | 11 +++- .../qwen_2_5_omni/extract_prompts.py | 48 ++++++++++++++++++ .../offline_inference/qwen_2_5_omni/top100.pt | Bin 9319 -> 0 bytes 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 examples/offline_inference/qwen_2_5_omni/extract_prompts.py delete mode 100644 examples/offline_inference/qwen_2_5_omni/top100.pt diff --git a/examples/offline_inference/qwen_2_5_omni/README.md b/examples/offline_inference/qwen_2_5_omni/README.md index 770c5e169..08c5c3400 100644 --- a/examples/offline_inference/qwen_2_5_omni/README.md +++ b/examples/offline_inference/qwen_2_5_omni/README.md @@ -63,7 +63,16 @@ uv pip install -r requirements.txt ``` ## Run examples (Qwen2.5-omni) - +Download dataset from seed_tts[https://drive.google.com/file/d/1GlSjVfSHkW3-leKKBlfrjuuTGqQ_xaLP/edit]. To get the prompt, you can: +```bash +tar -xf /seedtts_testset.tar +cp seedtts_testset/en/meta.lst examples/offline_inference/qwen_2_5_omni/meta.lst +python3 examples/offline_inference/qwen_2_5_omni/extract_prompts.py \ + --input examples/offline_inference/qwen_2_5_omni/meta.lst \ + --output examples/offline_inference/qwen_2_5_omni/top100.txt \ + --topk 100 \ + --pt-output examples/offline_inference/qwen_2_5_omni/top100.pt +``` Get into the example folder ```bash cd examples/offline_inference/qwen_2_5_omni diff --git a/examples/offline_inference/qwen_2_5_omni/extract_prompts.py b/examples/offline_inference/qwen_2_5_omni/extract_prompts.py new file mode 100644 index 000000000..a1bc7a78f --- /dev/null +++ b/examples/offline_inference/qwen_2_5_omni/extract_prompts.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +import argparse +from typing import Optional +import os +import torch + + +def extract_prompt(line: str) -> Optional[str]: + # 提取第一个 '|' 与第二个 '|' 之间的内容 + i = line.find('|') + if i == -1: + return None + j = line.find('|', i + 1) + if j == -1: + return None + return line[i + 1:j].strip() + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--input", "-i", required=True, help="输入 .lst 文件路径") + parser.add_argument("--output", "-o", required=True, help="输出文件路径") + parser.add_argument("--topk", "-k", type=int, default=100, help="提取前 K 个 prompt(默认 100)") + parser.add_argument("--pt-output", "-p", type=str, default=None, help="可选:输出 .pt 文件路径(默认与 --output 同名 .pt)") + args = parser.parse_args() + + prompts = [] + with open(args.input, "r", encoding="utf-8", errors="ignore") as f: + for line in f: + if len(prompts) >= args.topk: + break + p = extract_prompt(line.rstrip("\n")) + if p: + prompts.append(p) + + with open(args.output, "w", encoding="utf-8") as f: + for p in prompts: + f.write(p + "\n") + + # 另存为 PyTorch 序列化的 .pt,内容为字符串列表 + pt_path = args.pt_output if args.pt_output else os.path.splitext(args.output)[0] + ".pt" + torch.save(prompts, pt_path) + + +if __name__ == "__main__": + main() + + diff --git a/examples/offline_inference/qwen_2_5_omni/top100.pt b/examples/offline_inference/qwen_2_5_omni/top100.pt deleted file mode 100644 index 017c60ac806dc45952b6bf652fd60ad362ece700..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9319 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