コード例 #1
0
    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"],[])
コード例 #2
0
 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"],[])
コード例 #3
0
 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"],[])
コード例 #4
0
    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"],[])
コード例 #5
0
 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"],[])
コード例 #6
0
    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"], [])
コード例 #7
0
 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"], [])
コード例 #8
0
 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"], [])
コード例 #9
0
    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"], [])
コード例 #10
0
 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"], [])
コード例 #11
0
ファイル: main.py プロジェクト: anhlbt/comp-598-project-3
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)
コード例 #12
0
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)