modelscope-funasr哪位大神给看一下?Traceback (most recent call last):
File "D:\pycharmprojects\FunASR-APP\ClipVideo\clipvideo\gradio_service.py", line 8, in
inference_pipeline = pipeline(
^^^^^^^^^
File "D:\appinstall\pycharm-env\FunASR-APP\Lib\site-packages\modelscope\pipelines\builder.py", line 170, in pipeline
return build_pipeline(cfg, task_name=task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\appinstall\pycharm-env\FunASR-APP\Lib\site-packages\modelscope\pipelines\builder.py", line 65, in build_pipeline
return build_from_cfg(
^^^^^^^^^^^^^^^
File "D:\appinstall\pycharm-env\FunASR-APP\Lib\site-packages\modelscope\utils\registry.py", line 215, in build_from_cfg
raise type(e)(f'{obj_cls.name}: {e}')
TypeError: FunASRPipeline: GenericFunASR: 'NoneType' object is not callable
根据您提供的错误信息,modelscope-funasr
在运行时出现了以下问题:
TypeError: FunASRPipeline: GenericFunASR: 'NoneType' object is not callable
此错误表明在调用pipeline
函数时,某些关键组件未能正确加载或初始化。以下是针对该问题的详细分析和解决步骤:
从错误堆栈中可以看出,问题出现在modelscope.pipelines.builder
模块中,具体是build_pipeline
函数尝试构建FunASRPipeline
时失败。可能的原因包括: - 依赖未正确安装:modelscope-funasr
及其相关依赖(如funasr[clip]
)未完全安装或版本不匹配。 - 模型配置文件缺失或损坏:pipeline
函数需要加载特定任务的配置文件,如果配置文件不存在或格式错误,会导致初始化失败。 - Python环境问题:当前Python环境中可能存在冲突的包版本或缺少必要的依赖。
确保modelscope-funasr
及其依赖已正确安装。按照官方文档的指导,执行以下命令:
# 克隆代码仓库
git clone https://github.com/alibaba-damo-academy/FunASR.git
cd FunASR
# 安装依赖
pip install -r requirements.txt
# 安装FunClip扩展
pip install funasr[clip]
注意:请确保使用Python 3.7或更高版本,并检查是否安装了PyTorch等必要依赖。
运行以下命令验证funasr
是否安装成功:
python -c "import funasr.utils.cli_utils; funasr.utils.cli_utils.print_info()"
如果安装成功,您将看到一条消息,显示FunClip
已成功安装。
pipeline
函数需要加载特定任务的配置文件。如果配置文件缺失或路径错误,会导致NoneType
对象不可调用的错误。请确认以下内容: - 确保您使用的模型名称(如damo/speech_sambert-hifigan_tts_zh-cn_16k
)正确无误。 - 如果您自定义了模型路径,请检查路径是否有效且包含完整的配置文件。
示例代码:
from modelscope.pipelines import pipeline
# 初始化pipeline
inference_pipeline = pipeline(
task="auto-speech-recognition", # 替换为实际任务名称
model="damo/speech_sambert-hifigan_tts_zh-cn_16k" # 替换为实际模型名称
)
有时,Python环境中可能存在冲突的包版本或缺少必要的依赖。建议创建一个新的虚拟环境并重新安装依赖:
# 创建虚拟环境
python -m venv funasr_env
source funasr_env/bin/activate # Windows用户使用 `funasr_env\Scripts\activate`
# 安装依赖
pip install -U pip
pip install -r requirements.txt
pip install funasr[clip]
如果上述步骤仍无法解决问题,可以通过启用调试日志获取更多信息:
import logging
logging.basicConfig(level=logging.DEBUG)
from modelscope.pipelines import pipeline
# 初始化pipeline
inference_pipeline = pipeline(
task="auto-speech-recognition",
model="damo/speech_sambert-hifigan_tts_zh-cn_16k"
)
查看日志输出,定位具体的错误来源。
TypeError: 'NoneType' object is not callable
pipeline
函数未能找到对应的模型实现类。请确保模型名称和任务类型匹配。pip list
检查是否存在版本冲突的包,尤其是torch
和transformers
。~/.cache/modelscope
),重新下载模型配置文件。通过以上步骤,您可以逐步排查并解决modelscope-funasr
的TypeError
问题。如果问题仍未解决,请提供更详细的错误日志或上下文信息,以便进一步分析。
重要提示:请确保您的Python环境和依赖版本符合官方要求,并严格按照文档操作。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。