def main(): """ load training data""" inputs = np.loadtxt("../handwriting/X2_100samples.dat") targets = np.loadtxt("../handwriting/y2_100samples.dat") ValInputs, ValTargets = get_validation_data() """ define network topology """ conec = mlgraph((inputs.shape[1], 10, 1)) net = ffnet(conec) system = NNSystem(net, inputs, targets) pot = system.get_potential() database = system.create_database( db= "/home/ab2111/machine_learning_landscapes/neural_net/db_ffnet_100samples.sqlite" ) # database = system.create_database(db="/home/ab2111/machine_learning_landscapes/neural_net/db_ffnet_me3.sqlite") # run_gui(system, database) # check_its_a_minimum(system, database) energies = np.array([]) for m in database.minima(): coords = m.coords testenergy = pot.getValidationEnergy(coords, ValInputs, ValTargets) / len(ValTargets) energies = np.append(energies, testenergy) # plt.plot(m.coords,'o') # np.max(m.coords) # plt.plot([m._id for m in database.minima()], np.array([m.energy for m in database.minima()])/100., 'o') plt.plot(np.array([m.energy for m in database.minima()]) / 100) plt.plot(energies) plt.plot( np.array([np.max(m.coords) for m in database.minima()]) / 1000, 'x') plt.legend(["Etrain", "Evalidation", "max(params)"]) plt.show()
def main(): """ load training data""" inputs = np.loadtxt("../handwriting/X2_100samples.dat") targets = np.loadtxt("../handwriting/y2_100samples.dat") ValInputs, ValTargets = get_validation_data() """ define network topology """ conec = mlgraph((inputs.shape[1],10,1)) net = ffnet(conec) system = NNSystem(net, inputs, targets) pot = system.get_potential() database = system.create_database(db="/home/ab2111/machine_learning_landscapes/neural_net/db_ffnet_100samples.sqlite") # database = system.create_database(db="/home/ab2111/machine_learning_landscapes/neural_net/db_ffnet_me3.sqlite") # run_gui(system, database) # check_its_a_minimum(system, database) energies = np.array([]) for m in database.minima(): coords = m.coords testenergy = pot.getValidationEnergy(coords,ValInputs,ValTargets)/len(ValTargets) energies = np.append(energies,testenergy) # plt.plot(m.coords,'o') # np.max(m.coords) # plt.plot([m._id for m in database.minima()], np.array([m.energy for m in database.minima()])/100., 'o') plt.plot(np.array([m.energy for m in database.minima()])/100) plt.plot(energies) plt.plot(np.array([np.max(m.coords) for m in database.minima()])/1000, 'x') plt.legend(["Etrain","Evalidation","max(params)"]) plt.show()