""" Threshold Network for MOD-10 Circuit For 8-bit inputs, HW ranges 0-8, all less than 10, so HW mod 10 = HW. """ import torch from safetensors.torch import load_file class ThresholdMod10: def __init__(self, weights_dict): self.weight = weights_dict['weight'] self.bias = weights_dict['bias'] def __call__(self, bits): inputs = torch.tensor([float(b) for b in bits]) return (inputs * self.weight).sum() + self.bias @classmethod def from_safetensors(cls, path="model.safetensors"): return cls(load_file(path)) if __name__ == "__main__": weights = load_file("model.safetensors") model = ThresholdMod10(weights) for hw in range(9): bits = [1]*hw + [0]*(8-hw) print(f"HW={hw}: out={model(bits).item():.0f}, HW mod 10 = {hw}")