SPB Git

spb/wp30_uqo

Public
1.9 KB · 35 lines python
1"""CSV -> LaTeX fragments for the paper (booktabs). Numbers are formatted here only; values come from results/tables CSVs."""2from __future__ import annotations3import pandas as pd, numpy as np4from pathlib import Path5from ..util import ROOT6TAB = ROOT / "results/tables"; OUT = ROOT / "paper/tables"78def esc(s):9    return str(s).replace("_", "\\_").replace("%", "\\%").replace("&", "\\&").replace("→", "$\\to$").replace("≥", "$\\ge$").replace("×", "$\\times$").replace("—", "--")1011def df_to_tex(df: pd.DataFrame, path: Path, colfmt: str | None = None, floatfmt="{:.2f}"):12    cols = list(df.columns); colfmt = colfmt or "l" * len(cols)13    lines = ["\\begin{tabular}{@{}" + colfmt + "@{}}", "\\toprule", " & ".join(esc(c) for c in cols) + " \\\\", "\\midrule"]14    for _, r in df.iterrows():15        cells = []16        for c in cols:17            v = r[c]18            if isinstance(v, float):19                cells.append("--" if np.isnan(v) else (floatfmt.format(v) if abs(v) < 1e4 else f"{v:,.0f}"))20            else:21                cells.append(esc(v))22        lines.append(" & ".join(cells) + " \\\\")23    lines += ["\\bottomrule", "\\end{tabular}"]24    OUT.mkdir(parents=True, exist_ok=True); path.write_text("\n".join(lines) + "\n")2526def main():27    t1 = pd.read_csv(TAB / "table1_taxonomy.csv"); df_to_tex(t1, OUT / "table1_taxonomy.tex", "lp{4.2cm}p{2cm}p{2.3cm}p{2.3cm}p{1.6cm}p{2.6cm}")28    t2 = pd.read_csv(TAB / "table2_models.csv")[["alias", "repo", "revision", "layers", "kv_heads", "q_heads", "head_dim", "max_pos", "cache_bytes_per_token_bf16", "prefill_ms_8k", "prefill_ms_16k"]]29    t2.columns = ["alias", "checkpoint", "rev.", "L", "H_kv", "H_q", "d_h", "max pos", "cache B/token", "prefill 8k", "prefill 16k"]; df_to_tex(t2, OUT / "table2_models.tex", "llllllllrrr")30    t3 = pd.read_csv(TAB / "table3_datasets.csv"); df_to_tex(t3, OUT / "table3_datasets.tex", "llrrr", "{:.0f}")31    print("latex tables written")3233if __name__ == "__main__":34    main()35
Files · e6d9a3b2e6aad04d133df41f962eaa0b3171272e
Menu

Theme