Skip to content

A repository of all my projects done during my Nanodegree course: Deep Learning at Udacity

Notifications You must be signed in to change notification settings

nour-s/deep-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deep Learning

I graduated from Deep Learning Udacity Nanodegree and I wanted to share my projects that I have done during the study. During those projects, I was able to train neural networks to do complicated tasks such as face recognition, handwritten digits recognition, classifying dogs breed, transfer style from image to image, ..etc.

Here you will see a list of of all my projects done during.

The faces in the image below (believe it or not) are completely made up. It is the result of my project where the network was trained using a group of celebrities images. After training, it could generate faces one its own. Of course the images are low resolution to save time and GPU power.

Face Generation

One of the fun projects where I trained a neural network to recognize handwritten digits with high accuracy up to 97%

Handwritten digits recognition

Identefying objects in images. The classification list of objects has 1000 items.

Image Classification

Identifying the type of flowers using Transfer Learning technique using VGG-16 trained network.

Image Classification

One of the most interesting projects. I trained a neural network to transfer a style from an image to another.

Style Transfer

Training a network to detect the breed of a dog in any image. The network can identify 133 breeds. Additionally, if you pass a human image, the network tries to find the closest dog breed that resemble him/her.

Detecting Dogs Breed

Very interesting project where the network CycleGAN can translate an image to another image. For instance, a horse to zebra , or summer to winter.

Horse to Zipra

Another challenging but fun project. Using Recurrent Neural Network, I managed to train a network that read Seinfeld TV show script and generated a new script from scratch using a seed word. The generated script is not perfect, because it takes a lot of efforts and time beyond the scope of the course. However, the script was good enough to be human friendly.

TV Script Generation

It is important when training a Convolutional Network to visualize what the newtork see of your data. It helps you see with the computer eyes, for example in the picture, you can see how the network identify the edges of the car in different way for each filter.

Visualizing Convolutional Networks

It is time now to put the trained model in production. One of the great tools that help train, deploy and update a model is AWS SageMaker. In this project, I deployed the sentiment analsys project to AWS, created an API gateway, Lambda function and a SageMaker endpoint. In the video below you can see the model in action. The HTML web page is making a call to the API deployed to get the sentiment of the randomly picked movie review (from IMDB website).

Sage Maker

The project is about building a network to predict sentiment (positive or negative) in movie reviews.

Sentiment Classification

The project is about building a network neural network and use it to predict daily bike rental ridership. Based on data collected over a passed year.

The trained network could predict the future demand on the bike riding rental with accuracy up to 80%

Sentiment Classification

The project is to predict student admissions to graduate school at UCLA based on three pieces of data:

  • GRE Scores (Test)
  • GPA Scores (Grades)
  • Class rank (1-4)

Student Admissions

In the this project, I was able to implement the gradient descent algorithm on the following sample dataset with two classes.

Gradient Descent

Implemented functions that build the gradient descent algorithm, namely:

  • sigmoid: The sigmoid activation function.
  • output_formula: The formula for the prediction.
  • error_formula: The formula for the error at a point.
  • update_weights: The function that updates the parameters with one gradient descent step.

About

A repository of all my projects done during my Nanodegree course: Deep Learning at Udacity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published