-
This is my fourth Udacity Machine Learning Engineer nanodegree project.
-
To view my work, open the dog_app(1).ipynb file. The rest are supporting files or less readable formats of the same work.
-
As the name suggests, this project is centered on the creation of a deep learning model capable of using Convolutional Neural Networks to train a model to predict the breed of a dog in a given image or to assign a human in an image the breed of dog that the human most closely resembles.
-
This Jupyter Notebook project is comprised of Python code blocks with my contributions including the word 'Implementation' in the section header, and with the 'TODO' keyword in the comments preceding my code contribution.
-
Furthermore, there are 6 conceptual questions that I have answered thoroughly and demonstrate my understanding of the data and the work that I engaged in with it.
-
The main machine learning concepts covered in this project include the following:
-
Detect Humans and Dogs: detect the presence of a human or a dog in an image, so that we may separate the dataset into human images and dog images.(Involves plenty of data preprocessing)
-
Develop a Convolutional Neural Network from scratch and test its performance.
-
Use Transfer Learning to improve model: used the weights from the Xception model available through the Keras library to give my model a head start recognizing simple structures that are common in all images then added the final layers myself. The performance was much better than the CNN that I developed from scratch.