Spaces:
Running
Running
| from __future__ import annotations | |
| import glob, os | |
| import torch | |
| def pick_device(pref: str = "auto") -> torch.device: | |
| """ | |
| Выбор устройства для вычислений: CUDA → MPS → CPU. | |
| При явном указании pref возвращается соответствующее устройство. | |
| """ | |
| if pref == "auto": | |
| if torch.cuda.is_available(): | |
| return torch.device("cuda") | |
| if hasattr(torch.backends, "mps") and torch.backends.mps.is_available(): | |
| return torch.device("mps") | |
| return torch.device("cpu") | |
| return torch.device(pref) | |
| def discover_weights(dirpath: str) -> list[str]: | |
| """ | |
| Поиск весов моделей по маскам *.pt и *.ckpt внутри указанной директории. | |
| Возвращает отсортированный список путей. | |
| """ | |
| pats = [os.path.join(dirpath, "*.pt"), os.path.join(dirpath, "*.ckpt")] | |
| found = [] | |
| for p in pats: | |
| found.extend(glob.glob(p)) | |
| return sorted(found) | |