FunASR
FunASR copied to clipboard
离线环境下无法启动问题,pipeline修改模型为本地路径后依然远程下载代码
我在 https://github.com/alibaba-damo-academy/FunASR/issues/908#issuecomment-1756610416 中看到回复说更新到 update modelscope-1.9.2后修复这个问题, 但是我在modelscope 1.9.4还是遇到了这个问题
asr = pipeline( task=Tasks.auto_speech_recognition, model="./speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404", param_dict['hotword'] = "https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/hotword.txt" device='cuda', )
我已将模型下载到本地路径,但启动时还是需要网络重新下载一遍。 当~/.cache/modelscope/hub/damo/中有模型文件目录时,不会出现这种情况,但我在离线环境下无法将文件下载到cache目录
pipeline添加下面参数,update_model=False, # 注意: 不然每次请求modelscope,超时后才走正常逻辑,浪费时间
If the issue persists, please reopen the issue and provide detailed steps to reproduce, as well as server and client logs.
我已经解决这个问题了,还是模型路径设置的问题:
funasr_wss_server.py 中,把所有AutoModel的model 都按照如下格式修改即可:
parser.add_argument(
"--asr_model",
type=str,
default=r"~/.cache/modelscope/hub/iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch",
help="model from modelscope",
)
# 确保路径正确解析
asr_model_path = os.path.expanduser(args.asr_model)
# 转换路径分隔符为 Windows 格式
asr_model_path = asr_model_path.replace('/', '\\')
print("asr_model_path:",asr_model_path)
model_asr = AutoModel(
model=asr_model_path,
model_revision=args.asr_model_revision,
ngpu=args.ngpu,
ncpu=args.ncpu,
device=args.device,
disable_pbar=True,
disable_log=True,
update_model=False,
)