当前位置: 首页>>代码示例>>Python>>正文


Python NeuralNet.calculate方法代码示例

本文整理汇总了Python中neuralnet.NeuralNet.calculate方法的典型用法代码示例。如果您正苦于以下问题:Python NeuralNet.calculate方法的具体用法?Python NeuralNet.calculate怎么用?Python NeuralNet.calculate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在neuralnet.NeuralNet的用法示例。


在下文中一共展示了NeuralNet.calculate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: NNPlayer

# 需要导入模块: from neuralnet import NeuralNet [as 别名]
# 或者: from neuralnet.NeuralNet import calculate [as 别名]

#.........这里部分代码省略.........
        if found: return min
        # array has no positive values
        else: return 0
        
    def _addToZeros(self, num, arr):
        """ adds num to all zero values in the array """
        for index, val in enumerate(arr):
            if val == 0:
                arr[index] += num
        return arr
                
    def _addToArray(self, num, arr):
        """ adds the num to all values in the array """
        return [i + num for i in arr]
    
    def _getBestIndex(self, validQvals):
        """ chooses current expected best move """
        maxVal = max(validQvals) # FIXME
        bestMoves = [index for index, move in enumerate(validQvals) if move == maxVal]

        # heuristic: choose last bucket
        return int(bestMoves[-1])
    
    def _getQvals(self, board):
        """ retrieves the q values for all actions from the current state """
        state = self._getState(board)
        # create the input to neural network
        toNN = [state[i-1] for i in range(1, self.inputSize)]
        toNN.insert(0, 0.0)
        # find expected rewards
        qVals = []
        for i in range(self.rowSize):
            toNN[0] = float(i)
            qVals.append(self.Q.calculate(toNN))
        return qVals
        
    def _getState(self, board):
        """ constructs the state as a list """
        mySide = board.mySide(self.id)
        oppSide = board.oppSide(self.id)
        myMancala = board.stonesInMyMancala(self.id)
        oppMancala = board.stonesInOppMancala(self.id)
        
        state = [] # size should be inputSize - 1
        state.append(float(myMancala))
#        for i in range(self.rowSize):
#            state.append(mySide[i])
        for my in mySide:
            state.append(float(my))
        state.append(float(oppMancala))
#        for i in range(self.rowSize):
#            state.append(oppSide[i])
        for op in oppSide:
            state.append(float(op))
        return state
    
    def gameOver(self, myScore, oppScore):
        """ notifies learner that the game is over,
        update the Q function based on win or loss and the move list """
        if not self.learn:
            return
        
        reward = float(myScore) - float(oppScore)
        self.movelist[self.id].append(reward)
        self._updateGameRecord(self.movelist[self.id])
        self.movelist[self.id] = []
开发者ID:changwang,项目名称:Moncala,代码行数:70,代码来源:player.py


注:本文中的neuralnet.NeuralNet.calculate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。