1
resposta

Resultados de modelos com 100 epochs com e sem Dropout

Rodei os modelos variando o número de camadas e normalização das imagens. Em todos os casos foi reiniciado o kernel.

----------------------------------------
layers: 1 com 256 relu
Normalizado: imagens_treino = imagens_treino/255 e imagens_teste = imagens_teste/255
Dropout = Não
epochs = 100
validation_split = 0.15
metrics=['accuracy']

Tempo de execução:  368.3534161
Tempo Médio: 3.69s

Perda do teste:  0.9306023919880391
Acurácia do teste:  0.8824


----------------------------------------
layers: 2 com 256 e 128 relu
Normalizado: imagens_treino = imagens_treino/255 e imagens_teste = imagens_teste/255
Dropout = Não
epochs = 100
validation_split = 0.15
metrics=['accuracy']

Tempo de execução:  391.0000407
Tempo Médio: 3.91s

Perda do teste:  1.1055604360967874
Acurácia do teste:  0.8891

----------------------------------------
----------------------------------------
layers: 1 com 256 relu
Normalizado: Não
Dropout = Não
epochs = 100
validation_split = 0.15
metrics=['accuracy']

Tempo de execução:  352.4675158
Tempo Médio: 3.53s


Perda do teste:  0.9937193917036057
Acurácia do teste:  0.8266

----------------------------------------
layers: 2 com 256 e 128 relu
Normalizado: Não
Dropout = Não
epochs = 100
validation_split = 0.15
metrics=['accuracy']

Tempo de execução:  376.72405230000004
Tempo Médio: 3.77s

Perda do teste:  0.8627762942194939
Acurácia do teste:  0.8738

----------------------------------------
----------------------------------------
layers: 1 com 256 relu
Normalizado: imagens_treino = imagens_treino/255 e imagens_teste = imagens_teste/255
Dropout = 0.2
epochs = 100
validation_split = 0.15
metrics=['accuracy']

cpu = 41% ~ 50%, 3.85ghz
ram = 7.1
gpu = 12%
ram gpu = 5

Tempo de execução:  399.4709732
Tempo Médio: 4.00s

Perda do teste:  0.5985274726979435
Acurácia do teste:  0.8944



----------------------------------------
layers: 2 com 256 e 128 relu
Normalizado: imagens_treino = imagens_treino/255 e imagens_teste = imagens_teste/255
Dropout = 0.2
epochs = 100
validation_split = 0.15
metrics=['accuracy']

cpu = 40% ~ 45%, 3.9ghz
ram = 7.1
gpu = 12%
ram gpu = 5

Tempo de execução:  401.44615710000005
Tempo Médio: 4.02s

Perda do teste:  0.5203083436906337
Acurácia do teste:  0.8906

----------------------------------------
---------------------------------------
layers: 1 com 256 relu
Normalizado: Não
Dropout = 0.2
epochs = 100
validation_split = 0.15
metrics=['accuracy']

cpu = 41% ~ 44%, 3.75ghz ~ 3.9ghz
ram = 6.8
gpu = +-9%
ram gpu = 5

Tempo de execução:  358.56035560000004
Tempo Médio: 3.59s

Perda do teste:  0.903207108259201
Acurácia do teste:  0.7916


----------------------------------------
layers: 2 com 256 e 128 relu
Normalizado: Não
Dropout = 0.2
epochs = 100
validation_split = 0.15
metrics=['accuracy']

cpu = 41% ~ 45%, 3.9ghz
ram = 6.8
gpu = +-9,5%
ram gpu = 5

Tempo de execução:  379.8631075
Tempo Médio: 3.8s

Perda do teste:  0.4945892405986786
Acurácia do teste:  0.846
1 resposta

Olá Bruno.

Parabéns pelas analises, algo que penso ser fundamental nos testes que está fazendo é entender o que cada parâmetro e cada camada representa.

Por mais que o Keras nos permita trabalhar em alto nível e não precisamos entender a fundo o que está acontecendo para fazer o modelo funcionar, tendo esse conhecimento podemos escolher com mais cuidado o que vamos testar, e o melhor caminho para entender é utilizando a documentação oficial do TensorFlow e a do documentação oficial do Keras, nesse links vai encontrar em detalhes o funcionamento do Dropout.

Bons Estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software