TensorFlow is an open source software library developed by Google for numerical computation with data flow graphs. This TensorFlow guide covers why the library matters, how to use it, and more.
TensorFlow was originally a deep learning research project of the Google Brain Team that has since become--by way of collaboration with 50 teams at Google--a new, open source library deployed across the Google ecosystem, including Google Assistant, Google Photos, Gmail, search, and more. With TensorFlow in place, Google is able to apply deep learning across numerous areas using perceptual and language-understanding tasks. (Note: This article about TensorFlow is also available as a free PDF download.)
This cheat sheet is an easy way to get up to speed on TensorFlow. We'll update this guide periodically when news and updates about TensorFlow are released.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
- What is TensorFlow? Google has the single greatest machine learning infrastructure in the world, and with TensorFlow, Google now has the ability to share that. TensorFlow is an open source library of tools that enable software developers to apply deep learning to their products.
- Why does TensorFlow matter? AI has become crucial to the evolution of how users interact with services and devices. Having such a powerful set of libraries available can enable developers to include this powerful deep learning evolution to their products.
- Who does TensorFlow affect? TensorFlow will have a lasting effect on developers and users. Since the library was made open source, it is available to all developers, which means their products can be significantly enhanced to bring a higher level of intelligence and accuracy to their products.
- When was TensorFlow released? TensorFlow was originally released November 9, 2015, and the stable release was made available on February 15, 2017. Google is now rolling out the alpha of TensorFlow 2.0, which, according to Google, is simpler and more intuitive to use.
- How do I start using TensorFlow? Developers can download the source code from the TensorFlow GitHub repository. Users are already seeing its effects in the Google ecosystem.
What is TensorFlow?
When you have a photo of the Eiffel Tower, Google Photos can identify the image. This is possible thanks to deep learning and developments like TensorFlow. Prior to TensorFlow there was a division between the researchers of machine learning and those developing real products; that division made it challenging for developers to include deep learning in their software. With TensorFlow, that division is gone.
TensorFlow delivers a set of modules (providing for both Python and C/C++ APIs) that enable constructing and executing TensorFlow computations, which are then expressed in stateful data flow graphs. These graphs make it possible for applications like Google Photos to become incredibly accurate at recognizing locations in images based on popular landmarks.
In 2011, Google developed a product called DistBelief that worked on the positive reinforcement model. The machine would be given a picture of a cat and asked if it was a picture of a cat. If the machine guessed correctly, it was told so. An incorrect guess would lead to an adjustment so that it could better recognize the image.
TensorFlow improves on this concept by sorting through layers of data called Nodes. Diving deeper into the layers would allow for more and complex questions about an image. For example, a first-layer question might simply require the machine to recognize a round shape. In deeper layers, the machine might be asked to recognize a cat's eye. The flow process (from input, through the layers of data, to output) is called a tensor...hence the name TensorFlow.
What is TensorFlow 2.0?
Google is in the process of rolling out TensorFlow 2.0, which includes the following improvements:
- Helps make API components integrate better with tf.keras (a high-level interface for neural networks that runs on top of multiple backends).
- Includes TensorFlow Federated, which is an open source framework for experimenting with machine learning (and other computations) using decentralized data.
- Includes TF Privacy, a library for training machine learning models with a focus on privacy for training data.
- Features eager execution, which is an imperative programming environment that evaluates operations immediately, without building graphs before returning concrete values.
- Uses tf.function, which allows you to transform a subset of Python syntax into portable, high-performance graphs, and improves performance and deployability of eager execution.
- Advanced experimentation will be made possible with new extensions Ragged Tensors (the TensorFlow equivalent of nested variable-length lists), TensorFlow Probability (a Python library built on TensorFlow that makes it easy to combine probabilistic models and deep learning), and Tensor2Tensor (a library of deep learning models and datasets).
- A conversion tool that automatically updates TensorFlow 1.x Python code so that it can be used with TensorFlow 2.0 compatible APIs (and flags cases where said code cannot be automatically converted).
- Beginner's guide for TensorFlow: The basics of Google's machine-learning library (TechRepublic)
- Google launches TensorFlow 2.0 Alpha (ZDNet)
- Your life in AI's hands: The battle to understand deep learning (TechRepublic)
- Understanding the differences between AI, machine learning, and deep learning (TechRepublic)
- Google Cloud adds NVIDIA Tesla K80 GPU support to boost deep learning performance (TechRepublic)
- Didi Chuxing to build 'intelligent transport ecosystems' using AI and deep learning (ZDNet)
Why does TensorFlow matter?
Machine learning is the secret sauce for tomorrow's innovation. Machine learning, also called deep learning, is considered a class of algorithms that:
- Use many layers of nonlinear processing units for feature extraction and transformation; and
- are based on the learning of multiple levels of features or representations of the data; and
- learn multiple levels of representation corresponding to different levels of abstraction.
Thanks to machine learning, software and devices continue to become smarter. With today's demanding consumers and the rise of big data, this evolution has become tantamount to the success of a developer and their product. And because TensorFlow was made open source, it means anyone can make use of this incredible leap forward brought to life by Google. In fact, TensorFlow is the first serious framework for deep learning to be made available through the Apache 2.0 license.
With developers and companies able to use the TensorFlow libraries, more and more applications and devices will become smarter, faster, and more reliable. TensorFlow will be able to sort through vast numbers of images at an unprecedented rate.
Because Google made TensorFlow open source, the libraries can be both improved upon and expanded into other languages such as Java, Lua, and R. This move brings machine learning (something heretofore only available to research institutes) to every developer, so they can teach their systems and software to recognize images or translate speech. That's big.
- Google eliminates more spam from Gmail with TensorFlow (ZDNet)
- Video: Google on how TensorFlow Lite will help build better AI for smartphones (TechRepublic)
- Why machine learning benefits the rich, and everyone else is toast (TechRepublic)
- Deep learning for customer service is overhyped: How one company did it faster and cheaper (TechRepublic)
- 7 companies that used machine learning to solve real business problems (TechRepublic)
- Baidu trained an AI agent to navigate the world like a parent teaches a baby (TechRepublic)
- Facebook unveils Big Basin, new server geared for deep learning (ZDNet)
Who does TensorFlow affect?
TensorFlow not only makes it possible for developers to include the spoils of deep learning into their products, but it makes devices and software significantly more intelligent and easier to use. In our modern, mobile, and 24/7 connected world, that means everyone is affected. Software designers, developers, small businesses, enterprises, and consumers are all affected by the end result of deep learning. The fact that Google created a software library that dramatically improves deep learning is a big win for all.
- How to become a developer: A cheat sheet (TechRepublic)
- The future of AI: 10 scenarios IBM is already working on (TechRepublic)
- Here's Google's open secret to cloud competition (TechRepublic)
- Samsung announces Bixby, new AI assistant for Galaxy S8 (TechRepublic)
- Microsoft's AI system for training autonomous cars and drones goes open source (TechRepublic)
- Fujitsu to build Riken's new deep learning supercomputer (ZDNet)
- Research: Companies lack skills to implement and support AI and machine learning (Tech Pro Research)
When was TensorFlow released?
TensorFlow was originally released November 9, 2015, and the stable release was made available on February 15, 2017. TensorFlow 2.0 alpha is available now, with the public preview coming soon. You can learn more about the TensorFlow 2.0 alpha in the official Get Started with TensorFlow guide.
The libraries, APIs, and development guides are available now, so developers can begin to include TensorFlow into their products. Users are already seeing the results of TensorFlow in the likes of Google Photos, Gmail, Google Search, Google Assistant, and more.
- Why IBM's speech recognition breakthrough matters for AI and IoT (TechRepublic)
- Could new G Suite features entice enterprise users to switch from Office 365? (TechRepublic)
- How AI and next-generation genomic sequencing is helping cancer patients (TechRepublic)
- How to become an IoT developer: 6 tips (TechRepublic)
- Microsoft buys deep-learning startup Maluuba (ZDNet)
Competitors to TensorFlow
TensorFlow isn't alone in the deep learning field; in fact, there are a number of other companies with machine learning frameworks, including the following.
- Caffe2: Deep learning with flexibility and scalability (ZDNet)
- IBM, NVIDIA partner for 'fastest deep learning enterprise solution' in the world (TechRepublic)
- The cloud war moves to machine learning: Does Google have an edge? (TechRepublic)
- 5 big data trends that will shape AI in 2017 (TechRepublic)
- Artificial intelligence: The 3 big trends to watch in 2017 (TechRepublic)
- IBM, Nvidia target deep learning, AI workloads (ZDNet)
How do I start using TensorFlow?
The first thing any developer should do is read the TensorFlow Getting Started guide, which includes a TensorFlow Core Tutorial. If you're new to machine learning, make sure to check out the following guides:
Finally, developers can take advantage of all the TensorFlow guides:
- TensorFlow Mechanics 101
- tf.contrib.learn Quickstart
- Building Input Functions with tf.contrib.learn
- TensorBoard: Visualizing Learning
- TensorBoard: Embedding Visualization
- TensorBoard: Graph Visualization
- Logging and Monitoring Basics with tf.contrib.learn
- Google and Udacity launch free course to help you master machine learning (TechRepublic)
- Free machine learning courses from Google, Amazon, and Microsoft: What do they offer? (Tech Pro Research)
- How to find the real value in operational big data (TechRepublic)
- How machine learning helps the United Nations monitor global events (TechRepublic)
- How to ease your big data experts' fears about AI automating their jobs (TechRepublic)
- How to use Swarm AI instead of polls for market research (TechRepublic)
- How deep learning will transform the future of the auto industry (ZDNet)