Files
notecast/transcription/torch_checker.py
T
svlqd 8f41105e4b WIP - first working version with UI, hooray!
- added logging in UI
- added switcher for models, batch size etc.
- added device configuration dataclass
- minor improvements in audio transcription
2025-09-09 00:49:21 +03:00

33 lines
1.2 KiB
Python

import torch
from dataclasses import dataclass
import logging
def check_torch(logger: logging.Logger) -> None:
logger.info("=== Checking PyTorch ===")
logger.info(f"Torch version: {torch.__version__}")
# === NVIDIA / AMD (CUDA API) ===
if torch.cuda.is_available():
backend = "CUDA"
if torch.version.hip is not None:
backend = "ROCm (AMD HIP)"
logger.info(f"{backend} backend is available")
logger.info(f"Compiled with: CUDA {torch.version.cuda}, ROCm {torch.version.hip}")
logger.info(f"Number of devices: {torch.cuda.device_count()}")
for i in range(torch.cuda.device_count()):
logger.info(f"GPU {i}: {torch.cuda.get_device_name(i)}")
# === Apple Silicon (MPS) ===
elif hasattr(torch.backends, "mps") and torch.backends.mps.is_available():
logger.info("MPS backend is available (Apple Silicon)")
logger.info(f"MPS version: {getattr(torch.backends.mps, '__version__', 'unknown')}")
logger.info("GPU: Apple Silicon (Metal)")
# === CPU only mode ===
else:
logger.info("Only CPU is available")
logger.info("=== Check completed ===")