Files
ResBench/evaluate/count_resource.py
jultrishyyy ae1cc41f21 first commit
2025-02-20 20:38:50 +00:00

33 lines
1.3 KiB
Python

import json
import pandas as pd
from collections import defaultdict
# Load the JSON file
file_path = "solutions.json"
with open(file_path, "r") as f:
data = json.load(f)
# Initialize a dictionary to store the minimal LUT usage for each module and LLM
lut_results = defaultdict(lambda: defaultdict(lambda: float("inf")))
# Process the data to extract the minimum LUT usage per module per LLM
for llm, categories in data.items():
for category, modules in categories.items():
for module_data in modules:
module_name = module_data["module"].replace("_", " ") # Replace underscores with spaces
for solution in module_data.get("solutions", []):
if "resource usage" in solution and "optimized" in solution["resource usage"]:
lut_count = solution["resource usage"]["optimized"].get("LUT", float("inf"))
# Store the minimum LUT usage
lut_results[module_name][llm] = min(lut_results[module_name][llm], lut_count)
# Convert the dictionary into a DataFrame
df_lut = pd.DataFrame.from_dict(lut_results, orient="index")
# Save to a CSV file
csv_output_path = "solution_resource_analysis.csv"
df_lut.to_csv(csv_output_path)
# Print the CSV file path
print(f"CSV file saved at: {csv_output_path}")