'Transformers model from Hugging-Face throws error that specific classes couldn t be loaded

Hi after running this code below, I get the following error.

ValueError: Could not load model facebook/bart-large-mnli with any of the following classes: (<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")

Could someone please help. Thank you!



Solution 1:[1]

Use the following:

!pip install pytorch-pretrained-bert
import pytorch_pretrained_bert as ppb
assert 'bert-large-cased' in ppb.modeling.PRETRAINED_MODEL_ARCHIVE_MAP

Now run your original code.

Solution 2:[2]

I had the same issue! Somebody has commented here that you need to have PyTorch installed (https://github.com/huggingface/transformers/issues/16849).

To sum it up:

  • Some models only exist as PyTorch models (e.g. deepset/roberta-base-squad2).
  • Calling pipeline() selects the framework (TF or PyTorch) based on what is installed on your machine (or venv in my case)
  • If both are installed, Torch will be selected
  • If you don't have PyTorch installed, it threw above mentioned error
  • Installing PyTorch solved the issue for me!
  • In the GitHub issue, another workaround is mentioned: load the model in TF with from_pt=True and save as personal copy as a TF model with save_pretrained and push_to_hub

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Sachin Motwani
Solution 2