You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac环境下加载facebook/bart-large-cnn模型失败求助

Mac环境下加载facebook/bart-large-cnn模型失败的排查与解决

问题详情

使用facebook/bart-large-cnn开发文本摘要工具,代码在Windows环境运行正常,但Mac环境执行时触发模型加载错误,错误堆栈:

Traceback (most recent call last):
  File "/Users/shubhamsingh/Desktop/Python Udemy Tutorial/Summarizer/summary.py", line 5, in <module>
    summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/transformers/pipelines/__init__.py", line 776, in pipeline
    framework, model = infer_framework_load_model(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/transformers/pipelines/base.py", line 271, in infer_framework_load_model
    raise ValueError(f"Could not load model {model} with any of the following classes: {class_tuple}.")
ValueError: Could not load model facebook/bart-large-cnn with any of the following classes: (<class 'transformers.models.auto.modeling_auto.AutoModelForSeq2SeqLM'>, <class 'transformers.models.bart.modeling_bart.BartForConditionalGeneration'>).

运行代码:

from transformers import pipeline
import torch
import os

summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
def summarize_text(text: str, max_len: int) -> str:
    try:
        summary = summarizer(text, max_length=max_len, min_length=10, do_sample=False)
        return summary[0]["summary_text"]
    except IndexError as ex:
        return summarize_text(text=text[:(len(text) // 2)], max_len=max_len//2) + summarize_text(text=text[(len(text) // 2):], max_len=max_len//2)

print(summarize_text(ANY_TEXT, max_len=1024))

环境依赖:Python 3.11.2、pip 23.0.1、torch 2.0.0


解决步骤

1. 确保transformers版本兼容

执行命令升级transformers到最新兼容版本,避免与torch 2.0.0冲突:

pip install --upgrade transformers

若仍有问题,可指定稳定兼容版本:

pip install transformers==4.28.1

2. 清理损坏的模型缓存

Mac端Hugging Face模型缓存可能损坏,删除对应模型缓存后重新下载:

rm -rf ~/.cache/huggingface/hub/models--facebook--bart-large-cnn

重新运行代码,模型会自动重新下载并加载。

3. 明确指定PyTorch框架加载

在pipeline初始化时强制指定framework为PyTorch,避免自动推断出错:

summarizer = pipeline("summarization", model="facebook/bart-large-cnn", framework="pt")

4. 适配Mac芯片的PyTorch安装

若使用M1/M2系列芯片,需确保安装的是适配arm64架构的torch版本,重新安装:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

5. 手动加载本地模型

从Hugging Face Hub手动下载facebook/bart-large-cnn的全部模型文件到本地目录,然后指定路径加载:

summarizer = pipeline("summarization", model="./local-path-to/facebook-bart-large-cnn")

内容的提问来源于stack exchange,提问作者Shubham Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 12:32:03