In One Minute : TensorFlow
Tags: tensorflow, deeplearning, programming, oneminute
Published: 2022-11-16 10:30:00

[TensorFlow](https://www.tensorflow.org/) is an open-source library and API designed for deep learning, written and 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.

## How-Tos and Tutorials

- [Official - How To](https://www.tensorflow.org/versions/r0.12/how_tos/)
- [Official - Tutorial](https://www.tensorflow.org/versions/0.6.0/tutorials/index.html)
- [TensorFlow End Users - GETTING STARTED, TUTORIALS & HOW-TO'S](https://groups.google.com/forum/#!forum/tensorflow)

{% embed https://youtu.be/1pxFDfAEG_A %}

## 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](https://developer.nvidia.com/cuda-gpus) as well as Which CUDA Toolkit version for older NVIDIA Driver and the [Wikipedia topic CUDA](https://en.wikipedia.org/wiki/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

## Continuous Integration

- [Read Me](https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/tools/ci_build/README.md)
- [Site](http://ci.tensorflow.org/)

## Online Course

- [Teach Yourself Deep Learning with TensorFlow](https://ai.googleblog.com/2016/01/teach-yourself-deep-learning-with.html) 
- [Udacity](https://www.udacity.com/me#!/) with Vincent Vanhoucke