Criando seu próprio modelo de reconhecimento de dígitos
Você chegou ao exercício final do curso - agora você sabe tudo o que precisa para criar um modelo preciso para reconhecer dígitos escritos à mão!
Já fizemos a manipulação básica do conjunto de dados MNIST mostrado no vídeo, então você tem X e y carregados e prontos para modelar. Sequential e Dense de tensorflow.keras também são pré-importados.
Para adicionar um desafio extra, carregamos apenas 2.500 imagens, em vez das 6.000 que você verá em alguns resultados publicados. Os modelos de aprendizagem profunda têm melhor desempenho com mais dados, mas também levam mais tempo para serem treinados, especialmente quando começam a se tornar mais complexos.
Se você tiver um computador compatível com CUDA GPU , poderá aproveitá-lo para melhorar o tempo de computação. Se você não tiver um GPU, não há problema! Você pode configurar um ambiente de aprendizagem profunda na nuvem que pode executar seus modelos em um GPU. Aqui está uma postagem do blog de Dan que explica como fazer isso - dê uma olhada nela depois de concluir este exercício! É uma ótima próxima etapa para você continuar sua jornada de aprendizado profundo.
Você está pronto para levar sua aprendizagem profunda para o próximo nível? Confira Advanced Deep Learning with Keras para ver como o Keras functional API permite que você crie conhecimento de domínio para resolver novos tipos de problemas. Depois que você souber como usar o API funcional, dê uma olhada em Image Processing with Keras in Python para aprender aplicações específicas de imagem do Keras.
Este exercício faz parte do curso
Introdução à aprendizagem profunda em Python
Instruções do exercício
- Crie um objeto
Sequentialpara iniciar seu modelo. Você pode chamar isso demodel. - Adicione a primeira camada oculta
Densede unidades50ao seu modelo com a ativação'relu'. Para esses dados, o siteinput_shapeé(784,). - Adicione uma segunda camada oculta
Densecom unidades50e uma função de ativação'relu'. - Adicione a camada de saída. Sua função de ativação deve ser
'softmax', e o número de nós nessa camada deve ser o mesmo que o número de saídas possíveis nesse caso:10. - Compile o site
modelcomo você fez com os modelos anteriores: Usando'adam'comooptimizer,'categorical_crossentropy'para a perda emetrics=['accuracy']. - Ajuste o modelo usando
Xeyusando umvalidation_splitde épocas0.3e10.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Create the model: model
model = ____
# Add the first hidden layer
____
# Add the second hidden layer
____
# Add the output layer
____
# Compile the model
____
# Fit the model
____