TensorFlow is an open-source library and API designed for deep learning, written and maintained by Google. Use this tag with a language-specific tag ([python], [c++], [javascript], [r], etc.) for questions about using the API to solve machine learning problems. The programming languages that can be used with TensorFlow API vary, so you must specify the programming language. Please specify the application area such as [object-detection] as well.
TensorFlow is a deep learning framework maintained by Google.
Interface
TensorFlow provides a python API for building and executing data flow graphs. There is also a c++ API for executing graphs, and adding new operation kernels. Other languages can invoke TensorFlow using its low-level c API.
TensorFlow also includes TensorBoard, which is a web-based visualization tool for understanding performance and network features/parameters.
Speed
TensorFlow achieves its performance by parallelizing execution across multiple CPUs and GPUs. The kernel of each operation is implemented in C++, using efficient libraries such as Eigen and cuDNN for the best performance.
To get the most out of it, build it with compiler flags that let it use all the instruction-set extensions your CPU supports, for example -march=native
.
Help / Support / How do I?
For help and support, technical or algorithmic questions, please submit your questions to Stack Overflow: https://stackoverflow.com/questions/tagged/tensorflow. Please do not use the mailing list or issue tracker for support.
Also check out the TensorFlow Guide before asking a question.
When looking for info, especially build info, one needs to check both TensorFlow.org and the GitHub site both, since both sites do not replicate each other.
If you are new to Stack Overflow, please read How do I ask a good question? before posting, and take the tour.
Discussions
For general discussions, please join the TensorFlow discuss mailing list (AKA TensorFlow Google Group). This list is intended for general discussions about TensorFlow development and directions, not as a help forum. Instead, direct your questions to Stack Overflow, and report issues on GitHub.
Report Issues
Please report bugs, feature requests and installation / compatibility issues on the TensorFlow issues tracker on GitHub. If you need help with using TensorFlow, please do not use the issue tracker for that. Instead, direct your questions to Stack Overflow.
How-Tos and Tutorials
TensorFlow End Users - GETTING STARTED, TUTORIALS & HOW-TO'S
Suggested Configuration
TensorFlow was originally developed and deployed on Linux systems but has been ported to other operating systems including Microsoft Windows and Apple MacOS. The TensorFlow community tends to favor Ubuntu Linux and support for Ubuntu installations is easier to find.
With the introductions of anaconda and docker containers along with jupyter notebooks setup of a TensorFlow workstation and sharing of data has become easier.
The most common brand of GPU used in a TensorFlow workstation is NVIDIA though the AMD Radeon product line is improving its support for machine learning applications. Using the CPU for TensorFlow rather than using a GPU can result in much slower processing by an order of magnitude.
Due to the continuing improvements in both hardware and software, any recommendations can quickly become out of date. However the following are some basic parameters.
OS: Ubuntu 64 bit Linux - currently most people seem to be using 16.x to 18.x however there is a new version every year or so.
GPU: NVIDIA CUDA enabled GPU - later series with more memory is better as the more recent products have a higher Compute Capability score. So a GTX 1080 TI with 8G is better than a GTX 660 with 3G. See NVIDA Developer Cuda GPUs as well as Which CUDA Toolkit version for older NVIDIA Driver and the Wikipedia topic CUDA.
RAM: Minimum of 8G. RAM or RAM with Swap Partition and possibly Swap File(s) however the amount of RAM needed varies depending on the size of the model and how much data is being processed
How to compile Tensorflow with SSE4.2 and AVX instructions?
Continuous Integration
Introduction to Neural Networks and Deep Learning
Neural Networks Demystified - Jupyter Notebooks
Neural Networks and Deep Learning - GitHub
Tensorflow Models
Online Course
Teach Yourself Deep Learning with TensorFlow and Udacity
with Vincent Vanhoucke
Playground
Tinker With a neural network in your browser.
Syntax Highlighting
What is syntax highlighting and how does it work?
Since TensorFlow is not known to google/code-prettify Python is the best alternative.
Website & License
https://www.tensorflow.org - TensorFlow is released under an Apache 2.0 License.