Views
No views yet
d0 d1 d2 d3 d4 d5 d6 d7 s2 s1 s0
| | | | | | | | | | |
+--+--+--+--+--+--+--+----+--+--+
| |
v v
[N0] d0 AND (s=000) ----+
[N1] d1 AND (s=001) ----|
[N2] d2 AND (s=010) ----|
[N3] d3 AND (s=011) ----+---> [OR] ---> output
[N4] d4 AND (s=100) ----|
[N5] d5 AND (s=101) ----|
[N6] d6 AND (s=110) ----|
[N7] d7 AND (s=111) ----+| Inputs | 11 (8 data + 3 select) |
| Outputs | 1 |
| Neurons | 9 |
| Layers | 2 |
| Parameters | 105 |
| Magnitude | 61 |
| Neuron | Data weights | Select weights (s2,s1,s0) | Bias |
|---|---|---|---|
| N0 | d0=1 | [-1,-1,-1] | -1 |
| N1 | d1=1 | [-1,-1,+1] | -2 |
| N2 | d2=1 | [-1,+1,-1] | -2 |
| N3 | d3=1 | [-1,+1,+1] | -3 |
| N4 | d4=1 | [+1,-1,-1] | -2 |
| N5 | d5=1 | [+1,-1,+1] | -3 |
| N6 | d6=1 | [+1,+1,-1] | -3 |
| N7 | d7=1 | [+1,+1,+1] | -4 |
1from safetensors.torch import load_file
2import torch
3
4w = load_file('model.safetensors')
5
6def mux8(d0, d1, d2, d3, d4, d5, d6, d7, s2, s1, s0):
7 inp = torch.tensor([float(d0), float(d1), float(d2), float(d3),
8 float(d4), float(d5), float(d6), float(d7),
9 float(s2), float(s1), float(s0)])
10 l1 = (inp @ w['layer1.weight'].T + w['layer1.bias'] >= 0).float()
11 out = (l1 @ w['layer2.weight'].T + w['layer2.bias'] >= 0).float()
12 return int(out.item())
13
14# Select d5 (s=101)
15print(mux8(0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1)) # 1