You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用🤗datasets加载Sunbird音频数据集时TorchCodec报错求助

解决🤗Datasets加载Sunbird/urban-noise-uganda-61k时的libtorchcodec加载错误

问题场景

执行以下代码加载音频数据集时触发RuntimeError,提示无法加载libtorchcodec,涉及FFmpeg未识别、PyTorch与TorchCodec版本不兼容,且找不到对应FFmpeg的.dll文件:

dataset = load_dataset("Sunbird/urban-noise-uganda-61k", "small")
sample = dataset['train'][0]

已尝试的操作:

  • 安装FFmpeg v7并添加至系统PATH
  • 安装PyTorch v2.8.0+cpu并匹配TorchCodec v0.7
  • 确认所需.dll文件存在

可行解决方案

1. 手动指定FFmpeg路径给TorchCodec

TorchCodec可能无法自动识别PATH中的FFmpeg,可通过环境变量强制指定:

import os
# 替换为你的FFmpeg安装目录下bin文件夹的绝对路径
os.environ["TORCHCODEC_FFMPEG_DIR"] = "C:/path/to/ffmpeg/bin"

设置完成后重启代码,重新加载数据集。

2. 降级FFmpeg版本

FFmpeg v7属于较新版本,TorchCodec v0.7对其兼容性可能不足,建议降级到FFmpeg v5.x或v6.x:

  • 下载对应版本的解压版FFmpeg
  • 替换系统PATH中的FFmpeg路径,确保旧版本优先级最高
  • 重启终端或IDE后重新测试

3. 验证并修复TorchCodec与FFmpeg的绑定

执行以下代码检查TorchCodec是否正确检测到FFmpeg:

import torchcodec
print(torchcodec.ffmpeg_version())
print(torchcodec.ffmpeg_config())

如果输出为空或报错,说明绑定失败,需重新安装TorchCodec并指定FFmpeg路径:

pip uninstall torchcodec -y
pip install torchcodec --install-option="--ffmpeg-dir=C:/path/to/ffmpeg"

4. 切换到librosa音频解码器

🤗Datasets支持指定解码器,可绕过TorchCodec直接用librosa解码:

from datasets import load_dataset, Audio
dataset = load_dataset("Sunbird/urban-noise-uganda-61k", "small")
# 强制使用librosa解码音频
dataset = dataset.cast_column("audio", Audio(decode=True, decoder="librosa"))
sample = dataset['train'][0]

使用前需先安装librosa:pip install librosa

额外排查要点

  • 确保FFmpeg的bin路径在系统PATH中处于最靠前位置,避免其他版本干扰
  • 确认PyTorch为官方发布的CPU版本,无自定义编译,且版本严格匹配TorchCodec v0.7(支持PyTorch 2.6.0-2.8.0)
  • 尝试在全新虚拟环境中重新安装所有依赖,排除原有环境的依赖冲突

内容的提问来源于stack exchange,提问作者Pranav Nataraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 09:12:41