☰
如何下载并运行 Nemotron-3-Diarization-preview:完整推理代码教程(PyTorch实战)
2026/10/17 6:56:41 网站建设 项目流程

【免费下载链接】Nemotron-3-Diarization-preview

项目地址:https://ai.gitcode.com/hf_mirrors/nv-community/Nemotron-3-Diarization-preview
点击查看免费下载

Nemotron-3-Diarization-preview 是 NVIDIA 推出的说话人分离(Speaker Diarization)模型预览版。本文手把手带你完成 Nemotron-3-Diarization-preview 的下载、权重文件校验,并用 PyTorch 推理代码跑通第一次说话人分离,最后附常见报错排查清单,新手也能一次跑通 ✅

一、先搞懂:什么是"说话人分离"?

📌说话人分离解决的是录音中的"谁在什么时候说话"问题:

输入:一段多人会议录音 meeting.wav 输出:Speaker 0 [00:00 - 00:12] Speaker 1 [00:12 - 00:45] Speaker 0 [00:45 - 01:02]

它广泛应用于会议转写、播客整理、客服质检等场景。Nemotron-3-Diarization-preview 以模型预览(preview)形式发布:仓库当前提供模型权重文件,具体文件清单可在模型的"模型文件"页面查看(见 README.md)。

二、Nemotron-3-Diarization-preview 下载:Git 与 ModelScope SDK 两种方式

方式 1:Git clone 下载(注意 LFS 大文件)

模型权重通过Git LFS管理(可参考 .gitattributes 中的*.safetensors等大文件规则),clone 后务必补拉 LFS 真实文件:

git clone https://gitcode.com/hf_mirrors/nv-community/Nemotron-3-Diarization-preview cd Nemotron-3-Diarization-preview git lfs install git lfs pull

方式 2:ModelScope SDK 下载(推荐,自动处理大文件)

README.md 中给出了官方 SDK 下载方式:

pip install modelscope
from modelscope import snapshot_download model_dir = snapshot_download('nv-community/Nemotron-3-Diarization-preview') print("模型已下载到:", model_dir)

下载后必做:确认权重不是 LFS 指针

⚠️ 如果权重文件只有几百字节、内容以version https://git-lfs...开头,说明下载到的是指针而非真实权重,需执行git lfs pull重新拉取。快速检查命令:

# 查看文件大小,真实权重应为数十 MB ~ GB 级 du -h *.safetensors *.bin *.pt 2>/dev/null # 查看文件开头是否为 LFS 指针文本 head -c 100 你的权重文件名

三、PyTorch 推理环境配置:最快配置方法

建议使用独立虚拟环境,避免依赖冲突:

python -m venv diar_env source diar_env/bin/activate # Windows 用 diar_env\Scripts\activate # 核心依赖(CUDA 版 torch 请按 PyTorch 官方指引选择匹配显卡的版本) pip install torch torchaudio pip install librosa soundfile # 音频加载与重采样 pip install safetensors # 加载 .safetensors 权重

验证安装:

python -c "import torch; print(torch.__version__, torch.cuda.is_available())"

四、PyTorch 实战:加载模型并跑通第一次推理

预览版仓库以权重文件为主,未附带推理脚本,因此下面给出通用的"权重加载 → 音频预处理 → 推理输出"参考流程,具体加载 API 请以模型最终发布版为准。

4.1 第一步:查看权重文件类型

ls -lh # 确认是 .safetensors、.bin 还是 .pt 文件

4.2 第二步:加载模型权重

import torch # 方式 A:.safetensors 文件(更安全、更快) from safetensors.torch import load_file state_dict = load_file("model.safetensors") # 方式 B:.bin / .pt 文件 # 注意 PyTorch 2.6+ 默认 weights_only=True,旧格式需显式指定 # state_dict = torch.load("pytorch_model.bin", map_location="cpu", weights_only=False) print(list(state_dict.keys())[:5]) # 打印前几个参数名,核对结构

4.3 第三步:音频预处理(16kHz 单声道)

说话人分离模型通常对输入采样率有要求,统一重采样到 16kHz 单声道最稳妥:

import torchaudio wav, sr = torchaudio.load("meeting.wav") if wav.shape[0] > 1: # 多声道转单声道 wav = wav.mean(dim=0, keepdim=True) if sr != 16000: # 重采样到 16kHz wav = torchaudio.functional.resample(wav, sr, 16000) # 归一化,避免音量差异影响输出 wav = wav / (wav.abs().max() + 1e-8)

4.4 第四步:运行推理并输出说话人时间段

长音频建议分块(chunk)推理 + 重叠拼接,防止显存不足。核心流程示意:

device = "cuda" if torch.cuda.is_available() else "cpu" wav = wav.to(device) # 按 30s 左右分块送入模型(重叠 2s 平滑边界,具体以官方推理逻辑为准) segments = [] # 收集 (speaker_id, start, end) # for chunk in chunks(wav, chunk_len=30, overlap=2): # out = model(chunk) # 前向推理 # segments += decode(out) # 解析为说话人时间段 for spk, start, end in segments: print(f"Speaker {spk} [{start/16000:.2f}s - {end/16000:.2f}s]")

4.5 第五步:结果保存(RTTM / 时间轴)

with open("diarization.rttm", "w") as f: for spk, start, end in segments: f.write(f"SPEAKER meeting 1 {start/16000:.3f} {end/16000-start/16000:.3f} <NA> <NA> {spk} <NA> <NA>\n")

生成的 RTTM 文件可直接对接 Whisper 等语音识别工具做"逐说话人转写"。

五、常见问题排查清单

现象原因解决方法
权重文件只有几百字节,内容是version https://git-lfs...下载到的是 LFS 指针执行git lfs install && git lfs pull
CUDA out of memory显存不足map_location="cpu"用 CPU 推理,或缩短分块长度
输出乱码或无说话人采样率/声道不匹配统一重采样为 16kHz 单声道
torch.load报weights_only错误PyTorch 2.6+ 默认更安全旧格式加weights_only=False,或改用 safetensors 加载

六、仓库文件速查

  • 模型卡说明与两种官方下载方式:README.md
  • ModelScope SDK 下载代码:README.md
  • Git LFS 大文件规则(safetensors/bin/pt 等):.gitattributes

🎉 到这里,你已经完成了 Nemotron-3-Diarization-preview 的下载与 PyTorch 推理全流程。由于该项目为预览版,后续权重结构与推理接口如有更新,请以模型"模型文件"页面和最终发布版说明为准。

【免费下载链接】Nemotron-3-Diarization-preview

项目地址:https://ai.gitcode.com/hf_mirrors/nv-community/Nemotron-3-Diarization-preview
点击查看免费下载

相关推荐

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询