Spaces:
Running on Zero
Running on Zero
| """ | |
| """ | |
| # pyright: reportPrivateImportUsage=false | |
| from importlib import metadata | |
| from packaging import version | |
| MULTI_BACKEND_VERSION = version.parse('0.46.0') | |
| def is_old_bnb() -> bool: | |
| try: | |
| version_str = metadata.version('bitsandbytes') | |
| except ImportError: # pragma: no cover | |
| return False | |
| if (bnb_version := version.parse(version_str)) < version.parse('0.46.0'): # pragma: no cover | |
| message = f"ZeroGPU recommends bitsandbytes >= `{MULTI_BACKEND_VERSION}` " | |
| message += f"(`{bnb_version}` installed). Falling back to legacy support" | |
| print(message) | |
| return True | |
| return False | |
| if is_old_bnb(): # pragma: no cover | |
| from . import bitsandbytes_legacy | |
| _patch = bitsandbytes_legacy.patch | |
| _unpatch = bitsandbytes_legacy.unpatch | |
| _move = bitsandbytes_legacy.move | |
| else: | |
| _patch = lambda: None | |
| _unpatch = lambda: None | |
| _move = lambda: None | |
| patch = _patch | |
| unpatch = _unpatch | |
| move = _move | |