

Why TensorFlow

Whether you're an expert or a beginner, TensorFlow is an end-to-end platform that makes it easy for you to build and deploy ML models.

An entire ecosystem to help you solve challenging, real-world problems with machine learning

Easy model building

TensorFlow offers multiple levels of abstraction so you can choose the right one for your needs. Build and train models by using the high-level Keras API, which makes getting started with TensorFlow and machine learning easy.

If you need more flexibility, eager execution allows for immediate iteration and intuitive debugging. For large ML training tasks, use the Distribution Strategy API for distributed training on different hardware configurations without changing the model definition.

Robust ML production anywhere

TensorFlow has always provided a direct path to production. Whether it's on servers, edge devices, or the web, TensorFlow lets you train and deploy your model easily, no matter what language or platform you use.

Use TensorFlow Extended (TFX) if you need a full production ML pipeline. For running inference on mobile and edge devices, use TensorFlow Lite. Train and deploy models in JavaScript environments using TensorFlow.js.

Powerful experimentation for research

Build and train state-of-the-art models without sacrificing speed or performance. TensorFlow gives you the flexibility and control with features like the Keras Functional API and Model Subclassing API for creation of complex topologies. For easy prototyping and fast debugging, use eager execution.


Explore our AI Service Partners


Connect with a TensorFlow AI Service Partner


Learn how machine learning works

Did you ever want to know how a neural network works? Or what the steps are to solving an ML problem? Don't worry, we've got you covered. Below is a quick overview of the fundamentals of machine learning. Or, if you're looking for a more in-depth information, head to our education page for beginner and advanced content.

Intro to ML

Machine learning is the practice of helping software perform a task without explicit programming or rules. With traditional computer programming, a programmer specifies rules that the computer should use. ML requires a different mindset, though. Real-world ML focuses far more on data analysis than coding. Programmers provide a set of examples and the computer learns patterns from the data. You can think of machine learning as “programming with data”.

Steps to solving an ML problem

There are multiple steps in the process of getting answers from data using ML. For a step-by-step overview, check out this guide that shows the complete workflow for text classification, and describes important steps like collecting a dataset, and training and evaluating a model with TensorFlow.

Anatomy of a neural network

A neural network is a type of model that can be trained to recognize patterns. It is composed of layers, including input and output layers, and at least one hidden layer. Neurons in each layer learn increasingly abstract representations of the data. For example, in this visual diagram we see neurons detecting lines, shapes, and textures. These representations (or learned features) make it possible to classify the data.

Training a neural network

Neural networks are trained by gradient descent. The weights in each layer begin with random values, and these are iteratively improved over time to make the network more accurate. A loss function is used to quantify how inaccurate the network is, and a procedure called backpropagation is used to determine whether each weight should be increased, or decreased, to reduce the loss.

Our community

The TensorFlow community is an active group of developers, researchers, visionaries, tinkerers and problem solvers. The door is always open to contribute, collaborate and share your ideas.