| license: mit | |
| tags: | |
| - pytorch | |
| - safetensors | |
| - threshold-logic | |
| - neuromorphic | |
| # threshold-iszero4 | |
| 4-bit zero detector. Outputs 1 if all 4 input bits are zero. | |
| ## Function | |
| iszero4(a, b, c, d) = 1 if (a + b + c + d) == 0, else 0 | |
| Equivalent to 4-input NOR gate. | |
| ## Architecture | |
| Single neuron: weights [-1, -1, -1, -1], bias 0 | |
| Fires when: -a - b - c - d + 0 >= 0, i.e., all inputs are 0. | |
| ## Parameters | |
| | | | | |
| |---|---| | |
| | Inputs | 4 | | |
| | Outputs | 1 | | |
| | Neurons | 1 | | |
| | Layers | 1 | | |
| | Parameters | 5 | | |
| | Magnitude | 4 | | |
| ## Usage | |
| ```python | |
| from safetensors.torch import load_file | |
| import torch | |
| w = load_file('model.safetensors') | |
| def iszero4(a, b, c, d): | |
| inp = torch.tensor([float(a), float(b), float(c), float(d)]) | |
| return int((inp @ w['neuron.weight'].T + w['neuron.bias'] >= 0).item()) | |
| print(iszero4(0, 0, 0, 0)) # 1 (is zero) | |
| print(iszero4(0, 0, 0, 1)) # 0 (not zero) | |
| ``` | |
| ## License | |
| MIT | |