from pathlib import Path import json from pprint import pprint def main(): results = {} for pfin in Path(__file__).parent.joinpath("evals").rglob("*.json"): if pfin.stem == "models": continue short_name = pfin.stem.split("_")[2] if short_name not in results: results[short_name] = {} data = json.loads(pfin.read_text(encoding="utf-8")) if "config" not in data: continue config = data["config"] if "model_args" not in config: continue model_args = dict(params.split("=") for params in config["model_args"].split(",")) if "pretrained" not in model_args: continue results[short_name]["model_name"] = model_args["pretrained"] results[short_name]["compute_dtype"] = model_args.get("dtype", None) results[short_name]["quantization"] = None if "load_in_8bit" in model_args: results[short_name]["quantization"] = "8-bit" elif "load_in_4bit" in model_args: results[short_name]["quantization"] = "4-bit" pprint(results) if __name__ == '__main__': main()