ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

如何把你的Pocket TTS模型发布到Hugging Face:打包与分发完整流程

2026/9/15 16:50:08 拓冰建站 浏览量
如何把你的Pocket TTS模型发布到Hugging Face:打包与分发完整流程 如何把你的Pocket TTS模型发布到Hugging Face打包与分发完整流程【免费下载链接】pocket-ttsA TTS that fits in your CPU (and pocket)项目地址: https://gitcode.com/GitHub_Trending/po/pocket-ttsPocket TTS 是一款跑在 CPU 上的轻量级 TTS文本转语音工具pip install之后就能克隆音色、合成多语言语音。当你用官方训练代码练好一个属于自己的 Pocket TTS 模型后如何把它发布到 Hugging Face让别人一条命令就能用上本文带你走一遍从文件准备、YAML 配置、上传仓库到最终验证的完整分发流程全程只需 3 个文件。发布 Pocket TTS 模型先弄清需要准备哪 3 个文件Pocket TTS 的官方训练文档 training/README.md 在 Distribution 一节给出了明确答案一个可分发的模型 3 个文件。#文件格式作用1模型权重Mimi flow_lm.safetensors推理时加载的核心权重2文本分词器.modelSentencePiece 分词文件把文本切成 token3配置文件.yaml指向上面两个文件路径 模型超参数为什么是这个组合看一下 Pocket TTS 的模型架构就清楚了Mimi音频 codec负责把波形编码成 latents、再把 latents 解码回波形flow_lm负责根据文本和音色条件自回归地预测音频 latents。推理时两个组件缺一不可而.yaml配置文件就是告诉推理代码去哪里找它们的路标。第一步确认权重是可发布的 model.safetensors训练结束后runs/目录下会生成一批文件大致长这样runs/scratch/ ├── checkpoint_00025000.pt # 训练检查点用于续训 ├── checkpoint_00027500.pt ├── checkpoint_00030000.pt ├── model.safetensors # ✅ 推理权重发布就用它 └── progress.jsonl⚠️别传错文件checkpoint_*.pt是训练检查点含优化器状态、体积巨大发布应该用model.safetensors原因有二它使用推理代码期望的格式它是训练过程中的EMA指数滑动平均权重音质更稳定。 如果你手头只有.pt检查点参考 pocket_tts/utils/weights_loading.py 里的逻辑可以从中提取 flow_lm 与 mimi 的权重转成 safetensors。第二步编写 YAML 配置——直接抄官方模板配置文件不需要从零写起。复制任意一份官方语言配置例如 pocket_tts/config/english_2026-04.yaml然后只改路径即可。关键结构长这样weights_path: your_model.safetensors # ← 改成你的权重 default_temperature: 0.3 # 建议保留官方推荐值 flow_lm: # ... 架构参数保持不变 ... lookup_table: tokenizer: sentencepiece tokenizer_path: your_tokenizer.model # ← 改成你的分词器 mimi: # ... 架构参数保持不变 ...三个要点weights_path指向你上传的.safetensorsflow_lm.lookup_table.tokenizer_path指向你的.model分词器flow_lm与mimi的架构参数必须与你的模型一致比如 24 层 teacher 和 6 层蒸馏 student 的层数不同别抄混。第三步上传 Hugging Face 并锁定 commit 版本 创建一个新的模型仓库命名建议清晰如pocket-tts-czech然后把 3 个文件全部上传。上传完成后记下当前 commit hash对外引用时用hf://用户名/仓库/yaml路径commit_hash的形式。这是官方 README 明确推荐的做法模型作者日后覆盖文件时引用方不会意外踩雷。社区模型如捷克语、印地语、韩语模型都是这样发布的。第四步一条命令验证发布是否成功发布是否成功用官方 wheel 跑一次generate就能确认uvx pocket-tts generate \ --config hf://你的用户名/你的仓库/czech.yamlcommit_hash \ --voice your_voice_prompt.wav \ --text Hello there.能听到合成的语音 发布完成 此后任何能访问你仓库的人运行同一条命令就能得到同样的结果。generate命令的完整参数说明见 docs/CLI Commands/generate.md。发布前最后检查清单 ✅检查项说明权重用了 EMA 的model.safetensors不是训练用的.ptYAML 路径与仓库内实际文件一致本地路径要改成仓库内相对路径架构参数与模型匹配层数、dim 等别抄错模板已附示例音频方便用户在模型页试听效果已注明数据与许可证数据集来源、训练时长、使用许可两个常见疑问官方预设音色alba 等能用吗不能。那些嵌入是用官方权重预计算的社区模型不可用。带--config使用时--voice默认指向 alba 的音频文件任何模型都能克隆它用户也可以传自己的音频。想让模型进入官方社区模型列表在 training/README.md 的指引下来一个 issue 或 PR说明你的模型新在哪里新语言、新音色或更好音质即可。总结把 Pocket TTS 模型发布到 Hugging Face 其实非常轻1 个 safetensors 权重 1 个 tokenizer 分词器 1 个 yaml 配置上传后用一条generate --config hf://...命令验证就完成了分发。你的 CPU 级 TTS 模型从此可以被全世界一行命令调用。【免费下载链接】pocket-ttsA TTS that fits in your CPU (and pocket)项目地址: https://gitcode.com/GitHub_Trending/po/pocket-tts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考