TensorFlow与Keras:从基础到部署的深度学习实践
·
TensorFlow 与Keras:从基础到部署的深度学习实践

导语
随着 TensorFlow 的发布,深度学习开发变得前所未有的简单和直观。其核心在于将 Keras 作为高级 API 深度集成,使得从模型构建、训练到最终部署的整个流程更加顺畅。本文将带领读者快速上手 TensorFlow 2.x 和 Keras,通过一个完整的实践案例,展示现代深度学习开发的标准流程。
1. ✅ 为什么选择 TensorFlow ?
TensorFlow 相比于 1.x 版本,带来了革命性的改进,极大地提升了开发体验。
- 默认启用 Eager Execution:代码可以像普通 Python 代码一样立即执行和调试,无需构建静态计算图和
Session,极大地增强了灵活性。 - Keras 优先:
tf.keras成为构建和训练模型的标准高级 API,其模块化、可组合的特性让模型设计变得简单。 - 简化的 API:移除了大量冗余和混乱的 API,使得代码更加清晰、易于维护。
2. 🚀 构建你的第一个神经网络
使用 tf.keras 构建模型通常从 Sequential 模型开始,它允许你像搭积木一样堆叠网络层。
定义一个简单的序贯模型
下面是一个包含一个全连接层(Dense)的简单分类模型,用于处理 MNIST 手写数字数据集。
import tensorflow as tf
from tensorflow.keras.layers import Flatten, Dense
# 创建一个 Sequential 模型
model = tf.keras.Sequential([
# 将输入的 28x28 图像展平为一维向量
Flatten(input_shape=(28, 28)),
# 第一个全连接层,使用 ReLU 激活函数
Dense(128, activation='relu'),
# 输出层,10个神经元对应10个类别,使用 Softmax 进行概率输出
Dense(10, activation='softmax')
])
# 打印模型结构
model.summary()
3. ⚙️ 编译模型:指定损失函数和优化器
在训练模型之前,需要通过 compile() 方法为其配置训练过程。这包括三个关键参数:
- 优化器 (Optimizer):决定如何更新模型的权重,如
adam、sgd等。 - 损失函数 (Loss Function):衡量模型预测值与真实值之间差距的指标,如
sparse_categorical_crossentropy用于多分类问题。 - 评估指标 (Metrics):用于监控训练和测试步骤的指标,如
accuracy(准确率)。
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
4. 🚂 训练与评估
配置完成后,就可以使用 fit() 方法向模型“喂”入数据进行训练了。
加载数据并训练
我们使用 Keras 内置的 MNIST 数据集作为示例。
# 加载数据集
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
# 数据归一化,将像素值从 [0, 255] 缩放到 [0, 1]
x_train, x_test = x_train / 255.0, x_test / 255.0
# 训练模型,指定训练轮数 (epochs)
history = model.fit(x_train, y_train, epochs=5, validation_split=0.2)
评估模型性能
训练完成后,使用 evaluate() 方法在测试集上检验模型的泛化能力。
# 在测试集上评估
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print(f"\nTest accuracy: {test_acc:.4f}")
Ai 产品推荐
😳 0v0 AI 助手推荐、官网:https://0v0.pro
- 🆓 开源模型全免费:Llama、Qwen、Deepseek 等
- 😲 基础模型全免费:gpt-4o、o4-mini 、gpt-5-mini 等
- ♾️ 对话真正无限制:不限时间、不限次数
- 🫡 每周免费一个旗舰模型:本周免费:gpt-5 ,不限使用!
LLM AI API 推荐 🗨️
🖐️ 按量计算、官网:https://llm-all.pro
- 😊 opneai 、cluade、genimi、gork 等模型:0.5:1刀 、官方 1 折
- 🤓 国内模型 豆包、千问 、deepseek、kimi 等:2 - 6 折
- ☺️ 除了以上模型外,还包含全球各类以上未列出的模型
👺 按次计算、官网:https://fackai.chat
- 国内外全模型
- 1 :100次,性价比推荐
5. 💾 保存与部署
训练好的模型需要被保存下来,以便后续使用或部署到生产环境。
保存和加载模型
Keras 提供了简单的 API 来保存整个模型(包括结构、权重和优化器状态)。
# 保存整个模型为 HDF5 文件
model.save('my_mnist_model.h5')
# 加载模型
# loaded_model = tf.keras.models.load_model('my_mnist_model.h5')
# loaded_model.summary()
部署选项
- TensorFlow Serving:一个为生产环境设计的高性能服务系统,可以通过 RESTful 或 gRPC API 提供模型预测服务。
- TensorFlow Lite (TFLite):用于在移动和嵌入式设备上部署模型的轻量级解决方案。
- TensorFlow.js:用于在浏览器和 Node.js 环境中运行模型的 JavaScript 库。
总结
TensorFlow 2.x 与 Keras 的结合,为深度学习开发者提供了一条从原型设计到生产部署的平坦大道。其直观的 API 和强大的生态系统,使得任何人都可以快速进入深度学习的世界。通过本文的实践,你应该已经掌握了使用 TensorFlow 构建、训练和评估一个基本神经网络的全过程。现在,是时候开始你自己的深度学习项目了!
更多推荐


所有评论(0)