Пример #1
0
def readOneTask():
    """
    Carga el gran json de tareas, extrae una tarea y lo guarda.

    Devuelve la tarea transformada en CL_trainer.
    Si no quedan tareas, devuelve None
    """
    # Cargamos el gran json de tareas
    big_task_json = info_handler.loadTheBigTaskJson()

    # Informamos de la cantidad de tareas que quedan
    sendMSG("Quedan  " + str(len(big_task_json)) + "  tareas por hacer.")

    # Comprobamos si quedan tareas para devolver
    if len(big_task_json) > 0:
        # Seleccionamos una tarea
        ret_key = list(big_task_json.keys())[0]

        # Extraemos la tarea (eliminandola del json)
        ret_jsoned_net = big_task_json.pop(ret_key)

        # Guardamos el json
        info_handler.saveTheBigTaskJson(big_task_json)

        # Devolvemos la tarea
        return info_handler.json2CL_trainer(ret_jsoned_net)
    else:
        sendMSG("No quedan tareas por hacer en el gran json de tareas",
                is_warning=True)
        return None
Пример #2
0
def showRanking(num_nets_to_show=-1):
    """
    Muestra el ranking usando el gran json de
    entrenamientos realizados.

    En el futuro se usara un diccionario ordenado, no teniendo que ordenar
    al cargar el json.
    """
    # Cargamos el gran json
    big_trained_json = info_handler.loadTheBigTrainedJson()

    # Transformamos a lista de CL_trainer
    net_list = []
    for key in big_trained_json:
        net = info_handler.json2CL_trainer(big_trained_json[key])
        net_list.append(net)

    # Ordenamos la lista
    sorted_net_list = sortNetPool(net_list)

    # Mostramos el ranking por pantalla con colores
    __printRanking(sorted_net_list,
                   colored_text=True,
                   num_nets_to_show=num_nets_to_show)

    # Obtenemos el ranking como str sin colores
    str_ranking = __printRanking(sorted_net_list,
                                 just_return_str=True,
                                 num_nets_to_show=num_nets_to_show,
                                 str_type="tab")

    # Enviamos ranking al admin
    sendMSG("Mostrando ranking de " + str(len(sorted_net_list)) + " redes:")
    sendMSG(str_ranking, dont_print=True)
Пример #3
0
def trainNetsForTestingRanking(num_nets):
    """
    Entrenamos un numero concreto de redes solo para testear que las diversas
    operaciones funcionan correctamente.
    """
    # Creamos una lista de redes
    train_list = createRandomNetPool(num_nets)

    # Entrenamos todas las redes
    trainNetPool(train_list)

    # Ordenamos el ranking
    train_list = sortNetPool(train_list)

    # Transformamos la lista a texto en json y viceversa
    new_list = []
    for net in train_list:
        json_data = info_handler.CL_trainer2json(net)
        new_obj = info_handler.json2CL_trainer(json_data)

        new_list.append(new_obj)

    # Mostramos el ranking
    printRanking(train_list)

    # Mostramos el ranking obtenido de hacer la transformacion a json y
    # viceversa. Deberia ser igual al ranking anterior
    printRanking(new_list)