Skip to content

fix(exporters): assert lerobot==0.5.1 + surface SmolVLA patch failure (#190)#235

Open
rylinjames wants to merge 1 commit into
mainfrom
fix/smolvla-export-version-guard
Open

fix(exporters): assert lerobot==0.5.1 + surface SmolVLA patch failure (#190)#235
rylinjames wants to merge 1 commit into
mainfrom
fix/smolvla-export-version-guard

Conversation

@rylinjames

Copy link
Copy Markdown
Collaborator

Audit §3.3 — the likely root cause behind community issue #190 ("facing issue while exporting smolvla_base model").

Problem

The monolithic export dep-check version-pinned transformers (==5.3.0) but only checked that lerobot was importable, not that it was 0.5.1. The SmolVLA patches target lerobot 0.5.1's exact module layout (SmolVLMWithExpertModel.embed_image, the masking_utils surface), so a mismatched lerobot imports fine then fails later with a cryptic vision/attention mask-broadcast error — or exports a subtly wrong graph.

Fix

  • _require_monolithic_deps now asserts lerobot.__version__ == "0.5.1" and adds a clear found <ver> message, so the mismatch is caught up front with an actionable fix.
  • The SmolVLA explicit-patch-mask monkeypatch failure was logged at debug and swallowed; raised to warning with an explicit note that the export proceeds unpatched and lerobot==0.5.1 is the thing to check.

Tests

tests/test_monolithic_version_guard.py: wrong lerobot version is reported; correct version is not.

I also replied on #190 asking the reporter for the traceback text + versions to confirm.

🤖 Generated with Claude Code

…#190)

Audit §3.3 — the likely root cause behind community issue #190
("facing issue while exporting smolvla_base model").

The monolithic export's dep check version-pinned transformers (==5.3.0) but
only checked that lerobot was *importable*, not that it was 0.5.1. The SmolVLA
export patches target lerobot 0.5.1's exact module layout
(SmolVLMWithExpertModel.embed_image, the masking_utils surface), so a
mismatched lerobot imports fine and then fails later with a cryptic
vision/attention mask-broadcast error — or exports a subtly wrong graph.

Two fixes:
- _require_monolithic_deps now asserts lerobot.__version__ == "0.5.1" and adds
  a clear "found <ver>" message to the missing-deps error, so the mismatch is
  caught up front with an actionable fix instead of downstream.
- The SmolVLA explicit-patch-mask monkeypatch failure was logged at debug and
  swallowed; raised to warning with an explicit note that the export proceeds
  unpatched and that lerobot==0.5.1 is the thing to check — so the failure is
  attributable rather than silent.

Tests (tests/test_monolithic_version_guard.py): wrong lerobot version is
reported in the dep-check error; correct version is not.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant