def get_num_parameters_from_model()

in trending_deploy/models.py [0:0]


def get_num_parameters_from_model(model: ModelInfo):
    safetensors = model.safetensors
    if safetensors:
        return safetensors.total

    bytes_per_param = 4
    files = get_model_info(model.id, files_metadata=True).siblings
    for file in files:
        if file.rfilename == "pytorch_model.bin":
            return file.size // bytes_per_param

        if file.rfilename == "pytorch_model.bin.index.json":
            disable_progress_bars()
            index_path = hf_hub_download(model.id, filename="pytorch_model.bin.index.json")
            enable_progress_bars()
            """
            {
            "metadata": {
                "total_size": 28272820224
            },....
            """
            index = json.load(open(index_path))
            if ("metadata" in index) and ("total_size" in index["metadata"]):
                return index["metadata"]["total_size"] // bytes_per_param

    return None