transformers - ✅(Solved) Fix v5.4.0 breaks `PretrainedConfig` field in pydantic model [1 pull requests, 8 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
huggingface/transformers#45070Fetched 2026-04-08 01:40:47
View on GitHub
Comments
8
Participants
3
Timeline
19
Reactions
0
Author
Timeline (top)
commented ×8cross-referenced ×5referenced ×3labeled ×1

Error Message

Traceback (most recent call last): File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 957, in _resolve_forward_ref obj = _typing_extra.eval_type_backport(obj, *self._types_namespace) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 455, in eval_type_backport return _eval_type_backport(value, globalns, localns, type_params) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 492, in _eval_type_backport return _eval_type(value, globalns, localns, type_params) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 545, in _eval_type return typing._eval_type( # type: ignore File "/home/fynnsu/.local/share/uv/python/cpython-3.10.18-linux-x86_64-gnu/lib/python3.10/typing.py", line 327, in _eval_type return t._evaluate(globalns, localns, recursive_guard) File "/home/fynnsu/.local/share/uv/python/cpython-3.10.18-linux-x86_64-gnu/lib/python3.10/typing.py", line 694, in _evaluate eval(self.forward_code, globalns, localns), File "<string>", line 1, in <module> NameError: name 'torch' is not defined

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/home/fynnsu/repro/transformers_pydantic.py", line 12, in <module> MyModelConfig.model_rebuild(force=True) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/main.py", line 668, in model_rebuild return _model_construction.complete_model_class( File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_model_construction.py", line 648, in complete_model_class schema = gen_schema.generate_schema(cls) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 729, in generate_schema schema = self._generate_schema_inner(obj) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1023, in _generate_schema_inner return self._model_schema(obj) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 856, in _model_schema {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()}, File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 856, in <dictcomp> {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()}, File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1228, in _generate_md_field_schema schema, metadata = self._common_field_schema(name, field_info, decorators) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1282, in _common_field_schema schema = self._apply_annotations( File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2227, in _apply_annotations schema = get_inner_schema(source_type) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in call schema = self._handler(source_type) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2206, in inner_handler schema = self._generate_schema_inner(obj) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1028, in _generate_schema_inner return self.match_type(obj) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1140, in match_type return self._dataclass_schema(obj, None) # pyright: ignore[reportArgumentType] File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1897, in _dataclass_schema args = sorted( File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1898, in <genexpr> (self._generate_dc_field_schema(k, v, decorators) for k, v in fields.items()), File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1246, in _generate_dc_field_schema schema, metadata = self._common_field_schema(name, field_info, decorators) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1282, in _common_field_schema schema = self._apply_annotations( File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2227, in _apply_annotations schema = get_inner_schema(source_type) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in call schema = self._handler(source_type) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2206, in inner_handler schema = self._generate_schema_inner(obj) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1028, in _generate_schema_inner return self.match_type(obj) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1144, in match_type return self._match_generic_type(obj, origin) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1167, in _match_generic_type return self._union_schema(obj) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1320, in _union_schema args = self._get_args_resolving_forward_refs(union_type, required=True) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 982, in _get_args_resolving_forward_refs args = tuple(self._resolve_forward_ref(a) if isinstance(a, ForwardRef) else a for a in args) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 982, in <genexpr> args = tuple(self._resolve_forward_ref(a) if isinstance(a, ForwardRef) else a for a in args) File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 959, in _resolve_forward_ref raise PydanticUndefinedAnnotation.from_name_error(e) from e pydantic.errors.PydanticUndefinedAnnotation: name 'torch' is not defined

For further information visit https://errors.pydantic.dev/2.12/u/undefined-annotation

Fix Action

Fixed

PR fix notes

PR #372: Cap transformers at <5.4.0

Description (problem / solution / changelog)

<!-- markdownlint-disable -->

PLEASE FILL IN THE PR DESCRIPTION HERE ENSURING ALL CHECKLIST ITEMS (AT THE BOTTOM) HAVE BEEN CONSIDERED.

Purpose

Transformers v5.4.0 released March 26, 2026 introduced a couple issues that break speculators.

Issues:

<!--- Why your changes are needed -->

Description

This pr temporarily caps the transformers version until the issues are resolved.

<!--- High-level concise summary of changes -->

Related Issue

<!--- Link related issue if applicable -->

Tests

Run CI and confirm everything is working with transformers capped

<!--- Please describe in detail how you tested your changes. -->

I have filled in:

  • The purpose of the PR, such as "Fix some issue (link existing issues this PR will resolve)".
  • The test plan/results, such as providing test command and pasting the results.
  • (Optional) The necessary documentation update.
  • I (a human) have written or reviewed the code in this pr to the best of my ability.

Changed files

  • pyproject.toml (modified, +1/-1)

Code Example

from pydantic import BaseModel, ConfigDict, Field
from transformers import PretrainedConfig


class MyModelConfig(BaseModel):
    model_config = ConfigDict(arbitrary_types_allowed=True)
    sub_config: PretrainedConfig = Field(
        description="Configuration for the sub_config",
    )


MyModelConfig.model_rebuild(force=True)

---

Traceback (most recent call last):
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 957, in _resolve_forward_ref
    obj = _typing_extra.eval_type_backport(obj, *self._types_namespace)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 455, in eval_type_backport
    return _eval_type_backport(value, globalns, localns, type_params)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 492, in _eval_type_backport
    return _eval_type(value, globalns, localns, type_params)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 545, in _eval_type
    return typing._eval_type(  # type: ignore
  File "/home/fynnsu/.local/share/uv/python/cpython-3.10.18-linux-x86_64-gnu/lib/python3.10/typing.py", line 327, in _eval_type
    return t._evaluate(globalns, localns, recursive_guard)
  File "/home/fynnsu/.local/share/uv/python/cpython-3.10.18-linux-x86_64-gnu/lib/python3.10/typing.py", line 694, in _evaluate
    eval(self.__forward_code__, globalns, localns),
  File "<string>", line 1, in <module>
NameError: name 'torch' is not defined

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/fynnsu/repro/transformers_pydantic.py", line 12, in <module>
    MyModelConfig.model_rebuild(force=True)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/main.py", line 668, in model_rebuild
    return _model_construction.complete_model_class(
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_model_construction.py", line 648, in complete_model_class
    schema = gen_schema.generate_schema(cls)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 729, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1023, in _generate_schema_inner
    return self._model_schema(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 856, in _model_schema
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 856, in <dictcomp>
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1228, in _generate_md_field_schema
    schema, metadata = self._common_field_schema(name, field_info, decorators)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1282, in _common_field_schema
    schema = self._apply_annotations(
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2227, in _apply_annotations
    schema = get_inner_schema(source_type)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2206, in inner_handler
    schema = self._generate_schema_inner(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1028, in _generate_schema_inner
    return self.match_type(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1140, in match_type
    return self._dataclass_schema(obj, None)  # pyright: ignore[reportArgumentType]
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1897, in _dataclass_schema
    args = sorted(
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1898, in <genexpr>
    (self._generate_dc_field_schema(k, v, decorators) for k, v in fields.items()),
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1246, in _generate_dc_field_schema
    schema, metadata = self._common_field_schema(name, field_info, decorators)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1282, in _common_field_schema
    schema = self._apply_annotations(
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2227, in _apply_annotations
    schema = get_inner_schema(source_type)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2206, in inner_handler
    schema = self._generate_schema_inner(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1028, in _generate_schema_inner
    return self.match_type(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1144, in match_type
    return self._match_generic_type(obj, origin)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1167, in _match_generic_type
    return self._union_schema(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1320, in _union_schema
    args = self._get_args_resolving_forward_refs(union_type, required=True)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 982, in _get_args_resolving_forward_refs
    args = tuple(self._resolve_forward_ref(a) if isinstance(a, ForwardRef) else a for a in args)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 982, in <genexpr>
    args = tuple(self._resolve_forward_ref(a) if isinstance(a, ForwardRef) else a for a in args)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 959, in _resolve_forward_ref
    raise PydanticUndefinedAnnotation.from_name_error(e) from e
pydantic.errors.PydanticUndefinedAnnotation: name 'torch' is not defined

For further information visit https://errors.pydantic.dev/2.12/u/undefined-annotation
RAW_BUFFERClick to expand / collapse

System Info

uv venv -p 3.10 uv pip install torch transformers pydantic

Repro fails on v5.4.0, passes on v5.3.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

Repro

from pydantic import BaseModel, ConfigDict, Field
from transformers import PretrainedConfig


class MyModelConfig(BaseModel):
    model_config = ConfigDict(arbitrary_types_allowed=True)
    sub_config: PretrainedConfig = Field(
        description="Configuration for the sub_config",
    )


MyModelConfig.model_rebuild(force=True)
<details> <summary>Stacktrace</summary>
Traceback (most recent call last):
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 957, in _resolve_forward_ref
    obj = _typing_extra.eval_type_backport(obj, *self._types_namespace)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 455, in eval_type_backport
    return _eval_type_backport(value, globalns, localns, type_params)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 492, in _eval_type_backport
    return _eval_type(value, globalns, localns, type_params)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 545, in _eval_type
    return typing._eval_type(  # type: ignore
  File "/home/fynnsu/.local/share/uv/python/cpython-3.10.18-linux-x86_64-gnu/lib/python3.10/typing.py", line 327, in _eval_type
    return t._evaluate(globalns, localns, recursive_guard)
  File "/home/fynnsu/.local/share/uv/python/cpython-3.10.18-linux-x86_64-gnu/lib/python3.10/typing.py", line 694, in _evaluate
    eval(self.__forward_code__, globalns, localns),
  File "<string>", line 1, in <module>
NameError: name 'torch' is not defined

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/fynnsu/repro/transformers_pydantic.py", line 12, in <module>
    MyModelConfig.model_rebuild(force=True)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/main.py", line 668, in model_rebuild
    return _model_construction.complete_model_class(
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_model_construction.py", line 648, in complete_model_class
    schema = gen_schema.generate_schema(cls)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 729, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1023, in _generate_schema_inner
    return self._model_schema(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 856, in _model_schema
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 856, in <dictcomp>
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1228, in _generate_md_field_schema
    schema, metadata = self._common_field_schema(name, field_info, decorators)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1282, in _common_field_schema
    schema = self._apply_annotations(
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2227, in _apply_annotations
    schema = get_inner_schema(source_type)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2206, in inner_handler
    schema = self._generate_schema_inner(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1028, in _generate_schema_inner
    return self.match_type(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1140, in match_type
    return self._dataclass_schema(obj, None)  # pyright: ignore[reportArgumentType]
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1897, in _dataclass_schema
    args = sorted(
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1898, in <genexpr>
    (self._generate_dc_field_schema(k, v, decorators) for k, v in fields.items()),
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1246, in _generate_dc_field_schema
    schema, metadata = self._common_field_schema(name, field_info, decorators)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1282, in _common_field_schema
    schema = self._apply_annotations(
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2227, in _apply_annotations
    schema = get_inner_schema(source_type)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 2206, in inner_handler
    schema = self._generate_schema_inner(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1028, in _generate_schema_inner
    return self.match_type(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1144, in match_type
    return self._match_generic_type(obj, origin)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1167, in _match_generic_type
    return self._union_schema(obj)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 1320, in _union_schema
    args = self._get_args_resolving_forward_refs(union_type, required=True)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 982, in _get_args_resolving_forward_refs
    args = tuple(self._resolve_forward_ref(a) if isinstance(a, ForwardRef) else a for a in args)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 982, in <genexpr>
    args = tuple(self._resolve_forward_ref(a) if isinstance(a, ForwardRef) else a for a in args)
  File "/home/fynnsu/repro/.venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 959, in _resolve_forward_ref
    raise PydanticUndefinedAnnotation.from_name_error(e) from e
pydantic.errors.PydanticUndefinedAnnotation: name 'torch' is not defined

For further information visit https://errors.pydantic.dev/2.12/u/undefined-annotation
</details>

Expected behavior

PretrainedConfig is supported as a field in pydantic models.

Note: the error suggests some transformers fields might be defined using torch attributes which are not available in the local/global namespace.

extent analysis

Fix Plan

To fix the issue, you need to import the torch module to make it available in the local namespace.

Here are the steps:

  • Import the torch module at the beginning of your script.
  • Ensure that the torch module is installed in your environment.

Code Changes

import torch
from pydantic import BaseModel, ConfigDict, Field
from transformers import PretrainedConfig

class MyModelConfig(BaseModel):
    model_config = ConfigDict(arbitrary_types_allowed=True)
    sub_config: PretrainedConfig = Field(
        description="Configuration for the sub_config",
    )

# Note: model_rebuild is not a valid method for Pydantic models
# If you are trying to rebuild the model, you might need to create a new instance
my_model_config = MyModelConfig(model_config={}, sub_config=PretrainedConfig())

Verification

To verify that the fix worked, you can try to create an instance of MyModelConfig without any errors.

try:
    my_model_config = MyModelConfig(model_config={}, sub_config=PretrainedConfig())
    print("MyModelConfig instance created successfully")
except Exception as e:
    print(f"Error creating MyModelConfig instance: {e}")

Extra Tips

  • Make sure to install the torch module in your environment using pip install torch or uv pip install torch.
  • If you are using a virtual environment, ensure that the torch module is installed in the correct environment.
  • The model_rebuild method is not a valid method for Pydantic models. If you need to rebuild the model, you might need to create a new instance.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

PretrainedConfig is supported as a field in pydantic models.

Note: the error suggests some transformers fields might be defined using torch attributes which are not available in the local/global namespace.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

transformers - ✅(Solved) Fix v5.4.0 breaks `PretrainedConfig` field in pydantic model [1 pull requests, 8 comments, 3 participants]