| | --- |
| | license: mit |
| | tags: |
| | - pytorch |
| | - safetensors |
| | - threshold-logic |
| | - neuromorphic |
| | - encoder |
| | --- |
| | |
| | # threshold-priorityencoder8 |
| |
|
| | 8-to-3 priority encoder. Outputs 3-bit binary encoding of highest-priority active input. |
| |
|
| | ## Function |
| |
|
| | priority_encode(i7..i0) -> (y2, y1, y0, valid) |
| | |
| | - i7 = highest priority, i0 = lowest priority |
| | - y2,y1,y0 = 3-bit binary encoding of highest active input index |
| | - valid = 1 if any input is active |
| | |
| | ## Architecture |
| | |
| | **Layer 1: 8 neurons (h7..h0)** |
| | |
| | Each hk detects "ik is the highest active input": |
| | - hk fires when ik=1 AND all higher-priority inputs are 0 |
| | - h7: weights [1,0,0,0,0,0,0,0], bias -1 |
| | - h6: weights [-1,1,0,0,0,0,0,0], bias -1 |
| | - ... |
| | - h0: weights [-1,-1,-1,-1,-1,-1,-1,1], bias -1 |
| | |
| | **Layer 2: 4 neurons** |
| | |
| | - y2 = h7 OR h6 OR h5 OR h4 |
| | - y1 = h7 OR h6 OR h3 OR h2 |
| | - y0 = h7 OR h5 OR h3 OR h1 |
| | - v = any h active |
| | |
| | ## Parameters |
| | |
| | | | | |
| | |---|---| |
| | | Inputs | 8 | |
| | | Outputs | 4 | |
| | | Neurons | 12 | |
| | | Layers | 2 | |
| | | Parameters | 108 | |
| | | Magnitude | 68 | |
| | |
| | ## Usage |
| | |
| | ```python |
| | from safetensors.torch import load_file |
| | import torch |
| |
|
| | w = load_file('model.safetensors') |
| | |
| | # (see model.py for full implementation) |
| | |
| | # Example: i5 is highest active (index 5 = 101) |
| | # priority_encode(0,0,1,0,0,0,0,0, w) -> (1, 0, 1, 1) |
| | ``` |
| | |
| | ## License |
| | |
| | MIT |
| | |