Exemplo n.º 1
0
Arquivo: Poligon.py Projeto: iofik/mll
def GetProblem(problemName, options):
  if not os.path.exists(options.datasets):
    os.mkdir(options.datasets)
  path = os.path.join(options.datasets, problemName + '.arff')
  if os.path.exists(path):
    return path
  else:
    logger.debug("Requesting problem " + problemName)
    problem = poligon.get_problem(problemName, options.algsynonim, options.algpassword)
    if not problem:
      raise Exception("Could not get problem " + problemName)
    _save_as_arff(problem, problemName, path)
    return path
Exemplo n.º 2
0
def load_task_data(task, algPassword, dataFile, learnIndexes, testIndexes, algProperties):
  """Writes problem data, indexes and alg params into the given path"""  
  
  class Indexes(object):
        
    def __init__(self, learn, test):
      self.test = test
      self.learn = learn
 
  # 1. Loading problem data 
  problem = poligon.get_problem(task.ProblemSynonim, task.AlgSynonim, algPassword)

  if not problem:
    logger.error(
      'Can\'t load problem \'{0}\' from server'.format(task.ProblemSynonim))
  
  logger.debug(
    'Problem \'{0}\' received with {1} rows'.format(
      task.ProblemSynonim, len(problem.DataMatrix.ArrayOfDouble)))
  
  objects, properties, classes = _save_as_arff(problem, task.ProblemSynonim, dataFile)
  logger.debug('Problem data saved as \'{0}\''.format(dataFile))  
  
  # 2. Saving indexes
  test = _save_indexes(task.TestIndexes, testIndexes)
  logger.debug('{0} test indexes saved'.format(len(test)))
  
  learn = _save_indexes(task.LearnIndexes, learnIndexes)  
  logger.info('{0} learn indexes saved'.format(len(learn)))
  
  if len(test) != len(learn):
    logger.error('Indexes count mismatch')
    
  indexes = []
  for i in range(0, len(learn)):
    indexes.append(Indexes(learn[i], test[i]))
    
  # 3. Writing alg properties
  count = _save_params(task, algProperties)
  logger.info('{0} alg params saved as \'{1}\''.format(count, algProperties))
  
  return indexes #, properties, classes