Ejemplo n.º 1
0
def predict(args):
    day = args[2]
    num_lineups = int(args[3])
    filename = FILENAME_USED_NN
    if len(args) == 5:
        filename = "trainedModels/" + args[4]
    day_x, playerList = getInputForDay(day, True)
    print(day_x.shape)
    print(len(playerList))
    N, M = day_x.shape
    day_X = np.ones((N, M + 1))
    day_X[:, 1:] = day_x
    model = NeuralNet(NeuralNet.load(filename))

    scores, predictedLineups = model.getPrediction(day_X, playerList,
                                                   num_lineups)
    print()
    print("No noise lineup : ")
    for i in range(len(scores)):
        predictedLineup = predictedLineups[i]

        print("player selected:")
        for player in predictedLineup:
            print(player.toString())
        print()
        print("Expected total score :" + str(scores[i]))
        print("---------------")
Ejemplo n.º 2
0
def test(train_X, test_X, train_y, test_y, args):
    filename = FILENAME_USED_NN
    if len(args) == 3:
        filename = "trainedModels/" + args[2]
    model_loaded = NeuralNet.load(filename)
    model = NeuralNet(model_loaded)
    print("final train accuracy:", model.score(train_X, train_y))
    print("final test accuracy:", model.score(test_X, test_y))
Ejemplo n.º 3
0
    def __loadNNets(self, name, includeOptimisers=False):
        nNetA = NeuralNet(in_channels=3).to(self.device)
        nNetB = NeuralNet(in_channels=4).to(self.device)
        nNetC = NeuralNet(in_channels=4).to(self.device)

        if name is not None:
            name = name.replace(".pth", "a.pth")
            nNetA.load(name)

            name = name.replace("a.pth", "b.pth")
            nNetB.load(name)

            name = name.replace("b.pth", "c.pth")
            nNetC.load(name)
        else:
            nNetA.loadMostRecent("a.pth")
            nNetB.loadMostRecent("b.pth")
            nNetC.loadMostRecent("c.pth")

        nnets = nNetA, nNetB, nNetC
        if includeOptimisers:
            optimisers = tuple(torch.optim.Adam(
                N.parameters(), lr=0.001) for N in nnets)
            return nnets, optimisers
        else:
            return nnets
Ejemplo n.º 4
0
def run(day):
    print("This mETHOD should not be being calleD!")
    day_x, day_y, Gamesplayers = getSortedOrderForDay(day)
    playersList = [item.playerID for items in Gamesplayers for item in items]

    N, M = day_x.shape
    day_X = np.ones((N, M + 1))
    day_X[:, 1:] = day_x
    model = NeuralNet.load(FILENAME_USED_NN)
    score, realLineupIndex, predictedLineupIndex = model.scoreDay(
        day_X, day_y, True)
    realLineup = [playersList[i] for i in realLineupIndex]
    predictedLineup = [playersList[i] for i in predictedLineupIndex]
    print("test accuracy for day:", score)
    print("good players ids:", realLineup)
    print("players selected ids :", predictedLineup)
Ejemplo n.º 5
0
def continue_training(train_X, train_y, test_X, test_y, args):
    print("NOT SURE THIS IS WORKING")
    epoch = int(args[2])
    filename = FILENAME_USED_NN
    if len(args) == 4:
        filename = "trainedModels/" + args[3]
    train_x_flat = np.array([item for items in train_X for item in items])
    train_y_flat = np.array([item for items in train_y for item in items])
    test_x_flat = np.array([item for items in test_X for item in items])
    test_y_flat = np.array([item for items in test_y for item in items])
    model_loaded = NeuralNet.load(filename)

    model = make_model(model=model_loaded,
                       learning_r=DEFAULT_LEARNING_RATE,
                       batch_size_2=DEFAULT_BATCH_SIZE,
                       epoch=epoch)
    print("Continue training on :" + str(len(train_y_flat)) + "games")
    model.fit(train_x_flat, train_y_flat, test_x_flat, test_y_flat)
    model.save(filename)