Download tools/run_mixed_ablations_board.py from Sariel00/Ling-3.0-tiny-RKNN: direct link, hf CLI and curl.
- Browser
- Download file 1.93 kB
-
https://huggingface.co/Sariel00/Ling-3.0-tiny-RKNN/resolve/main/tools/run_mixed_ablations_board.py
- Command line
-
hf download hf://Sariel00/Ling-3.0-tiny-RKNN/tools/run_mixed_ablations_board.py
-
curl -L -o run_mixed_ablations_board.py https://huggingface.co/Sariel00/Ling-3.0-tiny-RKNN/resolve/main/tools/run_mixed_ablations_board.py
1.93 kB
| #!/usr/bin/env python3 | |
| """Sequential full-model ablations; each variant restores the production service.""" | |
| import argparse | |
| import json | |
| import os | |
| from pathlib import Path | |
| import subprocess | |
| import sys | |
| p=argparse.ArgumentParser(description=__doc__) | |
| p.add_argument('--output',type=Path,required=True) | |
| p.add_argument('--variants',nargs='+',default=['attention,shared,dense,head','attention','shared','dense','head']) | |
| p.add_argument('--loss-steps',type=int,default=0) | |
| p.add_argument('--calibrated-w4-families') | |
| p.add_argument('--shared-stage',action='store_true') | |
| a=p.parse_args() | |
| root=Path(os.environ.get('LING3_BOARD_ROOT', '.')).resolve();tools=Path(__file__).resolve().parent | |
| reference=root/'mixed-precision-reference';suite=reference/'suite.json' | |
| a.output.mkdir(parents=True,exist_ok=True) | |
| env=os.environ.copy();env['OPENBLAS_NUM_THREADS']='1';env['OMP_NUM_THREADS']='1' | |
| extra=[] | |
| if a.shared_stage:extra.append('--shared-stage') | |
| if a.calibrated_w4_families:extra.extend(['--calibrated-w4-families',a.calibrated_w4_families]) | |
| for families in a.variants: | |
| output=a.output/families.replace(',','_') | |
| if output.exists():raise FileExistsError(output) | |
| print('START '+families,flush=True) | |
| subprocess.run([sys.executable,str(tools/'validate_official_bridge_board.py'),'--suite',str(suite), | |
| '--output',str(output),'--only-candidate','--warm-request','--mixed-families',families, | |
| '--loss-steps',str(a.loss_steps)]+extra,check=True,env=env) | |
| subprocess.run([sys.executable,str(tools/'score_loss_numpy.py'),'--suite',str(suite), | |
| '--reference',str(reference),'--candidate',str(output),'--steps',str(a.loss_steps)],check=True,env=env) | |
| print('COMPLETE '+families,flush=True) | |
| (a.output/'completed.json').write_text(json.dumps({'variants':a.variants,'loss_steps':a.loss_steps, | |
| 'shared_stage':a.shared_stage,'calibrated_w4_families':a.calibrated_w4_families,'status':'complete'},indent=2)+'\n') | |