def main(): shake = "docs/shakespeare-" txt = ".txt" twain = "docs/twain-" nn = nn_matrix.neural_network(6,2,[8],1, 0.5) prsr = ip.parser() shake_desired = np.array([[1], [0]]) twain_desired = np.array([[0], [1]]) input_shake = [] input_twain = [] for j in range(1, 6): input_shake.append(np.array([prsr.parse(shake+str(j)+txt)]).T) input_twain.append(np.array([prsr.parse(twain+str(j)+txt)]).T) print (input_shake) print(input_twain) for x in range(0, 1000): for i in range(0, 5): # input_shake = np.array([prsr.parse(shake+str(i)+txt)]).T # print("input_shake: ", input_shake) # input_twain = np.array([prsr.parse(twain+str(i)+txt)]).T # print("input_twain: ", input_twain) nn.output(input_shake[i]) nn.back_prop(shake_desired) nn.output(input_twain[i]) nn.back_prop(twain_desired) test_shake = prsr.parse(shake+"test1"+txt) test_twain = prsr.parse(twain+"test1"+txt) shake_out = nn.output(test_shake) twain_out = nn.output(test_twain) print("shake_out: ", shake_out) print("twain_out: ", twain_out)
def main(): shake = "docs2/shakespeare/" twain = "docs2/twain/" dickens = "docs2/dickens/" txt = ".txt" nn = nn_matrix.neural_network(6,3,[8],1, .3) prsr = ip.parser() shake_desired = np.array([[1], [0], [0]]) twain_desired = np.array([[0], [1], [0]]) dickens_desired = np.array([[0], [0], [1]]) input_shake = [] input_twain = [] input_dickens = [] for j in range(1, 15): input_shake.append(np.array([prsr.parse(shake+str(j)+txt)]).T) input_twain.append(np.array([prsr.parse(twain+str(j)+txt)]).T) input_dickens.append(np.array([prsr.parse(dickens+str(j)+txt)]).T) # print (input_shake) # print(input_twain) # print(input_dickens) for x in range(0, 100): for i in range(0, 14): # input_shake = np.array([prsr.parse(shake+str(i)+txt)]).T # print("input_shake: ", input_shake) # input_twain = np.array([prsr.parse(twain+str(i)+txt)]).T # print("input_twain: ", input_twain) nn.output(input_shake[i]) nn.back_prop(shake_desired) nn.output(input_twain[i]) nn.back_prop(twain_desired) nn.output(input_dickens[i]) nn.back_prop(dickens_desired) for a in range(14,19): stra = str(a) test_shake = prsr.parse(shake+stra+txt) test_twain = prsr.parse(twain+stra+txt) test_dickens = prsr.parse(dickens+stra+txt) shake_out = nn.output(test_shake) twain_out = nn.output(test_twain) dickens_out = nn.output(test_dickens) print("shake_out"+stra + ": ", test(shake_out)) print("twain_out"+stra+": ", test(twain_out)) print("dickens_out"+stra+": ", test(dickens_out)) print("\n") print(shake_out) print(twain_out) print(dickens_out) print("\n")
def __init__(self, load): self.lastPercent = 0.0 self.bestPercent = 0.0 if (load != '0'): print("\ncreating train data...") sys.stdout.flush() self.td = train.train_data(files_location) pickle.dump(self.td, open("_train_data.p", "wb")) print("created sucessfully\n") sys.stdout.flush() else: print("\nloading train data...") sys.stdout.flush() self.td = pickle.load(open("_train_data.p", "rb")) print("loaded sucessfully\n") sys.stdout.flush() self.nn = nn_matrix.neural_network(len(self.td.inputs[0][0]),len(self.td.authors),nlayers,dummy_var, learn_rate)
def main(): train_rounds = 500 learn_rate = .5 shake = "docs2/shakespeare/" twain = "docs2/twain/" dickens = "docs2/dickens/" doyle = "docs2/doyle/" milton = "docs2/milton/" txt = ".txt" nn = nn_matrix.neural_network(10,5,[20],1, learn_rate) prsr = ip.parser() shake_desired = np.array([[1], [0], [0], [0], [0]]) twain_desired = np.array([[0], [1], [0], [0], [0]]) dickens_desired = np.array([[0], [0], [1], [0], [0]]) doyle_desired = np.array([[0], [0], [0], [1], [0]]) milton_desired = np.array([[0], [0], [0], [0], [1]]) input_shake = [] input_twain = [] input_dickens = [] input_doyle = [] input_milton = [] for j in range(1, 16): input_shake.append(np.array([prsr.parse(shake+str(j)+txt)]).T) input_twain.append(np.array([prsr.parse(twain+str(j)+txt)]).T) input_dickens.append(np.array([prsr.parse(dickens+str(j)+txt)]).T) input_doyle.append(np.array([prsr.parse(doyle+str(j)+txt)]).T) input_milton.append(np.array([prsr.parse(milton+str(j)+txt)]).T) for x in range(0, train_rounds): for i in range(0, 15): nn.output(input_shake[i]) nn.back_prop(shake_desired) nn.output(input_twain[i]) nn.back_prop(twain_desired) nn.output(input_dickens[i]) nn.back_prop(dickens_desired) nn.output(input_doyle[i]) nn.back_prop(doyle_desired) nn.output(input_milton[i]) nn.back_prop(milton_desired) total_wrong = 0 total_tests = 0 for a in range(16,19): total_tests += 5 stra = str(a) test_shake = prsr.parse(shake+stra+txt) test_twain = prsr.parse(twain+stra+txt) test_dickens = prsr.parse(dickens+stra+txt) test_doyle = prsr.parse(doyle+stra+txt) test_milton = prsr.parse(milton+stra+txt) shake_out = nn.output(test_shake) twain_out = nn.output(test_twain) dickens_out = nn.output(test_dickens) doyle_out = nn.output(test_doyle) milton_out = nn.output(test_milton) # print("test"+stra+":") if (test(shake_out) != "shakespeare"): total_wrong += 1 print("shake_out"+stra+": ", test(shake_out)) if (test(twain_out) != "twain"): total_wrong += 1 print("twain_out"+stra+": ", test(twain_out)) if (test(dickens_out) != "dickens"): total_wrong += 1 print("dikns_out"+stra+": ", test(dickens_out)) if (test(doyle_out) != "doyle"): total_wrong += 1 print("doyle_out"+stra+": ", test(doyle_out)) if (test(milton_out) != "milton"): total_wrong +=1 print("miltn_out"+stra+": ", test(milton_out)) # print(shake_out) # print(twain_out) # print(dickens_out) # print(doyle_out) # print("\n") for a in range(19, 30): total_tests += 4 stra = str(a) test_shake = prsr.parse(shake+stra+txt) test_twain = prsr.parse(twain+stra+txt) test_doyle = prsr.parse(doyle+stra+txt) test_milton = prsr.parse(milton+stra+txt) shake_out = nn.output(test_shake) twain_out = nn.output(test_twain) doyle_out = nn.output(test_doyle) milton_out = nn.output(test_milton) # print("test"+stra+":") if (test(shake_out) != "shakespeare"): total_wrong += 1 print("shake_out"+stra + ": ", test(shake_out)) if (test(twain_out) != "twain"): total_wrong += 1 print("twain_out"+stra+": ", test(twain_out)) if (test(doyle_out) != "doyle"): total_wrong += 1 print("doyle_out"+stra+": ", test(doyle_out)) if (test(milton_out) != "milton"): total_wrong +=1 print("miltn_out"+stra+": ", test(milton_out)) print("correct percentage:", 1 - total_wrong/total_tests) print("number wrong: ", total_wrong) print("number of tests:", total_tests) print("traing rounds:", train_rounds) print("learning rate:", learn_rate)