October 29, 2018

# aymericdamien/TensorFlow-Examples

TensorFlow Tutorial and Examples for Beginners (support TF v1 & v2)

repo name aymericdamien/TensorFlow-Examples
homepage https://tensorflow.org
language Jupyter Notebook
size (curr.) 9552 kB
stars (curr.) 36497
created 2015-11-11

# TensorFlow Examples

This tutorial was designed for easily diving into TensorFlow, through examples. For readability, it includes both notebooks and source codes with explanation, for both TF v1 & v2.

It is suitable for beginners who want to find clear and concise examples about TensorFlow. Besides the traditional ‘raw’ TensorFlow implementations, you can also find the latest TensorFlow API practices (such as `layers`, `estimator`, `dataset`, …).

Update (08/17/2019): Added new TensorFlow 2.0 examples! (more coming soon).

If you are using older TensorFlow version (0.11 and under), please take a look here.

## Tutorial index

#### 1 - Introduction

• Hello World (notebook) (code). Very simple example to learn how to print “hello world” using TensorFlow.
• Basic Operations (notebook) (code). A simple example that cover TensorFlow basic operations.
• TensorFlow Eager API basics (notebook) (code). Get started with TensorFlow’s Eager API.

#### 2 - Basic Models

• Linear Regression (notebook) (code). Implement a Linear Regression with TensorFlow.
• Linear Regression (eager api) (notebook) (code). Implement a Linear Regression using TensorFlow’s Eager API.
• Logistic Regression (notebook) (code). Implement a Logistic Regression with TensorFlow.
• Logistic Regression (eager api) (notebook) (code). Implement a Logistic Regression using TensorFlow’s Eager API.
• Nearest Neighbor (notebook) (code). Implement Nearest Neighbor algorithm with TensorFlow.
• K-Means (notebook) (code). Build a K-Means classifier with TensorFlow.
• Random Forest (notebook) (code). Build a Random Forest classifier with TensorFlow.
• Gradient Boosted Decision Tree (GBDT) (notebook) (code). Build a Gradient Boosted Decision Tree (GBDT) with TensorFlow.
• Word2Vec (Word Embedding) (notebook) (code). Build a Word Embedding Model (Word2Vec) from Wikipedia data, with TensorFlow.

#### 3 - Neural Networks

##### Supervised
• Simple Neural Network (notebook) (code). Build a simple neural network (a.k.a Multi-layer Perceptron) to classify MNIST digits dataset. Raw TensorFlow implementation.
• Simple Neural Network (tf.layers/estimator api) (notebook) (code). Use TensorFlow ‘layers’ and ‘estimator’ API to build a simple neural network (a.k.a Multi-layer Perceptron) to classify MNIST digits dataset.
• Simple Neural Network (eager api) (notebook) (code). Use TensorFlow Eager API to build a simple neural network (a.k.a Multi-layer Perceptron) to classify MNIST digits dataset.
• Convolutional Neural Network (notebook) (code). Build a convolutional neural network to classify MNIST digits dataset. Raw TensorFlow implementation.
• Convolutional Neural Network (tf.layers/estimator api) (notebook) (code). Use TensorFlow ‘layers’ and ‘estimator’ API to build a convolutional neural network to classify MNIST digits dataset.
• Recurrent Neural Network (LSTM) (notebook) (code). Build a recurrent neural network (LSTM) to classify MNIST digits dataset.
• Bi-directional Recurrent Neural Network (LSTM) (notebook) (code). Build a bi-directional recurrent neural network (LSTM) to classify MNIST digits dataset.
• Dynamic Recurrent Neural Network (LSTM) (notebook) (code). Build a recurrent neural network (LSTM) that performs dynamic calculation to classify sequences of different length.
##### Unsupervised
• Auto-Encoder (notebook) (code). Build an auto-encoder to encode an image to a lower dimension and re-construct it.
• Variational Auto-Encoder (notebook) (code). Build a variational auto-encoder (VAE), to encode and generate images from noise.
• GAN (Generative Adversarial Networks) (notebook) (code). Build a Generative Adversarial Network (GAN) to generate images from noise.
• DCGAN (Deep Convolutional Generative Adversarial Networks) (notebook) (code). Build a Deep Convolutional Generative Adversarial Network (DCGAN) to generate images from noise.

#### 4 - Utilities

• Save and Restore a model (notebook) (code). Save and Restore a model with TensorFlow.
• Tensorboard - Graph and loss visualization (notebook) (code). Use Tensorboard to visualize the computation Graph and plot the loss.
• Tensorboard - Advanced visualization (notebook) (code). Going deeper into Tensorboard; visualize the variables, gradients, and more…

#### 5 - Data Management

• Build an image dataset (notebook) (code). Build your own images dataset with TensorFlow data queues, from image folders or a dataset file.
• TensorFlow Dataset API (notebook) (code). Introducing TensorFlow Dataset API for optimizing the input data pipeline.
• Load and Parse data (notebook). Build efficient data pipeline (Numpy arrays, Images, CSV files, custom data, …).
• Build and Load TFRecords (notebook). Convert data into TFRecords format, and load them.
• Image Transformation (i.e. Image Augmentation) (notebook). Apply various image augmentation techniques, to generate distorted images for training.

#### 6 - Multi GPU

• Basic Operations on multi-GPU (notebook) (code). A simple example to introduce multi-GPU in TensorFlow.
• Train a Neural Network on multi-GPU (notebook) (code). A clear and simple TensorFlow implementation to train a convolutional neural network on multiple GPUs.

## TensorFlow 2.0

The tutorial index for TF v2 is available here: TensorFlow 2.0 Examples.

## Dataset

Some examples require MNIST dataset for training and testing. Don’t worry, this dataset will automatically be downloaded when running examples. MNIST is a database of handwritten digits, for a quick description of that dataset, you can check this notebook.

Official Website: http://yann.lecun.com/exdb/mnist/.

## Installation

``````git clone https://github.com/aymericdamien/TensorFlow-Examples
``````

To run them, you also need the latest version of TensorFlow. To install it:

``````pip install tensorflow
``````

or (with GPU support):

``````pip install tensorflow_gpu
``````

For more details about TensorFlow installation, you can check TensorFlow Installation Guide

## More Examples

The following examples are coming from TFLearn, a library that provides a simplified interface for TensorFlow. You can have a look, there are many examples and pre-built operations and layers.

### Tutorials

• TFLearn Quickstart. Learn the basics of TFLearn through a concrete machine learning task. Build and train a deep neural network classifier.