Ghost2020 / tensorflow-101

TensorFlow 101: Introduction to Deep Learning for Python

Home Page:https://sefiks.com/2017/07/11/hello-tensorflow/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TensorFlow 101: Introduction to Deep Learning

I have worked all my life in Machine Learning, and I've never seen one algorithm knock over its benchmarks like Deep Learning - Andrew Ng

This repository will guide you to become a machine learning practitioner. This includes deep learning based project implementations I've done from scratch. You can find both the source code and documentation as a step by step tutorial. Model structrues and pre-trained weights are shared as well.

PS: This repository is updated regularly. You should pull the repo if you forked.

1- Facial Expression Recognition Code, Tutorial

This is a custom CNN model. Kaggle FER 2013 data set is fed to the model. This model runs fast and produces satisfactory results.

2- Real Time Facial Expression Recognition Code, Tutorial, Video 1, Video 2

This is the adaptation of the same model to real time video or web cam.

3- Face Recognition With Oxford VGG-Face Model Code, Tutorial

Oxford Visual Geometry Group's VGG model is famous for confident scores on Imagenet contest. They retrain (almost) the same network structure for face recognition. This implementation is mainly based on convolutional neural networks, autoencoders and transfer learning. This is on the top of the leaderboard for face recognition challenges.

4- Real Time Deep Face Recognition Implementation with VGG-Face Code, Video

This is the real time implementation of VGG-Face model for face recognition.

5- Face Recognition with Google FaceNet Model Code, Tutorial, Real Time Code, Video

This is an alternative to Oxford VGG model. My experiments show that it runs faster than VGG-Face but it is less accurate even though FaceNet has a more complex structure.

6- Face Recognition with OpenFace Model Code, Tutorial, Real Time Code, Video

OpenFace is a lightweight model for face recognition tasks. It is not the best but it is the fastest.

7- Apparent Age and Gender Prediction Code for age, Code for gender, Tutorial

We've used VGG-Face model for apparent age prediction this time. We actually applied transfer learning. Locking the early layers' weights enables to have outcomes fast.

8- Real Time Age and Gender Prediction Code, Video

This is a real time apparent age and gender prediction implementation

9- Celebrity You Look-Alike Face Recognition Code, Tutorial

Applying same face recogniction technology for imdb data set will find your celebrity look-alike if you discard the threshold in similarity score.

10- Real Time Celebrity Look-Alike Face Recognition Code, Video

This is the real time implementation of finding similar celebrities.

11- Making Arts with Deep Learning: Artistic Style Transfer Code, Tutorial, Video

What if Vincent van Gogh had painted Istanbul Bosporus? Today we can answer this question. A deep learning technique named artistic style transfer enables to transform ordinary images to masterpieces.

12- Autoencoder and clustering Code, Tutorial

We can use neural networks to represent data. If you design a neural networks model symmetric about the centroid and you can restore a base data with an acceptable loss, then output of the centroid layer can represent the base data. Representations can contribute any field of deep learning such as face recognition, style transfer or just clustering.

13- Convolutional Autoencoder and clustering Code, Tutorial

We can adapt same representation approach to convolutional neural networks, too.

14- Transfer Learning: Consuming InceptionV3 to Classify Cat and Dog Images in Keras Code, Tutorial

We can have the outcomes of the other researchers effortlessly. Google researchers compete on Kaggle Imagenet competition. They got 97% accuracy. We will adapt Google's Inception V3 model to classify objects.

15- Handwritten Digit Classification Using Neural Networks Code, Tutorial

We had to apply feature extraction on data sets to use neural networks. Deep learning enables to skip this step. We just feed the data, and deep neural networks can extract features on the data set. Here, we will feed handwritten digit data (MNIST) to deep neural networks, and expect to learn digits.

16- Handwritten Digit Recognition Using Convolutional Neural Networks with Keras Code, Tutorial

Convolutional neural networks are close to human brain. People look for some patterns in classifying objects. For example, mouth, nose and ear shape of a cat is enough to classify a cat. We don't look at all pixels, just focus on some area. Herein, CNN applies some filters to detect these kind of shapes. They perform better than conventional neural networks. Herein, we got almost 2% accuracy than fully connected neural networks.

17- Automated Machine Learning and Auto-Keras Code, Model, Tutorial

AutoML concept aims to find the best network structure and hyper-parameters. Here, I've applied AutoML to facial expression recognition data set. My custom design got 57% accuracy whereas AutoML found a better model and got 66% accuracy. This means almost 10% improvement in the accuracy.

18- Explaining Deep Learning Models with SHAP Code, Tutorial

SHAP explains black box machine learning models and makes them transparent, explainable and provable.

19- Gradient Vanishing Problem Code Tutorial

Why legacy activation functions such as sigmoid and tanh disappear on the pages of the history?

20- How single layer perceptron works Code

This is the 1957 model implementation of the perceptron.

TensorFlow 101 Online Course Curriculum

The following curriculum includes the source codes and notebooks captured in TensorFlow 101: Introduction to Deep Learning online course published on Udemy.

Section 1 - Installing TensorFlow

1- Hello, TensorFlow! Building Deep Neural Networks Classifier Model Code

Section 2 - Reusability in TensorFlow

1- Restoring and Working on Already Trained DNN In TensorFlow Code

The costly operation in neural networks is learning. You may spent hours to train a neural networks model. On the other hand, you can run the model in seconds after training. We'll mention how to store trained models and restore them.

2- Importing Saved TensorFlow DNN Classifier Model in Java Code

You can handle training with TensorFlow in Python and you can call this trained model from Java on your production pipeline.

Section 3 - Monitoring and Evaluating

1- Monitoring Model Evaluation Metrics in TensorFlow and TensorBoard Code

Section 4 - Building regression and time series models

1- Building a DNN Regressor for Non-Linear Time Series in TensorFlow Code

2- Visualizing ML Results with Matplotlib and Embed them in TensorBoard Code

Section 5 - Building Unsupervised Learning Models

1- Unsupervised learning and k-means clustering with TensorFlow Code

We feel strong at supervised learning but today the more data we have is unlabeled. Unsupervised learning is mandatory field in machine learning.

2- Applying k-means clustering to n-dimensional datasets in TensorFlow Code

We can visualize clustering result on 2 and 3 dimensional space but the algorithm still works for higher dimensions even though we cannot visualize. Here, we apply k-means for n-dimensional data set but visualize for 3 dimensions.

Section 6 - Tuning Deep Neural Networks Models

1- Optimization Algorithms in TensorFlow Code

2- Activation Functions in TensorFlow Code

Section 7 - Consuming TensorFlow via Keras

1- Building DNN Classifier with Keras Code

2- Storing and restoring a trained neural networks model with Keras Code

Section 8 - Advanced Applications

1- Handwritten Digit Recognition Using Neural Networks Code, Tutorial

2- Handwritten Digit Recognition Using Convolutional Neural Networks with Keras Code, Tutorial

3- Transfer Learning: Consuming InceptionV3 to Classify Cat and Dog Images in Keras Code, Tutorial

Requirements

I have tested this repository on the following environments.

C:\>python --version
Python 3.6.4 :: Anaconda, Inc.

C:\>activate tensorflow

(tensorflow) C:\>python
Python 3.5.5 |Anaconda, Inc.| (default, Apr  7 2018, 04:52:34) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> print(tf.__version__)
1.9.0
>>>
>>> import keras
Using TensorFlow backend.
>>> print(keras.__version__)
2.2.0
>>>
>>> import cv2
>>> print(cv2.__version__)
3.4.4

To get your environment up you can follow the instructions in the following videos.

Installing TensorFlow and Prerequisites Video

Installing Keras Video

Support

There are many ways to support a project - starring the GitHub repos is one.

Licence

This repository is licensed under MIT license - see LICENSE for more details

About

TensorFlow 101: Introduction to Deep Learning for Python

https://sefiks.com/2017/07/11/hello-tensorflow/

License:MIT License


Languages

Language:Jupyter Notebook 98.1%Language:Python 1.8%Language:Java 0.0%