Download code/s32_analyze.py from LeoMaxwell/vlm-twin-spec-decoding: direct link, hf CLI and curl.
- Browser
- Download file 951 Bytes
-
https://huggingface.co/LeoMaxwell/vlm-twin-spec-decoding/resolve/main/code/s32_analyze.py
- Command line
-
hf download hf://LeoMaxwell/vlm-twin-spec-decoding/code/s32_analyze.py
-
curl -L -o s32_analyze.py https://huggingface.co/LeoMaxwell/vlm-twin-spec-decoding/resolve/main/code/s32_analyze.py
951 Bytes
| import json, statistics as st | |
| B="/testessfs10/users/zeyu.zhang/wangyu_ssd/stage1/" | |
| def load(p): | |
| d={} | |
| for line in open(B+p): | |
| r=json.loads(line); d[r["pid"]]=r | |
| return d | |
| v1,v2,v3 = load("s32_van_e.jsonl"), load("s32_van_e2.jsonl"), load("s32_van_e3.jsonl") | |
| for tag,f in (("blind_strict","s32_spec_g6.jsonl"),("blind_relax","s32_specrx_g6.jsonl")): | |
| sp = load(f) | |
| pids = sorted(set(sp)&set(v2)&set(v3)) | |
| n=len(pids) | |
| ratios = sorted(sp[p]["tok_s"]/((v2[p]["tok_s"]+v3[p]["tok_s"])/2) for p in pids) | |
| med=st.median(ratios); q1=ratios[n//4]; q3=ratios[(3*n)//4] | |
| spm=st.mean([sp[p]["tok_s"] for p in pids]) | |
| print(f"{tag}: n={n} median={med:.3f} [IQR {q1:.3f}-{q3:.3f}] spec_mean={spm:.1f} tok/s") | |
| m1=st.mean([r["tok_s"] for r in v1.values()]); m2=st.mean([r["tok_s"] for r in v2.values()]); m3=st.mean([r["tok_s"] for r in v3.values()]) | |
| print(f"vanilla means: van_e={m1:.2f} van_e2={m2:.2f} van_e3={m3:.2f} tok/s") | |