项目结构与生态系统
“SpeechBrain” 既指 GitHub 上的软件和 Recipes,也指跨越各种平台(PyPI、readthedocs、HuggingFace、DropBox)的更广泛的生态系统。
本文档旨在为贡献者和普通用户阐明项目及其生态系统的总体结构。
目录结构
这并非完整列表,但提供了一个大致概览。
目录 | 内容 |
---|---|
**核心** (API 文档) | |
speechbrain/ |
核心库的源代码 |
speechbrain/inference/ |
集成 HuggingFace 的易用推理代码 |
speechbrain/utils/ |
不太适合其他地方的各种实用工具 |
文档 | |
docs/ |
文档页面和配置 |
docs/tutorials/ |
Jupyter Notebook 教程 |
Recipes | |
recipes/ |
以 dataset/task/model/ 形式提供的即用型 Recipes |
templates/ |
(可选地)用于新 Recipe 的任务参考实现 |
测试/Linting/元数据 | |
.github/ |
GitHub issue/PR 模板和用于测试的 Actions 工作流 |
tests/ |
自动化测试,部分在 CI 下运行,部分手动运行 |
tools/ |
用于特定任务的一次性完整脚本和工具 |
.pre-commit-config.yaml |
Linter 配置 (风格检查, 格式化) |
外部平台
URL | 内容 |
---|---|
https://github.com/speechbrain/speechbrain | SpeechBrain 官方仓库 |
https://speechbrain.cn/ | 登陆页面 (部署自 此处) |
https://github.com/speechbrain/benchmarks | 基于 SpeechBrain 的标准化基准测试 |
https://github.com/speechbrain/HyperPyYAML | HyperPyYAML 官方仓库 |
https://docs.speechbrain.cn | 文档和教程 (部署自 docs/ ) |
https://hugging-face.cn/speechbrain | 可用于推理的预训练模型 |
仓库中的 DropBox 链接 | 数据、训练日志和检查点 |
测试基础设施
范围 | 描述 |
---|---|
CI 自动化 | 通过 Actions 持续验证的测试 |
Linting | 强制执行良好实践、格式化等,详见 .pre-commit-config.yaml |
一致性 | 强制执行 YAML 规则、测试存在性等 |
Doctests | 在类/函数级别测试简单用例,并提供示例 |
单元测试 | 特定组件的测试。比 Doctests 更深入的测试 |
集成测试 | 在更大规模上测试回归 (例如,迷你 Recipes) |
半手动 | 您或核心团队以不同频率手动运行的测试 |
URL 检查 | 检查文档、代码和教程中的无效链接 |
Recipe 测试 | 对样本数据测试所有 recipe .csv 的模型训练 |
HuggingFace 检查 | 检查 HF 上已知模型是否运行正常 |