def main(): a = DataManager() a.loadData() b = NeuralNetwork() b.createModel() b.train(a.train_data, a.train_labels, epochs=100) res = b.evaluate(a.eval_data, a.eval_labels) print("Accuracy : {}".format(res)) b.saveModel() pass
def main(): #run 1 : 5.7071 loss, 0.1564 acc .1 epoch : lr = 0.001 #run 2: 2.3683 loss, 0.1066 acc : 0.1215 .1 epoch : lr = 0.001 #run 3 : 2.8534 , 0.1001 : 0.1 .1 epoch : lr = 1 #run 4 : 11.0573 , 0.0772 : 0.0763 .3 epochs: lr = 1 : batch_size = 32 #run 5 : 0. 805 ,0.7291 30 epochs lr = 0.001 batch size = 32 dm = DataManager() dm.preprocessData() nn = NeuralNetwork() nn.createModel() nn.train(dm.datagen,dm.train_data,dm.train_labels,30); nn.saveModel("best.h5") result = nn.evaluate(dm.eval_data,dm.eval_labels) print(result[0]) print(result[1]) print(nn.test(dm.eval_data));
def main(): data_manager = DataManager() data_manager.loadData() neural_network = NeuralNetwork() neural_network.create_model() neural_network.train(data_manager.train_data, data_manager.train_labels, data_manager.eval_data, data_manager.eval_labels, epochs=100) result = neural_network.evaluate(data_manager.eval_data, data_manager.eval_labels) neural_network.save_model() print("Accuracy : {}".format(result)) pass
def main(): a = DataManager() a.loadData() b = NeuralNetwork() b.createModel() b.train(a.train_data, a.train_labels, a.eval_data, a.eval_labels, epochs=100) b.saveModel("test.h5")
def main(): #loss: 15.552 , acc: 0.0967 manager = DataManager() manager.preprocessData() network = NeuralNetwork() network.createModel() network.train(manager.datagen,manager.train_data,manager.train_labels,10) network.saveModel() results = network.evaluate(manager.eval_data,manager.eval_labels)
def testInputLayer(imageWidth, imageHeight): nn = NeuralNetwork() nn.setInputLayer(imageWidth,imageWidth) outstring = ("Testing input layer creation: ") if nn.inputLayer is None: outstring += ("{}KO| inputLayer was not set{}" "".format(Fore.RED, Fore.RESET)) return outstring config = nn.inputLayer.get_config() if "flatten" not in config["name"]: outstring += ("{}KO| Expected inputLayer to be of type flatten but got {}{}" "".format(Fore.RED, config["name"].split("_")[0], Fore.RESET)) return outstring if config["batch_input_shape"] != (None, imageWidth, imageHeight): outstring += ("{}KO| Expected inputLayer shape to be {} but got {}{}" "".format(Fore.RED, (None, imageWidth, imageHeight), config["batch_input_shape"], Fore.RESET)) return outstring outstring += "{}OK{}".format(Fore.GREEN, Fore.RESET) return outstring
def testHiddenLayer(numberOfNeurons): nn = NeuralNetwork() nn.setHiddenLayer(numberOfNeurons) outstring = ("Testing hidden layer creation: ") if nn.hiddenLayer is None: outstring += ("{}KO| hiddenLayer was not set{}" "".format(Fore.RED, Fore.RESET)) return outstring config = nn.hiddenLayer.get_config() if "dense" not in config["name"]: outstring += ("{}KO| Expected hiddenLayer to be of type dense but got {}{}" "".format(Fore.RED, config["name"].split("_")[0], Fore.RESET)) return outstring if config["units"] != numberOfNeurons: outstring += ("{}KO| Expected hiddenLayer to have {} neurons but got {}{}" "".format(Fore.RED, numberOfNeurons, config["units"], Fore.RESET)) return outstring outstring += "{}OK{}".format(Fore.GREEN, Fore.RESET) return outstring
def exercise7(): dm = DataManager() dm.preprocessData() nn = NeuralNetwork() nn.setInputLayer(28,28) nn.setHiddenLayer(28) nn.setOutputLayer(10) nn.createModel() nn.train(dm.train_data, dm.train_labels, 1) nn.saveModel("test.h5") nn2 = NeuralNetwork() nn2.loadModel("test.h5") eval_results = nn.evaluate(dm.eval_data, dm.eval_labels) eval_results2 = nn2.evaluate(dm.eval_data, dm.eval_labels) outstring = "Testing save and load functions: " if eval_results != eval_results2: outstring += ("{}KO| evaluation results for loaded network were {} expected {}{}" "".format(Fore.RED, eval_results2, eval_results, Fore.RESET)) else: outstring += "{}OK{}".format(Fore.GREEN, Fore.RESET) print(outstring)
def exercise6(): dm = DataManager() dm.preprocessData() nn = NeuralNetwork() nn.setInputLayer(28,28) nn.setHiddenLayer(28) nn.setOutputLayer(10) nn.createModel() nn.train(dm.train_data, dm.train_labels, 1) outstring = "Testing eval function: " eval_results = nn.evaluate(dm.eval_data, dm.eval_labels) if eval_results is None: outstring += ("{}KO| no results were returned{}" "".format(Fore.RED, Fore.RESET)) else: outstring += "{0}OK| Test accuracy was: {1:.4f}{2}".format(Fore.GREEN, eval_results, Fore.RESET) print (outstring)
def exercise5(): dm = DataManager() dm.preprocessData() nn = NeuralNetwork() nn.setInputLayer(28,28) nn.setHiddenLayer(28) nn.setOutputLayer(10) nn.createModel() print("Testing train function: ") nn.train(dm.train_data, dm.train_labels, 10)