threshold-mod7

Computes Hamming weight mod 7 for 8-bit inputs. Multi-layer network with thermometer encoding.

Circuit

  x₀ x₁ x₂ x₃ x₄ x₅ x₆ x₇
   │  │  │  │  │  │  │  │
   └──┴──┴──┴──┼──┴──┴──┴──┘
               ▼
       ┌─────────────┐
       │ Thermometer │  Layer 1: 9 neurons
       └─────────────┘
               │
               ▼
       ┌─────────────┐
       │  MOD-7      │  Layer 2: 6 neurons
       │  Detection  │  Pattern (1,1,1,1,1,1,-6)
       └─────────────┘
               │
               ▼
       ┌─────────────┐
       │  Classify   │  Output: 7 classes
       └─────────────┘
               │
               ▼
      {0, 1, 2, 3, 4, 5, 6}

Algebraic Insight

Pattern (1, 1, 1, 1, 1, 1, -6) cycles mod 7:

HW=0: sum=0 → 0 mod 7
...
HW=6: sum=6 → 6 mod 7
HW=7: sum=0 → 0 mod 7  (reset: 1+1+1+1+1+1-6=0)
HW=8: sum=1 → 1 mod 7

For 8-bit inputs, only one reset occurs (at HW=7).

Architecture

Layer Neurons Function
Input 8 Binary bits
Hidden 1 9 Thermometer encoding
Hidden 2 6 MOD-7 detection
Output 7 One-hot classification

Total: 22 neurons, 190 parameters

Usage

from safetensors.torch import load_file
import torch

w = load_file('model.safetensors')

def forward(x):
    x = x.float()
    x = (x @ w['layer1.weight'].T + w['layer1.bias'] >= 0).float()
    x = (x @ w['layer2.weight'].T + w['layer2.bias'] >= 0).float()
    out = x @ w['output.weight'].T + w['output.bias']
    return out.argmax(dim=-1)

Files

threshold-mod7/
├── model.safetensors
├── model.py
├── config.json
└── README.md

License

MIT

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including phanerozoic/threshold-mod7

Free AI Image Generator No sign-up. Instant results. Open Now