Beispiel #1
0
def options():
    printc("cyan", "1. Ver dados padrões.")
    printc("cyan", "2. Ver dados customizados.")
    printc("cyan", "3. Gerar dados aleatórios.")
    printc("cyan", "4. Instruções.")
    printc("cyan", "5. Voltar.\n")
    option = input("Insira a opção desejada: ")
    aux.clear_screen()
    if (option == '1'):
        printData()
        aux.press_enter()
        menu()
    elif (option == '2'):
        printData("custom")
        aux.press_enter()
        menu()
    elif (option == '3'):
        generateRandomData()
        aux.press_enter()
        menu()
    elif (option == '4'):
        texts.instructions()
        aux.press_enter()
        menu()
    elif (option == '5'):
        aux.clear_screen()
        return
    else:
        menu(True)
Beispiel #2
0
def options():
    learning_rate, minibatch, trainset, testset, epochs = get_configs()
    printc("cyan", "1. Learning rate: \033[1;33m" + str(learning_rate))
    printc("cyan", "2. Minibatch: \033[1;33m" + str(minibatch))
    printc("cyan", "3. Conjunto de treino: \033[1;33m" + str(trainset))
    printc("cyan", "4. Conjunto de teste: \033[1;33m" + str(testset))
    printc("cyan", "5. Épocas: \033[1;33m" + str(epochs))
    printc("cyan", "6. Voltar.\n")
    option = input("Insira a opção desejada: ")
    aux.clear_screen()
    if (option == '1'):
        x = input("Insira o novo valor: ")
        set_configs('learning_rate', x)
        menu()
    elif (option == '2'):
        x = input("Insira o novo valor: ")
        set_configs('minibatch', x)
        menu()
    elif (option == '3'):
        x = input("Insira o novo valor: ")
        set_configs('trainset', x)
        menu()
    elif (option == '4'):
        x = input("Insira o novo valor: ")
        set_configs('testset', x)
        menu()
    elif (option == '5'):
        x = input("Insira o novo valor: ")
        set_configs('epochs', x)
        menu()
    elif (option == '6'):
        return
    else:
        menu(True)
Beispiel #3
0
def instruction3():
    aux.clear_screen()
    text = [
        "Como inserir novos algoritmos:", "", "-> Inserindo em código:", "",
        "   O módulo com seu código deve estar na pasta \"~/modules\".",
        "   Abra o arquivo \"algorithms.py\" e, na sessão indicada por",
        "   comentários no código, insira as informações e o algoritmo",
        "   nos devidos locais instruídos. Bem como, deve-se importar",
        "   um módulo em python, com seu algoritmo, no local indicado.",
        "   Caso seu algoritmo não esteja em python, deve-se realizar ",
        "   uma interação entre as linguagens. Isto foi feito para nosso",
        "   algoritmo (dfs) e pode ser visualizado no arquivo \"dfs.py\".", "",
        "-> Formato dos retorno dos resultados:", "",
        "   Os resultados retornados pelo módulo em python devem estar",
        "   em um array, onde cada elemento é uma linha, terminada por",
        "   \"\\n\", se quiser ter uma quebra de linha. Recomendamos que",
        "   se leve em conta o tamanho do terminal na escritura dos",
        "   resultados. Uma maneira fácil de fazer isto é escrevendo os ",
        "   resultados em um arquivo de texto, com a formatação de seu",
        "   gosto, e ler as linhas do arquivo para um array. O que também",
        "   foi feito no módulo \"dfs.py\"."
    ]
    b.normal_blox(text, "@", 76, "white", True)
    print()
    aux.press_enter()
    aux.clear_screen()
def options():
    printc("cyan", "1. Enunciado e análise.")
    printc("cyan", "2. Ver ou inserir dados.")
    printc("cyan", "3. Resolução.")
    printc("cyan", "4. Configurações.")
    printc("cyan", "5. Créditos.")
    printc("cyan", "6. Sair.\n")
    option = input("Insira a opção desejada: ")
    aux.clear_screen()
    if (option == '1'):
        texts.problemAnalysis()
        aux.press_enter()
        menu()
    elif (option == '2'):
        dataManip.menu()
        menu()
    elif (option == '3'):
        resolution.menu()
        menu()
    elif (option == '4'):
        configs.menu()
        menu()
    elif (option == '5'):
        texts.credit()
        aux.press_enter()
        menu()
    elif (option == '6'):
        aux.clear_screen()
        exit(0)
    else:
        menu(True)
Beispiel #5
0
def show_results(alg):
    aux.clear_screen()
    t.header(alg)
    aux.printc("bwhite", "Resultados:")
    print()
    for i in results:
        print(i, end='')
    print()
    aux.press_enter()
Beispiel #6
0
def getPrecision(op='standard'):
    if (op == 'standard'): return 10**-5
    precision = input("Especifique a precisão (exemplo: 10e-6): ")
    aux.clear_screen()
    separator = 0
    for i in precision:
        if (i == 'e'): break
        separator += 1
    base = int(precision[:separator])
    exponent = int(precision[separator + 1:])
    return base**exponent
Beispiel #7
0
def options():
	learning_rate, minibatch, trainset, testset, epochs = config.get_configs()
	printc("cyan","1. Visualizar arquitetura.")
	printc("cyan","2. Treinar rede.")
	printc("cyan","3. Testar rede.")
	printc("cyan","4. Predição individual.")
	printc("cyan","5. Carregar modelo.")
	printc("cyan","6. Salvar modelo.")
	printc("cyan","7. Resetar pesos.")
	printc("cyan","8. Configurações.")
	printc("cyan","9. Créditos.")
	printc("cyan","10. Sair.\n")
	option = input("Insira a opção desejada: ")
	aux.clear_screen()
	if(option=='1'):
		actions.print_model(net, minibatch)
		aux.press_enter()
		menu()
	elif(option=='2'):
		actions.train(net, epochs, trainset, minibatch, learning_rate) # (net, epochs, trainset, minibatch, learning rate)
		aux.press_enter()
		menu()
	elif(option=='3'):
		actions.test(net, testset, minibatch) # (net, testset, minibatch)
		aux.press_enter()
		menu()
	elif(option=='4'):
		actions.pred(net, minibatch)
		aux.press_enter()
		menu()
	elif(option=='5'):
		dm.load_model(net)
		menu()
	elif(option=='6'):
		dm.save_model(net)
		aux.press_enter()
		menu()
	elif(option=='7'):
		dm.reset_weights(net)
		menu()
	elif(option=='8'):
		config.menu()
		menu()
	elif(option=='9'):
		texts.credit()
		aux.press_enter()
		menu()
	elif(option=='10'):
		aux.clear_screen()
		exit(0)
	else:
		menu(True)
def menu(error_message=False):
    aux.clear_screen()
    a = getDataInputConfigs()
    if (a == 0): return
    texts.print_blox("CONFIGURAÇÕES")
    if (error_message):
        aux.error_option()
    print("Formato dos dados: ", end="")
    if (a == '1'):
        aux.printc("purple", "Matrizes e vetores separados em arquivos.\n")
    elif (a == '0'):
        aux.printc("purple", "Os 2 sistemas em um só arquivo.\n")
    options()
def options():
    aux.printc("cyan", "1. Alterar formato de obtenção dos dados.")
    aux.printc("cyan", "2. Voltar.\n")
    option = input("Insira a opção desejada: ")
    aux.clear_screen()
    if (option == '1'):
        actual = getDataInputConfigs()
        if (actual == '0'): setDataInputConfigs("apart")
        else: setDataInputConfigs("together")
        menu()
    elif (option == '2'):
        aux.clear_screen()
        return
    else:
        menu(True)
Beispiel #10
0
def instruction1():
    aux.clear_screen()
    text = [
        "Como utilizar o programa:", "",
        "   Escolha a opção \"Iniciar\", então escolha o algoritmo que deseja",
        "   executar. ", "",
        "   Após isto, escolha o grafo no qual deseja usar o algoritmo.", "",
        "   Por fim, escolha a opção \"Executar\".", "",
        "   Para visualizar os resultados novamente escolha \"Visualizar ",
        "   resultados\".", "",
        "   Se desejar visualizar o grafo escolha \"Visualizar grafo\"."
    ]
    b.normal_blox(text, "@", 76, "white", True)
    print()
    aux.press_enter()
    aux.clear_screen()
Beispiel #11
0
def general_menu(header_title="MENU",
                 options="main_options",
                 alg="",
                 graph="",
                 error=False,
                 error2=False,
                 error2n=3):
    aux.clear_screen()
    header(header_title)
    if (error): aux.error_msg()
    if (error2): aux.error_msg(error2n)
    print("\n")
    cursor_up = call_options(options, alg, graph)
    aux.cursor_up(cursor_up)
    op = input("Escolha uma opção: ")
    aux.clear_screen()
    return op
Beispiel #12
0
def choose_custom(alg):
    x = ""
    graphs = os.listdir("modules/Grafos")
    while (x not in graphs):
        aux.clear_screen()
        t.header(alg)
        print()
        aux.printc("yellow", "Grafos encontrados:\n")
        for i in graphs:
            aux.printc("lyellow", i)
        print("")
        x = input("Escolha um grafo (ou exit para voltar): ")
        if (x == "exit"): return ""
        elif (x not in graphs):
            print()
            aux.error_msg(3)
            aux.press_enter()
    return x
Beispiel #13
0
def instruction2():
    aux.clear_screen()
    text = [
        "Como adicionar grafos personalizados:", "",
        "-> Grafos personalizados:", "",
        "   O arquivo de grafo tem extensão \".txt\" e suas linhas devem",
        "   conter o seguinte formato:",
        "   > Primeira linha - número de vértices e de arestas, nesta ordem e",
        "   separados por um espaço",
        "   > Linhas seguintes - primeiro vértice, segundo vértice e peso (ou",
        "   distância) da aresta, nesta ordem e separados por um espaço.", "",
        "-> Inserir / Remover os arquivos personalizados:", "",
        "   Os arquivos estão localizados no caminho \"~/modules/Grafos\"."
    ]
    b.normal_blox(text, "@", 76, "white", True)
    print()
    aux.press_enter()
    aux.clear_screen()
Beispiel #14
0
def options():
    printc("cyan", "1. Usar dados padrões.")
    printc("cyan", "2. Usar dados customizados.")
    printc("cyan", "3. Voltar.\n")
    option = input("Insira a opção desejada: ")
    aux.clear_screen()
    if (option == '1'):
        solve()
        aux.press_enter()
        menu()
    elif (option == '2'):
        solve("custom")
        aux.press_enter()
        menu()
    elif (option == '3'):
        aux.clear_screen()
        return
    else:
        menu(True)
Beispiel #15
0
def random_menu(alg):
    while True:
        aux.clear_screen()
        t.header(alg)
        print()
        vertex = input("Informe a quantidade de vértices do grafo: ")
        if (not vertex.isdigit()):
            aux.printc("red", "\nPor favor digite um inteiro positivo.")
            aux.press_enter()
            continue
        vertex = int(vertex)
        ans = input("Quer um grafo completo? (s/n): ").lower()
        if (ans != 's' and ans != 'n'):
            aux.printc("red",
                       "\nPor favor digite apenas \'s\' ou \'n\' (sem o \')")
            aux.press_enter()
            continue
        complete = True if ans == 's' else False
        if (complete): connected = True
        else:
            ans = input("O grafo é conexo? (s/n): ").lower()
            if (ans != 's' and ans != 'n'):
                aux.printc(
                    "red",
                    "\nPor favor digite apenas \'s\' ou \'n\' (sem o \')")
                aux.press_enter()
                continue
            connected = True if ans == 's' else False
        aux.printc("yellow",
                   "\nInforme o nome com o qual deseja salvar o arquivo")
        aux.printc("yellow", "que contém o grafo (sem a extensão), ou apenas")
        filename = input(
            "\033[1;33mpressione enter para salvar como \"random.txt\": \033[0m"
        ) + ".txt"
        if (filename == ".txt"): filename = "random.txt"
        print()
        rg.generate(vertex, complete, connected, filename)
        return filename
Beispiel #16
0
def credits():
    aux.clear_screen()
    text = [
        "UECE - Universidade Estadual do Ceará",
        "Curso de Ciência da Computação",
        "Disciplina de Teoria dos Grafos",
        "",
        "Docente:",
        "Mestra Camila Campos Colares das Dores",
        "",
        "Discentes:",
        "Gabriel Furtado Lins Melo",
        "José Gabriel Uchoa Holanda",
        "Lucas Almeida Aguiar",
        "Vinicius Amaro Sampaio",
        "",
        "Linguagens de Desenvolvimento:",
        "Python 3",
        "C++",
    ]
    b.normal_blox(text, size=74, color="white")
    print()
    aux.press_enter()
    aux.clear_screen()
Beispiel #17
0
def menu(error_message=False):
	aux.clear_screen()
	texts.print_blox()
	if(error_message):
		aux.error_option()
	options()
Beispiel #18
0
def openData(op="standard"):
    a = getDataInputConfigs()

    if (op == "standard"):
        file_path = os.path.join(os.path.dirname(__file__), "data", "together",
                                 "standard")

    elif (op == "custom"):

        if (a == '0'):
            listdir_nohidden("data/together")
            filename = input("\nInsira o nome do arquivo que deseja usar: ")
            file_path = os.path.join(os.path.dirname(__file__), "data",
                                     "together", filename)

        elif (a == '1'):
            listdir_nohidden("data/apart")
            A1 = input("\nInsira o nome do arquivo da matriz A1: ")
            A1_path = os.path.join(os.path.dirname(__file__), "data", "apart",
                                   A1)
            if (not os.path.isfile(A1_path)):
                printc("red", "O arquivo " + A1_path + " não foi encontrado!")
                return 0
            b1 = input("Insira o nome do arquivo do vetor b1: ")
            b1_path = os.path.join(os.path.dirname(__file__), "data", "apart",
                                   b1)
            if (not os.path.isfile(b1_path)):
                printc("red", "O arquivo " + b1_path + " não foi encontrado!")
                return 0
            A2 = input("Insira o nome do arquivo da matriz A2: ")
            A2_path = os.path.join(os.path.dirname(__file__), "data", "apart",
                                   A2)
            if (not os.path.isfile(A2_path)):
                printc("red", "O arquivo " + A2_path + " não foi encontrado!")
                return 0
            b2 = input("Insira o nome do arquivo do vetor b2: ")
            b2_path = os.path.join(os.path.dirname(__file__), "data", "apart",
                                   b2)
            if (not os.path.isfile(b2_path)):
                printc("red", "O arquivo " + b2_path + " não foi encontrado!")
                return 0

            aux.clear_screen()
            with open(A1_path, 'r') as f:
                A1 = np.loadtxt(f)
            with open(b1_path, 'r') as f:
                b1 = np.loadtxt(f)
            with open(A2_path, 'r') as f:
                A2 = np.loadtxt(f)
            with open(b2_path, 'r') as f:
                b2 = np.loadtxt(f)
            matrix = systemToMatrix(A1, b1, A2, b2)
            return matrix

    if (a == '0' or op == "standard"):
        aux.clear_screen()
        if (os.path.isfile(file_path)):
            if (os.path.getsize(file_path) > 0):
                with open(file_path, 'r') as f:
                    matrix = np.loadtxt(
                        f, comments='S')  # ignora as linhas começadas com 'S'
                    return matrix
            else:
                printc("red", "O arquivo " + file_path + " está vazio!")
                return 0
        else:
            printc("red", "O arquivo " + file_path + " não foi encontrado!")
            return 0