CoolFace
Apppublic

DoruC/Grounded-Segment-Anything

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
util_computer.py99 linesDownload Raw Back to root
1import psutil2import platform3import getpass4import datetime5from pynvml import *6from pprint import pprint7 8def physical_system_time():9    return {"system_time": datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")}10 11def physical_username():12    return {13        "system_user": getpass.getuser()14    }15 16def physical_platfrom_system():17    u_name = platform.uname()18    return {"system_name": u_name.system, "system_version": u_name.version}19 20def physical_cpu():21    return {"system_cpu_count": psutil.cpu_count(logical=False)}22 23def physical_memory():24    # return round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2)25    return {"system_memory": round(psutil.virtual_memory().total, 2)}26 27def physical_hard_disk():28    result = []29    for disk_partition in psutil.disk_partitions():30        o_usage = psutil.disk_usage(disk_partition.device)31        result.append(32            {33                "device": disk_partition.device,34                "fstype":disk_partition.fstype,35                "opts": disk_partition.opts,36                "total": o_usage.total,37            }38        )39    return {"system_hard_disk": result}40 41def nvidia_info():42    nvidia_dict = {43        "state": True,44        "nvidia_version": "",45        "nvidia_count": 0,46        "gpus": []47    }48    try:49        nvmlInit()50        nvidia_dict["nvidia_version"] = nvmlSystemGetDriverVersion()51        nvidia_dict["nvidia_count"] = nvmlDeviceGetCount()52        for i in range(nvidia_dict["nvidia_count"]):53            handle = nvmlDeviceGetHandleByIndex(i)54            memory_info = nvmlDeviceGetMemoryInfo(handle)55            gpu = {56                "gpu_name": nvmlDeviceGetName(handle),57                "total": memory_info.total,58                "free": memory_info.free,59                "used": memory_info.used,60                "temperature": f"{nvmlDeviceGetTemperature(handle, 0)}℃",61                "powerStatus": nvmlDeviceGetPowerState(handle)62            }63            nvidia_dict['gpus'].append(gpu)64    except NVMLError as e1:65        nvidia_dict["state"] = False66        print(f'nvidia_error_1_{e1}')67    except Exception as e2:68        nvidia_dict["state"] = False69        print(f'nvidia_erro_2_{e2}')70    finally:71        try:72            nvmlShutdown()73        except:74            pass75    return nvidia_dict76 77def merge(info_list):78    data = {}79    for item in info_list:80        data.update(81            item()82        )83    return data84 85def computer_info():86    data = merge(87        [88            physical_system_time,89            physical_username,90            physical_platfrom_system,91            physical_cpu,92            physical_memory,93            # physical_hard_disk,94            nvidia_info95        ]96    )97    pprint(data)98 99