Spaces:
Sleeping
Sleeping
| # /projects/bfoj/AttrLLM/loader/utils.py | |
| import os | |
| import random | |
| import platform | |
| from dataclasses import dataclass | |
| from typing import Dict, Any, Optional | |
| try: | |
| import torch | |
| except Exception: | |
| torch = None | |
| class DeviceInfo: | |
| python_version: str | |
| platform: str | |
| cuda_available: bool | |
| cuda_device: Optional[str] | |
| torch_version: Optional[str] | |
| def device_info() -> Dict[str, Any]: | |
| """Return a dict with basic runtime & device diagnostics.""" | |
| cuda_avail = bool(torch and torch.cuda.is_available()) | |
| return { | |
| "python_version": platform.python_version(), | |
| "platform": platform.platform(), | |
| "torch_version": getattr(torch, "__version__", None), | |
| "cuda_available": cuda_avail, | |
| "cuda_device": (torch.cuda.get_device_name(0) if (cuda_avail and torch) else None), | |
| } | |
| def set_seed(seed: int) -> None: | |
| """Seed Python & Torch RNGs for reproducibility (best-effort).""" | |
| random.seed(seed) | |
| if torch: | |
| try: | |
| torch.manual_seed(seed) | |
| if torch.cuda.is_available(): | |
| torch.cuda.manual_seed_all(seed) | |
| except Exception: | |
| pass | |
| os.environ["PYTHONHASHSEED"] = str(seed) |