Ejemplo n.º 1
0
 def derivadaElementosMatriz(self, camada):
     matriz = Matriz(camada.linhas, camada.colunas)
     for i in range(matriz.linhas):
         for j in range(matriz.colunas):
             matriz.matriz[i][j] = self.derivadaSigmoide(
                 camada.matriz[i][j])
     return matriz
Ejemplo n.º 2
0
 def predict(self, entrada):
     # Retorna saida basiado na entrada
     entrada = Matriz.matrizLinha(entrada)
     pesos_t = Matriz.transposta(self.pesos)
     soma = Matriz.mult(entrada, pesos_t)
     soma = Matriz.array(soma)
     soma[0] -= self.bias
     saida = Hebb(soma[0])
     return saida
Ejemplo n.º 3
0
 def treino(self, entrada, saida):
     entrada = Matriz.matrizLinha(entrada)
     pesos_t = Matriz.transposta(self.pesos)
     soma = Matriz.mult(entrada, pesos_t)
     soma.data[0][0] -= self.bias
     erro = saida - soma.data[0][0]
     delta = erro * self.taxa
     self.bias = delta * -1
     delta = Matriz.mult_escalar(entrada, delta)
     self.pesos = Matriz.soma(self.pesos, delta)
Ejemplo n.º 4
0
    def EQM(self, padroes, entrada, saida):
        eqm = 0
        x = 0
        pesos_t = Matriz.transposta(self.pesos)
        for i in entrada:
            i = Matriz.matrizLinha(i)
            u = Matriz.mult(i, pesos_t)
            u = u.data[0][0] - self.bias
            erro = saida[x] - u
            x += 1
            eqm += erro**2
        eqm = eqm / padroes
        return eqm

        eqm = soma / padroes
        return eqm
Ejemplo n.º 5
0
class TestInstanciarMatriz(unittest.TestCase):


    def setUp(self):
        self.matriz = Matriz(ordem=3)

    def test_matriz_ordem_3(self):
        self.matriz.representacao_matriz |should| equal_to([[],[],[]])

    def test_matriz_preenchida(self):
        self.matriz.set_matriz(a11=3, a12=1, a13=0, 
                               a21=0, a22=2, a23=-1, 
                               a31=0, a32=0, a33=3) \
                 |should| equal_to([[3, 1, 0],
                                    [0, 2,-1],
                                    [0, 0, 3]])

    def test_termo_independente(self):
        self.matriz.termo_independente(b1=4, b2=2, b3=0) |should| equal_to([4,2,0])
Ejemplo n.º 6
0
    def predict(self, entrada):
        # Entrada -> Oculta
        entrada = Matriz.matriz(entrada)
        oculta = Matriz.mult(self.pesos_EO, entrada)
        oculta = Matriz.soma(oculta, self.bias_EO)
        oculta = Matriz.sigmoid(oculta)

        # Oculta -> Saida
        saida = Matriz.mult(self.pesos_OS, oculta)
        saida = Matriz.soma(saida, self.bias_OS)
        saida = Matriz.sigmoid(saida)
        saida = Matriz.array(saida)
        return saida
Ejemplo n.º 7
0
    def feedfoward(self, lista):

        entrada = Matriz.array2object(lista)
        """ CAMADA DE ENTRADA PARA CAMADA OCULTA"""
        #print("\n------ CAMADA ENTRADA => CAMADA OCULTA -----")
        camada_oculta = Matriz.multiplicaDuasMatriz(self.pesos_entrada_oculta,
                                                    entrada)
        camada_oculta = Matriz.somarDuasMatriz(camada_oculta,
                                               self.bias_entrada_oculta)
        camada_oculta.aplicarSigmoid()
        #camada_oculta.printMatriz()
        """ CAMADA OCULTA PARA CAMADA DE SAIDA"""
        #print("\n------CAMADA OCULTA -> CAMADA SAIDA-----")
        camada_saida = Matriz.multiplicaDuasMatriz(self.pesos_oculta_saida,
                                                   camada_oculta)
        camada_saida = Matriz.somarDuasMatriz(camada_saida,
                                              self.bias_oculta_saida)
        camada_saida.aplicarSigmoid()
        #camada_saida.printMatriz()

        return camada_saida
class IndVoto:
	'''a classe IndVoto, representa o voto de um único individuo, representado por playerId
	'''
	curVoto = Matriz() #tabuleiro CURrent (atual) para o qual o jogador esta jogando
	playerId = -1 #identificador do jogador
	voto = PosPiece(-1, -1, -1, -1) #identifica o voto propriamente dito, ou seja, o lugar e a peça onde será votado.
	
	def __init__(self, _playerId, _x, _y, _piece, _pos):
		self.curVoto = Matriz()
		self.playerId = _playerId
		self.voto = PosPiece(_x, _y, _piece, _pos)
	

	def equal(self, v):
		return v.voto.equal(self.voto) and self.curVoto.equal(v.curVoto)
Ejemplo n.º 9
0
 def __init__(self, neoEnt, neoOcul, neoSai):
     self.neoEnt = neoEnt
     self.neoOcul = neoOcul
     self.neoSai = neoSai
     self.bias_EO = Matriz(neoOcul, 1)
     self.bias_EO.valor(1)
     self.bias_OS = Matriz(neoSai, 1)
     self.bias_OS.valor(1)
     self.pesos_EO = Matriz(neoOcul, neoEnt)
     self.pesos_OS = Matriz(neoSai, neoOcul)
     self.taxa_aprendizado = 0.2
Ejemplo n.º 10
0
    def __init__(self, nos_entrada, nos_oculto, nos_saida, learning_rate):
        self.nos_entrada = nos_entrada
        self.nos_oculto = nos_oculto
        self.nos_saida = nos_saida
        self.learning_rate = learning_rate

        print("\n------bias entrada para oculta---")
        self.bias_entrada_oculta = Matriz(self.nos_oculto, 1)
        self.bias_entrada_oculta.printMatriz()

        print("\n------bias oculta para saida---")
        self.bias_oculta_saida = Matriz(self.nos_saida, 1)
        self.bias_oculta_saida.printMatriz()

        print("\n------pesos entrada para oculta---")
        self.pesos_entrada_oculta = Matriz(self.nos_oculto, self.nos_entrada)
        self.pesos_entrada_oculta.printMatriz()

        print("\n------pesos da oculta para a saida-----")
        self.pesos_oculta_saida = Matriz(self.nos_saida, self.nos_oculto)
        self.pesos_oculta_saida.printMatriz()
Ejemplo n.º 11
0
    def treino(self, entrada, saidaFinal):
        # Verificando Resultado
        entrada = Matriz.matrizLinha(entrada)
        pesos_t = Matriz.transposta(self.pesos)
        soma = Matriz.mult(entrada, pesos_t)
        soma = Matriz.array(soma)
        soma[0] -= self.bias
        saida = Hebb(soma[0])
        erro = False

        # Atualizando Pesos
        if (saida != saidaFinal):
            taxaErro = saidaFinal - saida
            delta = Matriz.mult_escalar(entrada, self.taxa * taxaErro)
            self.pesos = Matriz.soma(delta, self.pesos)
            self.bias += (taxaErro * self.taxa * -1)
            erro = True
        return erro
Ejemplo n.º 12
0
class pruebas():

    habitaciones = listaSimple()
    calendario = Matriz()
    fecha = NodoMtx()
    pagos = AVL()
    bitacora = ArbolB()
    while (True):
        print "***Menu***"
        print "***1.- Insertar Habitacion***"
        print "***2.- Insertar Reservacion***"
        print "***3.- Insertar En AVL***"
        print "***4.- Eliminar***"
        print "***5.- Salir***"
        try:
            opcion = input("Elija Opcion: ")
            if opcion == 1:
                hab = raw_input("Habitacion: ")
                piso = raw_input("Piso: ")
                habitaciones.Add(hab, piso)
            if opcion == 2:
                Anho = "2017"
                Mes = "11"
                Dia = "19"
                codigo = "218"
                Extras = "3"
                usuario = "tato"
                calendario.CrearDiaMtx(Anho, Mes, Dia)
                fecha = calendario.BuscarDia(Anho, Mes, Dia)
                Reservacion = fecha.getTablaHash()
                Reservacion.AddNode(codigo, usuario, Extras)
                habitaciones.ModificarEstadoAOcupada(codigo)
                graficaMatriz = calendario.graficar()
                print graficaMatriz
                #arch = cola.Graficar()
            if opcion == 3:
                usuario = "tato"

                tarjeta = "29"
                tarjeta1 = "35"
                tarjeta2 = "02"
                tarjeta3 = "33"
                tarjeta4 = "05"
                tarjeta5 = "16"
                tarjeta6 = "19"
                tarjeta7 = "38"
                tarjeta8 = "17"
                tarjeta9 = "25"
                tarjeta10 = "20"
                tarjeta11 = "27"
                """
                tarjeta = "12345"
                tarjeta1 = "12349"
                tarjeta2 = "11345"
                tarjeta3 = "10041"
                tarjeta4 = "10002"
                tarjeta5 = "23548"
                tarjeta6 = "24555"
                """
                precio = "1500"
                pagos.agregar(tarjeta, usuario, precio)
                pagos.agregar(tarjeta1, usuario, precio)
                pagos.agregar(tarjeta2, usuario, precio)
                pagos.agregar(tarjeta3, usuario, precio)
                pagos.agregar(tarjeta4, usuario, precio)
                pagos.agregar(tarjeta5, usuario, precio)
                pagos.agregar(tarjeta6, usuario, precio)
                pagos.agregar(tarjeta7, usuario, precio)
                pagos.agregar(tarjeta8, usuario, precio)
                pagos.agregar(tarjeta9, usuario, precio)
                pagos.agregar(tarjeta10, usuario, precio)
                pagos.agregar(tarjeta11, usuario, precio)
                graficaavl = pagos.graficar()
                print graficaavl
            if opcion == 4:
                usuario = "tato"
                total = "1700"
                tarjeta = "12345"
                fechaOc = ""
                bitacora.crearNodoInsertar(31122017, "marco", "218", total,
                                           tarjeta, "31122017")
                bitacora.crearNodoInsertar(30042016, usuario, "320", total,
                                           tarjeta, "30042016", "03052016")
                bitacora.crearNodoInsertar(29032018, "juan", "135", total,
                                           tarjeta, "29032018")
                bitacora.crearNodoInsertar(28022017, usuario, "450", total,
                                           tarjeta, "28022017", "05022017")
                bitacora.crearNodoInsertar(15092019, usuario, "862", total,
                                           tarjeta, "15092019")
                graficaAB = bitacora.graficar()
                print graficaAB
            if opcion == 5:
                grafica = calendario.graficar()
                print grafica
            if opcion == 6:
                cadena = bitacora.BuscarNodo("tato")
                print cadena
        except:
            print "Ocurrio un Error"
Ejemplo n.º 13
0
    def backpropagation(self, entrada, esperado):
        """transformando a entrada em matriz"""
        entrada = Matriz.array2object(entrada)
        """feedfoward"""
        """ CAMADA DE ENTRADA PARA CAMADA OCULTA"""
        print("\n------ CAMADA ENTRADA => CAMADA OCULTA -----")
        camada_oculta = Matriz.multiplicaDuasMatriz(self.pesos_entrada_oculta,
                                                    entrada)
        camada_oculta = Matriz.somarDuasMatriz(camada_oculta,
                                               self.bias_entrada_oculta)
        camada_oculta.aplicarSigmoid()
        camada_oculta.printMatriz()
        """ CAMADA OCULTA PARA CAMADA DE SAIDA"""
        print("\n------CAMADA OCULTA -> CAMADA SAIDA-----")
        camada_saida = Matriz.multiplicaDuasMatriz(self.pesos_oculta_saida,
                                                   camada_oculta)
        camada_saida = Matriz.somarDuasMatriz(camada_saida,
                                              self.bias_oculta_saida)
        camada_saida.aplicarSigmoid()
        camada_saida.printMatriz()
        """backpropagation"""
        esperado = Matriz.array2object(esperado)
        """SAIDA P/ OCULTA"""
        """calculo do erro"""
        erro_de_saida = Matriz.subtrairMatriz(esperado, camada_saida)
        #erro_de_saida.printMatriz()

        derivada_da_saida = self.derivadaElementosMatriz(camada_saida)
        #derivada_da_saida.printMatriz()
        """multiplicacao hadamard"""
        gradiente = Matriz.hadamard(erro_de_saida, derivada_da_saida)
        #gradiente.printMatriz()
        """aplicando learning_rate"""
        gradiente = Matriz.produtoEscalar(gradiente, self.learning_rate)
        """AJUSTAR BIA"""
        self.bias_oculta_saida = Matriz.somarDuasMatriz(
            self.bias_oculta_saida, gradiente)
        """multiplicando pela camada oculta transposta"""
        oculta_transposta = Matriz.transporMatriz(camada_oculta)
        gradiente = Matriz.multiplicaDuasMatriz(gradiente, oculta_transposta)
        #gradiente.printMatriz()

        self.pesos_oculta_saida = Matriz.somarDuasMatriz(
            self.pesos_oculta_saida, gradiente)
        """"""
        """CAMADA OCULTA P/ ENTRADA """
        peso_oculta_saida_transposta = Matriz.transporMatriz(
            self.pesos_oculta_saida)
        erro_oculta = Matriz.multiplicaDuasMatriz(peso_oculta_saida_transposta,
                                                  erro_de_saida)
        #erro_oculta.printMatriz()
        """aplicando derivada camada oculta"""
        derivada_camada_oculta = self.derivadaElementosMatriz(camada_oculta)
        entrada_transposta = Matriz.transporMatriz(entrada)

        gradiente_oculta = Matriz.hadamard(erro_oculta, derivada_camada_oculta)
        gradiente_oculta = Matriz.produtoEscalar(gradiente_oculta,
                                                 self.learning_rate)
        """AJUSTAR BIA"""
        self.bias_entrada_oculta = Matriz.somarDuasMatriz(
            self.bias_entrada_oculta, gradiente_oculta)

        gradiente_oculta = Matriz.multiplicaDuasMatriz(gradiente_oculta,
                                                       entrada_transposta)
        self.pesos_entrada_oculta = Matriz.somarDuasMatriz(
            self.pesos_entrada_oculta, gradiente_oculta)
Ejemplo n.º 14
0
class NeuralNetwork(object):
    def __init__(self, nos_entrada, nos_oculto, nos_saida, learning_rate):
        self.nos_entrada = nos_entrada
        self.nos_oculto = nos_oculto
        self.nos_saida = nos_saida
        self.learning_rate = learning_rate

        print("\n------bias entrada para oculta---")
        self.bias_entrada_oculta = Matriz(self.nos_oculto, 1)
        self.bias_entrada_oculta.printMatriz()

        print("\n------bias oculta para saida---")
        self.bias_oculta_saida = Matriz(self.nos_saida, 1)
        self.bias_oculta_saida.printMatriz()

        print("\n------pesos entrada para oculta---")
        self.pesos_entrada_oculta = Matriz(self.nos_oculto, self.nos_entrada)
        self.pesos_entrada_oculta.printMatriz()

        print("\n------pesos da oculta para a saida-----")
        self.pesos_oculta_saida = Matriz(self.nos_saida, self.nos_oculto)
        self.pesos_oculta_saida.printMatriz()

    def feedfoward(self, lista):

        entrada = Matriz.array2object(lista)
        """ CAMADA DE ENTRADA PARA CAMADA OCULTA"""
        #print("\n------ CAMADA ENTRADA => CAMADA OCULTA -----")
        camada_oculta = Matriz.multiplicaDuasMatriz(self.pesos_entrada_oculta,
                                                    entrada)
        camada_oculta = Matriz.somarDuasMatriz(camada_oculta,
                                               self.bias_entrada_oculta)
        camada_oculta.aplicarSigmoid()
        #camada_oculta.printMatriz()
        """ CAMADA OCULTA PARA CAMADA DE SAIDA"""
        #print("\n------CAMADA OCULTA -> CAMADA SAIDA-----")
        camada_saida = Matriz.multiplicaDuasMatriz(self.pesos_oculta_saida,
                                                   camada_oculta)
        camada_saida = Matriz.somarDuasMatriz(camada_saida,
                                              self.bias_oculta_saida)
        camada_saida.aplicarSigmoid()
        #camada_saida.printMatriz()

        return camada_saida

    def backpropagation(self, entrada, esperado):
        """transformando a entrada em matriz"""
        entrada = Matriz.array2object(entrada)
        """feedfoward"""
        """ CAMADA DE ENTRADA PARA CAMADA OCULTA"""
        print("\n------ CAMADA ENTRADA => CAMADA OCULTA -----")
        camada_oculta = Matriz.multiplicaDuasMatriz(self.pesos_entrada_oculta,
                                                    entrada)
        camada_oculta = Matriz.somarDuasMatriz(camada_oculta,
                                               self.bias_entrada_oculta)
        camada_oculta.aplicarSigmoid()
        camada_oculta.printMatriz()
        """ CAMADA OCULTA PARA CAMADA DE SAIDA"""
        print("\n------CAMADA OCULTA -> CAMADA SAIDA-----")
        camada_saida = Matriz.multiplicaDuasMatriz(self.pesos_oculta_saida,
                                                   camada_oculta)
        camada_saida = Matriz.somarDuasMatriz(camada_saida,
                                              self.bias_oculta_saida)
        camada_saida.aplicarSigmoid()
        camada_saida.printMatriz()
        """backpropagation"""
        esperado = Matriz.array2object(esperado)
        """SAIDA P/ OCULTA"""
        """calculo do erro"""
        erro_de_saida = Matriz.subtrairMatriz(esperado, camada_saida)
        #erro_de_saida.printMatriz()

        derivada_da_saida = self.derivadaElementosMatriz(camada_saida)
        #derivada_da_saida.printMatriz()
        """multiplicacao hadamard"""
        gradiente = Matriz.hadamard(erro_de_saida, derivada_da_saida)
        #gradiente.printMatriz()
        """aplicando learning_rate"""
        gradiente = Matriz.produtoEscalar(gradiente, self.learning_rate)
        """AJUSTAR BIA"""
        self.bias_oculta_saida = Matriz.somarDuasMatriz(
            self.bias_oculta_saida, gradiente)
        """multiplicando pela camada oculta transposta"""
        oculta_transposta = Matriz.transporMatriz(camada_oculta)
        gradiente = Matriz.multiplicaDuasMatriz(gradiente, oculta_transposta)
        #gradiente.printMatriz()

        self.pesos_oculta_saida = Matriz.somarDuasMatriz(
            self.pesos_oculta_saida, gradiente)
        """"""
        """CAMADA OCULTA P/ ENTRADA """
        peso_oculta_saida_transposta = Matriz.transporMatriz(
            self.pesos_oculta_saida)
        erro_oculta = Matriz.multiplicaDuasMatriz(peso_oculta_saida_transposta,
                                                  erro_de_saida)
        #erro_oculta.printMatriz()
        """aplicando derivada camada oculta"""
        derivada_camada_oculta = self.derivadaElementosMatriz(camada_oculta)
        entrada_transposta = Matriz.transporMatriz(entrada)

        gradiente_oculta = Matriz.hadamard(erro_oculta, derivada_camada_oculta)
        gradiente_oculta = Matriz.produtoEscalar(gradiente_oculta,
                                                 self.learning_rate)
        """AJUSTAR BIA"""
        self.bias_entrada_oculta = Matriz.somarDuasMatriz(
            self.bias_entrada_oculta, gradiente_oculta)

        gradiente_oculta = Matriz.multiplicaDuasMatriz(gradiente_oculta,
                                                       entrada_transposta)
        self.pesos_entrada_oculta = Matriz.somarDuasMatriz(
            self.pesos_entrada_oculta, gradiente_oculta)

    """derivada sigmoid  = sigmoid * (1 - sigmoid) """

    def derivadaSigmoide(self, x):
        return x * (1 - x)

    """aplicando derivada em toda matriz"""

    def derivadaElementosMatriz(self, camada):
        matriz = Matriz(camada.linhas, camada.colunas)
        for i in range(matriz.linhas):
            for j in range(matriz.colunas):
                matriz.matriz[i][j] = self.derivadaSigmoide(
                    camada.matriz[i][j])
        return matriz
	def __init__(self, _playerId, _x, _y, _piece, _pos):
		self.curVoto = Matriz()
		self.playerId = _playerId
		self.voto = PosPiece(_x, _y, _piece, _pos)
Ejemplo n.º 16
0
 def test_matriz_1x2(self):
     matriz = Matriz()
     esperado = 0
     resposta = matriz.matrix()[1][2]
     self.assertEqual(resposta, esperado)
Ejemplo n.º 17
0
 def criar_matriz(self, dimensao):
     """ Cria uma matriz """
     #self._matriz = Matriz().aleatoria(dimensao)
     self._matriz = Matriz().ler_fixa()
Ejemplo n.º 18
0
 def __init__(self, neuronios):
     self.neuronios = neuronios
     self.pesos = Matriz(1, neuronios)
     self.bias = random()
     self.taxa = 0.0025
     self.precisao = 0.0000001
Ejemplo n.º 19
0
from matriz import Matriz

if __name__ == "__main__":
    a = Matriz(2, 2)
    for i in range(a.linhas):
        for j in range(a.colunas):
            a[i][j] = i

    print(a.matriz)
Ejemplo n.º 20
0
import os
import json
import time
from matriz import Matriz
from sonido import Sonido
from temperatura import Temperatura

matriz = Matriz()
sonido = Sonido()
temperatura = Temperatura()

def acciones():
    print ("Sonido Detectado!")
    temp_data = temperatura.datos_sensor()
    temp_formateada = 'Temperatura = {0:0.1f}°C  Humedad = {1:0.1f}%'.format(temp_data['temperatura'], temp_data['humedad'])
    matriz.mostrar_mensaje(temp_formateada, delay=0.08, font=2)
    
def leer_temp():
    info_temperatura = temperatura.datos_sensor()
    info_temperatura.update({"fecha": str(time.asctime(time.localtime(time.time())))})
    return info_temperatura
 
def guardar_temp(info):
    with open(os.path.join("archivos_texto", "ultimo_log_temperatura.json"), "r") as log_file:
        try:
            lista_de_temperaturas = json.load(log_file)
        except Exception:
            # En caso de que el json no sea una lista
            lista_de_temperaturas = []
    lista_de_temperaturas.append(info)
    with open(os.path.join("archivos_texto", "ultimo_log_temperatura.json"), "w") as log_file:
Ejemplo n.º 21
0
class RedeNeural:
    def __init__(self, neoEnt, neoOcul, neoSai):
        self.neoEnt = neoEnt
        self.neoOcul = neoOcul
        self.neoSai = neoSai
        self.bias_EO = Matriz(neoOcul, 1)
        self.bias_EO.valor(1)
        self.bias_OS = Matriz(neoSai, 1)
        self.bias_OS.valor(1)
        self.pesos_EO = Matriz(neoOcul, neoEnt)
        self.pesos_OS = Matriz(neoSai, neoOcul)
        self.taxa_aprendizado = 0.2

    def treino(self, entrada, saidaFinal):
        # Entrada -> Oculta
        entrada = Matriz.matriz(entrada)
        oculta = Matriz.mult(self.pesos_EO, entrada)
        oculta = Matriz.soma(oculta, self.bias_EO)
        oculta = Matriz.sigmoid(oculta)

        # Oculta -> Saida
        saida = Matriz.mult(self.pesos_OS, oculta)
        saida = Matriz.soma(saida, self.bias_OS)
        saida = Matriz.sigmoid(saida)

        #BACKPROPAGATION

        #Saida -> Oculta
        saidaFinal = Matriz.matriz(saidaFinal)
        saida_error = Matriz.sub(saidaFinal, saida)
        deriv_saida = Matriz.derivadaSigmoid(saida)
        oculta_t = Matriz.transposta(oculta)
        gradient_OS = Matriz.hadamard(deriv_saida, saida_error)
        gradient_OS = Matriz.mult_escalar(gradient_OS, self.taxa_aprendizado)
        delta_pesos_OS = Matriz.mult(gradient_OS, oculta_t)

        #Oculta -> Entrada
        pesos_OS_t = Matriz.transposta(self.pesos_OS)
        oculta_error = Matriz.mult(pesos_OS_t, saida_error)
        deriv_oculta = Matriz.derivadaSigmoid(oculta)
        entrada_t = Matriz.transposta(entrada)
        gradient_EO = Matriz.hadamard(deriv_oculta, oculta_error)
        gradient_EO = Matriz.mult_escalar(gradient_EO, self.taxa_aprendizado)
        delta_pesos_EO = Matriz.mult(gradient_EO, entrada_t)

        #Atualizando Pesos
        self.pesos_OS = Matriz.soma(self.pesos_OS, delta_pesos_OS)
        self.pesos_EO = Matriz.soma(self.pesos_EO, delta_pesos_EO)

    def predict(self, entrada):
        # Entrada -> Oculta
        entrada = Matriz.matriz(entrada)
        oculta = Matriz.mult(self.pesos_EO, entrada)
        oculta = Matriz.soma(oculta, self.bias_EO)
        oculta = Matriz.sigmoid(oculta)

        # Oculta -> Saida
        saida = Matriz.mult(self.pesos_OS, oculta)
        saida = Matriz.soma(saida, self.bias_OS)
        saida = Matriz.sigmoid(saida)
        saida = Matriz.array(saida)
        return saida
Ejemplo n.º 22
0
 def setUp(self):
     self.matriz = Matriz(ordem=3)
Ejemplo n.º 23
0
 def test_matriz_9x8(self):
     matriz = Matriz()
     esperado = 0
     resposta = matriz.matrix()[9][8]
     self.assertEqual(resposta, esperado)
Ejemplo n.º 24
0
from matriz import Matriz

if __name__ == "__main__":

    m = Matriz([[0, 2, 1], [4, 5, 1], [8, 9, 1]])

    print('---- Rotação -----')
    print(m.rotacao(1, 1, 60))
    print('')

    print('---- Translação -----')
    print(m.translacao(3, 4))
    print('')

    print('---- Escalonamento -----')
    print(m.escalonamento(3, 4))
Ejemplo n.º 25
0
from matriz import Matriz
from ponto import Ponto
from caixeiroViajante import *
from datetime import datetime

matriz = Matriz(24)

ponto1 = Ponto('A')
ponto2 = Ponto('B')
ponto3 = Ponto('C')
ponto4 = Ponto('D')
ponto5 = Ponto('E')
ponto6 = Ponto('F')
ponto7 = Ponto('G')
ponto8 = Ponto('H')
ponto9 = Ponto('I')
ponto10 = Ponto('J')
ponto11 = Ponto('K')
ponto12 = Ponto('L')
ponto13 = Ponto('M')
ponto14 = Ponto('N')
ponto15 = Ponto('O')
ponto16 = Ponto('P')
ponto17 = Ponto('Q')
ponto18 = Ponto('R')
ponto19 = Ponto('S')
ponto20 = Ponto('T')
ponto21 = Ponto('U')
ponto22 = Ponto('V')
ponto23 = Ponto('X')
ponto24 = Ponto('Y')
Ejemplo n.º 26
0
 def __init__(self, neuronios):
     # Declarando Valores Iniciais
     self.neoronios = neuronios
     self.pesos = Matriz(1, neuronios)
     self.bias = -1
     self.taxa = 0.01
Ejemplo n.º 27
0
    def treino(self, entrada, saidaFinal):
        # Entrada -> Oculta
        entrada = Matriz.matriz(entrada)
        oculta = Matriz.mult(self.pesos_EO, entrada)
        oculta = Matriz.soma(oculta, self.bias_EO)
        oculta = Matriz.sigmoid(oculta)

        # Oculta -> Saida
        saida = Matriz.mult(self.pesos_OS, oculta)
        saida = Matriz.soma(saida, self.bias_OS)
        saida = Matriz.sigmoid(saida)

        #BACKPROPAGATION

        #Saida -> Oculta
        saidaFinal = Matriz.matriz(saidaFinal)
        saida_error = Matriz.sub(saidaFinal, saida)
        deriv_saida = Matriz.derivadaSigmoid(saida)
        oculta_t = Matriz.transposta(oculta)
        gradient_OS = Matriz.hadamard(deriv_saida, saida_error)
        gradient_OS = Matriz.mult_escalar(gradient_OS, self.taxa_aprendizado)
        delta_pesos_OS = Matriz.mult(gradient_OS, oculta_t)

        #Oculta -> Entrada
        pesos_OS_t = Matriz.transposta(self.pesos_OS)
        oculta_error = Matriz.mult(pesos_OS_t, saida_error)
        deriv_oculta = Matriz.derivadaSigmoid(oculta)
        entrada_t = Matriz.transposta(entrada)
        gradient_EO = Matriz.hadamard(deriv_oculta, oculta_error)
        gradient_EO = Matriz.mult_escalar(gradient_EO, self.taxa_aprendizado)
        delta_pesos_EO = Matriz.mult(gradient_EO, entrada_t)

        #Atualizando Pesos
        self.pesos_OS = Matriz.soma(self.pesos_OS, delta_pesos_OS)
        self.pesos_EO = Matriz.soma(self.pesos_EO, delta_pesos_EO)
Ejemplo n.º 28
0
from matriz import Matriz
from ponto import Ponto
from caixeiroViajante import *
from datetime import datetime

matriz = Matriz(9)

ponto1 = Ponto('A')
ponto2 = Ponto('B')
ponto3 = Ponto('C')
ponto4 = Ponto('D')
ponto5 = Ponto('E')
ponto6 = Ponto('F')
ponto7 = Ponto('G')

matriz.inserirElemento(0,0,ponto1)
matriz.inserirElemento(6,1,ponto2)
matriz.inserirElemento(3,2,ponto3)
matriz.inserirElemento(2,5,ponto4)
matriz.inserirElemento(5,6,ponto5)
matriz.inserirElemento(1,7,ponto6)
matriz.inserirElemento(4,8,ponto7)

print("Problema bitônico euclidiano do caixeiro-viajante:")
matriz.mostrarMatriz(matriz) #Print da matriz
print(" ")

# Registra o momento antes da execução do algoritmo
t0 = datetime.now()

# Roda o algoritmo 10 vezes
Ejemplo n.º 29
0
 def test_matriz_5x5(self):
     matriz = Matriz()
     esperado = 1
     resposta = matriz.matrix()[5][5]
     self.assertEqual(resposta, esperado)
Ejemplo n.º 30
0
 def predict(self, entrada):
     entrada = Matriz.matrizLinha(entrada)
     pesos_t = Matriz.transposta(self.pesos)
     soma = Matriz.mult(entrada, pesos_t)
     soma.data[0][0] -= self.bias
     return Hebb(soma.data[0][0])
Ejemplo n.º 31
0
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
from matriz import Matriz
from sonido import Sonido
from temperatura import Temperatura

# Conexión de los sensores en sus respectivos pines
# Matriz --> vcc: 2, gnd: 6, din: 19, cs: 24, clk: 23
# Sonido --> a0: 7, gnd: 9, vc: 3, d0: 15
# Temperatura --> vcc: 1, sda: 11, clk: 14

# Activamos los sensores que vamos a usar
matriz = Matriz(numero_matrices=2, ancho=16)
sonido = Sonido()
temperatura = Temperatura()


def acciones():
    print("Sonido Detectado!")
    temp_data = temperatura.datos_sensor()
    temp_formateada = 'Temperatura = {0:0.1f}°C  Humedad = {1:0.1f}%'.format(
        temp_data['temperatura'], temp_data['humedad'])

    matriz.mostrar_mensaje(temp_formateada, delay=0.08, font=2)


def periodica():
    fileOfTemp = open('ultimo_log_temperatura.json', 'r+')

    while True:
Ejemplo n.º 32
0
 def test_matriz_0x0(self):
     matriz = Matriz()
     esperado = 1
     resposta = matriz.matrix()[0][0] 
     self.assertEqual(resposta, esperado)
Ejemplo n.º 33
0
 def criar_matriz(self, dimensao):
     """ Cria uma matriz """
     self._matriz = Matriz().aleatoria(dimensao)
Ejemplo n.º 34
0
def sub(self, b):
    c = Matriz(self.linhas, self.colunas)
    for i in range(self.linhas):
        for j in range(self.colunas):
            c[i][j] = self[i][j] - b[i][j]
    return c