Stay organized with collections
Save and categorize content based on your preferences.
The TensorFlow Core APIs provide a set of comprehensive, composable, and
extensible low-level APIs for high-performance (distributed and accelerated)
computation, primarily aimed at building machine learning (ML) models as well as
authoring ML workflow tools and frameworks within the TensorFlow platform. These
APIs provide a foundation for creating highly configurable models with
fine-grained control and new frameworks from the ground up.
The Core APIs can be used as an alternative to high-level machine learning APIs
like Keras. These high-level APIs are best suited for general machine learning
needs. They offer a variety of modules that abstract away the complexities of ML
while also offering functionalities for customization through subclassing. If
you are looking for an overview of TensorFlow using Keras, see the Quickstarts
and Keras sections in the tutorials.
Who should use the Core APIs
The TensorFlow Core low-level APIs are designed with the following ML developers
in mind:
Researchers building complex models with high levels of configurability
Developers interested in using TensorFlow as a high-performance scientific
computing platform
Framework authors building tools on top of the TensorFlow platform
High-level API users interested in:
Adding additional functionalities to their machine learning workflows
such as custom layers, losses, models, and optimizers
Learning more about the inner workings of their models
Core API applications
The TensorFlow Core APIs provide access to low level functionality within the
TensorFlow ecosystem. This API provides more flexibility and control for
building ML models, applications, and tools, compared to high-level APIs, such
as Keras.
Build models and workflows
The Core APIs are most commonly used to build highly customizable and optimized
machine learning models and workflows. Here are some of the ways that the
TensorFlow Core APIs can improve your machine learning models and workflow
development:
Building non-traditional models or layers that do not fully fit the
structures supported by high-level APIs
Building custom layers, losses, models, and optimizers within Keras
Implementing new optimization techniques to expedite convergence during
training
Creating custom metrics for performance evaluation
Designing highly-configurable training loops with support for features like
batching, cross-validation, and distribution strategies
Build frameworks and tools
The TensorFlow Core APIs can also serve as the building blocks for new
high-level frameworks. Here are some examples of tools and frameworks that are
created with the low-level APIs:
TensorFlow Graphics: a library for
making useful graphics functions widely accessible
Build for scientific computing
The TensorFlow Core APIs can also be applied outside the realm of machine
learning. Here are a few general-purpose use cases of TensorFlow for scientific
computing:
Physics simulations for solid mechanics and
fluid dynamics problems
The Build with Core documentation provides tutorials of basic machine learning
concepts from scratch. The tutorials in this section help you get comfortable
with writing low-level code with Core APIs that you can then apply to more
complex use cases of your own.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-05-19 UTC."],[],[],null,["# TensorFlow Core APIs overview\n\n\u003cbr /\u003e\n\nThe TensorFlow Core APIs provide a set of comprehensive, composable, and\nextensible low-level APIs for high-performance (distributed and accelerated)\ncomputation, primarily aimed at building machine learning (ML) models as well as\nauthoring ML workflow tools and frameworks within the TensorFlow platform. These\nAPIs provide a foundation for creating highly configurable models with\nfine-grained control and new frameworks from the ground up.\n\nThe Core APIs can be used as an alternative to high-level machine learning APIs\nlike Keras. These high-level APIs are best suited for general machine learning\nneeds. They offer a variety of modules that abstract away the complexities of ML\nwhile also offering functionalities for customization through subclassing. If\nyou are looking for an overview of TensorFlow using Keras, see the Quickstarts\nand Keras sections in the [tutorials](https://www.tensorflow.org/tutorials).\n\nWho should use the Core APIs\n----------------------------\n\nThe TensorFlow Core low-level APIs are designed with the following ML developers\nin mind:\n\n- Researchers building complex models with high levels of configurability\n- Developers interested in using TensorFlow as a high-performance scientific computing platform\n- Framework authors building tools on top of the TensorFlow platform\n- High-level API users interested in:\n - Adding additional functionalities to their machine learning workflows such as custom layers, losses, models, and optimizers\n - Learning more about the inner workings of their models\n\nCore API applications\n---------------------\n\nThe TensorFlow Core APIs provide access to low level functionality within the\nTensorFlow ecosystem. This API provides more flexibility and control for\nbuilding ML models, applications, and tools, compared to high-level APIs, such\nas Keras.\n\n### Build models and workflows\n\nThe Core APIs are most commonly used to build highly customizable and optimized\nmachine learning models and workflows. Here are some of the ways that the\nTensorFlow Core APIs can improve your machine learning models and workflow\ndevelopment:\n\n- Building non-traditional models or layers that do not fully fit the structures supported by high-level APIs\n- Building custom layers, losses, models, and optimizers within Keras\n- Implementing new optimization techniques to expedite convergence during training\n- Creating custom metrics for performance evaluation\n- Designing highly-configurable training loops with support for features like batching, cross-validation, and distribution strategies\n\n### Build frameworks and tools\n\nThe TensorFlow Core APIs can also serve as the building blocks for new\nhigh-level frameworks. Here are some examples of tools and frameworks that are\ncreated with the low-level APIs:\n\n- [Keras](https://keras.io): deep learning for humans\n- [TensorFlow Model Optimization Toolkit](https://www.tensorflow.org/model_optimization): a suite of tools to optimize ML models for deployment and execution\n- [TensorFlow Graphics](https://www.tensorflow.org/graphics): a library for making useful graphics functions widely accessible\n\n### Build for scientific computing\n\nThe TensorFlow Core APIs can also be applied outside the realm of machine\nlearning. Here are a few general-purpose use cases of TensorFlow for scientific\ncomputing:\n\n- Physics simulations for solid mechanics and [fluid dynamics](https://arxiv.org/abs/2108.11076) problems\n- Graphics rendering applications like [ray tracing](https://github.com/BachiLi/redner)\n- Solving [constrained optimization problems](https://github.com/google-research/tensorflow_constrained_optimization/blob/master/README.md)\n\nCore API components\n-------------------\n\nHere are some of the fundamental components that comprise TensorFlow Core's low-\nlevel APIs. Note that this is not an all-encompassing list:\n\n- Data structures : [`tf.Tensor`](https://www.tensorflow.org/api_docs/python/tf/Tensor), [`tf.Variable`](https://www.tensorflow.org/api_docs/python/tf/Variable), [`tf.TensorArray`](https://www.tensorflow.org/api_docs/python/tf/TensorArray)\n- Primitive APIs: [`tf.shape`](https://www.tensorflow.org/api_docs/python/tf/shape), [slicing](https://www.tensorflow.org/guide/tensor_slicing), [`tf.concat`](https://www.tensorflow.org/api_docs/python/tf/concat), [`tf.bitwise`](https://www.tensorflow.org/api_docs/python/tf/bitwise)\n- Numerical: [`tf.math`](https://www.tensorflow.org/api_docs/python/tf/math), [`tf.linalg`](https://www.tensorflow.org/api_docs/python/tf/linalg), [`tf.random`](https://www.tensorflow.org/api_docs/python/tf/random)\n- Functional components: [`tf.function`](https://www.tensorflow.org/api_docs/python/tf/function), [`tf.GradientTape`](https://www.tensorflow.org/api_docs/python/tf/GradientTape)\n- Distribution: [DTensor](https://www.tensorflow.org/guide/dtensor_overview)\n- Export: [`tf.saved_model`](https://www.tensorflow.org/api_docs/python/tf/saved_model)\n\nNext steps\n----------\n\nThe *Build with Core* documentation provides tutorials of basic machine learning\nconcepts from scratch. The tutorials in this section help you get comfortable\nwith writing low-level code with Core APIs that you can then apply to more\ncomplex use cases of your own.\n| **Note:** You should not use the Core APIs to simply re-implement high-level APIs, and it is possible to use high-level APIs, such as Keras, with the Core APIs.\n\nTo get started using and learning more about the Core APIs, check out the\n[Quickstart for TensorFlow Core](https://www.tensorflow.org/guide/core/quickstart_core)."]]