news 2026/9/14 11:29:09

如何用 uv 从源码安装 NeMo Speech 并验证 ASR 与 TTS 集合可用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 uv 从源码安装 NeMo Speech 并验证 ASR 与 TTS 集合可用

如何用 uv 从源码安装 NeMo Speech 并验证 ASR 与 TTS 集合可用

【免费下载链接】SpeechA scalable generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (Automatic Speech Recognition and Text-to-Speech)项目地址: https://gitcode.com/GitHub_Trending/nem/Speech

目标:在本地从零安装 NVIDIA NeMo Speech,安装完成后能确认 ASR(自动语音识别)和 TTS(文本转语音)两个集合都已可用,即可以导入对应的nemo.collections子包,并能加载预训练模型。安装文档见 docs/source/starthere/install.rst,模型加载验证方式参考 docs/source/starthere/ten_minutes.rst 与 docs/source/tts/checkpoints.rst。

安装前的环境要求

安装文档给出的最低要求:

  • Python 3.12 或更高版本;
  • PyTorch 2.7 或更高版本(CPU 或 CUDA 构建均可,按你的目标选);
  • NVIDIA GPU + CUDA:训练必需;纯 CPU 推理可行但很慢;
  • uv:官方推荐的安装工具(pip也可以,但 uv 是主路径)。

uv 安装路径会按仓库提交的uv.lock复现官方主动测试的依赖栈——默认是 Python 3.13、PyTorch 2.12 搭配 CUDA 13.2(另有 PyTorch 2.11 + CUDA 12.9 组合)。这是官方支持并持续测试的组合,但不是硬性要求;如果你已有满足最低要求的 Python/PyTorch/CUDA 环境,也可以用后文的 pip 回退方式装在现有环境之上,且不会替换你已有的 PyTorch。

用 uv 从源码安装

在源码根目录(本仓库)下执行:

git clone https://github.com/NVIDIA-NeMo/Speech.git cd Speech # CUDA 13.x(推荐)。CUDA 12.x 环境改用 --extra cu12 uv sync --extra all --extra cu13

各参数的含义:

  • --extra all:安装全部集合(ASR、TTS、audio、speechlm2)。如果只需要 ASR 与 TTS,也可以改为--extra asr --extra tts的组合方式,二者在文档的 extras 表中都有定义;
  • --extra cu13/--extra cu12:指定 CUDA 13.x 或 12.x 对应的 PyTorch 构建。Linux 上这两个 extra 互斥,必须且只能传其中一个;两个都省略时,uv 会装通用的 PyPI PyTorch wheel 而不是 NVIDIA 的 CUDA 匹配构建;
  • uv sync会在.venv/中创建虚拟环境,并以 editable 模式安装 NeMo Speech。

日常使用有两种方式:用uv run <cmd>运行命令,或先source .venv/bin/activate激活环境。

可选步骤(按需):

# 安装测试工具链依赖(test 是 PEP 735 依赖组,不是 extra,必须用 --group) uv sync --extra all --extra cu13 --group test # 安装文档构建依赖 uv sync --group docs

注意testdocs是依赖,只能用--group安装,.[test]这种 bracket 写法无效。

如果目标是与容器完全一致的基线(Dockerfile 和 CI 使用的路径),加上--locked --python 3.13

uv sync --locked --python 3.13 --extra all --extra cu13

反过来,如果你是想在自带 Python/PyTorch/CUDA 的环境上叠加安装,不要uv sync --locked——它会强制套用uv.lock,把你已有的 Python/PyTorch/CUDA 替换成受支持基线。该场景应使用uv pippip安装(安装文档的 “Install from PyPI with pip” 一节)。

验证 ASR 集合可用

安装完成后,官方文档给出的验证命令是导入 ASR 集合:

python -c "import nemo.collections.asr as nemo_asr; print('NeMo Speech ASR installed')"

如果用了uv sync且没有激活.venv,需要通过 uv 运行:uv run python -c "..."。输出NeMo Speech ASR installed说明 ASR 集合导入成功。

文档还提供了更深一步的验证:实际下载并加载一个预训练模型:

import nemo_collections.asr as nemo_asr # 注意实际导入名为 import nemo.collections.asr model = nemo_asr.models.ASRModel.from_pretrained("nvidia/parakeet-tdt-0.6b-v2") print(f"Loaded: {model.__class__.__name__}")

以上代码块按文档原文应写作:

import nemo.collections.asr as nemo_asr model = nemo_asr.models.ASRModel.from_pretrained("nvidia/parakeet-tdt-0.6b-v2") print(f"Loaded: {model.__class__.__name__}")

from_pretrained会触发一次模型下载,需要网络可达;加载成功后打印模型类名。

验证 TTS 集合可用

TTS 集合的导入验证与 ASR 同理(导入语句取自 TTS 检查点文档的用法):

python -c "import nemo.collections.tts as nemo_tts; print('NeMo Speech TTS installed')"

同样,未激活.venv时用uv run python执行。

如需验证 TTS 能实际生成语音,docs/source/starthere/ten_minutes.rst 给出了 Magpie TTS 的完整示例(模型会从 Hugging Face 下载):

from nemo.collections.tts.models import MagpieTTSModel import soundfile as sf # Load model (multilingual 357M, from Hugging Face) model = MagpieTTSModel.from_pretrained("nvidia/magpie_tts_multilingual_357m") model.eval() # Generate speech audio, audio_len = model.do_tts( transcript="Hello! Welcome to NeMo Speech AI.", language="en", ) # Save to file sf.write("output.wav", audio[0].cpu().numpy(), 22050) print("Speech saved to output.wav")

能生成并保存出output.wav,说明 TTS 集合不仅可导入,推理链路也通了。

已知限制与注意事项

  • weights_only相关:从 PyTorch 2.6 起,torch.load默认weights_only=True。部分 checkpoint 需要weights_only=False,此时在加载前设置环境变量TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD=1,并且只应用于可信文件——对不受信文件开启完整 pickle 支持有任意代码执行风险。
  • compiled 依赖不在本路径内compiled/compiled-a100extra 是为 SpeechLM2/Automodel 准备的可选性能增强(Transformer Engine、FlashAttention、Mamba、MoE kernel),需要完整 CUDA 构建环境且官方建议通过docker/Dockerfile构建。安装 ASR/TTS 集合不需要它们。
  • pip 回退路径:想用自己的 PyTorch 时,先装 PyTorch(≥ 2.7),再uv pip install 'nemo-toolkit[asr,tts]'(或等价的pip install),已装的 PyTorch 会被保留而不是替换。

验证命令全部通过后,ASR 与 TTS 集合即安装完成,可以继续按 docs/source/starthere/ten_minutes.rst 做转写与合成的实际操作,或查看 docs/source/asr/all_chkpt.rst 了解可用的预训练检查点。

【免费下载链接】SpeechA scalable generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (Automatic Speech Recognition and Text-to-Speech)项目地址: https://gitcode.com/GitHub_Trending/nem/Speech

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 11:25:00

rPPG与ECG联合分析:从信号提取到质量评估指南

简介&#xff1a;基于人脸视频的rPPG&#xff08;远程光电容积描记&#xff09;代码包&#xff0c;利用普通摄像头捕捉面部肤色随心跳的细微变化来估计心率&#xff0c;实现无接触式测量&#xff1b;面向生物医学工程、计算机视觉与人机交互方向的研究者和开发者&#xff0c;也…

作者头像 李华
网站建设 2026/9/14 11:23:18

Canvas粒子系统实战:用p5.js实现可交互飘沙特效

简介&#xff1a;这是一份面向前端开发初学者与进阶者的交互式视觉特效实战资源&#xff0c;聚焦于动态飘沙特效与粒子烟雾动画的实现&#xff0c;适用于网页背景增强、活动页开场动效或创意交互模块开发。资源以轻量级HTMLJS方案构建&#xff0c;无需复杂框架依赖&#xff0c;…

作者头像 李华
网站建设 2026/9/14 11:22:33

Vector 在 Ubuntu 上的安装与部署指南:五种安装方式与运维实战

Vector 在 Ubuntu 上的安装与部署指南&#xff1a;五种安装方式与运维实战 【免费下载链接】vector A high-performance observability data pipeline. 项目地址: https://gitcode.com/GitHub_Trending/vect/vector Vector 是一款高性能的可观测性数据管道&#xff08;o…

作者头像 李华
网站建设 2026/9/14 11:22:28

WTF Solidity 极简入门:第 42 讲 分账合约 PaymentSplit 实战指南

WTF Solidity 极简入门&#xff1a;第 42 讲 分账合约 PaymentSplit 实战指南 【免费下载链接】WTF-Solidity WTF Solidity 极简入门教程&#xff0c;供小白们使用。Now supports English! 官网: https://wtf.academy 项目地址: https://gitcode.com/GitHub_Trending/wt/WTF-…

作者头像 李华