def get_preds(self, state): #predict the leaf allowedActions = state.allowedActions if state.playerTurn == -1: state = GameState(state.flip(), state.playerTurn, state.turn) inputToModel = np.array([self.model.convertToModelInput(state)]) preds = self.model.predict(inputToModel) value_array = preds[0] logits_array = preds[1] value = value_array[0] logits = logits_array[0] if state.playerTurn == -1: logits = logits[::-1] mask = np.ones(logits.shape, dtype=bool) mask[allowedActions] = False logits[mask] = 0 probs = logits / np.sum(logits) return ((value, probs, allowedActions))