Skip to content

Commit 32bf64e

Browse files
Don't pass code_revision to non-Auto model classes in pipelines (#50126)
Don't pass code_revision to concrete model classes in pipeline load_model
1 parent cd8cc45 commit 32bf64e

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

‎src/transformers/pipelines/base.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
from ..generation import GenerationConfig
3636
from ..image_processing_utils import BaseImageProcessor
3737
from ..models.auto import AutoConfig, AutoTokenizer
38+
from ..models.auto.auto_factory import _BaseAutoModelClass
3839
from ..processing_utils import ProcessorMixin
3940
from ..tokenization_python import PreTrainedTokenizer
4041
from ..utils import (
@@ -236,6 +237,10 @@ def load_model(
236237
all_traceback = {}
237238
for model_class in class_tuple:
238239
kwargs = model_kwargs.copy()
240+
if not issubclass(model_class, _BaseAutoModelClass):
241+
# Only the Auto classes understand `code_revision`, because they're the ones that load remote code.
242+
# Concrete classes from `config.architectures` would pass it to the model `__init__` and crash
243+
kwargs.pop("code_revision", None)
239244

240245
try:
241246
model = model_class.from_pretrained(model, **kwargs)

0 commit comments

Comments
 (0)