C:>python D:\python3\url.py
2024-02-04 14:37:40,405 - modelscope - INFO - PyTorch version 2.2.0 Found.
2024-02-04 14:37:40,415 - modelscope - INFO - Loading ast index from C:\Users\man.cache\modelscope\ast_indexer
2024-02-04 14:37:40,698 - modelscope - INFO - Loading done! Current index file version is 1.11.1, with md5 86717728ed73cdfdb006bab07ba66d92 and a total number of 956 components indexed
2024-02-04 14:37:43,685 - modelscope - INFO - Use user-specified model revision: v2.0.4
2024-02-04 14:37:44,070 - modelscope - INFO - initiate model from C:\Users\man.cache\modelscope\hub\iic\speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch
2024-02-04 14:37:44,070 - modelscope - INFO - initiate model from location C:\Users\man.cache\modelscope\hub\iic\speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch.
2024-02-04 14:37:44,070 - modelscope - INFO - initialize model from C:\Users\man.cache\modelscope\hub\iic\speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch
2024-02-04 14:37:52,524 - modelscope - WARNING - Model revision not specified, use revision: v2.0.0
Traceback (most recent call last):
File "D:\Python38\lib\site-packages\modelscope\utils\registry.py", line 210, in build_from_cfg
return obj_cls._instantiate(args)
File "D:\Python38\lib\site-packages\modelscope\models\base\base_model.py", line 67, in _instantiate
return cls(kwargs)
File "D:\Python38\lib\site-packages\modelscope\models\audio\funasr\model.py", line 55, in init
self.model = AutoModel(model=model_dir, kwargs)
File "D:\Python38\lib\site-packages\funasr\auto\auto_model.py", line 102, in init
vad_model, vad_kwargs = self.build_model(vad_kwargs)
File "D:\Python38\lib\site-packages\funasr\auto\auto_model.py", line 176, in build_model
model = model_class(kwargs, kwargs["model_conf"], vocab_size=vocab_size)
TypeError: 'NoneType' object is not callable
1 这种方式报错
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
inference_pipeline = pipeline(
task=Tasks.auto_speech_recognition,
model='iic/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch',
model_revision="v2.0.4")
rec_result = inference_pipeline('https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_vad_punc_example.wav')
print(rec_result)
2 这种方式不报错
from funasr import AutoModel
model = AutoModel(model="paraformer-zh", model_revision="v2.0.4",
vad_model="fsmn-vad", vad_model_revision="v2.0.4",
punc_model="ct-punc-c", punc_model_revision="v2.0.4",
# spk_model="cam++", spk_model_revision="v2.0.2",
)
res = model.generate(input=f"{model.model_path}/example/asr_example.wav",
batch_size_s=300,
hotword='魔搭')
print(res)
根据报错信息,问题出在TypeError: 'NoneType' object is not callable
。这个错误是因为在创建模型时,传入的参数有误,导致无法正确调用模型类。
具体来说,问题可能出在model_class
这个变量上。从报错信息中可以看到,model_class
的值为None
,这意味着在创建模型时,没有正确地指定模型类。为了解决这个问题,你需要检查你的代码,确保在创建模型时正确地指定了模型类。
根据你提供的日志信息,模型Scope在加载和实例化语音识别模型的过程中遇到了问题。具体错误出现在加载FunASR模型的时候,错误类型为 TypeError: 'NoneType' object is not callable
,表明在执行类的实例化时,传递给了一个预期为可调用对象(如类或函数)的位置变量实际上是一个 None
类型。
错误发生在 funasr\auto\auto_model.py
文件中,当尝试通过传入的参数构建模型实例时,model_class
变量的值应该是具体的模型类,但现在它的值是 None
,因此无法进行实例化。
这可能是由于:
model
参数指定的模型类名称拼写错误,导致找不到相应的模型类;为了定位和解决问题,请检查以下几个方面:
model
参数指向的是正确的模型类名;报错信息显示在初始化模型时遇到了类型错误,具体是 'NoneType' 对象不可调用。问题可能出在加载和实例化模型的过程中,某个类或函数未正确加载导致其值为 None
,但代码依然尝试对其进行调用。针对给出的日志内容,可能是由于加载语音识别模型时配置出现问题,或者所使用的模型与对应代码版本不匹配。
解决方案: