Aula 20 – Tensor Flow – Keras – Redes Neurais – MNIST
Aula 20 – Tensor Flow – Keras – Redes Neurais – MNIST
Voltar para página principal do blog
Todas as aulas desse curso
Aula 19 Aula 21
Meu github:
https://github.com/toticavalcanti
Documentação oficial do TensorFlow:
https://www.tensorflow.org/
Quer aprender python3 de graça e com certificado? Acesse então:
https://workover.com.br/python-codigo-fluente
Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook
https://digitalinnovation.one/
Aproveito para deixar meus link de afiliados:
Hostinger
Digital Ocean
One.com
Toti:
https://www.youtube.com/channel/UCUEtjLuDpcOvR3mIUr-viOA
Backing track / Play-along:
https://www.youtube.com/channel/UCT3TryVMqTqYBjf5g5WAHfA
Código Fluente
https://www.youtube.com/channel/UCgn-O-88XBAwdG9gUWkkb0w
Putz!
https://www.youtube.com/channel/UCZXop2-CECwyFYmHbhnAkAw
Fiquem a vontade para me adicionar ao linkedin.
Notebook da aula
Aula 20 – Tensor Flow – Keras – Redes Neurais – MNIST
Vamos usar o TensorFlow 2 e o Keras no exemplo dessas próximas aulas.
Muitas mudanças foram aplicadas no TensorFlow 2 para facilitar a vida dos desenvolvedores.
Keras
O Keras é o framework mais utilizado pelos iniciantes na área de deep learn, justamente por sua facilidade de uso e rápida prototipagem.
O Keras é uma camada de alto-nível para outros framework de Deep Learning, como TensorFlow, Theano e CNTK.
No TensorFlow 2.0, o Keras foi incorporado a ele através do módulo tf.keras.
O Keras é altamente modular, o que facilita muito, entretanto, dá para flexibilizar muito mais o TF do que o Keras.
Funções vs. Sessões
Uma chamada à session.run() funciona quase como uma chamada de função.
Você especifica as entradas e a função a ser chamada, e recebe de volta o conjunto de saídas.
No TensorFlow 2.0, você pode decorar uma função Python usando tf.function() para marcar uma função a ser compilada em tempo de execução (JIT compilation).
Dessa forma, o TensorFlow vai rodá-la em um único grafo!
Isso dá ao TensorFlow alguns benefícios no modo grafo:
Desempenho: a função marcada com tf.function() pode ser otimizada (node pruning, kernel fusion, etc.)
Portabilidade: a função pode ser exportada/reimportada (SavedModel 2.0 RFC), permitindo ao usuários reuso e compartilhamento de funções TensorFlow.
O TensorFlow 1.X era baseado no padrão “kitchen sink”, ou seja, todos os cálculos possíveis era previamente carregados e, então, os tensores selecionados eram calculados via session.run().
No TensorFlow 2.0, a ideia é escrever o código em pequenas funções que serão chamadas quando necessário.
Só use tf.function em cálculos de alto-nível, por exemplo, um passo do treinamento ou a etapa feedforward da rede.
MNIST
Iremos utilizar o keras para carregar a base de dados com o comando: tf.keras.datasets.mnist
Além disso, vamos usá-lo na definição do modelo com: tf.keras.models.Sequential
Modelo sequencial
Um modelo Sequential é apropriado para uma pilha simples de camadas onde cada camada tem exatamente um tensor de entrada e um tensor de saída .
Usamos o componente Sequential que nos permite agrupar uma sequência de camadas.
Um ponto importante a ser observado aqui é que estamos configurando nossa arquitetura de rede neural como um pipeline.
Podemos pensar na variável model resultante, como uma função que pega um lote de imagens como entradas e produz um lote de logits.
Logits são previsões (ou saídas) não normalizadas de um modelo.
No contexto do aprendizado profundo, a camada logits significa a camada que alimenta a softmax (ou outra normalização).
A saída da softmax são as probabilidades para a tarefa de classificação e sua entrada é a camada logits.
A camada logits normalmente produz valores de -infinity a + infinito e a camada softmax os transforma em valores entre 0 e 1.
Clique aqui no link do notebook da aula, nele tem uma explicação detalhada em markdown, do que vamos fazer, e os códigos prontos para execução.
Por essa aula é só.
Voltar para página principal do blog
Todas as aulas desse curso
Aula 19 Aula 21
Meu github:
https://github.com/toticavalcanti
Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook
Link do código fluente no Pinterest
Novamente deixo meus link de afiliados:
Hostinger
Digital Ocean
One.com
Obrigado, até a próxima e bons estudos. 😉