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