---
url: /tensorflow/what_is_tensorflow_keras.md
description: >-
  一文读懂 TensorFlow 与 Keras 是什么、最新版本（TensorFlow 2.21、Keras 3
  多后端）、核心特性与入门上手，适合小白的深度学习中文入门指南。
---

# 认识 TensorFlow 与 Keras：Google 出品的深度学习双子星

你会发现一个挺魔幻的事：2026 年了，技术圈里天天喊 "PyTorch 真香"，可一旦落到真刀真枪的生产环境——Google 搜索、YouTube 推荐、Waymo 的自动驾驶——背后站着的，还是 **TensorFlow**。

更反直觉的是，很多人以为 "Keras 是 TensorFlow 里的一个小模块"。错。现在的 Keras 3 已经是一个能同时跑在 TensorFlow、JAX、PyTorch 三大框架上的独立多后端库了。这俩兄弟的关系，比大多数人想象的要精彩得多。

今天这篇，不跟你讲梯度下降的数学推导（讲了我自己也得现查），就帮你把这俩东西 "认个脸熟"——知道它们是什么、能干什么、新手怎么上手，就够了。

> 一句话立场：研究写新模型，PyTorch 确实爽；但你要的是 "训练一次、到处部署、常年不崩"，TensorFlow + Keras 这套组合拳，到现在依然是工业界最稳的选择之一。

## 什么是 TensorFlow 与 Keras

**TensorFlow** 是 Google Brain 团队在 2015 年开源的数值计算与机器学习平台。它的核心是一堆能放在 CPU、GPU、甚至 TPU 上跑的多维数组（官方叫 `tf.Tensor`）。你写的是 Python，背后是庞大的 C++ 运行时在调度计算图。

从 2019 年的 TF 2.0 开始，它把 "即时执行（eager execution）" 设成默认，并正式把 **Keras** 收编成官方主推的高层 API——你不用再手写 Session 和占位符那种反人类的老式图了。

**Keras** 呢，口号是 "Deep learning for humans"（深度学习，为人而生）。它的基因就是：代码短、好看、好调、好部署。而 2024 年问世的 **Keras 3** 是个分水岭——它彻底独立成 `pip install keras` 一个包，一套模型代码，能在 TensorFlow、JAX、PyTorch 三个后端之间无缝切换。

简单类比：TensorFlow 是发动机和底盘，Keras 是那套让你轻松开车的仪表盘和方向盘。

## 它们有什么特点

**TensorFlow 的硬核之处：**

* **生产级稳定性**：TF Serving、LiteRT（原 TFLite）、TF.js、TensorBoard、TFX 组成了从训练、可视化、部署到端侧推理的完整工具链
* **Google 基础设施原生集成**：TPU 训练、Vertex AI 托管训练与推理、Google Cloud 一条龙
* **一次训练，到处部署**：统一的 `SavedModel` 格式，服务端、浏览器（TF.js）、手机和微控制器（LiteRT）都能跑
* **最新版本**：截至 2026 年，稳定版为 **TensorFlow 2.21.0**（2026 年 3 月发布），支持 Python 3.10–3.13，采用 Apache 2.0 开源协议

**Keras 的讨喜之处：**

* **代码量小、可读性高**：几行就能搭一个 ResNet 出来，改起来不头疼
* **多后端自由**：通过 `KERAS_BACKEND` 环境变量在 TensorFlow / JAX / PyTorch 间切换，代码不用重写
* **KerasHub 预训练模型库**：Gemma、Llama、Stable Diffusion、Mistral 等主流模型开箱即用，还能直接 `from_preset` 拉权重
* **最新版本**：Keras 3.x 已完全独立，3.6.0+ 维持多后端设计，是 2026 年的主流选择

> 一个容易踩的坑：Keras 的后端是在**导入时**就定好的，不是调用 `keras.config.backend()` 时才生效。想换后端，得在 `import keras` 之前设置 `KERAS_BACKEND` 环境变量，不然设置了也白搭。

## 都在哪用上了（真实案例 + 数据）

别以为这俩只是教科书里的玩具，它们现在就活在你每天用的产品里：

* **Waymo 自动驾驶**：官方明确用 Keras 驱动其自动驾驶车辆的感知模型训练
* **CERN、NASA、NIH**：这些顶级的科研与航天机构都用 Keras 做实验——没错，连大型强子对撞机（LHC）的处理管线里都有 Keras 的身影
* **Google 自家产品**：YouTube 的推荐、Google 搜索的排序，底层大量依赖 TensorFlow 的训练与 TF Serving 的推理
* **端侧落地**：LiteRT 让模型能直接跑在 Android、iOS、嵌入式 Linux 甚至微控制器上，靠量化压缩把大模型塞进低功耗硬件

换句话说：你刷到的每一条 YouTube 视频、坐过的每一辆 Waymo，背后都有这俩兄弟在默默干活。

## 初体验：十分钟跑通第一个模型

先装 TensorFlow（顺带把 Keras 也装上）：

```bash
pip install tensorflow keras
```

验证一下：

```python
import tensorflow as tf
print(tf.__version__)   # 2.21.0
```

来个最经典的 "Hello World"——用 Keras Sequential API 训练一个手写数字分类器：

```python
import keras
from keras import layers, models

# 搭网络：输入 28x28 的图，两层卷积 + 全连接
inputs = keras.Input(shape=(28, 28, 1))
x = layers.Conv2D(32, 3, activation="relu")(inputs)
x = layers.MaxPooling2D(3)(x)
x = layers.Conv2D(64, 3, activation="relu")(x)
x = layers.GlobalMaxPooling2D()(x)
outputs = layers.Dense(10, activation="softmax")(x)
model = models.Model(inputs, outputs)

model.compile(optimizer="rmsprop",
              loss="sparse_categorical_crossentropy",
              metrics=["accuracy"])
model.summary()
```

想试试 Keras 的多后端魔法？在导入前切到 JAX 后端，上面的代码一行都不用改：

```bash
export KERAS_BACKEND=jax   # 可选: tensorflow / torch
python train.py
```

想直接玩大模型？KerasHub 一行拉起 Gemma：

```python
from keras_hub.models import CausalLM
model = CausalLM.from_preset("gemma2_instruct_2b_en", dtype="float16")
print(model.generate("用一句话解释什么是深度学习：", max_length=128))
```

看到这里，你已经比 80% 只会 "pip install torch" 的人，更懂 Google 这套 AI 基础设施的全貌了。

## 进阶

更多开源技术干货和学习资料，关注公众号「遇码」，领取专属福利。
