{"nbformat":4,"nbformat_minor":0,"metadata":{"accelerator":"GPU","colab":{"name":"Classificação de Sequências-GRU.ipynb","provenance":[],"collapsed_sections":[],"authorship_tag":"ABX9TyM4D023QOGnkkQJXatAtmLz"},"kernelspec":{"display_name":"Python 3","name":"python3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"gmai_ryJVhd5"},"source":["# Classificando nomes com uma *Character-Level RNN*\n","\n","Esse notebook foi criado com base no tutorial do PyTorch: <br> \n","https://github.com/spro/practical-pytorch/blob/master/char-rnn-classification/char-rnn-classification.ipynb"]},{"cell_type":"markdown","metadata":{"id":"goO_pZBdVzrf"},"source":["### Problema: Dado um nome próprio de entrada, classificar esse nome de acordo com a nacionalidade a que ele pertence.\n","\n","Entrada: **Hinton**\n","\n","(-0.47) Scottish\n","\n","(-1.52) English\n","\n","(-3.57) Irish\n","\n","\n","-\n","\n","Entrada: **Schmidhuber**\n","\n","(-0.19) German\n","\n","(-2.48) Czech\n","\n","(-2.68) Dutch"]},{"cell_type":"markdown","metadata":{"id":"lliVTIikWKQf"},"source":["### Import de bibliotecas"]},{"cell_type":"code","metadata":{"id":"Y2lbiDXXUNGM","executionInfo":{"status":"ok","timestamp":1605621847492,"user_tz":180,"elapsed":4689,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}}},"source":["# Para os dados\n","import unicodedata\n","import string\n","import sys, random, os\n","\n","# Para o processamento e análise\n","import torch\n","from torch import nn\n","import numpy as np\n","import seaborn as sns\n","sns.set_style('darkgrid')\n","import matplotlib.pyplot as plt\n","%matplotlib inline"],"execution_count":2,"outputs":[]},{"cell_type":"code","metadata":{"id":"iIvPHo3Or62y","executionInfo":{"status":"ok","timestamp":1605621850429,"user_tz":180,"elapsed":823,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}}},"source":["args = {\n","    'lr': 5e-5,\n","    'regularizacao': 1e-7,\n","    'num_epocas': 40,\n","}\n","args['device'] = torch.device('cuda' if torch.cuda.is_available() else 'cpu')"],"execution_count":3,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"mVssEJvAiaHp"},"source":["## Dados de entrada"]},{"cell_type":"markdown","metadata":{"id":"XjtvooS3WsIB"},"source":["### Importando dataset"]},{"cell_type":"code","metadata":{"id":"Smrb3GKqWsVu","executionInfo":{"status":"ok","timestamp":1605621868336,"user_tz":180,"elapsed":1081,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}},"outputId":"ff368598-e30a-4194-9e97-f1d085b30acd","colab":{"base_uri":"https://localhost:8080/"}},"source":["# comente as duas linhas seguintes caso rode mais de uma vez\n","!wget https://download.pytorch.org/tutorial/data.zip #\n","!unzip data.zip #\n","############################################################"],"execution_count":4,"outputs":[{"output_type":"stream","text":["--2020-11-17 14:04:27--  https://download.pytorch.org/tutorial/data.zip\n","Resolving download.pytorch.org (download.pytorch.org)... 13.32.204.93, 13.32.204.49, 13.32.204.34, ...\n","Connecting to download.pytorch.org (download.pytorch.org)|13.32.204.93|:443... connected.\n","HTTP request sent, awaiting response... 200 OK\n","Length: 2882130 (2.7M) [application/zip]\n","Saving to: ‘data.zip’\n","\n","\rdata.zip              0%[                    ]       0  --.-KB/s               \rdata.zip            100%[===================>]   2.75M  --.-KB/s    in 0.03s   \n","\n","2020-11-17 14:04:27 (99.0 MB/s) - ‘data.zip’ saved [2882130/2882130]\n","\n","Archive:  data.zip\n","   creating: data/\n","  inflating: data/eng-fra.txt        \n","   creating: data/names/\n","  inflating: data/names/Arabic.txt   \n","  inflating: data/names/Chinese.txt  \n","  inflating: data/names/Czech.txt    \n","  inflating: data/names/Dutch.txt    \n","  inflating: data/names/English.txt  \n","  inflating: data/names/French.txt   \n","  inflating: data/names/German.txt   \n","  inflating: data/names/Greek.txt    \n","  inflating: data/names/Irish.txt    \n","  inflating: data/names/Italian.txt  \n","  inflating: data/names/Japanese.txt  \n","  inflating: data/names/Korean.txt   \n","  inflating: data/names/Polish.txt   \n","  inflating: data/names/Portuguese.txt  \n","  inflating: data/names/Russian.txt  \n","  inflating: data/names/Scottish.txt  \n","  inflating: data/names/Spanish.txt  \n","  inflating: data/names/Vietnamese.txt  \n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"xBgek-v83EA6","executionInfo":{"status":"ok","timestamp":1605621870665,"user_tz":180,"elapsed":768,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}},"outputId":"51268e25-0a73-4ede-a0af-452f76e7def5","colab":{"base_uri":"https://localhost:8080/"}},"source":["# Transforma um arquivo de nomes em listas e/ou arrays (nomes, rotulos)\n","def readLines(filename):\n","    lines     = open(filename).read().strip().split('\\n')\n","    nomes     = [unicodedata.normalize('NFKD', line).encode('ascii', 'ignore') for line in lines]\n","    categoria = filename.split('/')[-1].split('.')[0]\n","    rotulos   = np.repeat( categoria, len(nomes) )\n","\n","    return nomes, rotulos \n","\n","\n","root_path = 'data/names/'\n","arquivos = sorted(os.listdir(root_path))\n","categorias = [a[:-4] for a in arquivos]\n","\n","dados, rotulos = [], []\n","samples_perclass = []\n","\n","for file_name in arquivos:\n","  retorno = readLines(os.path.join(root_path,file_name))\n","  dados.append(retorno[0])\n","  rotulos.append(retorno[1])\n","\n","  samples_perclass.append( (file_name, len(retorno[0])) )\n","\n","\n","print(samples_perclass, )\n","print('Minimo amostras', min(samples_perclass, key= lambda k: k[1]), '\\n' )\n","\n","print(dados[categorias.index('Portuguese')][0:10])\n","print(rotulos[categorias.index('Portuguese')][0:10])"],"execution_count":5,"outputs":[{"output_type":"stream","text":["[('Arabic.txt', 2000), ('Chinese.txt', 268), ('Czech.txt', 519), ('Dutch.txt', 297), ('English.txt', 3668), ('French.txt', 277), ('German.txt', 724), ('Greek.txt', 203), ('Irish.txt', 232), ('Italian.txt', 709), ('Japanese.txt', 991), ('Korean.txt', 94), ('Polish.txt', 139), ('Portuguese.txt', 74), ('Russian.txt', 9408), ('Scottish.txt', 100), ('Spanish.txt', 298), ('Vietnamese.txt', 73)]\n","Minimo amostras ('Vietnamese.txt', 73) \n","\n","[b'Abreu', b'Albuquerque', b'Almeida', b'Alves', b'Araujo', b'Araullo', b'Barros', b'Basurto', b'Belo', b'Cabral']\n","['Portuguese' 'Portuguese' 'Portuguese' 'Portuguese' 'Portuguese'\n"," 'Portuguese' 'Portuguese' 'Portuguese' 'Portuguese' 'Portuguese']\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"1HlMtAzxfneB"},"source":["### Convertendo os dados para tensor"]},{"cell_type":"markdown","metadata":{"id":"WMoQMcoRkSZd"},"source":["**Convertendo os rótulos para tensor**\n","\n","Representação One-Hot de 18 categorias de idiomas que queremos prever."]},{"cell_type":"code","metadata":{"id":"7HVlWioYjlUA","executionInfo":{"status":"ok","timestamp":1605621873268,"user_tz":180,"elapsed":741,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}},"outputId":"8d9d9345-b341-4485-b8b1-94c90ffcfa27","colab":{"base_uri":"https://localhost:8080/"}},"source":["def label2tensor(rotulos):\n","  rotulos_tns = torch.zeros( len(rotulos), 1, dtype=torch.int64 )\n","  for k, rotulo in enumerate(rotulos):\n","    idx = categorias.index(rotulo)\n","    rotulos_tns[k][0] = idx\n","  return rotulos_tns\n","\n","rotulos_arabe = rotulos[0]\n","rotulos_tns = label2tensor(rotulos_arabe)\n","print(type(rotulos_tns), rotulos_arabe[0], rotulos_tns[0])"],"execution_count":6,"outputs":[{"output_type":"stream","text":["<class 'torch.Tensor'> Arabic tensor([0])\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"9JCS8K8XkWNQ"},"source":["**Convertendo os nomes para tensor**\n","\n","Aqui também usaremos a representação One-Hot, porém teremos que trabalhar com uma lista de tensores, pois os nomes tem comprimentos diferentes. Mais à frente no curso aprenderemos a lidar com isso da forma certa!"]},{"cell_type":"code","metadata":{"id":"ix07lvp9fmZi","executionInfo":{"status":"ok","timestamp":1605621874458,"user_tz":180,"elapsed":756,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}},"outputId":"0c745082-5590-407d-e6f8-82df615d018b","colab":{"base_uri":"https://localhost:8080/"}},"source":["caracteres_validos = string.ascii_letters\n","print(caracteres_validos)\n","tam_dicionario = len(caracteres_validos)\n","\n","def nome2tensor(nome):\n","  tns = torch.zeros( len(nome), tam_dicionario )\n","  \n","  for k, letra in enumerate(nome.decode('utf-8')):\n","    idx = caracteres_validos.find(letra)\n","    tns[k, idx] = 1\n","\n","  return tns\n","\n","dados_arabe = dados[0]\n","dados_tns = [nome2tensor(dado) for dado in dados_arabe]\n","print(dados_arabe[0].decode('utf-8')[0],'\\n', dados_tns[0][0])\n"],"execution_count":7,"outputs":[{"output_type":"stream","text":["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\n","K \n"," tensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n","        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n","        1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"sU4QqWqgBqxc"},"source":["**Amostrando batch balanceado**"]},{"cell_type":"code","metadata":{"id":"GYfkmF8q5mT4","executionInfo":{"status":"ok","timestamp":1605621876555,"user_tz":180,"elapsed":808,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}},"outputId":"85b82f75-c2bd-4d6e-bda2-04192bfad5e5","colab":{"base_uri":"https://localhost:8080/"}},"source":["num_amostras = min(samples_perclass, key= lambda k: k[1])[1]\n","\n","def sample_batch(size=num_amostras):\n","  dados_batch, rotulos_batch = [], []\n","  for cat in categorias:\n","    \n","    amostras_cat = dados[categorias.index(cat)]\n","    idx = np.random.choice(range(len(amostras_cat)), size=size)\n","    \n","    dados_batch.extend([ r for k, r in enumerate(dados[categorias.index(cat)]) if k in idx])\n","    rotulos_batch.extend([ r for k, r in enumerate(rotulos[categorias.index(cat)]) if k in idx])\n","\n","  dados_tns = [nome2tensor(dado) for dado in dados_batch]\n","  return dados_tns, label2tensor(rotulos_batch)\n","\n","dados_batch, rotulos_batch = sample_batch()\n","print(len(dados_batch), dados_batch[0].size(), rotulos_batch.size())"],"execution_count":8,"outputs":[{"output_type":"stream","text":["1134 torch.Size([6, 52]) torch.Size([1134, 1])\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"QnZL-mUXmMtA"},"source":["## Modelo Recorrente\n","\n","* Implemente um modelo para classificação de nomes próprios (série de caracteres) usando apenas camadas *RNNCell*, *Linear* e ativação *LogSoftmax*\n","* Cada entrada (caracter) possui dimensão (52): alfabeto maiúsculo e minúsculo\n","* *Hidden size* possui dimensão (256): hiperparâmetro \n","* Saída possui dimensão (18): vetor de probabilidade de classes\n","* Batch size = 1 **pra não termos que lidar com as sequências de tamanho variável.**\n","\n","### Links úteis\n","\n","RNNCell: https://pytorch.org/docs/stable/generated/torch.nn.RNNCell.html#torch.nn.RNNCell\n","\n","Linear: https://pytorch.org/docs/stable/generated/torch.nn.Linear.html#torch.nn.Linear\n","\n","Non-linear activations: https://pytorch.org/docs/stable/generated/torch.nn.LogSoftmax.html#torch.nn.LogSoftmax"]},{"cell_type":"code","metadata":{"id":"PY9NvNN8kT-z","executionInfo":{"status":"ok","timestamp":1605622095577,"user_tz":180,"elapsed":668,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}}},"source":["class RNN(nn.Module):\n","    def __init__(self, tam_entrada, tam_feature, tam_saida):\n","        super(RNN, self).__init__()\n","        \n","        self.tam_entrada = tam_entrada\n","        self.tam_feature = tam_feature\n","        self.tam_saida   = tam_saida\n","        \n","        self.rnn    = nn.GRU(self.tam_entrada, self.tam_feature, batch_first=True)\n","        self.linear = nn.Linear(self.tam_feature, self.tam_saida)\n","        self.softmax = nn.LogSoftmax(dim=-1)\n","    \n","    def forward(self, nome):\n","      \n","        # Inicialize o estado interno da RNN\n","        batch_size = 1\n","        hidden = torch.zeros(1, batch_size, self.tam_feature).to(args['device'])\n","        \n","        # nome.unsqueeze(0) - criando uma dimensão artificial para o batch = 1\n","        saida, hidden = self.rnn(nome.unsqueeze(0), hidden)\n","        # print(\"Saída da GRU:\", saida.size())\n","        saida = self.linear(saida[:, -1])\n","        # print(\"Saída da Linear:\", saida.size())\n","        saida = self.softmax(saida) \n","        return saida\n","\n","tam_feature = 256\n","model = RNN(tam_dicionario, tam_feature, len(categorias))\n","model.to(args['device'])\n","\n","# Imprimindo a dimensionalidade do dado ao longo do fluxo\n","nome = torch.zeros(8, 52).to(args['device'])\n","saida = model(nome)"],"execution_count":21,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"SVSrUbUns5WH"},"source":["## Loss e Otimizador"]},{"cell_type":"code","metadata":{"id":"0UwVsprXr5BV","executionInfo":{"status":"ok","timestamp":1605622099370,"user_tz":180,"elapsed":396,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}}},"source":["criterion = nn.NLLLoss().to(args['device']) \n","optimizer = torch.optim.Adam(model.parameters(), lr=args['lr'], weight_decay=args['regularizacao'])"],"execution_count":22,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"mNex6BA1s4_W"},"source":["## Treinamento\n","\n","A otimização é um processo que tem uma raíz muito bem definida de passo a passo, sempre fazemos:\n","* Carregar os dados e colocar no dispositivo de hardware adequado\n","* Forward do dado na rede\n","* Cálculo da função de custo (no nosso caso uma função composta)\n","* Passos de Otimização\n","  * Zerar os gradientes do otimizador (`optimizer.zero_grad()`)\n","  * Calcular os gradientes com base na loss (`loss.backward()`)\n","  * Passo de otimização (`optimizer.step()`)\n","\n","Apesar de cada solução ter pequenas variações em um ou mais passos do fluxo, o esqueleto é sempre o mesmo. "]},{"cell_type":"code","metadata":{"id":"N3AvGhzMscZT","executionInfo":{"status":"ok","timestamp":1605622106467,"user_tz":180,"elapsed":858,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}}},"source":["def forward(X, Y, etapa):\n","  if etapa == 'Treino': model.train()\n","  else: model.eval()\n","\n","  acuracia = 0.\n","  loss_epoca = []\n","  for k, (dado, rotulo) in enumerate(zip(X, Y)):\n","      \n","    dado = dado.to(args['device'])\n","    rotulo = rotulo.to(args['device'])\n","    \n","    saida = model(dado)\n","    loss = criterion(saida, rotulo)\n","    loss_epoca.append(loss.detach().cpu().numpy())\n","\n","    _, pred = torch.max(saida, axis=-1)\n","    acuracia += 1 if pred[0].item() == rotulo[0].item() else 0\n","\n","    if etapa == 'Treino':\n","      # Otimização\n","      optimizer.zero_grad()\n","      loss.backward()\n","      optimizer.step()\n","\n","  loss_epoca = np.asarray(loss_epoca).ravel()\n","  acuracia   = acuracia/float(len(loss_epoca))\n","  print('\\n','*'*15 + etapa + '*'*15 )\n","  print('Epoca: {:}, Loss: {:.4f} +/- {:.4f}, Acurácia: {:.4f}'.format(epoca, loss_epoca.mean(), \n","                                                                        loss_epoca.std(), \n","                                                                        acuracia\n","                                                                       )) \n","  return loss_epoca.mean(), acuracia"],"execution_count":23,"outputs":[]},{"cell_type":"code","metadata":{"id":"RaxYaVprzIS3","executionInfo":{"status":"ok","timestamp":1605622782199,"user_tz":180,"elapsed":673072,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}},"outputId":"8d724eb0-2033-4539-ec83-bfbdff31c614","colab":{"base_uri":"https://localhost:8080/"}},"source":["loss_treino, loss_test = [], []\n","acc_treino, acc_test = [], []\n","\n","dados_test, rotulos_test = sample_batch(size=5)\n","for epoca in range(200):\n","\n","  dados_tns, rotulos_tns = sample_batch()\n","  loss, acuracia = forward(dados_tns, rotulos_tns, 'Treino')\n","  loss_treino.append(loss)\n","  acc_treino.append(acuracia)  \n","\n","  loss, acuracia = forward(dados_test, rotulos_test, 'Teste')\n","  loss_test.append(loss)\n","  acc_test.append(acuracia)\n"],"execution_count":24,"outputs":[{"output_type":"stream","text":["\n"," ***************Treino***************\n","Epoca: 0, Loss: 2.8970 +/- 0.2544, Acurácia: 0.0488\n","\n"," ***************Teste***************\n","Epoca: 0, Loss: 2.9102 +/- 0.1833, Acurácia: 0.0667\n","\n"," ***************Treino***************\n","Epoca: 1, Loss: 2.7703 +/- 0.4330, Acurácia: 0.0725\n","\n"," ***************Teste***************\n","Epoca: 1, Loss: 3.2585 +/- 0.7622, Acurácia: 0.0444\n","\n"," ***************Treino***************\n","Epoca: 2, Loss: 2.9230 +/- 0.2510, Acurácia: 0.0560\n","\n"," ***************Teste***************\n","Epoca: 2, Loss: 2.8695 +/- 0.1385, Acurácia: 0.0778\n","\n"," ***************Treino***************\n","Epoca: 3, Loss: 2.8521 +/- 0.2119, Acurácia: 0.0892\n","\n"," ***************Teste***************\n","Epoca: 3, Loss: 2.9303 +/- 0.4593, Acurácia: 0.1000\n","\n"," ***************Treino***************\n","Epoca: 4, Loss: 2.8632 +/- 0.2030, Acurácia: 0.0924\n","\n"," ***************Teste***************\n","Epoca: 4, Loss: 2.8231 +/- 0.1904, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 5, Loss: 2.8320 +/- 0.2086, Acurácia: 0.1267\n","\n"," ***************Teste***************\n","Epoca: 5, Loss: 2.8347 +/- 0.3194, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 6, Loss: 2.8140 +/- 0.2485, Acurácia: 0.1463\n","\n"," ***************Teste***************\n","Epoca: 6, Loss: 2.7987 +/- 0.3927, Acurácia: 0.1667\n","\n"," ***************Treino***************\n","Epoca: 7, Loss: 2.7739 +/- 0.3017, Acurácia: 0.1344\n","\n"," ***************Teste***************\n","Epoca: 7, Loss: 2.8022 +/- 0.3891, Acurácia: 0.1111\n","\n"," ***************Treino***************\n","Epoca: 8, Loss: 2.6876 +/- 0.4497, Acurácia: 0.1443\n","\n"," ***************Teste***************\n","Epoca: 8, Loss: 3.0874 +/- 0.8661, Acurácia: 0.1000\n","\n"," ***************Treino***************\n","Epoca: 9, Loss: 2.6543 +/- 0.5005, Acurácia: 0.1491\n","\n"," ***************Teste***************\n","Epoca: 9, Loss: 3.3481 +/- 1.1738, Acurácia: 0.0778\n","\n"," ***************Treino***************\n","Epoca: 10, Loss: 2.5890 +/- 0.5471, Acurácia: 0.1328\n","\n"," ***************Teste***************\n","Epoca: 10, Loss: 3.0409 +/- 0.8700, Acurácia: 0.0889\n","\n"," ***************Treino***************\n","Epoca: 11, Loss: 2.4518 +/- 0.6464, Acurácia: 0.1731\n","\n"," ***************Teste***************\n","Epoca: 11, Loss: 2.9829 +/- 0.8639, Acurácia: 0.1000\n","\n"," ***************Treino***************\n","Epoca: 12, Loss: 2.3539 +/- 0.7369, Acurácia: 0.2153\n","\n"," ***************Teste***************\n","Epoca: 12, Loss: 3.0518 +/- 0.9581, Acurácia: 0.1111\n","\n"," ***************Treino***************\n","Epoca: 13, Loss: 2.3080 +/- 0.7494, Acurácia: 0.2062\n","\n"," ***************Teste***************\n","Epoca: 13, Loss: 3.0668 +/- 1.0300, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 14, Loss: 2.2643 +/- 0.8204, Acurácia: 0.2330\n","\n"," ***************Teste***************\n","Epoca: 14, Loss: 3.0369 +/- 1.0509, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 15, Loss: 2.2037 +/- 0.8841, Acurácia: 0.2563\n","\n"," ***************Teste***************\n","Epoca: 15, Loss: 2.9740 +/- 0.9917, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 16, Loss: 2.1828 +/- 0.8955, Acurácia: 0.2533\n","\n"," ***************Teste***************\n","Epoca: 16, Loss: 3.0945 +/- 1.1450, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 17, Loss: 2.1415 +/- 0.9075, Acurácia: 0.2714\n","\n"," ***************Teste***************\n","Epoca: 17, Loss: 3.1214 +/- 1.1779, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 18, Loss: 2.0369 +/- 0.9831, Acurácia: 0.3107\n","\n"," ***************Teste***************\n","Epoca: 18, Loss: 3.2280 +/- 1.2885, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 19, Loss: 1.9649 +/- 1.0229, Acurácia: 0.3205\n","\n"," ***************Teste***************\n","Epoca: 19, Loss: 3.3084 +/- 1.4267, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 20, Loss: 1.9183 +/- 1.0039, Acurácia: 0.3426\n","\n"," ***************Teste***************\n","Epoca: 20, Loss: 3.3977 +/- 1.5683, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 21, Loss: 1.9078 +/- 1.0712, Acurácia: 0.3695\n","\n"," ***************Teste***************\n","Epoca: 21, Loss: 3.3581 +/- 1.5866, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 22, Loss: 1.8979 +/- 1.1012, Acurácia: 0.3640\n","\n"," ***************Teste***************\n","Epoca: 22, Loss: 3.3234 +/- 1.5934, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 23, Loss: 1.8316 +/- 1.0465, Acurácia: 0.3807\n","\n"," ***************Teste***************\n","Epoca: 23, Loss: 3.4120 +/- 1.7047, Acurácia: 0.1222\n","\n"," ***************Treino***************\n","Epoca: 24, Loss: 1.8146 +/- 1.1162, Acurácia: 0.4059\n","\n"," ***************Teste***************\n","Epoca: 24, Loss: 3.4530 +/- 1.7624, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 25, Loss: 1.7909 +/- 1.0822, Acurácia: 0.4034\n","\n"," ***************Teste***************\n","Epoca: 25, Loss: 3.3364 +/- 1.6526, Acurácia: 0.1222\n","\n"," ***************Treino***************\n","Epoca: 26, Loss: 1.8071 +/- 1.0762, Acurácia: 0.3988\n","\n"," ***************Teste***************\n","Epoca: 26, Loss: 3.2463 +/- 1.5903, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 27, Loss: 1.8015 +/- 1.1169, Acurácia: 0.4020\n","\n"," ***************Teste***************\n","Epoca: 27, Loss: 3.2559 +/- 1.5904, Acurácia: 0.1222\n","\n"," ***************Treino***************\n","Epoca: 28, Loss: 1.6945 +/- 1.0750, Acurácia: 0.4279\n","\n"," ***************Teste***************\n","Epoca: 28, Loss: 3.3415 +/- 1.6810, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 29, Loss: 1.7497 +/- 1.1123, Acurácia: 0.4230\n","\n"," ***************Teste***************\n","Epoca: 29, Loss: 3.2902 +/- 1.6427, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 30, Loss: 1.7077 +/- 1.1065, Acurácia: 0.4318\n","\n"," ***************Teste***************\n","Epoca: 30, Loss: 3.4519 +/- 1.7946, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 31, Loss: 1.7287 +/- 1.1035, Acurácia: 0.4327\n","\n"," ***************Teste***************\n","Epoca: 31, Loss: 3.3421 +/- 1.6882, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 32, Loss: 1.6596 +/- 1.0976, Acurácia: 0.4463\n","\n"," ***************Teste***************\n","Epoca: 32, Loss: 3.4211 +/- 1.8029, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 33, Loss: 1.6845 +/- 1.1097, Acurácia: 0.4396\n","\n"," ***************Teste***************\n","Epoca: 33, Loss: 3.4946 +/- 1.8794, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 34, Loss: 1.6768 +/- 1.0980, Acurácia: 0.4249\n","\n"," ***************Teste***************\n","Epoca: 34, Loss: 3.4342 +/- 1.8302, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 35, Loss: 1.6478 +/- 1.0887, Acurácia: 0.4397\n","\n"," ***************Teste***************\n","Epoca: 35, Loss: 3.5753 +/- 1.9588, Acurácia: 0.1111\n","\n"," ***************Treino***************\n","Epoca: 36, Loss: 1.6379 +/- 1.1062, Acurácia: 0.4334\n","\n"," ***************Teste***************\n","Epoca: 36, Loss: 3.5838 +/- 1.9777, Acurácia: 0.1222\n","\n"," ***************Treino***************\n","Epoca: 37, Loss: 1.5631 +/- 1.0855, Acurácia: 0.4862\n","\n"," ***************Teste***************\n","Epoca: 37, Loss: 3.6540 +/- 2.0720, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 38, Loss: 1.5780 +/- 1.1292, Acurácia: 0.4882\n","\n"," ***************Teste***************\n","Epoca: 38, Loss: 3.7829 +/- 2.1687, Acurácia: 0.1222\n","\n"," ***************Treino***************\n","Epoca: 39, Loss: 1.5715 +/- 1.1337, Acurácia: 0.4623\n","\n"," ***************Teste***************\n","Epoca: 39, Loss: 3.9272 +/- 2.2841, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 40, Loss: 1.6007 +/- 1.1439, Acurácia: 0.4545\n","\n"," ***************Teste***************\n","Epoca: 40, Loss: 3.8878 +/- 2.2505, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 41, Loss: 1.6011 +/- 1.1248, Acurácia: 0.4576\n","\n"," ***************Teste***************\n","Epoca: 41, Loss: 3.9480 +/- 2.3579, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 42, Loss: 1.6256 +/- 1.1296, Acurácia: 0.4416\n","\n"," ***************Teste***************\n","Epoca: 42, Loss: 4.0051 +/- 2.4188, Acurácia: 0.1444\n","\n"," ***************Treino***************\n","Epoca: 43, Loss: 1.6571 +/- 1.1413, Acurácia: 0.4495\n","\n"," ***************Teste***************\n","Epoca: 43, Loss: 3.8971 +/- 2.3644, Acurácia: 0.1333\n","\n"," ***************Treino***************\n","Epoca: 44, Loss: 1.6165 +/- 1.1565, Acurácia: 0.4584\n","\n"," ***************Teste***************\n","Epoca: 44, Loss: 3.8691 +/- 2.4255, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 45, Loss: 1.6357 +/- 1.1509, Acurácia: 0.4528\n","\n"," ***************Teste***************\n","Epoca: 45, Loss: 3.7259 +/- 2.2607, Acurácia: 0.1667\n","\n"," ***************Treino***************\n","Epoca: 46, Loss: 1.6361 +/- 1.1732, Acurácia: 0.4542\n","\n"," ***************Teste***************\n","Epoca: 46, Loss: 3.5691 +/- 2.1342, Acurácia: 0.1667\n","\n"," ***************Treino***************\n","Epoca: 47, Loss: 1.6643 +/- 1.1603, Acurácia: 0.4562\n","\n"," ***************Teste***************\n","Epoca: 47, Loss: 3.6897 +/- 2.2668, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 48, Loss: 1.5924 +/- 1.1236, Acurácia: 0.4626\n","\n"," ***************Teste***************\n","Epoca: 48, Loss: 3.5512 +/- 2.1398, Acurácia: 0.1667\n","\n"," ***************Treino***************\n","Epoca: 49, Loss: 1.5817 +/- 1.1120, Acurácia: 0.4775\n","\n"," ***************Teste***************\n","Epoca: 49, Loss: 3.4961 +/- 2.0679, Acurácia: 0.2000\n","\n"," ***************Treino***************\n","Epoca: 50, Loss: 1.6015 +/- 1.1391, Acurácia: 0.4767\n","\n"," ***************Teste***************\n","Epoca: 50, Loss: 3.5129 +/- 2.1174, Acurácia: 0.1667\n","\n"," ***************Treino***************\n","Epoca: 51, Loss: 1.5695 +/- 1.1366, Acurácia: 0.4720\n","\n"," ***************Teste***************\n","Epoca: 51, Loss: 3.6531 +/- 2.3050, Acurácia: 0.1889\n","\n"," ***************Treino***************\n","Epoca: 52, Loss: 1.6160 +/- 1.1409, Acurácia: 0.4564\n","\n"," ***************Teste***************\n","Epoca: 52, Loss: 3.6289 +/- 2.2997, Acurácia: 0.1889\n","\n"," ***************Treino***************\n","Epoca: 53, Loss: 1.5709 +/- 1.1503, Acurácia: 0.4710\n","\n"," ***************Teste***************\n","Epoca: 53, Loss: 3.6286 +/- 2.3488, Acurácia: 0.1667\n","\n"," ***************Treino***************\n","Epoca: 54, Loss: 1.5676 +/- 1.1622, Acurácia: 0.4688\n","\n"," ***************Teste***************\n","Epoca: 54, Loss: 3.6264 +/- 2.3423, Acurácia: 0.1889\n","\n"," ***************Treino***************\n","Epoca: 55, Loss: 1.5469 +/- 1.1267, Acurácia: 0.4640\n","\n"," ***************Teste***************\n","Epoca: 55, Loss: 3.4577 +/- 2.2036, Acurácia: 0.1778\n","\n"," ***************Treino***************\n","Epoca: 56, Loss: 1.5564 +/- 1.1366, Acurácia: 0.4852\n","\n"," ***************Teste***************\n","Epoca: 56, Loss: 3.4425 +/- 2.1823, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 57, Loss: 1.5483 +/- 1.1180, Acurácia: 0.4745\n","\n"," ***************Teste***************\n","Epoca: 57, Loss: 3.1694 +/- 1.8425, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 58, Loss: 1.4990 +/- 1.1393, Acurácia: 0.4983\n","\n"," ***************Teste***************\n","Epoca: 58, Loss: 3.2008 +/- 1.8468, Acurácia: 0.1778\n","\n"," ***************Treino***************\n","Epoca: 59, Loss: 1.4907 +/- 1.1178, Acurácia: 0.4881\n","\n"," ***************Teste***************\n","Epoca: 59, Loss: 3.1496 +/- 1.8264, Acurácia: 0.1889\n","\n"," ***************Treino***************\n","Epoca: 60, Loss: 1.5261 +/- 1.1599, Acurácia: 0.4830\n","\n"," ***************Teste***************\n","Epoca: 60, Loss: 3.2426 +/- 1.9393, Acurácia: 0.1889\n","\n"," ***************Treino***************\n","Epoca: 61, Loss: 1.5448 +/- 1.1460, Acurácia: 0.4872\n","\n"," ***************Teste***************\n","Epoca: 61, Loss: 3.1868 +/- 1.9227, Acurácia: 0.2111\n","\n"," ***************Treino***************\n","Epoca: 62, Loss: 1.6145 +/- 1.1499, Acurácia: 0.4642\n","\n"," ***************Teste***************\n","Epoca: 62, Loss: 3.1978 +/- 1.9490, Acurácia: 0.1889\n","\n"," ***************Treino***************\n","Epoca: 63, Loss: 1.6116 +/- 1.1181, Acurácia: 0.4429\n","\n"," ***************Teste***************\n","Epoca: 63, Loss: 3.0301 +/- 1.8032, Acurácia: 0.2111\n","\n"," ***************Treino***************\n","Epoca: 64, Loss: 1.5713 +/- 1.1466, Acurácia: 0.4628\n","\n"," ***************Teste***************\n","Epoca: 64, Loss: 3.1883 +/- 2.0385, Acurácia: 0.2111\n","\n"," ***************Treino***************\n","Epoca: 65, Loss: 1.6066 +/- 1.1637, Acurácia: 0.4633\n","\n"," ***************Teste***************\n","Epoca: 65, Loss: 3.1776 +/- 2.0169, Acurácia: 0.2000\n","\n"," ***************Treino***************\n","Epoca: 66, Loss: 1.5674 +/- 1.1551, Acurácia: 0.4767\n","\n"," ***************Teste***************\n","Epoca: 66, Loss: 3.1123 +/- 1.9482, Acurácia: 0.1778\n","\n"," ***************Treino***************\n","Epoca: 67, Loss: 1.5725 +/- 1.1527, Acurácia: 0.4854\n","\n"," ***************Teste***************\n","Epoca: 67, Loss: 2.8942 +/- 1.6737, Acurácia: 0.1778\n","\n"," ***************Treino***************\n","Epoca: 68, Loss: 1.5200 +/- 1.1448, Acurácia: 0.4902\n","\n"," ***************Teste***************\n","Epoca: 68, Loss: 3.1766 +/- 1.9663, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 69, Loss: 1.6023 +/- 1.1377, Acurácia: 0.4594\n","\n"," ***************Teste***************\n","Epoca: 69, Loss: 3.2857 +/- 2.1254, Acurácia: 0.1667\n","\n"," ***************Treino***************\n","Epoca: 70, Loss: 1.6370 +/- 1.1420, Acurácia: 0.4390\n","\n"," ***************Teste***************\n","Epoca: 70, Loss: 3.2946 +/- 2.2206, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 71, Loss: 1.5719 +/- 1.1419, Acurácia: 0.4720\n","\n"," ***************Teste***************\n","Epoca: 71, Loss: 3.2998 +/- 2.2230, Acurácia: 0.1556\n","\n"," ***************Treino***************\n","Epoca: 72, Loss: 1.5626 +/- 1.1125, Acurácia: 0.4862\n","\n"," ***************Teste***************\n","Epoca: 72, Loss: 3.0079 +/- 1.8312, Acurácia: 0.1667\n","\n"," ***************Treino***************\n","Epoca: 73, Loss: 1.5490 +/- 1.1452, Acurácia: 0.4869\n","\n"," ***************Teste***************\n","Epoca: 73, Loss: 2.9227 +/- 1.6871, Acurácia: 0.1778\n","\n"," ***************Treino***************\n","Epoca: 74, Loss: 1.5639 +/- 1.1376, Acurácia: 0.4710\n","\n"," ***************Teste***************\n","Epoca: 74, Loss: 2.8641 +/- 1.6446, Acurácia: 0.1889\n","\n"," ***************Treino***************\n","Epoca: 75, Loss: 1.5174 +/- 1.1065, Acurácia: 0.4784\n","\n"," ***************Teste***************\n","Epoca: 75, Loss: 2.8922 +/- 1.7683, Acurácia: 0.1889\n","\n"," ***************Treino***************\n","Epoca: 76, Loss: 1.5340 +/- 1.1383, Acurácia: 0.4808\n","\n"," ***************Teste***************\n","Epoca: 76, Loss: 3.1300 +/- 2.0166, Acurácia: 0.1778\n","\n"," ***************Treino***************\n","Epoca: 77, Loss: 1.5092 +/- 1.1467, Acurácia: 0.5045\n","\n"," ***************Teste***************\n","Epoca: 77, Loss: 2.9394 +/- 1.8290, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 78, Loss: 1.5396 +/- 1.1329, Acurácia: 0.4853\n","\n"," ***************Teste***************\n","Epoca: 78, Loss: 2.9609 +/- 1.8436, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 79, Loss: 1.5105 +/- 1.1582, Acurácia: 0.4938\n","\n"," ***************Teste***************\n","Epoca: 79, Loss: 3.0863 +/- 2.0277, Acurácia: 0.2333\n","\n"," ***************Treino***************\n","Epoca: 80, Loss: 1.5554 +/- 1.1489, Acurácia: 0.4828\n","\n"," ***************Teste***************\n","Epoca: 80, Loss: 3.1873 +/- 2.1816, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 81, Loss: 1.5723 +/- 1.1656, Acurácia: 0.4857\n","\n"," ***************Teste***************\n","Epoca: 81, Loss: 2.9067 +/- 1.8939, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 82, Loss: 1.4933 +/- 1.1792, Acurácia: 0.5128\n","\n"," ***************Teste***************\n","Epoca: 82, Loss: 3.0863 +/- 2.1193, Acurácia: 0.2333\n","\n"," ***************Treino***************\n","Epoca: 83, Loss: 1.5218 +/- 1.1460, Acurácia: 0.4908\n","\n"," ***************Teste***************\n","Epoca: 83, Loss: 2.9151 +/- 1.9100, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 84, Loss: 1.5063 +/- 1.1539, Acurácia: 0.4810\n","\n"," ***************Teste***************\n","Epoca: 84, Loss: 2.9346 +/- 1.9348, Acurácia: 0.2222\n","\n"," ***************Treino***************\n","Epoca: 85, Loss: 1.4808 +/- 1.1624, Acurácia: 0.5076\n","\n"," ***************Teste***************\n","Epoca: 85, Loss: 2.8458 +/- 1.7538, Acurácia: 0.2111\n","\n"," ***************Treino***************\n","Epoca: 86, Loss: 1.4321 +/- 1.1106, Acurácia: 0.5147\n","\n"," ***************Teste***************\n","Epoca: 86, Loss: 2.7211 +/- 1.6176, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 87, Loss: 1.5164 +/- 1.1863, Acurácia: 0.5013\n","\n"," ***************Teste***************\n","Epoca: 87, Loss: 2.6736 +/- 1.5673, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 88, Loss: 1.4689 +/- 1.1257, Acurácia: 0.5083\n","\n"," ***************Teste***************\n","Epoca: 88, Loss: 2.7687 +/- 1.7160, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 89, Loss: 1.4719 +/- 1.1587, Acurácia: 0.5148\n","\n"," ***************Teste***************\n","Epoca: 89, Loss: 2.8215 +/- 1.7838, Acurácia: 0.2222\n","\n"," ***************Treino***************\n","Epoca: 90, Loss: 1.5261 +/- 1.1271, Acurácia: 0.5018\n","\n"," ***************Teste***************\n","Epoca: 90, Loss: 2.7425 +/- 1.7286, Acurácia: 0.2333\n","\n"," ***************Treino***************\n","Epoca: 91, Loss: 1.5667 +/- 1.1652, Acurácia: 0.4659\n","\n"," ***************Teste***************\n","Epoca: 91, Loss: 2.7863 +/- 1.8020, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 92, Loss: 1.5033 +/- 1.1207, Acurácia: 0.4845\n","\n"," ***************Teste***************\n","Epoca: 92, Loss: 2.9015 +/- 2.0159, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 93, Loss: 1.5083 +/- 1.1329, Acurácia: 0.4894\n","\n"," ***************Teste***************\n","Epoca: 93, Loss: 2.8454 +/- 1.8517, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 94, Loss: 1.5176 +/- 1.1023, Acurácia: 0.4844\n","\n"," ***************Teste***************\n","Epoca: 94, Loss: 2.8996 +/- 2.0173, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 95, Loss: 1.5044 +/- 1.1374, Acurácia: 0.5071\n","\n"," ***************Teste***************\n","Epoca: 95, Loss: 3.0946 +/- 2.2525, Acurácia: 0.2667\n","\n"," ***************Treino***************\n","Epoca: 96, Loss: 1.4633 +/- 1.1138, Acurácia: 0.5076\n","\n"," ***************Teste***************\n","Epoca: 96, Loss: 2.7379 +/- 1.8391, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 97, Loss: 1.4066 +/- 1.1321, Acurácia: 0.5350\n","\n"," ***************Teste***************\n","Epoca: 97, Loss: 2.8911 +/- 2.0132, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 98, Loss: 1.4505 +/- 1.1522, Acurácia: 0.5284\n","\n"," ***************Teste***************\n","Epoca: 98, Loss: 2.8764 +/- 2.0369, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 99, Loss: 1.4658 +/- 1.1247, Acurácia: 0.4936\n","\n"," ***************Teste***************\n","Epoca: 99, Loss: 2.6519 +/- 1.7522, Acurácia: 0.2778\n","\n"," ***************Treino***************\n","Epoca: 100, Loss: 1.4407 +/- 1.1157, Acurácia: 0.5138\n","\n"," ***************Teste***************\n","Epoca: 100, Loss: 2.6437 +/- 1.7341, Acurácia: 0.2778\n","\n"," ***************Treino***************\n","Epoca: 101, Loss: 1.4579 +/- 1.1447, Acurácia: 0.5163\n","\n"," ***************Teste***************\n","Epoca: 101, Loss: 2.7272 +/- 1.8126, Acurácia: 0.2778\n","\n"," ***************Treino***************\n","Epoca: 102, Loss: 1.4675 +/- 1.1104, Acurácia: 0.5080\n","\n"," ***************Teste***************\n","Epoca: 102, Loss: 2.7564 +/- 1.8629, Acurácia: 0.2778\n","\n"," ***************Treino***************\n","Epoca: 103, Loss: 1.4222 +/- 1.1282, Acurácia: 0.5292\n","\n"," ***************Teste***************\n","Epoca: 103, Loss: 2.6271 +/- 1.6418, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 104, Loss: 1.4803 +/- 1.1744, Acurácia: 0.5088\n","\n"," ***************Teste***************\n","Epoca: 104, Loss: 2.6321 +/- 1.6929, Acurácia: 0.2778\n","\n"," ***************Treino***************\n","Epoca: 105, Loss: 1.5202 +/- 1.1478, Acurácia: 0.4779\n","\n"," ***************Teste***************\n","Epoca: 105, Loss: 2.7831 +/- 1.8633, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 106, Loss: 1.5066 +/- 1.1617, Acurácia: 0.5079\n","\n"," ***************Teste***************\n","Epoca: 106, Loss: 2.5703 +/- 1.6394, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 107, Loss: 1.5389 +/- 1.1201, Acurácia: 0.4662\n","\n"," ***************Teste***************\n","Epoca: 107, Loss: 2.5014 +/- 1.5764, Acurácia: 0.2667\n","\n"," ***************Treino***************\n","Epoca: 108, Loss: 1.4814 +/- 1.1647, Acurácia: 0.4942\n","\n"," ***************Teste***************\n","Epoca: 108, Loss: 2.4873 +/- 1.5208, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 109, Loss: 1.4878 +/- 1.0962, Acurácia: 0.4834\n","\n"," ***************Teste***************\n","Epoca: 109, Loss: 2.5371 +/- 1.6254, Acurácia: 0.2333\n","\n"," ***************Treino***************\n","Epoca: 110, Loss: 1.4824 +/- 1.1403, Acurácia: 0.5150\n","\n"," ***************Teste***************\n","Epoca: 110, Loss: 2.6555 +/- 1.8197, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 111, Loss: 1.4733 +/- 1.1626, Acurácia: 0.5061\n","\n"," ***************Teste***************\n","Epoca: 111, Loss: 2.7790 +/- 1.9004, Acurácia: 0.2444\n","\n"," ***************Treino***************\n","Epoca: 112, Loss: 1.5123 +/- 1.1860, Acurácia: 0.5107\n","\n"," ***************Teste***************\n","Epoca: 112, Loss: 2.9082 +/- 2.0390, Acurácia: 0.2222\n","\n"," ***************Treino***************\n","Epoca: 113, Loss: 1.4651 +/- 1.1987, Acurácia: 0.5387\n","\n"," ***************Teste***************\n","Epoca: 113, Loss: 2.9657 +/- 2.1817, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 114, Loss: 1.4879 +/- 1.1787, Acurácia: 0.5309\n","\n"," ***************Teste***************\n","Epoca: 114, Loss: 2.8175 +/- 2.0058, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 115, Loss: 1.4647 +/- 1.1245, Acurácia: 0.5090\n","\n"," ***************Teste***************\n","Epoca: 115, Loss: 2.9562 +/- 2.1882, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 116, Loss: 1.4563 +/- 1.1421, Acurácia: 0.5071\n","\n"," ***************Teste***************\n","Epoca: 116, Loss: 2.8036 +/- 2.0869, Acurácia: 0.3000\n","\n"," ***************Treino***************\n","Epoca: 117, Loss: 1.4286 +/- 1.1476, Acurácia: 0.5302\n","\n"," ***************Teste***************\n","Epoca: 117, Loss: 2.8944 +/- 2.1697, Acurácia: 0.3111\n","\n"," ***************Treino***************\n","Epoca: 118, Loss: 1.4723 +/- 1.1512, Acurácia: 0.5102\n","\n"," ***************Teste***************\n","Epoca: 118, Loss: 2.9434 +/- 2.2629, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 119, Loss: 1.4428 +/- 1.1296, Acurácia: 0.5175\n","\n"," ***************Teste***************\n","Epoca: 119, Loss: 2.8600 +/- 2.1405, Acurácia: 0.3000\n","\n"," ***************Treino***************\n","Epoca: 120, Loss: 1.4425 +/- 1.1553, Acurácia: 0.5169\n","\n"," ***************Teste***************\n","Epoca: 120, Loss: 2.8774 +/- 2.1924, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 121, Loss: 1.4169 +/- 1.1483, Acurácia: 0.5314\n","\n"," ***************Teste***************\n","Epoca: 121, Loss: 2.7774 +/- 2.1058, Acurácia: 0.2667\n","\n"," ***************Treino***************\n","Epoca: 122, Loss: 1.4096 +/- 1.1525, Acurácia: 0.5361\n","\n"," ***************Teste***************\n","Epoca: 122, Loss: 2.6235 +/- 1.9362, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 123, Loss: 1.4729 +/- 1.1542, Acurácia: 0.5067\n","\n"," ***************Teste***************\n","Epoca: 123, Loss: 2.5341 +/- 1.7476, Acurácia: 0.2333\n","\n"," ***************Treino***************\n","Epoca: 124, Loss: 1.4686 +/- 1.1234, Acurácia: 0.5225\n","\n"," ***************Teste***************\n","Epoca: 124, Loss: 2.4763 +/- 1.7229, Acurácia: 0.2556\n","\n"," ***************Treino***************\n","Epoca: 125, Loss: 1.4430 +/- 1.1511, Acurácia: 0.5359\n","\n"," ***************Teste***************\n","Epoca: 125, Loss: 2.4789 +/- 1.7940, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 126, Loss: 1.5240 +/- 1.1559, Acurácia: 0.4937\n","\n"," ***************Teste***************\n","Epoca: 126, Loss: 2.3657 +/- 1.6700, Acurácia: 0.3111\n","\n"," ***************Treino***************\n","Epoca: 127, Loss: 1.5158 +/- 1.1720, Acurácia: 0.5044\n","\n"," ***************Teste***************\n","Epoca: 127, Loss: 2.3350 +/- 1.6265, Acurácia: 0.2778\n","\n"," ***************Treino***************\n","Epoca: 128, Loss: 1.6063 +/- 1.1910, Acurácia: 0.4615\n","\n"," ***************Teste***************\n","Epoca: 128, Loss: 2.4054 +/- 1.6547, Acurácia: 0.2667\n","\n"," ***************Treino***************\n","Epoca: 129, Loss: 1.4816 +/- 1.1250, Acurácia: 0.5098\n","\n"," ***************Teste***************\n","Epoca: 129, Loss: 2.3524 +/- 1.5815, Acurácia: 0.2667\n","\n"," ***************Treino***************\n","Epoca: 130, Loss: 1.5581 +/- 1.1982, Acurácia: 0.5005\n","\n"," ***************Teste***************\n","Epoca: 130, Loss: 2.3121 +/- 1.5320, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 131, Loss: 1.5513 +/- 1.1698, Acurácia: 0.4866\n","\n"," ***************Teste***************\n","Epoca: 131, Loss: 2.2911 +/- 1.5464, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 132, Loss: 1.4757 +/- 1.1183, Acurácia: 0.4969\n","\n"," ***************Teste***************\n","Epoca: 132, Loss: 2.2483 +/- 1.5685, Acurácia: 0.3111\n","\n"," ***************Treino***************\n","Epoca: 133, Loss: 1.4987 +/- 1.1321, Acurácia: 0.4930\n","\n"," ***************Teste***************\n","Epoca: 133, Loss: 2.2501 +/- 1.5301, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 134, Loss: 1.5498 +/- 1.1545, Acurácia: 0.4960\n","\n"," ***************Teste***************\n","Epoca: 134, Loss: 2.3199 +/- 1.6155, Acurácia: 0.2667\n","\n"," ***************Treino***************\n","Epoca: 135, Loss: 1.5547 +/- 1.1605, Acurácia: 0.4991\n","\n"," ***************Teste***************\n","Epoca: 135, Loss: 2.2672 +/- 1.4768, Acurácia: 0.3000\n","\n"," ***************Treino***************\n","Epoca: 136, Loss: 1.5226 +/- 1.1587, Acurácia: 0.5022\n","\n"," ***************Teste***************\n","Epoca: 136, Loss: 2.2673 +/- 1.5157, Acurácia: 0.3000\n","\n"," ***************Treino***************\n","Epoca: 137, Loss: 1.5395 +/- 1.1708, Acurácia: 0.5075\n","\n"," ***************Teste***************\n","Epoca: 137, Loss: 2.2270 +/- 1.5277, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 138, Loss: 1.5188 +/- 1.2162, Acurácia: 0.5111\n","\n"," ***************Teste***************\n","Epoca: 138, Loss: 2.2488 +/- 1.5589, Acurácia: 0.2889\n","\n"," ***************Treino***************\n","Epoca: 139, Loss: 1.4943 +/- 1.1330, Acurácia: 0.5147\n","\n"," ***************Teste***************\n","Epoca: 139, Loss: 2.3246 +/- 1.6423, Acurácia: 0.3222\n","\n"," ***************Treino***************\n","Epoca: 140, Loss: 1.5298 +/- 1.1731, Acurácia: 0.5009\n","\n"," ***************Teste***************\n","Epoca: 140, Loss: 2.1516 +/- 1.5354, Acurácia: 0.3556\n","\n"," ***************Treino***************\n","Epoca: 141, Loss: 1.5135 +/- 1.2009, Acurácia: 0.5074\n","\n"," ***************Teste***************\n","Epoca: 141, Loss: 2.1912 +/- 1.6410, Acurácia: 0.3778\n","\n"," ***************Treino***************\n","Epoca: 142, Loss: 1.4389 +/- 1.1169, Acurácia: 0.5303\n","\n"," ***************Teste***************\n","Epoca: 142, Loss: 2.1587 +/- 1.5880, Acurácia: 0.3778\n","\n"," ***************Treino***************\n","Epoca: 143, Loss: 1.4481 +/- 1.1400, Acurácia: 0.5250\n","\n"," ***************Teste***************\n","Epoca: 143, Loss: 2.1550 +/- 1.5808, Acurácia: 0.4111\n","\n"," ***************Treino***************\n","Epoca: 144, Loss: 1.5129 +/- 1.1681, Acurácia: 0.4943\n","\n"," ***************Teste***************\n","Epoca: 144, Loss: 2.1031 +/- 1.5064, Acurácia: 0.4222\n","\n"," ***************Treino***************\n","Epoca: 145, Loss: 1.4678 +/- 1.1745, Acurácia: 0.5088\n","\n"," ***************Teste***************\n","Epoca: 145, Loss: 2.0539 +/- 1.4505, Acurácia: 0.3667\n","\n"," ***************Treino***************\n","Epoca: 146, Loss: 1.4545 +/- 1.1084, Acurácia: 0.5209\n","\n"," ***************Teste***************\n","Epoca: 146, Loss: 1.9770 +/- 1.3399, Acurácia: 0.3556\n","\n"," ***************Treino***************\n","Epoca: 147, Loss: 1.4641 +/- 1.1694, Acurácia: 0.5119\n","\n"," ***************Teste***************\n","Epoca: 147, Loss: 1.9904 +/- 1.3249, Acurácia: 0.3778\n","\n"," ***************Treino***************\n","Epoca: 148, Loss: 1.4851 +/- 1.1919, Acurácia: 0.5270\n","\n"," ***************Teste***************\n","Epoca: 148, Loss: 1.9989 +/- 1.3429, Acurácia: 0.3667\n","\n"," ***************Treino***************\n","Epoca: 149, Loss: 1.4549 +/- 1.1905, Acurácia: 0.5182\n","\n"," ***************Teste***************\n","Epoca: 149, Loss: 1.9881 +/- 1.2967, Acurácia: 0.3667\n","\n"," ***************Treino***************\n","Epoca: 150, Loss: 1.4115 +/- 1.1190, Acurácia: 0.5397\n","\n"," ***************Teste***************\n","Epoca: 150, Loss: 2.0045 +/- 1.4141, Acurácia: 0.3889\n","\n"," ***************Treino***************\n","Epoca: 151, Loss: 1.3636 +/- 1.1647, Acurácia: 0.5650\n","\n"," ***************Teste***************\n","Epoca: 151, Loss: 2.0072 +/- 1.3867, Acurácia: 0.3556\n","\n"," ***************Treino***************\n","Epoca: 152, Loss: 1.4102 +/- 1.1388, Acurácia: 0.5358\n","\n"," ***************Teste***************\n","Epoca: 152, Loss: 1.9801 +/- 1.3285, Acurácia: 0.3556\n","\n"," ***************Treino***************\n","Epoca: 153, Loss: 1.3963 +/- 1.1703, Acurácia: 0.5478\n","\n"," ***************Teste***************\n","Epoca: 153, Loss: 2.0660 +/- 1.4183, Acurácia: 0.3556\n","\n"," ***************Treino***************\n","Epoca: 154, Loss: 1.4176 +/- 1.1510, Acurácia: 0.5467\n","\n"," ***************Teste***************\n","Epoca: 154, Loss: 2.0551 +/- 1.4672, Acurácia: 0.3111\n","\n"," ***************Treino***************\n","Epoca: 155, Loss: 1.4212 +/- 1.1986, Acurácia: 0.5302\n","\n"," ***************Teste***************\n","Epoca: 155, Loss: 2.1017 +/- 1.5882, Acurácia: 0.3333\n","\n"," ***************Treino***************\n","Epoca: 156, Loss: 1.4665 +/- 1.1700, Acurácia: 0.5332\n","\n"," ***************Teste***************\n","Epoca: 156, Loss: 2.1273 +/- 1.5367, Acurácia: 0.3222\n","\n"," ***************Treino***************\n","Epoca: 157, Loss: 1.4174 +/- 1.1295, Acurácia: 0.5310\n","\n"," ***************Teste***************\n","Epoca: 157, Loss: 2.0411 +/- 1.4423, Acurácia: 0.3333\n","\n"," ***************Treino***************\n","Epoca: 158, Loss: 1.4114 +/- 1.1433, Acurácia: 0.5399\n","\n"," ***************Teste***************\n","Epoca: 158, Loss: 2.0810 +/- 1.4685, Acurácia: 0.3000\n","\n"," ***************Treino***************\n","Epoca: 159, Loss: 1.4680 +/- 1.2116, Acurácia: 0.5241\n","\n"," ***************Teste***************\n","Epoca: 159, Loss: 2.0312 +/- 1.4387, Acurácia: 0.3222\n","\n"," ***************Treino***************\n","Epoca: 160, Loss: 1.3872 +/- 1.1291, Acurácia: 0.5554\n","\n"," ***************Teste***************\n","Epoca: 160, Loss: 2.0235 +/- 1.4378, Acurácia: 0.3333\n","\n"," ***************Treino***************\n","Epoca: 161, Loss: 1.4468 +/- 1.1421, Acurácia: 0.5320\n","\n"," ***************Teste***************\n","Epoca: 161, Loss: 2.0105 +/- 1.4621, Acurácia: 0.3444\n","\n"," ***************Treino***************\n","Epoca: 162, Loss: 1.4160 +/- 1.1603, Acurácia: 0.5409\n","\n"," ***************Teste***************\n","Epoca: 162, Loss: 2.0138 +/- 1.4470, Acurácia: 0.3778\n","\n"," ***************Treino***************\n","Epoca: 163, Loss: 1.3909 +/- 1.1188, Acurácia: 0.5345\n","\n"," ***************Teste***************\n","Epoca: 163, Loss: 1.9330 +/- 1.3179, Acurácia: 0.4000\n","\n"," ***************Treino***************\n","Epoca: 164, Loss: 1.3668 +/- 1.1238, Acurácia: 0.5547\n","\n"," ***************Teste***************\n","Epoca: 164, Loss: 1.9495 +/- 1.3943, Acurácia: 0.3889\n","\n"," ***************Treino***************\n","Epoca: 165, Loss: 1.3349 +/- 1.1277, Acurácia: 0.5731\n","\n"," ***************Teste***************\n","Epoca: 165, Loss: 1.9712 +/- 1.3389, Acurácia: 0.3889\n","\n"," ***************Treino***************\n","Epoca: 166, Loss: 1.3531 +/- 1.1713, Acurácia: 0.5805\n","\n"," ***************Teste***************\n","Epoca: 166, Loss: 1.9939 +/- 1.4961, Acurácia: 0.3889\n","\n"," ***************Treino***************\n","Epoca: 167, Loss: 1.3298 +/- 1.1188, Acurácia: 0.5660\n","\n"," ***************Teste***************\n","Epoca: 167, Loss: 2.0239 +/- 1.5078, Acurácia: 0.3667\n","\n"," ***************Treino***************\n","Epoca: 168, Loss: 1.3502 +/- 1.1243, Acurácia: 0.5607\n","\n"," ***************Teste***************\n","Epoca: 168, Loss: 2.0047 +/- 1.4966, Acurácia: 0.3667\n","\n"," ***************Treino***************\n","Epoca: 169, Loss: 1.3312 +/- 1.1558, Acurácia: 0.5777\n","\n"," ***************Teste***************\n","Epoca: 169, Loss: 2.0550 +/- 1.5733, Acurácia: 0.3667\n","\n"," ***************Treino***************\n","Epoca: 170, Loss: 1.3377 +/- 1.1705, Acurácia: 0.5814\n","\n"," ***************Teste***************\n","Epoca: 170, Loss: 1.9971 +/- 1.4723, Acurácia: 0.3667\n","\n"," ***************Treino***************\n","Epoca: 171, Loss: 1.3081 +/- 1.1204, Acurácia: 0.5726\n","\n"," ***************Teste***************\n","Epoca: 171, Loss: 2.1340 +/- 1.6378, Acurácia: 0.4000\n","\n"," ***************Treino***************\n","Epoca: 172, Loss: 1.2703 +/- 1.1089, Acurácia: 0.5875\n","\n"," ***************Teste***************\n","Epoca: 172, Loss: 2.0857 +/- 1.6434, Acurácia: 0.3889\n","\n"," ***************Treino***************\n","Epoca: 173, Loss: 1.3455 +/- 1.1487, Acurácia: 0.5708\n","\n"," ***************Teste***************\n","Epoca: 173, Loss: 1.9920 +/- 1.5493, Acurácia: 0.4000\n","\n"," ***************Treino***************\n","Epoca: 174, Loss: 1.2668 +/- 1.0878, Acurácia: 0.5986\n","\n"," ***************Teste***************\n","Epoca: 174, Loss: 1.9766 +/- 1.5640, Acurácia: 0.4000\n","\n"," ***************Treino***************\n","Epoca: 175, Loss: 1.2636 +/- 1.0838, Acurácia: 0.5869\n","\n"," ***************Teste***************\n","Epoca: 175, Loss: 1.9671 +/- 1.5278, Acurácia: 0.3667\n","\n"," ***************Treino***************\n","Epoca: 176, Loss: 1.2643 +/- 1.1584, Acurácia: 0.6075\n","\n"," ***************Teste***************\n","Epoca: 176, Loss: 1.9763 +/- 1.5366, Acurácia: 0.3333\n","\n"," ***************Treino***************\n","Epoca: 177, Loss: 1.3368 +/- 1.1672, Acurácia: 0.5682\n","\n"," ***************Teste***************\n","Epoca: 177, Loss: 1.9332 +/- 1.5275, Acurácia: 0.4111\n","\n"," ***************Treino***************\n","Epoca: 178, Loss: 1.2921 +/- 1.1388, Acurácia: 0.5949\n","\n"," ***************Teste***************\n","Epoca: 178, Loss: 1.9048 +/- 1.4892, Acurácia: 0.3889\n","\n"," ***************Treino***************\n","Epoca: 179, Loss: 1.2647 +/- 1.1471, Acurácia: 0.6028\n","\n"," ***************Teste***************\n","Epoca: 179, Loss: 1.8854 +/- 1.5005, Acurácia: 0.4222\n","\n"," ***************Treino***************\n","Epoca: 180, Loss: 1.3152 +/- 1.1960, Acurácia: 0.5881\n","\n"," ***************Teste***************\n","Epoca: 180, Loss: 1.8558 +/- 1.4390, Acurácia: 0.4333\n","\n"," ***************Treino***************\n","Epoca: 181, Loss: 1.2469 +/- 1.0951, Acurácia: 0.6003\n","\n"," ***************Teste***************\n","Epoca: 181, Loss: 1.8097 +/- 1.4474, Acurácia: 0.4333\n","\n"," ***************Treino***************\n","Epoca: 182, Loss: 1.2579 +/- 1.0691, Acurácia: 0.5842\n","\n"," ***************Teste***************\n","Epoca: 182, Loss: 1.7817 +/- 1.4390, Acurácia: 0.4444\n","\n"," ***************Treino***************\n","Epoca: 183, Loss: 1.2720 +/- 1.1485, Acurácia: 0.6120\n","\n"," ***************Teste***************\n","Epoca: 183, Loss: 1.8093 +/- 1.4305, Acurácia: 0.4111\n","\n"," ***************Treino***************\n","Epoca: 184, Loss: 1.2615 +/- 1.1648, Acurácia: 0.5981\n","\n"," ***************Teste***************\n","Epoca: 184, Loss: 1.7352 +/- 1.3242, Acurácia: 0.4778\n","\n"," ***************Treino***************\n","Epoca: 185, Loss: 1.2334 +/- 1.1116, Acurácia: 0.6116\n","\n"," ***************Teste***************\n","Epoca: 185, Loss: 1.7689 +/- 1.5441, Acurácia: 0.4889\n","\n"," ***************Treino***************\n","Epoca: 186, Loss: 1.2565 +/- 1.1125, Acurácia: 0.5869\n","\n"," ***************Teste***************\n","Epoca: 186, Loss: 1.8599 +/- 1.5768, Acurácia: 0.4222\n","\n"," ***************Treino***************\n","Epoca: 187, Loss: 1.2528 +/- 1.1556, Acurácia: 0.6087\n","\n"," ***************Teste***************\n","Epoca: 187, Loss: 1.8008 +/- 1.5533, Acurácia: 0.4778\n","\n"," ***************Treino***************\n","Epoca: 188, Loss: 1.2905 +/- 1.0992, Acurácia: 0.5709\n","\n"," ***************Teste***************\n","Epoca: 188, Loss: 1.9294 +/- 1.6818, Acurácia: 0.4111\n","\n"," ***************Treino***************\n","Epoca: 189, Loss: 1.2971 +/- 1.1403, Acurácia: 0.5891\n","\n"," ***************Teste***************\n","Epoca: 189, Loss: 1.9083 +/- 1.6845, Acurácia: 0.4667\n","\n"," ***************Treino***************\n","Epoca: 190, Loss: 1.2343 +/- 1.1237, Acurácia: 0.5908\n","\n"," ***************Teste***************\n","Epoca: 190, Loss: 1.9974 +/- 1.7852, Acurácia: 0.4556\n","\n"," ***************Treino***************\n","Epoca: 191, Loss: 1.3013 +/- 1.1573, Acurácia: 0.5855\n","\n"," ***************Teste***************\n","Epoca: 191, Loss: 1.9515 +/- 1.7304, Acurácia: 0.4556\n","\n"," ***************Treino***************\n","Epoca: 192, Loss: 1.2369 +/- 1.0959, Acurácia: 0.6201\n","\n"," ***************Teste***************\n","Epoca: 192, Loss: 1.9897 +/- 1.7528, Acurácia: 0.4556\n","\n"," ***************Treino***************\n","Epoca: 193, Loss: 1.2587 +/- 1.0912, Acurácia: 0.5841\n","\n"," ***************Teste***************\n","Epoca: 193, Loss: 2.0394 +/- 1.8374, Acurácia: 0.4111\n","\n"," ***************Treino***************\n","Epoca: 194, Loss: 1.2142 +/- 1.0671, Acurácia: 0.6118\n","\n"," ***************Teste***************\n","Epoca: 194, Loss: 1.8669 +/- 1.5978, Acurácia: 0.4444\n","\n"," ***************Treino***************\n","Epoca: 195, Loss: 1.2301 +/- 1.1270, Acurácia: 0.6153\n","\n"," ***************Teste***************\n","Epoca: 195, Loss: 1.9280 +/- 1.6454, Acurácia: 0.4222\n","\n"," ***************Treino***************\n","Epoca: 196, Loss: 1.2290 +/- 1.1316, Acurácia: 0.6142\n","\n"," ***************Teste***************\n","Epoca: 196, Loss: 1.9012 +/- 1.7016, Acurácia: 0.4111\n","\n"," ***************Treino***************\n","Epoca: 197, Loss: 1.2240 +/- 1.1368, Acurácia: 0.6117\n","\n"," ***************Teste***************\n","Epoca: 197, Loss: 1.8124 +/- 1.5708, Acurácia: 0.4556\n","\n"," ***************Treino***************\n","Epoca: 198, Loss: 1.1792 +/- 1.0805, Acurácia: 0.6301\n","\n"," ***************Teste***************\n","Epoca: 198, Loss: 1.7856 +/- 1.4881, Acurácia: 0.4556\n","\n"," ***************Treino***************\n","Epoca: 199, Loss: 1.2141 +/- 1.1373, Acurácia: 0.6300\n","\n"," ***************Teste***************\n","Epoca: 199, Loss: 1.7329 +/- 1.5920, Acurácia: 0.4889\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"D-jhpXs_z7vb"},"source":["## Análise de Convergência"]},{"cell_type":"code","metadata":{"id":"gM4BTf7lz7Q6","executionInfo":{"status":"ok","timestamp":1605623194267,"user_tz":180,"elapsed":1575,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}},"outputId":"3f463882-5397-46b5-e98c-694d97a2c35c","colab":{"base_uri":"https://localhost:8080/","height":259}},"source":["fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12,3))\n","\n","ax1.plot(loss_treino[1:], label='Train')\n","ax1.plot(loss_test[1:], label='Test')\n","ax1.set_title('Model Convergence - Loss')\n","ax1.set_xlabel('epochs')\n","ax1.set_ylabel('Loss')\n","ax1.legend()\n","\n","ax2.plot(acc_treino, label='Train')\n","ax2.plot(acc_test, label='Test')\n","ax2.set_title('Model Convergence - Accuracy')\n","ax2.set_xlabel('epochs')\n","ax2.set_ylabel('Accuracy')\n","ax2.legend()"],"execution_count":25,"outputs":[{"output_type":"execute_result","data":{"text/plain":["<matplotlib.legend.Legend at 0x7fb897218080>"]},"metadata":{"tags":[]},"execution_count":25},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 864x216 with 2 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"9Dkx4uHTz-8l"},"source":["## Usando o modelo"]},{"cell_type":"code","metadata":{"id":"Rul7kSlY0Aui","executionInfo":{"status":"ok","timestamp":1605623359600,"user_tz":180,"elapsed":721,"user":{"displayName":"Camila Laranjeira","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gihu3QVmkuyR2Al5S_BxrjkrW8O_oUwd2ROuOwQerU=s64","userId":"03895474106233302954"}},"outputId":"9301be34-76f7-493f-8b40-d9f348cbbe26","colab":{"base_uri":"https://localhost:8080/"}},"source":["def predict(nome):\n","  model.eval()\n","\n","  tns = torch.zeros( len(nome), tam_dicionario )\n","  for k, letra in enumerate(nome):\n","    idx = caracteres_validos.find(letra)\n","    tns[k, idx] = 1\n","  tns = tns.to(args['device'])\n","\n","  saida = model(tns)\n","  topv, topi = saida.data.topk(3, 1, True)\n","\n","  print(nome)\n","  for value, index in zip(topv[0], topi[0]):\n","    print('(%.2f) %s' % (value, categorias[index]))\n","  print('\\n')\n","  \n","predict('Merkel')\n","predict('Hirobumi')\n","predict('Suarez')"],"execution_count":30,"outputs":[{"output_type":"stream","text":["Merkel\n","(-1.02) Polish\n","(-1.51) Scottish\n","(-2.30) German\n","\n","\n","Hirobumi\n","(-0.55) Arabic\n","(-1.08) Japanese\n","(-3.42) Czech\n","\n","\n","Suarez\n","(-0.51) Spanish\n","(-1.34) Portuguese\n","(-2.82) Polish\n","\n","\n"],"name":"stdout"}]}]}