Hugging-Face 中的 Transformers 模型会引发无法加载特定类的错误

Pie*_*eMa 18 python nlp tensorflow huggingface-transformers

您好,运行下面的代码后,出现以下错误。

ValueError:无法使用以下任何类加载模型 facebook/bart-large-mnli:(<class 'transformers.models.auto.modeling_tf_auto.TFAutoModelForSequenceClassification'>,)。

import tensorflow as tf
from transformers import pipeline

classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?谢谢你!

Yok*_*ono 14

我遇到过同样的问题!有人在这里评论说你需要安装 PyTorch ( https://github.com/huggingface/transformers/issues/16849 )。

把它们加起来:

  • 有些模型仅作为 PyTorch 模型存在(例如deepset/roberta-base-squad2)。
  • 调用pipeline()根据您的计算机上安装的框架(在我的情况下为 venv)选择框架(TF 或 PyTorch)
  • 如果两者都安装,将选择 Torch
  • 如果你没有安装 PyTorch,它会抛出上述错误
  • 安装 PyTorch 解决了我的问题!
  • 在 GitHub 问题中,提到了另一种解决方法:使用 和 将模型加载到 TF 中并from_pt=True保存为 TF 模型的个人副本save_pretrainedpush_to_hub

  • pytorch 已经安装,即使这样我也收到此错误 (3认同)

Sac*_*hin 0

使用以下内容:

!pip install pytorch-pretrained-bert
import pytorch_pretrained_bert as ppb
assert 'bert-large-cased' in ppb.modeling.PRETRAINED_MODEL_ARCHIVE_MAP
Run Code Online (Sandbox Code Playgroud)

现在运行您的原始代码。