quantization2 / lm-quant-toolkit /utils /typeset-bit-budget.py
chen459664's picture
Add files using upload-large-folder tool
2051791 verified
Raw
History Blame Contribute Delete
1.9 kB
#!/usr/bin/env python
def to_latex(bits, nbit, cols=10):
v = len(bits) // cols
rows = v if len(bits) % cols == 0 else v + 1
for i, bit in enumerate(bits):
if i == 0:
print("\\midrule")
print(
"\\multirowcell{" + str(rows) + "}{\\textbf{" + str(nbit) + "-bit}} ",
end="",
)
print(f"& {bit:.2f} ", end="")
if (i + 1) % cols == 0:
print(r" \\")
elif i == len(bits) - 1:
padding = " &" * (cols - (i + 1) % cols)
print(f"{padding} \\\\")
def main(ncols=10):
head = f"""
\\begin{{table*}}
\\centering
\\caption[SensiMiLP/KurtMiLP Experiment Settings]{{
The SensiMiLP/KurtMiLP dense experiment bit budget settings.
}}
\\label{{tab:sensi-kurt-milp-settings}}
\\begin{{tabular}}{{r{'l' * ncols}}}
\\toprule
"""
heading = r"\textbf{Group} & "
fields = [f" \\textbf{{V{i}}}" for i in range(1, ncols + 1)]
heading += "&".join(fields)
heading += r" \\"
tail = r"""
\bottomrule
\end{tabular}
\end{table*}
"""
with open("dense.txt", "r") as fh:
bits = [float(f) for f in fh.readlines()]
bits8 = [f for f in bits if f >= 8.0]
bits7 = [f for f in bits if f >= 7.0 and f < 8.0]
bits6 = [f for f in bits if f >= 6.0 and f < 7.0]
bits5 = [f for f in bits if f >= 5.0 and f < 6.0]
bits4 = [f for f in bits if f >= 4.0 and f < 5.0]
bits3 = [f for f in bits if f >= 3.0 and f < 4.0]
bits2 = [f for f in bits if f >= 2.0 and f < 3.0]
print(head)
print(heading)
to_latex(bits8, 8, ncols)
to_latex(bits7, 7, ncols)
to_latex(bits6, 6, ncols)
to_latex(bits5, 5, ncols)
to_latex(bits4, 4, ncols)
to_latex(bits3, 3, ncols)
to_latex(bits2, 2, ncols)
print(tail)
if __name__ == "__main__":
main(12)