TensorFlow Tutorials with YouTube Videos
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Updated github issue-template. Apr 13, 2018
images Fixed bug in Tutorial 23. Mar 30, 2018
.gitignore Added Tutorial #15 Dec 9, 2016
01_Simple_Linear_Model.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
02_Convolutional_Neural_Network.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
03B_Layers_API.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
03C_Keras_API.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
03_PrettyTensor.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
04_Save_Restore.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
05_Ensemble_Learning.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
06_CIFAR-10.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
07_Inception_Model.ipynb Changed the word rectangular with square. Jun 9, 2017
08_Transfer_Learning.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
09_Video_Data.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
10_Fine-Tuning.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
11_Adversarial_Examples.ipynb Fixed noise plot. Nov 8, 2016
12_Adversarial_Noise_MNIST.ipynb Updated to TensorFlow 1.9 Jul 20, 2018
13B_Visual_Analysis_MNIST.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
13_Visual_Analysis.ipynb Added Tutorial #13 Nov 11, 2016
14_DeepDream.ipynb Added Tutorial #14 Nov 24, 2016
15_Style_Transfer.ipynb Added Tutorial #15 Dec 9, 2016
16_Reinforcement_Learning.ipynb Tiny typo fix. Sep 13, 2018
17_Estimator_API.ipynb Updated to TensorFlow 1.9 Jul 16, 2018
18_TFRecords_Dataset_API.ipynb Added Tutorial 18 Nov 25, 2017
19_Hyper-Parameters.ipynb Fixed link to dev-branch on Github. Mar 7, 2018
20_Natural_Language_Processing.ipynb Added Tutorial 20 Feb 9, 2018
21_Machine_Translation.ipynb Added Tutorial 21 Mar 14, 2018
22_Image_Captioning.ipynb Added Tutorial 22 Mar 17, 2018
23_Time-Series-Prediction.ipynb Fixed bug in Tutorial 23. Mar 30, 2018
LICENSE Minor changes. Jun 26, 2016
README.md Clarified installation instructions etc. Sep 13, 2018
cache.py Added Tutorial #9 Oct 7, 2016
cifar10.py Changed to use os.path.join() Oct 12, 2016
coco.py Added Tutorial 22 Mar 17, 2018
convert.py Added Tutorial #9 Oct 7, 2016
dataset.py Added Tutorial 10 Dec 9, 2017
download.py Updated to TensorFlow 1.9 Jul 16, 2018
europarl.py Added Tutorial 21 Mar 14, 2018
forks.md Fixed link. Oct 3, 2017
imdb.py Added Tutorial 20 Feb 9, 2018
inception.py Added Tutorial #11 Oct 27, 2016
inception5h.py Added Tutorial #14 Nov 24, 2016
knifey.py Added Tutorial 10 Dec 9, 2017
mnist.py Added mnist.py Jul 16, 2018
reinforcement_learning.py Fix import scipy Sep 13, 2018
requirements.txt Tiny fix. Jul 16, 2018
vgg16.py Fixed problem with GPU Dec 15, 2016
weather.py Added Tutorial 23 Mar 26, 2018

README.md

TensorFlow Tutorials

Original repository on GitHub

Original author is Magnus Erik Hvass Pedersen

Introduction

  • These tutorials are intended for beginners in Deep Learning and TensorFlow.
  • Each tutorial covers a single topic.
  • The source-code is well-documented.
  • There is a YouTube video for each tutorial.

Tutorials

  1. Simple Linear Model (Notebook) (Google Colab)

  2. Convolutional Neural Network (Notebook) (Google Colab)

  3. Pretty Tensor (Notebook) (Google Colab)

3-B. Layers API (Notebook) (Google Colab)

3-C. Keras API (Notebook) (Google Colab)

  1. Save & Restore (Notebook) (Google Colab)

  2. Ensemble Learning (Notebook) (Google Colab)

  3. CIFAR-10 (Notebook) (Google Colab)

  4. Inception Model (Notebook) (Google Colab)

  5. Transfer Learning (Notebook) (Google Colab)

  6. Video Data (Notebook) (Google Colab)

  7. Fine-Tuning (Notebook) (Google Colab)

  8. Adversarial Examples (Notebook) (Google Colab)

  9. Adversarial Noise for MNIST (Notebook) (Google Colab)

  10. Visual Analysis (Notebook) (Google Colab)

13-B. Visual Analysis for MNIST (Notebook) (Google Colab)

  1. DeepDream (Notebook) (Google Colab)

  2. Style Transfer (Notebook) (Google Colab)

  3. Reinforcement Learning (Notebook) (Google Colab)

  4. Estimator API (Notebook) (Google Colab)

  5. TFRecords & Dataset API (Notebook) (Google Colab)

  6. Hyper-Parameter Optimization (Notebook) (Google Colab)

  7. Natural Language Processing (Notebook) (Google Colab)

  8. Machine Translation (Notebook) (Google Colab)

  9. Image Captioning (Notebook) (Google Colab)

  10. Time-Series Prediction (Notebook) (Google Colab)

Videos

These tutorials are also available as YouTube videos.

Obsolete Tutorials

Some of these tutorials use an API called PrettyTensor for creating Neural Networks in TensorFlow, but the PrettyTensor API is now obsolete. Some of the Notebooks are therefore also obsolete and they are clearly marked at the top of each Notebook. It is recommended that you instead use the Keras API for creating Neural Networks in TensorFlow.

Translations

These tutorials have been translated to the following languages:

New Translations

You can help by translating the remaining tutorials or reviewing the ones that have already been translated. You can also help by translating to other languages.

It is a very big job to translate all the tutorials, so you should just start with Tutorials #01, #02 and #03-C which are the most important for beginners.

New Videos

You are also very welcome to record your own YouTube videos in other languages. It is strongly recommended that you get a decent microphone because good sound quality is very important. I used vokoscreen for recording the videos and the free DaVinci Resolve for editing the videos.

Forks

See the selected list of forks for community modifications to these tutorials.

Installation

There are different ways of installing and running TensorFlow. This section describes how I did it for these tutorials. You may want to do it differently and you can search the internet for instructions.

If you are new to using Python and Linux then this may be challenging to get working and you may need to do internet searches for error-messages, etc. It will get easier with practice. You can also run the tutorials without installing anything by using Google Colab, see further below.

Some of the Python Notebooks use source-code located in different files to allow for easy re-use across multiple tutorials. It is therefore recommended that you download the whole repository from GitHub, instead of just downloading the individual Python Notebooks.

Git

The easiest way to download and install these tutorials is by using git from the command-line:

git clone https://github.com/Hvass-Labs/TensorFlow-Tutorials.git

This will create the directory TensorFlow-Tutorials and download all the files to it.

This also makes it easy to update the tutorials, simply by executing this command inside that directory:

git pull

Download Zip-File

You can also download the contents of the GitHub repository as a Zip-file and extract it manually.

Environment

I use Anaconda because it comes with many Python packages already installed and it is easy to work with. After installing Anaconda, you should create a conda environment so you do not destroy your main installation in case you make a mistake somewhere:

conda create --name tf python=3

When Python gets updated to a new version, it takes a while before TensorFlow also uses the new Python version. So if the TensorFlow installation fails, then you may have to specify an older Python version for your new environment, such as:

conda create --name tf python=3.6

Now you can switch to the new environment by running the following (on Linux):

source activate tf

Required Packages

The tutorials require several Python packages to be installed. The packages are listed in requirements.txt First you need to edit this file and select whether you want to install the CPU or GPU version of TensorFlow.

To install the required Python packages and dependencies you first have to activate the conda-environment as described above, and then you run the following command in a terminal:

pip install -r requirements.txt

Note that the GPU-version of TensorFlow also requires the installation of various NVIDIA drivers, which is not described here.

Python Version 3.5 or Later

These tutorials were developed on Linux using Python 3.5 / 3.6 (the Anaconda distribution) and PyCharm.

There are reports that Python 2.7 gives error messages with these tutorials. Please make sure you are using Python 3.5 or later!

How To Run

If you have followed the above installation instructions, you should now be able to run the tutorials in the Python Notebooks:

cd ~/development/TensorFlow-Tutorials/  # Your installation directory.
jupyter notebook

This should start a web-browser that shows the list of tutorials. Click on a tutorial to load it.

Run in Google Colab

If you do not want to install anything on your own computer, then the Notebooks can be viewed, edited and run entirely on the internet by using Google Colab. There is a YouTube video explaining how to do this. You click the "Google Colab"-link next to each tutorial listed above. You can view the Notebook on Colab but in order to run it you need to login using your Google account. Then you need to execute the following commands at the top of the Notebook, which clones the contents of this repository to your work-directory on Colab.

import os
work_dir = "/content/TensorFlow-Tutorials/"
if os.getcwd() != work_dir:
    !git clone https://github.com/Hvass-Labs/TensorFlow-Tutorials.git
os.chdir(work_dir)

All required packages should already be installed on Colab, otherwise you can run the following command:

!pip install -r requirements.txt

Older Versions

Sometimes the source-code has changed from that shown in the YouTube videos. This may be due to bug-fixes, improvements, or because code-sections are moved to separate files for easy re-use.

If you want to see the exact versions of the source-code that were used in the YouTube videos, then you can browse the history of commits to the GitHub repository.

License (MIT)

These tutorials and source-code are published under the MIT License which allows very broad use for both academic and commercial purposes.

A few of the images used for demonstration purposes may be under copyright. These images are included under the "fair usage" laws.

You are very welcome to modify these tutorials and use them in your own projects. Please keep a link to the original repository.