Skip to content

Commit

Permalink
Add FPS to the Plot
Browse files Browse the repository at this point in the history
  • Loading branch information
apaniukov committed Apr 26, 2024
1 parent ec6ea7a commit 2f1e44e
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions benchmark/benchmark.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ def dump_latency_stats(results: pd.DataFrame, model_name: str) -> None:
sorted_res.to_csv(f"latency_res_{model_name}.csv", index=False)


def print_stats(results: pd.DataFrame, async_fps: Optional[float] = None) -> None:
def print_stats(results: pd.DataFrame, async_fps: Optional[float] = None) -> Tuple[float, float, float]:
data_size = len(results)
ov_fps = data_size / results["OV"].sum()
hf_fps = data_size / results["HF"].sum()
Expand All @@ -139,6 +139,7 @@ def print_stats(results: pd.DataFrame, async_fps: Optional[float] = None) -> Non
print("Latency and prompt stats:")
stats = results.describe().drop("count")
print(stats)
return ov_fps, async_fps, hf_fps


def build_plot(results: pd.DataFrame, save_file: Optional[str] = None, **kwargs) -> plt.Figure:
Expand Down Expand Up @@ -195,13 +196,19 @@ def main(
result_df = result_df.assign(OV_ASYNC=async_results.values)
result_df["Prompt Length, chars"] = result_df["prompt"].apply(len)

print_stats(result_df, async_fps)
ov_fps, async_fps, hf_fps = print_stats(result_df, async_fps)
model_name = checkpoint.rsplit("/", 1)[-1]

if dump_latency:
dump_latency_stats(result_df, model_name)

build_plot(result_df, f"latency_benchmark_{model_name}.jpeg", title=f"OV vs HF Latency\n{checkpoint}")
title = (
f"OV vs HF Latency\n{checkpoint}\n"
f"OV: {ov_fps:.1f} FPS; "
f"OV Async {async_fps:.1f} FPS; "
f"HF {hf_fps:.1f} FPS"
)
build_plot(result_df, f"latency_benchmark_{model_name}.jpeg", title=title)


if __name__ == "__main__":
Expand Down

0 comments on commit 2f1e44e

Please sign in to comment.