A biblioteca de aprendizado profundo Keras Python fornece ferramentas para visualizar e entender melhor seus modelos de rede neural.
Neste tutorial, você descobrirá exatamente como resumir e visualizar seus modelos de aprendizado profundo no Keras.
Depois de concluir este tutorial, você saberá:
- Como criar um resumo textual do seu modelo de aprendizado profundo.
- Como criar um gráfico de seu modelo de aprendizado profundo.
- Dicas de práticas recomendadas ao desenvolver modelos de aprendizado profundo em Keras.
Comece seu projeto com meu novo livro Deep Learning With Python, incluindo tutoriais passo a passo e a Código-fonte Python arquivos para todos os exemplos.
Vamos começar.

Como visualizar um modelo de rede neural de aprendizado profundo em Keras
Foto de Ed Dunens, alguns direitos reservados.
Visão geral do tutorial
Este tutorial é dividido em 4 partes; eles estão:
- Modelo de exemplo
- Resumo do modelo
- Visualize o modelo
- Dicas de boas práticas
Modelo de exemplo
Podemos começar definindo um modelo simples de Perceptron multicamadas em Keras que podemos usar como assunto para resumo e visualização.
O modelo que definiremos tem uma variável de entrada, uma camada oculta com dois neurônios e uma camada de saída com uma saída binária.
Por exemplo:
[1 input] -> [2 neurons] -> [1 output] |
Se você é novo no Keras ou no aprendizado profundo, consulte este tutorial passo a passo do Keras.
A lista de códigos para esta rede é fornecida abaixo.
a partir de keras.modelos importar Sequencial a partir de keras.camadas importar Denso modelo = Sequencial() modelo.adicionar(Denso(2, input_dim=1, ativação='relu')) modelo.adicionar(Denso(1, ativação='sigmóide')) |
Resumo do modelo
Keras fornece uma maneira de resumir um modelo.
O resumo é textual e inclui informações sobre:
- As camadas e sua ordem no modelo.
- A forma de saída de cada camada.
- O número de parâmetros (pesos) em cada camada.
- O número total de parâmetros (pesos) no modelo.
O resumo pode ser criado chamando o resumo() função no modelo que retorna uma string que por sua vez pode ser impressa.
Abaixo está o exemplo atualizado que imprime um resumo do modelo criado.
a partir de keras.modelos importar Sequencial a partir de keras.camadas importar Denso modelo = Sequencial() modelo.adicionar(Denso(2, input_dim=1, ativação='relu')) modelo.adicionar(Denso(1, ativação='sigmóide')) imprimir(modelo.resumo()) |
A execução deste exemplo imprime a tabela a seguir.
_________________________________________________________________ Nº do parâmetro da forma de saída da camada (tipo) ======================================================== =============== denso_1 (denso) (nenhum, 2) 4 _________________________________________________________________ dense_2 (Denso) (Nenhum, 1) 3 ======================================================== =============== Parâmetros totais: 7 Parâmetros treináveis: 7 Parâmetros não treináveis: 0 _________________________________________________________________ |
Podemos ver claramente a forma de saída e o número de pesos em cada camada.
Visualize o modelo
O resumo é útil para modelos simples, mas pode ser confuso para modelos que possuem várias entradas ou saídas.
Keras também fornece uma função para criar um gráfico do gráfico da rede neural da rede que pode tornar os modelos mais complexos mais fáceis de entender.
O plot_model () função em Keras criará um gráfico de sua rede. Esta função tem alguns argumentos úteis:
- modelo: (obrigatório) O modelo que você deseja plotar.
- arquivar: (obrigatório) O nome do arquivo no qual salvar a plotagem.
- show_shapes: (opcional, o padrão é Falso) Se deve ou não mostrar as formas de saída de cada camada.
- show_layer_names: (opcional, o padrão é Verdade) Se deve ou não mostrar o nome de cada camada.
Abaixo está o exemplo atualizado que plota o modelo criado.
Observe que o exemplo pressupõe que você tenha a biblioteca de gráficos graphviz e a interface Python instaladas.
a partir de keras.modelos importar Sequencial a partir de keras.camadas importar Denso a partir de keras.útil.vis_utils importar plot_model modelo = Sequencial() modelo.adicionar(Denso(2, input_dim=1, ativação='relu')) modelo.adicionar(Denso(1, ativação='sigmóide')) plot_model(modelo, arquivar='model_plot.png', show_shapes=Verdade, show_layer_names=Verdade) |
Executar o exemplo cria o arquivo model_plot.png com um gráfico do modelo criado.

Plot of Neural Network Model Graph
Dicas de boas práticas
Eu geralmente recomendo sempre criar um resumo e um gráfico de seu modelo de rede neural em Keras.
Eu recomendo isso por alguns motivos:
- Confirme a ordem das camadas. É fácil adicionar camadas na ordem errada com a API sequencial ou conectá-las incorretamente com a API funcional. O gráfico pode ajudá-lo a confirmar se o modelo está conectado da maneira desejada.
- Confirme a forma de saída de cada camada. É comum ter problemas ao definir a forma dos dados de entrada para redes complexas, como redes neurais convolucionais e recorrentes. O resumo e o gráfico podem ajudá-lo a confirmar se a forma de entrada para a rede é a desejada.
- Confirme os parâmetros. Algumas configurações de rede podem usar muito menos parâmetros, como o uso de um TimeDistributed camada Densa envolvida em uma rede neural recorrente codificador-decodificador. A revisão do resumo pode ajudar a identificar casos de uso de muito mais parâmetros do que o esperado.
Leitura Adicional
Esta seção fornece mais recursos sobre o tópico se você deseja se aprofundar.
Resumo
Neste tutorial, você descobriu como resumir e visualizar seus modelos de aprendizado profundo no Keras.
Especificamente, você aprendeu:
- Como criar um resumo textual do seu modelo de aprendizado profundo.
- Como criar um gráfico de seu modelo de aprendizado profundo.
- Dicas de práticas recomendadas ao desenvolver modelos de aprendizado profundo em Keras.
Você tem alguma pergunta?
Tire suas dúvidas nos comentários abaixo e farei o possível para responder.