加载OpenAI Whisper Base模型遇阻,求助正确实现方案及是否需用Transformers
问题解答
是否必须使用Transformers库?
不需要,OpenAI官方的whisper库本身就提供了简洁直接的模型加载和调用方式,完全可以独立使用,无需依赖Transformers库。
正确的模型加载方式(官方whisper库)
方法1:直接在线加载模型
这是最简便的方式,执行代码后会自动将模型下载到默认缓存目录(一般为~/.cache/whisper):
import whisper # 加载whisper-base模型 model = whisper.load_model("base") # 转录测试音频 result = model.transcribe("audio_test.mp3") print(result["text"])
方法2:手动下载后加载本地模型
如果在线下载失败,可手动获取whisper-base的.pt格式模型文件,放到本地指定目录后,直接加载路径即可:
import whisper # 替换为你存放模型文件的本地路径 local_model_path = "./model/whisper-base.pt" model = whisper.load_model(local_model_path) result = model.transcribe("audio_test.mp3") print(result["text"])
你原有代码的核心问题
你同时混用了Transformers库和官方whisper库,二者模型结构不兼容:
AutoModelForSpeechSeq2Seq.from_pretrained返回的是Transformers格式的模型对象,无法直接传给whisper.load_model——后者仅接受模型名称(如"base")或本地模型文件路径。- 这种重复加载的操作不仅无效,还会造成资源浪费。
解决下载失败的额外建议
如果在线下载模型时遇到网络问题,可尝试:
- 设置网络代理,在代码开头添加:
import os os.environ['http_proxy'] = 'http://你的代理地址:端口' os.environ['https_proxy'] = 'http://你的代理地址:端口' - 手动获取模型文件后,通过本地路径加载。
内容的提问来源于stack exchange,提问作者Mr. CGI
相关产品推荐
相关产品推荐

