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("---------------")
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))
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
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)
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)