Awesome TensorFlow
A curated list of awesome TensorFlow experiments, libraries, and projects. Inspired by awesome-machine-learning.
What is TensorFlow?
TensorFlow is an open source software library for numerical computation using data flow graphs. In other words, the best way to build deep learning models.
More info here.
Table of Contents
- Tutorials
- Models/Projects
- Powered by TensorFlow
- Libraries
- Tools/Utilities
- Videos
- Papers
- Blog posts
- Community
- Books
Tutorials
- TensorFlow Tutorial 1 - From the basics to slightly more interesting applications of TensorFlow
- TensorFlow Tutorial 2 - Introduction to deep learning based on Google's TensorFlow framework. These tutorials are direct ports of Newmu's Theano
- TensorFlow Tutorial 3 - These tutorials are intended for beginners in Deep Learning and TensorFlow with well-documented code and YouTube videos.
- TensorFlow Examples - TensorFlow tutorials and code examples for beginners
- Sungjoon's TensorFlow-101 - TensorFlow tutorials written in Python with Jupyter Notebook
- Terry Um’s TensorFlow Exercises - Re-create the codes from other TensorFlow examples
- Installing TensorFlow on Raspberry Pi 3 - TensorFlow compiled and running properly on the Raspberry Pi
- Classification on time series - Recurrent Neural Network classification in TensorFlow with LSTM on cellphone sensor data
- Getting Started with TensorFlow on Android - Build your first TensorFlow Android app
- Predict time series - Learn to use a seq2seq model on simple datasets as an introduction to the vast array of possibilities that this architecture offers
- Single Image Random Dot Stereograms - SIRDS is a means to present 3D data in a 2D image. It allows for scientific data display of a waterfall type plot with no hidden lines due to perspective.
- CS20 SI: TensorFlow for DeepLearning Research - Stanford Course about Tensorflow from 2017 - Syllabus - Unofficial Videos
- TensorFlow World - Concise and ready-to-use TensorFlow tutorials with detailed documentation are provided.
- Effective Tensorflow - TensorFlow howtos and best practices. Covers the basics as well as advanced topics.
- TensorLayer - Modular implementation for TensorFlow's official tutorials. (CN).
- Understanding The Tensorflow Estimator API A conceptual overview of the Estimator API, when you'd use it and why.
- Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning - Introduction to Tensorflow offered by Coursera
- Convolutional Neural Networks in TensorFlow - Convolutional Neural Networks in Tensorflow, offered by Coursera
- TensorLayerX - Using TensorFlow like PyTorch. (Api docs)
Models/Projects
- Tensorflow-Project-Template - A simple and well-designed template for your tensorflow project.
- Domain Transfer Network - Implementation of Unsupervised Cross-Domain Image Generation
- Show, Attend and Tell - Attention Based Image Caption Generator
- Neural Style Implementation of Neural Style
- SRGAN - Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
- Pretty Tensor - Pretty Tensor provides a high level builder API
- Neural Style - An implementation of neural style
- AlexNet3D - An implementations of AlexNet3D. Simple AlexNet model but with 3D convolutional layers (conv3d).
- TensorFlow White Paper Notes - Annotated notes and summaries of the TensorFlow white paper, along with SVG figures and links to documentation
- NeuralArt - Implementation of A Neural Algorithm of Artistic Style
- Generative Handwriting Demo using TensorFlow - An attempt to implement the random handwriting generation portion of Alex Graves' paper
- Neural Turing Machine in TensorFlow - implementation of Neural Turing Machine
- GoogleNet Convolutional Neural Network Groups Movie Scenes By Setting - Search, filter, and describe videos based on objects, places, and other things that appear in them
- Neural machine translation between the writings of Shakespeare and modern English using TensorFlow - This performs a monolingual translation, going from modern English to Shakespeare and vice-versa.
- Chatbot - Implementation of "A neural conversational model"
- Seq2seq-Chatbot - Chatbot in 200 lines of code
- DCGAN - Deep Convolutional Generative Adversarial Networks
- GAN-CLS -Generative Adversarial Text to Image Synthesis
- im2im - Unsupervised Image to Image Translation with Generative Adversarial Networks
- Improved CycleGAN - Unpaired Image to Image Translation
- DAGAN - Fast Compressed Sensing MRI Reconstruction
- Colornet - Neural Network to colorize grayscale images - Neural Network to colorize grayscale images
- Neural Caption Generator - Implementation of "Show and Tell"
- Neural Caption Generator with Attention - Implementation of "Show, Attend and Tell"
- Weakly_detector - Implementation of "Learning Deep Features for Discriminative Localization"
- Dynamic Capacity Networks - Implementation of "Dynamic Capacity Networks"
- HMM in TensorFlow - Implementation of viterbi and forward/backward algorithms for HMM
- DeepOSM - Train TensorFlow neural nets with OpenStreetMap features and satellite imagery.
- DQN-tensorflow - TensorFlow implementation of DeepMind's 'Human-Level Control through Deep Reinforcement Learning' with OpenAI Gym by Devsisters.com
- Policy Gradient - For Playing Atari Ping Pong
- Deep Q-Network - For Playing Frozen Lake Game
- AC - Actor Critic for Playing Discrete Action space Game (Cartpole)
- A3C - Asynchronous Advantage Actor Critic (A3C) for Continuous Action Space (Bipedal Walker)
- DAGGER - For Playing Gym Torcs
- TRPO - For Continuous and Discrete Action Space by
- Highway Network - TensorFlow implementation of "Training Very Deep Networks" with a blog post
- Hierarchical Attention Networks - TensorFlow implementation of "Hierarchical Attention Networks for Document Classification"
- Sentence Classification with CNN - TensorFlow implementation of "Convolutional Neural Networks for Sentence Classification" with a blog post
- End-To-End Memory Networks - Implementation of End-To-End Memory Networks
- Character-Aware Neural Language Models - TensorFlow implementation of Character-Aware Neural Language Models
- YOLO TensorFlow ++ - TensorFlow implementation of 'YOLO: Real-Time Object Detection', with training and an actual support for real-time running on mobile devices.
- Wavenet - This is a TensorFlow implementation of the WaveNet generative neural network architecture for audio generation.
- Mnemonic Descent Method - Tensorflow implementation of "Mnemonic Descent Method: A recurrent process applied for end-to-end face alignment"
- CNN visualization using Tensorflow - Tensorflow implementation of "Visualizing and Understanding Convolutional Networks"
- VGAN Tensorflow - Tensorflow implementation for MIT "Generating Videos with Scene Dynamics" by Vondrick et al.
- 3D Convolutional Neural Networks in TensorFlow - Implementation of "3D Convolutional Neural Networks for Speaker Verification application" in TensorFlow by Torfi et al.
- U-Net - For Brain Tumor Segmentation
- Spatial Transformer Networks - Learn the Transformation Function
- Lip Reading - Cross Audio-Visual Recognition using 3D Architectures in TensorFlow - TensorFlow Implementation of "Cross Audio-Visual Recognition in the Wild Using Deep Learning" by Torfi et al.
- Attentive Object Tracking - Implementation of "Hierarchical Attentive Recurrent Tracking"
- Holographic Embeddings for Graph Completion and Link Prediction - Implementation of Holographic Embeddings of Knowledge Graphs
- Unsupervised Object Counting - Implementation of "Attend, Infer, Repeat"
- Tensorflow FastText - A simple embedding based text classifier inspired by Facebook's fastText.
- MusicGenreClassification - Classify music genre from a 10 second sound stream using a Neural Network.
- Kubeflow - Framework for easily using Tensorflow with Kubernetes.
- TensorNets - 40+ Popular Computer Vision Models With Pre-trained Weights.
- Ladder Network - Implementation of Ladder Network for Semi-Supervised Learning in Keras and Tensorflow
- TF-Unet - General purpose U-Network implemented in Keras for image segmentation
- Sarus TF2 Models - A long list of recent generative models implemented in clean, easy to reuse, Tensorflow 2 code (Plain Autoencoder, VAE, VQ-VAE, PixelCNN, Gated PixelCNN, PixelCNN++, PixelSNAIL, Conditional Neural Processes).
- Model Maker - A transfer learning library that simplifies the process of training, evaluation and deployment for TensorFlow Lite models (support: Image Classification, Object Detection, Text Classification, BERT Question Answer, Audio Classification, Recommendation etc.; API reference).
Powered by TensorFlow
- YOLO TensorFlow - Implementation of 'YOLO : Real-Time Object Detection'
- android-yolo - Real-time object detection on Android using the YOLO network, powered by TensorFlow.
- Magenta - Research project to advance the state of the art in machine intelligence for music and art generation
Libraries
- TensorFlow Estimators - high-level TensorFlow API that greatly simplifies machine learning programming (originally tensorflow/skflow)
- R Interface to TensorFlow - R interface to TensorFlow APIs, including Estimators, Keras, Datasets, etc.
- Lattice - Implementation of Monotonic Calibrated Interpolated Look-Up Tables in TensorFlow
- tensorflow.rb - TensorFlow native interface for ruby using SWIG
- tflearn - Deep learning library featuring a higher-level API
- TensorLayer - Deep learning and reinforcement learning library for researchers and engineers
- TensorFlow-Slim - High-level library for defining models
- TensorFrames - TensorFlow binding for Apache Spark
- TensorForce - TensorForce: A TensorFlow library for applied reinforcement learning
- TensorFlowOnSpark - initiative from Yahoo! to enable distributed TensorFlow with 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)
- keras-js - Run Keras models (tensorflow backend) in the browser, with GPU support
- NNFlow - Simple framework allowing to read-in ROOT NTuples by converting them to a Numpy array and then use them in Google Tensorflow.
- Sonnet - Sonnet is DeepMind's library built on top of TensorFlow for building complex neural networks.
- tensorpack - Neural Network Toolbox on TensorFlow focusing on training speed and on large datasets.
- tf-encrypted - Layer on top of TensorFlow for doing machine learning on encrypted data
- pytorch2keras - Convert PyTorch models to Keras (with TensorFlow backend) format
- gluon2keras - Convert Gluon models to Keras (with TensorFlow backend) format
- TensorIO - Lightweight, cross-platform library for deploying TensorFlow Lite models to mobile devices.
- StellarGraph - Machine Learning on Graphs, a Python library for machine learning on graph-structured (network-structured) data.
- DeepBay - High-Level Keras Complement for implement common architectures stacks, served as easy to use plug-n-play modules
- Tensorflow-Probability - Probabalistic programming built on TensorFlow that makes it easy to combine probabilistic models and deep learning on modern hardware.
- TensorLayerX - TensorLayerX: A Unified Deep Learning Framework for All Hardwares, Backends and OS, including TensorFlow.
Tools/Utilities
- Speedster - Automatically apply SOTA optimization techniques to achieve the maximum inference speed-up on your hardware.
- Guild AI - Task runner and package manager for TensorFlow
- ML Workspace - All-in-one web IDE for machine learning and data science. Combines Tensorflow, Jupyter, VS Code, Tensorboard, and many other tools/libraries into one Docker image.
- create-tf-app - Project builder command line tool for Tensorflow covering environment management, linting, and logging.
Videos
- TensorFlow Guide 1 - A guide to installation and use
- TensorFlow Guide 2 - Continuation of first video
- TensorFlow Basic Usage - A guide going over basic usage
- TensorFlow Deep MNIST for Experts - Goes over Deep MNIST
- TensorFlow Udacity Deep Learning - Basic steps to install TensorFlow for free on the Cloud 9 online service with 1Gb of data
- Why Google wants everyone to have access to TensorFlow
- Videos from TensorFlow Silicon Valley Meet Up 1/19/2016
- Videos from TensorFlow Silicon Valley Meet Up 1/21/2016
- Stanford CS224d Lecture 7 - Introduction to TensorFlow, 19th Apr 2016 - CS224d Deep Learning for Natural Language Processing by Richard Socher
- Diving into Machine Learning through TensorFlow - Pycon 2016 Portland Oregon, Slide & Code by Julia Ferraioli, Amy Unruh, Eli Bixby
- Large Scale Deep Learning with TensorFlow - Spark Summit 2016 Keynote by Jeff Dean
- Tensorflow and deep learning - without at PhD - by Martin Görner
- Tensorflow and deep learning - without at PhD, Part 2 (Google Cloud Next '17) - by Martin Görner
- Image recognition in Go using TensorFlow - by Alex Pliutau
Papers
- TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems - This paper describes the TensorFlow interface and an implementation of that interface that we have built at Google
- TensorFlow Estimators: Managing Simplicity vs. Flexibility in High-Level Machine Learning Frameworks
- TF.Learn: TensorFlow's High-level Module for Distributed Machine Learning
- Comparative Study of Deep Learning Software Frameworks - The study is performed on several types of deep learning architectures and we evaluate the performance of the above frameworks when employed on a single machine for both (multi-threaded) CPU and GPU (Nvidia Titan X) settings
- Distributed TensorFlow with MPI - In this paper, we extend recently proposed Google TensorFlow for execution on large scale clusters using Message Passing Interface (MPI)
- Globally Normalized Transition-Based Neural Networks - This paper describes the models behind SyntaxNet.
- TensorFlow: A system for large-scale machine learning - This paper describes the TensorFlow dataflow model in contrast to existing systems and demonstrate the compelling performance
- TensorLayer: A Versatile Library for Efficient Deep Learning Development - This paper describes a versatile Python library that aims at helping researchers and engineers efficiently develop deep learning systems. (Winner of The Best Open Source Software Award of ACM MM 2017)
Official announcements
- TensorFlow: smarter machine learning, for everyone - An introduction to TensorFlow
- Announcing SyntaxNet: The World’s Most Accurate Parser Goes Open Source - Release of SyntaxNet, "an open-source neural network framework implemented in TensorFlow that provides a foundation for Natural Language Understanding systems.
Blog posts
- Official Tensorflow Blog
- Why TensorFlow will change the Game for AI
- TensorFlow for Poets - Goes over the implementation of TensorFlow
- Introduction to Scikit Flow - Simplified Interface to TensorFlow - Key Features Illustrated
- Building Machine Learning Estimator in TensorFlow - Understanding the Internals of TensorFlow Learn Estimators
- TensorFlow - Not Just For Deep Learning
- The indico Machine Learning Team's take on TensorFlow
- The Good, Bad, & Ugly of TensorFlow - A survey of six months rapid evolution (+ tips/hacks and code to fix the ugly stuff), Dan Kuster at Indico, May 9, 2016
- Fizz Buzz in TensorFlow - A joke by Joel Grus
- RNNs In TensorFlow, A Practical Guide And Undocumented Features - Step-by-step guide with full code examples on GitHub.
- Using TensorBoard to Visualize Image Classification Retraining in TensorFlow
- TFRecords Guide semantic segmentation and handling the TFRecord file format.
- TensorFlow Android Guide - Android TensorFlow Machine Learning Example.
- TensorFlow Optimizations on Modern Intel® Architecture - Introduces TensorFlow optimizations on Intel® Xeon® and Intel® Xeon Phi™ processor-based platforms based on an Intel/Google collaboration.
- Coca-Cola's Image Recognition App Coca-Cola's product code image recognizing neural network with user input feedback loop.
- How Does The TensorFlow Work How Does The Machine Learning Library TensorFlow Work?
Community
Books
- Machine Learning with TensorFlow by Nishant Shukla, computer vision researcher at UCLA and author of Haskell Data Analysis Cookbook. This book makes the math-heavy topic of ML approachable and practicle to a newcomer.
- 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 environments - 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.
- Deep Learning using TensorLayer - by Hao Dong et al. This book covers both deep learning and the implmentation by using TensorFlow and TensorLayer.
- TensorFlow 2.0 in Action - by Thushan Ganegedara. This practical guide to building deep learning models with the new features of TensorFlow 2.0 is filled with engaging projects, simple language, and coverage of the latest algorithms.
- Probabilistic Programming and Bayesian Methods for Hackers - by Cameron Davidson-Pilon. Introduction to Bayesian methods and probabalistic graphical models using tensorflow-probability (and, alternatively PyMC2/3).
Contributions
Your contributions are always welcome!
If you want to contribute to this list (please do), send me a pull request or contact me @jtoy Also, if you notice that any of the above listed repositories should be deprecated, due to any of the following reasons:
- Repository's owner explicitly say that "this library is not maintained".
- Not committed for long time (2~3 years).
More info on the guidelines