Beyond the high-level Keras API, what is the main purpose of the TensorFlow core library itself?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Keras is the friendly high-level face most people interact with, but underneath it, TensorFlow core is doing the heavy lifting: representing data as tensors, defining operations on those tensors (matrix multiplication, convolutions, element-wise math), and assembling those operations into a computation graph that can be executed efficiently, including automatic differentiation for computing gradients and running everything on CPUs, GPUs, or TPUs. That low-level numerical computation and graph-building is TensorFlow's actual core purpose, which is why Keras was built as a high-level API on top of it. So 'low-level numerical computation and building computation graphs' is correct. TensorFlow core doesn't ship pretrained models itself — that's TensorFlow Hub or separate model zoos, layered on top. It's not version control software either — that's a job for tools like Git, unrelated to numerical computation. And it's definitely not a manual data-labeling spreadsheet tool; that's a completely different category of software used earlier in a project, before any TensorFlow code runs.
Full explanation below image
Full Explanation
At its foundation, TensorFlow is a low-level numerical computation library built around the Tensor data structure (multidimensional arrays) and the idea of expressing computations as a graph of operations connecting tensors. TensorFlow core provides the mechanisms to define mathematical operations (matrix multiplication, convolutions, element-wise arithmetic, reductions), compose them into computation graphs (via eager execution, which runs operations immediately in a Python-native style, or via graph mode/tf.function, which traces operations into an optimized, more portable static graph), automatically compute gradients through those graphs via automatic differentiation, and execute the resulting computations efficiently across CPUs, GPUs, and TPUs. The high-level Keras API, with abstractions like Sequential and functional models, prebuilt layers (Dense, Conv2D), and simple methods like compile() and fit(), is built on top of this TensorFlow core; Keras exists specifically to make common workflows easier to express without requiring the developer to manually manage the underlying tensor operations and graph construction TensorFlow core provides.
TensorFlow core does not exclusively, or even primarily, provide pretrained computer vision or other models ready for immediate use. Pretrained models are distributed through separate resources such as TensorFlow Hub or model-specific repositories, built using TensorFlow's computational capabilities but layered on top of the core library, not the core library's defining purpose.
TensorFlow has no built-in version control functionality for managing project code history, branching, or collaboration; that is the domain of dedicated systems like Git, often used alongside platforms like GitHub, which are entirely separate tools operating at the level of source code rather than numerical computation.
TensorFlow core is also not a manual data-labeling or spreadsheet-style annotation tool. Data labeling is handled by separate, dedicated annotation software used earlier in a project's data-preparation phase, before model training code is even written, and is unrelated to TensorFlow's role in defining and executing tensor computations for training and inference.
Understanding TensorFlow's core purpose as a low-level tensor computation and automatic-differentiation engine, with Keras as a convenient high-level API built on top of it, clarifies why advanced or custom operations, such as writing a custom training loop, a custom layer, or a custom gradient, require dropping down from Keras's conveniences to interact with TensorFlow's core operations directly.