from metanet.networks.artificial_networks.feedforward_network import FeedforwardNetwork from metanet.datasets import mnist import argparse if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("-t", "--train", default="true") args = parser.parse_args() inp, tgt = mnist.get_mnist(10) net = FeedforwardNetwork(len(inp[0]), [len(inp[0])], len(tgt[0])) if args.train == "true": for i in range(50): print(" [*] Epoch:", i, "error:", net.train(inp, tgt, 1)) else: net.load_net("./data/net.pkl") err = 0 for i in range(len(tgt)): ans = net.test(inp[i]) if tgt[i].index(max(tgt[i])) != ans.index(max(ans)): err += 1 if args.train == "true": net.save_net("./data/net.pkl") print(" [*]", err, "errors")
if __name__=='__main__': inp, tgt = get_xor() out_net = FeedforwardNetwork(2, [4], 2) inp_net_1 = FeedforwardNetwork(2, [4], 2) inp_net_2 = FeedforwardNetwork(2, [4], 2) out_net.name = 'out' inp_net_1.name = 'inp1' inp_net_2.name = 'inp2' tgt_1 = [[0.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 0.0]] tgt_2 = [[0.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 0.0]] for i in range(500): print("OutNet err: {:4.4f}".format(out_net.train(inp, tgt_1, 1)[0]), "InpNet1 err: {:4.4f}".format(inp_net_1.train(inp, tgt_1, 1)[0]), "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) print("\nIntNet1 input = [1.0, 0.0], InpNet2 input = [0.0, 0.0]")
from metanet.networks.artificial_networks.feedforward_network import FeedforwardNetwork from metanet.datasets.xor import get_xor inp, tgt = get_xor() net = FeedforwardNetwork(len(inp[0]), [4], len(tgt[0])) net.eta = 0.45 for i in range(10000): print(net.train(inp, tgt, 1)[0])