项目结构与生态系统

“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 上已知模型是否运行正常