class learnChance(object): '''this class is responsible for teaching the machine''' def __init__(self,TIV): '''constructor''' self.engine = NNEngine(CARDS_SIZE*TIV.RUN_WINDOW_SIZE,CARDS_SIZE,TIV) def _retVal(self,List): '''this method recieves a list of 32 values and returns its values seperatly ''' return (List[0],List[1],List[2],List[3],List[4],List[5],List[6],List[7], List[8],List[9],List[10],List[11],List[12],List[13],List[14],List[15], List[16],List[17],List[18],List[19],List[20],List[21],List[22],List[23], List[24],List[25],List[26],List[27],List[28],List[29],List[30],List[31]) def learnNow(self,windowSize,trainingData,TIV): '''this method is responsible for teaching the machine it resives the trainig list and window size''' arr = trainingData #print " arr is" , arr inputList = [] for i in range(0,len(arr)-windowSize): outputList = self._retVal(arr[i+windowSize]) inputList = [] for j in range(0,windowSize): for k in range(0,CARDS_SIZE): index = j*CARDS_SIZE + k retval = self._retVal(arr[i+j]) inputList.insert(index,retval[k]) self.engine.collectData(inputList,outputList) #print "number of trains : " #epocs option 1 #for j in range(0,EPOCH): # print self.engine.train(TIV,EPOCH) print "number of trainning", self.engine.train(TIV) #self.engine.train(TIV) def calcResolts(self,result): '''this method recieves the latest window size inputs and returns the result our machine calculated''' res = self.engine.getResult(result) #print "machine calculated ", res return res[0]
def __init__(self,TIV): '''constructor''' self.engine = NNEngine(CARDS_SIZE*TIV.RUN_WINDOW_SIZE,CARDS_SIZE,TIV)