Skip to content

incompatiblity between torch 2.4.1 and transformers 5.8.0 #45800

@nickjyj

Description

@nickjyj

System Info

torch 2.4.1
transformers 5.8.0

Who can help?

No response

Information

  • The official example scripts
  • My own modified scripts

Tasks

  • An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
  • My own task or dataset (give details below)

Reproduction

dockerfile:

FROM nvcr.io/nvidia/tensorrt:25.04-py3
ARG DEBIAN_FRONTEND=noninteractive

# Install dependencies
RUN apt-get update && apt-get install libgl1 -y
RUN --mount=type=cache,target=/root/.cache/pip \
    pip install torch==2.4.1 torchvision==0.19.1 --index-url https://download.pytorch.org/whl/cu124
RUN pip install rfdetr

python code:

from rfdetr import RFDETRMedium
model = RFDETRMedium()

error logs:

predict  | Traceback (most recent call last):
predict  |   File "/app/tmp.py", line 1, in <module>
predict  |     from rfdetr import RFDETRMedium
predict  |   File "/usr/local/lib/python3.12/dist-packages/rfdetr/__init__.py", line 7, in <module>
predict  |     from rfdetr.detr import (
predict  |   File "/usr/local/lib/python3.12/dist-packages/rfdetr/detr.py", line 52, in <module>
predict  |     from rfdetr.models import PostProcess, build_model
predict  |   File "/usr/local/lib/python3.12/dist-packages/rfdetr/models/__init__.py", line 17, in <module>
predict  |     from rfdetr.models.lwdetr import build_model
predict  |   File "/usr/local/lib/python3.12/dist-packages/rfdetr/models/lwdetr.py", line 30, in <module>
predict  |     from rfdetr.models.backbone import build_backbone
predict  |   File "/usr/local/lib/python3.12/dist-packages/rfdetr/models/backbone/__init__.py", line 15, in <module>
predict  |     from rfdetr.models.backbone.backbone import Backbone
predict  |   File "/usr/local/lib/python3.12/dist-packages/rfdetr/models/backbone/backbone.py", line 22, in <module>
predict  |     from peft import PeftModel
predict  |   File "/usr/local/lib/python3.12/dist-packages/peft/__init__.py", line 17, in <module>
predict  |     from .auto import (
predict  |   File "/usr/local/lib/python3.12/dist-packages/peft/auto.py", line 31, in <module>
predict  |     from .config import PeftConfig
predict  |   File "/usr/local/lib/python3.12/dist-packages/peft/config.py", line 30, in <module>
predict  |     from .utils import CONFIG_NAME, PeftType, TaskType
predict  |   File "/usr/local/lib/python3.12/dist-packages/peft/utils/__init__.py", line 15, in <module>
predict  |     from .constants import ALLOWED_COMPUTE_DTYPES, UPCAST_DTYPES
predict  |   File "/usr/local/lib/python3.12/dist-packages/peft/utils/constants.py", line 16, in <module>
predict  |     from transformers import BloomPreTrainedModel
predict  |   File "<frozen importlib._bootstrap>", line 1412, in _handle_fromlist
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/utils/import_utils.py", line 2226, in __getattr__
predict  |     module = self._get_module(self._class_to_module[name])
predict  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/utils/import_utils.py", line 2460, in _get_module
predict  |     raise e
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/utils/import_utils.py", line 2458, in _get_module
predict  |     return importlib.import_module("." + module_name, self.__name__)
predict  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
predict  |   File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
predict  |     return _bootstrap._gcd_import(name[level:], package, level)
predict  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/models/bloom/modeling_bloom.py", line 26, in <module>
predict  |     from ...modeling_layers import GradientCheckpointingLayer
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/modeling_layers.py", line 27, in <module>
predict  |     from .processing_utils import Unpack
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/processing_utils.py", line 79, in <module>
predict  |     from .modeling_utils import PreTrainedAudioTokenizerBase
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/modeling_utils.py", line 69, in <module>
predict  |     from .integrations.finegrained_fp8 import ALL_FP8_EXPERTS_FUNCTIONS
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/integrations/finegrained_fp8.py", line 30, in <module>
predict  |     from .moe import ExpertsInterface, use_experts_implementation
predict  |   File "/usr/local/lib/python3.12/dist-packages/transformers/integrations/moe.py", line 250, in <module>
predict  |     torch.library.custom_op("transformers::grouped_mm_fallback", _grouped_mm_fallback, mutates_args=())
predict  |   File "/usr/local/lib/python3.12/dist-packages/torch/_library/custom_ops.py", line 142, in custom_op
predict  |     return inner(fn)
predict  |            ^^^^^^^^^
predict  |   File "/usr/local/lib/python3.12/dist-packages/torch/_library/custom_ops.py", line 119, in inner
predict  |     schema_str = torch._custom_op.impl.infer_schema(fn, mutates_args)
predict  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
predict  |   File "/usr/local/lib/python3.12/dist-packages/torch/_library/infer_schema.py", line 42, in infer_schema
predict  |     error_fn(
predict  |   File "/usr/local/lib/python3.12/dist-packages/torch/_library/infer_schema.py", line 21, in error_fn
predict  |     raise ValueError(
predict  | ValueError: infer_schema(func): Parameter input has unsupported type torch.Tensor. The valid types are: dict_keys([<class 'torch.Tensor'>, typing.Optional[torch.Tensor], typing.Sequence[torch.Tensor], typing.List[torch.Tensor], typing.Sequence[typing.Optional[torch.Tensor]], typing.List[typing.Optional[torch.Tensor]], <class 'int'>, typing.Optional[int], typing.Sequence[int], typing.List[int], typing.Optional[typing.Sequence[int]], typing.Optional[typing.List[int]], <class 'float'>, typing.Optional[float], typing.Sequence[float], typing.List[float], typing.Optional[typing.Sequence[float]], typing.Optional[typing.List[float]], <class 'bool'>, typing.Optional[bool], typing.Sequence[bool], typing.List[bool], typing.Optional[typing.Sequence[bool]], typing.Optional[typing.List[bool]], <class 'str'>, typing.Optional[str], typing.Union[int, float, bool], typing.Union[int, float, bool, NoneType], typing.Sequence[typing.Union[int, float, bool]], typing.List[typing.Union[int, float, bool]], <class 'torch.dtype'>, typing.Optional[torch.dtype], <class 'torch.device'>, typing.Optional[torch.device]]). Got func with signature (input: 'torch.Tensor', weight: 'torch.Tensor', offs: 'torch.Tensor') -> 'torch.Tensor')

Expected behavior

it should not generate any errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions