if __name__ == '__main__': logger = setupLogging() db = Database() db.loadFromJson(config.DATABASE_PATH) if (MKL_ENABLED): mkl.set_num_threads( 1 ) #disable mkl multiprocessing to get more control over the number of cores being used. taskList = [] logger.info("Collect tasks that needs to be calculated") for optimizer in config.LIST_OF_OPTIMIZERS: for problem in config.LIST_OF_PROBLEMS: optimizerId = str(optimizer.__name__) problemId = str(problem.__name__) for k in range(config.K): if not db.exists(optimizerId, problemId, str(k)): #optimizer().apply(problem(), config.MAX_EVALUATIONS) taskList.append({ 'optimizer': optimizer, 'problem': problem, 'maxeval': config.MAX_EVALUATIONS, 'k': k }) elif (config.REPEAT_INCOMPLETE and (np.shape( (db.get(optimizerId, problemId, str(k)))['scores'])[0] < config.MAX_EVALUATIONS)): logger.info("Repeat evaluation of " + str(optimizerId) + " on " + str(problemId) + " k=" + str(k) + " because the previous did not complete 100%") logger.info("Last results: " + str( np.shape((db.get(optimizerId, problemId, str(k))