Пример #1
0
if saveResults:    
    trainObjectives = numpy.zeros((startAverages.shape[0], len(learningRateParams)))
    testObjectives = numpy.zeros((startAverages.shape[0], len(learningRateParams)))
    
    for trainX, testX in trainTestXs: 
        trainOmegaPtr = SparseUtils.getOmegaListPtr(trainX)
        testOmegaPtr = SparseUtils.getOmegaListPtr(testX)
        allOmegaPtr = SparseUtils.getOmegaListPtr(X)
        logging.debug("Number of non-zero elements: " + str((trainX.nnz, testX.nnz)))        
        
        paramList = []      
        
        for j, startAverage in enumerate(startAverages): 
            for i, (alpha, t0) in enumerate(learningRateParams):
                maxLocalAuc.startAverage = startAverage
                maxLocalAuc.alpha = alpha 
                maxLocalAuc.t0 = t0
                logging.debug(maxLocalAuc)
                
                learner = maxLocalAuc.copy()
                paramList.append((trainX, learner))
                
        pool = multiprocessing.Pool(maxtasksperchild=100, processes=multiprocessing.cpu_count())
        resultsIterator = pool.imap(computeTestObj, paramList, chunkSize)
    
        for j, startAverage in enumerate(startAverages): 
            for i, (alpha, t0) in enumerate(learningRateParams):
                U, V, trainObj, testObj = resultsIterator.next()
                
                trainObjectives[j, i] += trainObj