Example #1
0
    "output": [1]
}, {
    "input": [0, 0],
    "output": [0]
}]
for input_output in inputs_outputs:
    print(
        f"input = {input_output['input']}  , output = {net.GetOutputs(input_output['input'])}"
    )
print()

last_loss = 1

timer = time.time()
for _ in range(8000):
    loss = 0
    for input_output in inputs_outputs:
        net.CalculateSlopeValues(input_output["input"], input_output["output"])
        loss += net.GetLoss(input_output["input"], input_output["output"])
    loss_change = loss - last_loss
    net.MutateSlopeValues(coefficient=loss * 2)
    print(loss)
    last_loss = loss
print(time.time() - timer)
print()
for input_output in inputs_outputs:
    print(
        f"input = {input_output['input']}  , output = {net.GetOutputs(input_output['input'])}"
    )
print()
Example #2
0
# hidden_weights = np.array([[0.8, 0.4], [0.1, 0.05]])
net.hidden_nodes[0].input_links[0].factor = 0.8
net.hidden_nodes[0].input_links[1].factor = 0.1
net.hidden_nodes[1].input_links[0].factor = 0.4
net.hidden_nodes[1].input_links[1].factor = 0.05

# output_bias = np.array([[0.7]])
net.output_nodes[0].bias = 0.7

# output_weights = np.array([[0.35], [0.21]])
net.output_nodes[0].input_links[0].factor = 0.35
net.output_nodes[0].input_links[1].factor = 0.21

inputs = [[0, 0], [0, 1], [1, 0], [1, 1]]
expected_output = [[0], [1], [1], [0]]

for index in range(4):
    output = net.GetOutputs(inputs[index])
    print(output)
    net.CalculateSlopeValues(inputs[index], expected_output[index])

for node in net.node_dictionary.values():
    print(node, end="")
    if isinstance(node, InputLinkedNode):
        print(f"bias_change = {node.cost_bias_der}")
        print("----links----")
        for link in node.input_links:
            link: NodeLink
            print(f"factor change = {link.cost_factor_der}")
    print()