import platform
report = {
    "python": platform.python_version(),
}
try:
    import torch
    report.update({
        "torch": getattr(torch, "__version__", None),
        "cuda_available": torch.cuda.is_available(),
        "torch.version.cuda": getattr(getattr(torch, "version", None), "cuda", None),
        "cudnn": (getattr(getattr(torch, "backends", None), "cudnn", None).version() if getattr(getattr(torch, "backends", None), "cudnn", None) else None),
        "cuda_device_count": torch.cuda.device_count() if torch.cuda.is_available() else 0,
    })
except Exception as e:
    report["torch_import_error"] = repr(e)

for k, v in report.items():
    print(f"{k}: {v}")
