Good resources to learn TensorFlow

Here are some good resources to learn tensorflow.

Tutorials

Models/Projects

Powered by TensorFlow

  • YOLO TensorFlow - Implementation of ‘YOLO : Real-Time Object Detection’
  • Magenta - Research project to advance the state of the art in machine intelligence for music and art generation

Libraries

  • Scikit Flow (TF Learn) - Simplified interface for Deep/Machine Learning (now part of TensorFlow)
  • tensorflow.rb - TensorFlow native interface for ruby using SWIG

  • tflearn - Deep learning library featuring a higher-level API

  • TensorFlow-Slim - High-level library for defining models
  • TensorFrames - TensorFlow binding for Apache Spark
  • caffe-tensorflow - Convert Caffe models to TensorFlow format
  • keras - Minimal, modular deep learning library for TensorFlow and Theano
  • SyntaxNet: Neural Models of Syntax - A TensorFlow implementation of the models described in Globally Normalized Transition-Based Neural Networks, Andor et al. (2016)

Videos

Papers

Official announcements

Blog posts

Community

Books

  • First Contact with TensorFlow by Jordi Torres, professor at UPC Barcelona Tech and a research manager and senior advisor at Barcelona Supercomputing Center
  • Deep Learning with Python - Develop Deep Learning Models on Theano and TensorFlow Using Keras by Jason Brownlee
  • TensorFlow for Machine Intelligence - Complete guide to use TensorFlow from the basics of graph computing, to deep learning models to using it in production environmemts - Bleeding Edge Press
  • Getting Started with TensorFlow - Get up and running with the latest numerical computing library by Google and dive deeper into your data, by Giancarlo Zaccone
  • Hands-On Machine Learning with Scikit-Learn and TensorFlow – by Aurélien Geron, former lead of the YouTube video classification team. Covers ML fundamentals, training and deploying deep nets across multiple servers and GPUs using TensorFlow, the latest CNN, RNN and Autoencoder architectures, and Reinforcement Learning (Deep Q).
  • Building Machine Learning Projects with Tensorflow – by Rodolfo Bonnin. This book covers various projects in TensorFlow that expose what can be done with TensorFlow in different scenarios. The book provides projects on training models, machine learning, deep learning, and working with various neural networks. Each project is an engaging and insightful exercise that will teach you how to use TensorFlow and show you how layers of data can be explored by working with Tensors.

TensorFlow Tutorials

You can find python source code under the python directory, and associated notebooks under notebooks.

Source code Description
1 basics.py Setup with tensorflow and graph computation.
2 linear_regression.py Performing regression with a single factor and bias.
3 polynomial_regression.py Performing regression using polynomial factors.
4 logistic_regression.py Performing logistic regression using a single layer neural network.
5 basic_convnet.py Building a deep convolutional neural network.
6 modern_convnet.py Building a deep convolutional neural network with batch normalization and leaky rectifiers.
7 autoencoder.py Building a deep autoencoder with tied weights.
8 denoising_autoencoder.py Building a deep denoising autoencoder which corrupts the input.
9 convolutional_autoencoder.py Building a deep convolutional autoencoder.
10 residual_network.py Building a deep residual network.
11 variational_autoencoder.py Building an autoencoder with a variational encoding.

 

Introduction to deep learning based on Google’s TensorFlow framework. These tutorials are direct ports of Newmu’s Theano Tutorials.

Topics

 

TensorFlow Examples

TensorFlow Tutorial with popular machine learning algorithms implementation. This tutorial was designed for easily diving into TensorFlow, through examples.

It is suitable for beginners who want to find clear and concise examples about TensorFlow. For readability, the tutorial includes both notebook and code with explanations.

Tutorial index

0 - Prerequisite

  • Introduction to Machine Learning (notebook)
  • Introduction to MNIST Dataset (notebook)

1 - Introduction

2 - Basic Models

3 - Neural Networks

  • Multilayer Perceptron (notebook) (code)
  • Convolutional Neural Network (notebook) (code)
  • Recurrent Neural Network (LSTM) (notebook) (code)
  • Bidirectional Recurrent Neural Network (LSTM) (notebook) (code)
  • Dynamic Recurrent Neural Network (LSTM) (code)
  • AutoEncoder (notebook) (code)

4 - Utilities

  • Save and Restore a model (notebook) (code)
  • Tensorboard - Graph and loss visualization (notebook) (code)
  • Tensorboard - Advanced visualization (code)

5 - Multi GPU

  • Basic Operations on multi-GPU (notebook) (code)

Dataset

Some examples require MNIST dataset for training and testing. Don’t worry, this dataset will automatically be downloaded when running examples (with input_data.py). 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/

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.

Basics

Computer Vision

  • Multi-layer perceptron. A multi-layer perceptron implementation for MNIST classification task.
  • Convolutional Network (MNIST). A Convolutional neural network implementation for classifying MNIST dataset.
  • Convolutional Network (CIFAR-10). A Convolutional neural network implementation for classifying CIFAR-10 dataset.
  • Network in Network. ‘Network in Network’ implementation for classifying CIFAR-10 dataset.
  • Alexnet. Apply Alexnet to Oxford Flowers 17 classification task.
  • VGGNet. Apply VGG Network to Oxford Flowers 17 classification task.
  • VGGNet Finetuning (Fast Training). Use a pre-trained VGG Network and retrain it on your own data, for fast training.
  • RNN Pixels. Use RNN (over sequence of pixels) to classify images.
  • Highway Network. Highway Network implementation for classifying MNIST dataset.
  • Highway Convolutional Network. Highway Convolutional Network implementation for classifying MNIST dataset.
  • Residual Network (MNIST). A bottleneck residual network applied to MNIST classification task.
  • Residual Network (CIFAR-10). A residual network applied to CIFAR-10 classification task.
  • Google Inception (v3). Google’s Inception v3 network applied to Oxford Flowers 17 classification task.
  • Auto Encoder. An auto encoder applied to MNIST handwritten digits.

Natural Language Processing

Reinforcement Learning

Others

  • Recommender - Wide & Deep Network. Pedagogical example of wide & deep networks for recommender systems.

Notebooks

Extending TensorFlow

  • Layers. Use TFLearn layers along with TensorFlow.
  • Trainer. Use TFLearn trainer class to train any TensorFlow graph.
  • Built-in Ops. Use TFLearn built-in operations along with TensorFlow.
  • Summaries. Use TFLearn summarizers along with TensorFlow.
  • Variables. Use TFLearn variables along with TensorFlow.