[Transform] Fix accelerate import to keep it as optional dependency #480
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR #445 introduced a direct import of
has_offloaded_params
fromaccelerate.utils
at the module level intransform/apply.py
.This could lead to upstream projects, like SGLang, failing to run with:
This PR just changes to has_offloaded_params from compressed_tensors.utils.offload instead of accelerate.utils directly. This ensures accelerate remains optional and the package can be imported without it installed.
The utils.offload module already has proper fallback handling with @check_accelerate decorator that returns False when accelerate is not available.
I have run basic tests checking that imports work, and also the
tests/test_transform/
. I'm new to this project, so please let me know if there's something else needed.