Spaces:
Running on Zero
Running on Zero
Download toolkit/accelerator.py from HTBris/zerogpu-sdxlTrainer: direct link, hf CLI and curl.
- Browser
- Download file 929 Bytes
-
https://huggingface.co/spaces/HTBris/zerogpu-sdxlTrainer/resolve/main/toolkit/accelerator.py
- Command line
-
hf download hf://spaces/HTBris/zerogpu-sdxlTrainer/toolkit/accelerator.py
-
curl -L -o accelerator.py https://huggingface.co/spaces/HTBris/zerogpu-sdxlTrainer/resolve/main/toolkit/accelerator.py
929 Bytes
| from accelerate import Accelerator | |
| from diffusers.utils.torch_utils import is_compiled_module | |
| import torch | |
| global_accelerator = None | |
| def get_accelerator() -> Accelerator: | |
| global global_accelerator | |
| if global_accelerator is None: | |
| global_accelerator = Accelerator() | |
| elif torch.cuda.is_available() and global_accelerator.device.type == 'cpu': | |
| # Re-initialize if Accelerator was first created in a ZeroGPU CPU parent process | |
| # before @spaces.GPU dynamically attached the CUDA device. | |
| global_accelerator = Accelerator() | |
| return global_accelerator | |
| def reset_accelerator(): | |
| global global_accelerator | |
| global_accelerator = None | |
| def unwrap_model(model): | |
| try: | |
| accelerator = get_accelerator() | |
| model = accelerator.unwrap_model(model) | |
| model = model._orig_mod if is_compiled_module(model) else model | |
| except Exception as e: | |
| pass | |
| return model | |