Merge branch 'main' into nightly
This commit is contained in:
commit
32aebec896
2 changed files with 35 additions and 0 deletions
|
|
@ -151,6 +151,7 @@ from .import_fixes import (
|
|||
patch_vllm_for_notebooks,
|
||||
patch_torchcodec_audio_decoder,
|
||||
disable_torchcodec_if_broken,
|
||||
disable_broken_wandb,
|
||||
)
|
||||
|
||||
fix_xformers_performance_issue()
|
||||
|
|
@ -172,6 +173,7 @@ fix_executorch()
|
|||
patch_vllm_for_notebooks()
|
||||
patch_torchcodec_audio_decoder()
|
||||
disable_torchcodec_if_broken()
|
||||
disable_broken_wandb()
|
||||
|
||||
del fix_xformers_performance_issue
|
||||
del fix_vllm_aimv2_issue
|
||||
|
|
@ -191,6 +193,7 @@ del fix_executorch
|
|||
del patch_vllm_for_notebooks
|
||||
del patch_torchcodec_audio_decoder
|
||||
del disable_torchcodec_if_broken
|
||||
del disable_broken_wandb
|
||||
|
||||
# Torch 2.4 has including_emulation
|
||||
if DEVICE_TYPE == "cuda":
|
||||
|
|
|
|||
|
|
@ -1290,6 +1290,38 @@ def disable_torchcodec_if_broken():
|
|||
pass
|
||||
|
||||
|
||||
def disable_broken_wandb():
|
||||
"""Disable wandb if it's installed but cannot actually import.
|
||||
|
||||
wandb can fail to import when there's a protobuf version mismatch
|
||||
(e.g., wandb < 0.19.11 with protobuf >= 6.0). This causes a cascading
|
||||
import failure through trl -> transformers -> wandb that crashes
|
||||
unsloth's import chain.
|
||||
|
||||
This function tests if wandb can actually import and if not, patches
|
||||
transformers' is_wandb_available() to return False.
|
||||
"""
|
||||
if importlib.util.find_spec("wandb") is None:
|
||||
return # wandb not installed, nothing to do
|
||||
|
||||
try:
|
||||
import wandb
|
||||
except Exception:
|
||||
# wandb is installed but broken - patch transformers to skip it
|
||||
logger.info(
|
||||
"Unsloth: wandb is installed but broken (likely a protobuf version mismatch). "
|
||||
"Disabling wandb to prevent import errors. To fix, run: pip install --upgrade wandb"
|
||||
)
|
||||
try:
|
||||
import transformers.integrations.integration_utils as tf_integration
|
||||
|
||||
tf_integration.is_wandb_available = lambda: False
|
||||
except (ImportError, AttributeError):
|
||||
pass
|
||||
# Also set env var as fallback for any other code path
|
||||
os.environ["WANDB_DISABLED"] = "true"
|
||||
|
||||
|
||||
CAUSAL_CONV1D_BROKEN = False
|
||||
_CAUSAL_CONV1D_PREFIX = "causal_conv1d"
|
||||
_CAUSAL_CONV1D_BLOCKER_SENTINEL = "_unsloth_causal_conv1d_blocker"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue