"InpNet2 err: {:4.4f}".format(inp_net_2.train(inp, tgt_2, 1)[0])) metanet = MetaNet() metanet.add_input_net(inp_net_1) metanet.add_input_net(inp_net_2) metanet.add_output_net(out_net) metanet.connect_nets(inp_net_1, out_net) metanet.connect_nets(inp_net_2, out_net) metanet.connect_nets(out_net, inp_net_1) metanet.connect_nets(out_net, inp_net_2) metanet.name = 'MetaNet' metanet.add_action_on_active(lambda x: print(x.get_name(), 'activation found'), lambda net: net.get_out_state()[0][0] > 0.4) inp_net_1.add_action_on_active(lambda x: print(x.get_name(), 'net has ', x.get_layer_state(0)[0], 'on input fist neuron'), lambda net: net.get_layer_state(0)[0] > 0.4) print("\nIntNet1 input = [1.0, 0.0], InpNet2 input = [0.0, 0.0]") print('-'*10) print("OutNet output = {:4.4f}".format(metanet.test([[1.0, 0.0], [0.0, 0.0]])[0][0])) print("Must be -> 0.0") #metanet.draw_metanet() #out_net.draw_net()