def test_6_bools(self): X,Y,a,b=get_data_1csv("tests/6bools.csv",1) nn=NN([6,36,1],verbose=0,learning_rate=0.1) nn.train(X,Y,TRIALS) report=nn.get_report(X,Y) self.assertEqual(report["errors"],[])
def test_3_bool_batch(self): X,Y,a,b=get_data_1csv("tests/3bools.csv",1) bs=100 nn=NN([3,10,1],verbose=0,learning_rate=0.1/bs) nn.train(X,Y,TRIALS,batch_size=bs) report=nn.get_report(X,Y) self.assertEqual(report["errors"],[])
def test_1_hidden_6n_xor(self): X=[[0,0],[0,1],[1,0],[1,1]] Y=[[0],[1],[1],[0]] nn=NN([2,6,1],verbose=0,learning_rate=0.1) nn.train(X,Y,TRIALS) report=nn.get_report(X,Y) self.assertEqual(report["errors"],[])
def test_3_outputs_2_bools(self): X,Y,a,b=get_data_1csv("tests/3outputs2bools.csv",1) nn=NN([2,50,3],verbose=0,learning_rate=0.1) nn.train(X,Y,TRIALS) report=nn.get_report(X,Y) self.assertEqual(report["errors"],[])
def test_1_hidden_2n_xor(self): X=[[0,0],[0,1],[1,0],[1,1]] Y=[[0],[1],[1],[0]] nn=NN([2,2,1],verbose=0,learning_rate=0.03,final_learning_rate=0.001) nn.train(X,Y,30000) report=nn.get_report(X,Y) self.assertEqual(report["errors"],[])
def test_6_bools(self): X, Y, a, b = get_data_1csv("tests/6bools.csv", 1) nn = NN([6, 36, 1], verbose=0, learning_rate=0.1) nn.train(X, Y, TRIALS) report = nn.get_report(X, Y) self.assertEqual(report["errors"], [])
def test_1_hidden_6n_xor(self): X = [[0, 0], [0, 1], [1, 0], [1, 1]] Y = [[0], [1], [1], [0]] nn = NN([2, 6, 1], verbose=0, learning_rate=0.1) nn.train(X, Y, TRIALS) report = nn.get_report(X, Y) self.assertEqual(report["errors"], [])
def test_3_bool_batch(self): X, Y, a, b = get_data_1csv("tests/3bools.csv", 1) bs = 100 nn = NN([3, 10, 1], verbose=0, learning_rate=0.1 / bs) nn.train(X, Y, TRIALS, batch_size=bs) report = nn.get_report(X, Y) self.assertEqual(report["errors"], [])
def test_3_outputs_2_bools(self): X, Y, a, b = get_data_1csv("tests/3outputs2bools.csv", 1) nn = NN([2, 50, 3], verbose=0, learning_rate=0.1) nn.train(X, Y, TRIALS) report = nn.get_report(X, Y) self.assertEqual(report["errors"], [])
def test_1_hidden_2n_xor(self): X = [[0, 0], [0, 1], [1, 0], [1, 1]] Y = [[0], [1], [1], [0]] nn = NN([2, 2, 1], verbose=0, learning_rate=0.03, final_learning_rate=0.001) nn.train(X, Y, 30000) report = nn.get_report(X, Y) self.assertEqual(report["errors"], [])
def main(args): if not args["--random"]: random.seed(123) np.random.seed(123) train_csv = args["<train-csv>"] if not is_file(train_csv): return prediction_csv = args["<prediction-csv>"] if not is_file(prediction_csv): return target = args["<target-csv>"] if target and not is_file(target): return try: trials = int(args["--trials"]) except ValueError: print_color("Bad value for trials.", COLORS.RED) return try: batch_size = int(args["--batch"]) except ValueError: print_color("Bad value for batch.", COLORS.RED) return try: learn_rate = float(args["--learn-rate"]) except ValueError: print_color("Bad value for learn rate.", COLORS.RED) return try: final_learn_rate = float(args["--final-learn-rate"]) except ValueError: print_color("Bad value for final learn rate.", COLORS.RED) return try: interval = int(args["--timer"]) except ValueError: print_color("Bad value for timer interval.", COLORS.RED) return try: sizes = [int(i) for i in args["--sizes"].split(",")] except ValueError: print_color("Bad value for sizes.", COLORS.RED) return try: validation_ratio = float(args["--validation-ratio"]) except ValueError: print_color("Bad value for validation ratio.", COLORS.RED) return print_color("Opening file: %s" % train_csv, COLORS.YELLOW) X_train, Y_train, X_valid, Y_valid = get_data_2csv( train_csv, prediction_csv, validation_ratio, normalize=args["--normalize"]) if validation_ratio == 1 and args["--validate"]: X_valid, Y_valid = X_train, Y_train if sizes[0] != len(X_train[0]): print_color( "Bad 'sizes' parameter for this input data. sizes[0]=%s len(X[0])=%s" % (sizes[0], len(X_train[0])), COLORS.RED) return start_time = time.time() print_color("Initializing neural net.", COLORS.GREEN) nn = NeuralNet(sizes, learning_rate=learn_rate, final_learning_rate=final_learn_rate, verbose=args["--verbose"], timer_interval=interval, logging=args["--logging"]) nn.train(X_train, Y_train, trials, batch_size=batch_size) report = 0 if args["--validate"]: print_color("Starting validation.", COLORS.GREEN) report = nn.show_report(X_train, Y_train, X_valid, Y_valid) if args["--report"]: if not report: report = nn.get_report(X_train, Y_train, X_valid, Y_valid) report["validation ratio"] = validation_ratio report["normalized"] = args["--normalize"] report["random"] = args["--random"] report["duration"] = time.time() - start_time save_report(report) if target: raise NotImplementedError print_color("Making predictions.", COLORS.GREEN) nn.make_predictions_csv(target) print_color("Done after %s seconds." % round(time.time() - start_time, 1), COLORS.GREEN)
def main(args): if not args["--random"]: random.seed(123) np.random.seed(123) train_csv=args["<train-csv>"] if not is_file(train_csv): return prediction_csv=args["<prediction-csv>"] if not is_file(prediction_csv): return target=args["<target-csv>"] if target and not is_file(target): return try: trials=int(args["--trials"]) except ValueError: print_color("Bad value for trials.",COLORS.RED) return try: batch_size=int(args["--batch"]) except ValueError: print_color("Bad value for batch.",COLORS.RED) return try: learn_rate=float(args["--learn-rate"]) except ValueError: print_color("Bad value for learn rate.",COLORS.RED) return try: final_learn_rate=float(args["--final-learn-rate"]) except ValueError: print_color("Bad value for final learn rate.",COLORS.RED) return try: interval=int(args["--timer"]) except ValueError: print_color("Bad value for timer interval.",COLORS.RED) return try: sizes=[int(i) for i in args["--sizes"].split(",")] except ValueError: print_color("Bad value for sizes.",COLORS.RED) return try: validation_ratio=float(args["--validation-ratio"]) except ValueError: print_color("Bad value for validation ratio.",COLORS.RED) return print_color("Opening file: %s"%train_csv,COLORS.YELLOW) X_train,Y_train,X_valid,Y_valid=get_data_2csv(train_csv,prediction_csv, validation_ratio,normalize=args["--normalize"]) if validation_ratio==1 and args["--validate"]: X_valid,Y_valid=X_train,Y_train if sizes[0]!=len(X_train[0]): print_color("Bad 'sizes' parameter for this input data. sizes[0]=%s len(X[0])=%s"%(sizes[0],len(X_train[0])),COLORS.RED) return start_time=time.time() print_color("Initializing neural net.",COLORS.GREEN) nn=NeuralNet(sizes,learning_rate=learn_rate,final_learning_rate=final_learn_rate, verbose=args["--verbose"],timer_interval=interval, logging=args["--logging"]) nn.train(X_train,Y_train,trials,batch_size=batch_size) report=0 if args["--validate"]: print_color("Starting validation.",COLORS.GREEN) report=nn.show_report(X_train,Y_train,X_valid,Y_valid) if args["--report"]: if not report: report=nn.get_report(X_train,Y_train,X_valid,Y_valid) report["validation ratio"]=validation_ratio report["normalized"]=args["--normalize"] report["random"]=args["--random"] report["duration"]=time.time()-start_time save_report(report) if target: raise NotImplementedError print_color("Making predictions.",COLORS.GREEN) nn.make_predictions_csv(target) print_color("Done after %s seconds."%round(time.time()-start_time,1),COLORS.GREEN)