尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

FunASR emotion2vec 情感模型三步跑通方法

FunASR emotion2vec 情感模型三步跑通方法 FunASR emotion2vec 情感模型三步跑通方法【免费下载链接】FunASROpen-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.项目地址: https://gitcode.com/GitHub_Trending/fun/FunASR首次跑 FunASR 情感识别卡住的多在加载环节AutoModel(modelemotion2vec_plus_large)可能抛init_param does not exist也可能下载时报snapshot_download() got an unexpected keyword argument user_agent。本文按「加载链路 → 报错定位 → 离线部署」的顺序讲清 emotion2vec_plus_large 这个情感识别模型为什么报这些错读完可以直接对照修复并落地到生产环境。用最短代码跑通 FunASR emotion2vec 情感识别先不管原理下面这段代码是情绪识别的最短路径无 GPU 时把 device 改成 cpufrom funasr import AutoModel model AutoModel(modelemotion2vec_plus_large, devicecpu) result model.generate(inputaudio.wav, granularityutterance) print(result)运行后应打印一个包含labels情绪类别如 angry/happy/neutral/sad和scores各项概率的字典只要不抛异常且分数能对应四种情绪说明加载成功。跑通之后回头看它背后做了什么共四步模型定位你传的emotion2vec_plus_large只是别名加载器先查映射表换成真实模型 IDiic/emotion2vec_plus_large见 funasr/download/name_maps_from_hub.py#L15。文件下载本地不存在该路径时走snapshot_download把模型文件拉到缓存目录关键调用在 funasr/download/download_model_from_hub.py#L270-L272。配置合并读取模型目录里的config.yaml把权重路径model.pt、词表tokens.txt等填进 kwargs逻辑在 funasr/download/download_model_from_hub.py#L80-L95。依赖检查仅当传入trust_remote_codeTrue时才会自动安装模型目录里的requirements.txt并动态导入模型专属代码见 funasr/download/download_model_from_hub.py#L103-L115。按症状对照表诊断 emotion2vec 加载错误多数加载问题都能对号入座先查表再下钻症状可能原因处理init_param does not exist本地模型目录缺model.pt见下方详解 Aunexpected keyword argument user_agentmodelscope SDK 版本过旧见下方详解 B动态导入模块找不到未开trust_remote_code加trust_remote_codeTrue触发 L111-L115 的远程代码安装与导入下载中断后残留半截目录网络中断只删该模型的缓存子目录后重试方法见 docs/troubleshooting_zh.md国内下载极慢或超时hub 与网络环境不匹配大陆网络走默认 ModelScope海外网络可加hubhf走 Hugging Face详解 Ainit_param does not exist。这是加载器对本地路径模型做的强制断言目录里必须能拿到model.pt代码位置在 funasr/download/download_model_from_hub.py#L84。常见诱因有两个一是你传了一个下载中断的目录二是把父目录而不是模型目录传了进去。自查方式ls你传的路径确认config.yaml与model.pt同在缺了就重新下载该模型。详解 Buser_agent参数不被识别。第 2 步的下载调用会向 modelscope 的snapshot_download传user_agent字典参数L270-L272旧版 SDK 没有这个入参于是报 unexpected keyword argument。升级即可python -m pip install modelscope --upgrade python -c import modelscope; print(modelscope.__version__)第二行能正常打印版本号建议 ≥1.19即算修复之后重跑第 1 节代码不应再出现该报错。配置模型缓存路径与离线部署多项目共用一台机器时别把默认缓存~/.cache/modelscope/hub当唯一落盘点用环境变量改道export MODELSCOPE_CACHE/data/models/cache生效后新下载的模型会出现在该路径下可用ls验证旧缓存不会自动迁移需要时手动拷贝。离线部署的思路是「有网机下载、无网机加载」先在一台联网机器跑通第 1 节代码让缓存落盘再把整个模型目录拷到目标机直接用本地路径加载model AutoModel(model/data/models/emotion2vec_plus_large, devicecpu)加载成功的标志是日志里没有发起任何下载请求且直接进入推理阶段。目录里至少要有config.yaml、model.pt、tokens.txt三个文件缺一个都会在配置合并阶段失败。常用参数建议如下参数建议值作用devicecuda:0有卡时启用 GPU 加速CPU 推理 300M 模型也可接受granularityutterance/segment情绪标注粒度整句一个 vs 分段多个vad_modelfsmn-vad长音频先切段避免整段情绪被平均batch_size16~32批量文件推理吞吐显存不足就降trust_remote_codeTrue自动装模型依赖并导入模型专属代码VAD 加情感识别的长音频组合生产音频通常几分钟长直接整段推理只能得到一个平均情绪。正确姿势是挂上 fsmn-vad 先切段再按段取情绪model AutoModel(modelemotion2vec_plus_large, vad_modelfsmn-vad, devicecpu) result model.generate(inputaudio.wav, granularitysegment) for seg in result: print(seg[start], seg[end], seg[labels], seg[scores])预期输出是若干行「起止时间 情绪标签 分数」段数应与 VAD 切出的语音段一致若只有一行且时间覆盖全文件说明vad_model没生效。⚠️ 三个要点再收一遍最短代码先跑通报错对照症状表处理生产用本地路径离线加载。更多参考加载器源码funasr/download/download_model_from_hub.py模型用法速查README_zh.md教程与参数说明docs/tutorial/README_zh.md下载与网络问题排查docs/troubleshooting_zh.md若以上都没解决你的报错拿错误栈的第一行去 issue 区搜emotion2vec或报错关键词大部分加载问题都有对应记录。【免费下载链接】FunASROpen-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.项目地址: https://gitcode.com/GitHub_Trending/fun/FunASR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表