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 de exercício
- Crie um objeto
Sequential
para iniciar seu modelo. Você pode chamar isso demodel
. - Adicione a primeira camada oculta
Dense
de unidades50
ao seu modelo com a ativação'relu'
. Para esses dados, o siteinput_shape
é(784,)
. - Adicione uma segunda camada oculta
Dense
com unidades50
e 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
model
como você fez com os modelos anteriores: Usando'adam'
comooptimizer
,'categorical_crossentropy'
para a perda emetrics=['accuracy']
. - Ajuste o modelo usando
X
ey
usando umvalidation_split
de épocas0.3
e10
.
Exercício interativo prático
Experimente este exercício preenchendo 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
____