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 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
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)
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
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])
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
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)
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 __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 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
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"
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)
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)
def test_matriz_1x2(self): matriz = Matriz() esperado = 0 resposta = matriz.matrix()[1][2] self.assertEqual(resposta, esperado)
def criar_matriz(self, dimensao): """ Cria uma matriz """ #self._matriz = Matriz().aleatoria(dimensao) self._matriz = Matriz().ler_fixa()
def __init__(self, neuronios): self.neuronios = neuronios self.pesos = Matriz(1, neuronios) self.bias = random() self.taxa = 0.0025 self.precisao = 0.0000001
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)
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:
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
def setUp(self): self.matriz = Matriz(ordem=3)
def test_matriz_9x8(self): matriz = Matriz() esperado = 0 resposta = matriz.matrix()[9][8] self.assertEqual(resposta, esperado)
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))
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')
def __init__(self, neuronios): # Declarando Valores Iniciais self.neoronios = neuronios self.pesos = Matriz(1, neuronios) self.bias = -1 self.taxa = 0.01
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)
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
def test_matriz_5x5(self): matriz = Matriz() esperado = 1 resposta = matriz.matrix()[5][5] self.assertEqual(resposta, esperado)
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])
#!/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:
def test_matriz_0x0(self): matriz = Matriz() esperado = 1 resposta = matriz.matrix()[0][0] self.assertEqual(resposta, esperado)
def criar_matriz(self, dimensao): """ Cria uma matriz """ self._matriz = Matriz().aleatoria(dimensao)
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