-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrunner.py
More file actions
46 lines (37 loc) · 1.16 KB
/
runner.py
File metadata and controls
46 lines (37 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Author: Bendik Brissach
# Created: 25.01.2026
# Description:
from ctx_vector import ContextVector
from layers import LayerBuilder
from shapes import Shapes
from shaping_network import ShapingNetworkBuilder
from type_defs import ShapingFunction
if __name__ == "__main__":
model = ShapingNetworkBuilder() \
.connect_in_range(0, 1,
LayerBuilder().add_layer(Shapes.LOG_MEAN, 2)
).build()
model.initialize(3)
model.randomize()
zeros = [
ContextVector([0.001, 2.531, 1.523]),
ContextVector([0.009, 2.231, 1.241])
]
ones = [
ContextVector([1.8, 0.001, 4.9]),
ContextVector([2.5, 0.002, 4.5])
]
training_data = {0: zeros, 1: ones}
for _ in range(500):
for target, vectors in training_data.items():
for vec in vectors:
model.feed(vec, target)
print(f"Final Accuracy Score: {model.accuracy():.6f}")
for target, vectors in training_data.items():
print(f"\nClass {target}:")
for vec in vectors:
probs = model.predict(vec)
max_val = max(probs)
max_idx = probs.index(max_val)
is_correct = max_idx == target
print(f"Predicted Index={max_idx}, Prob={max_val:.6f}, Correct={is_correct}")