趋近智
训练机器学习 (machine learning)模型,尤其是深度神经网络 (neural network),通常需要大量的计算资源和时间。无论是训练几分钟、几小时甚至几天,模型达到的状态都代表了该过程的宝贵成果。由于系统崩溃、停电或仅仅需要停止进程而丢失此状态,将意味着一切都必须从头开始,浪费宝贵的时间和计算资源。这是保存模型最直接的原因:保护你的工作成果。
除了仅仅防范中断,保存模型在机器学习的整个过程中还有几个基本作用:
大型数据集和复杂模型需要很长的训练时间。通常在一次会话中完成训练是不切实际或不可能的。定期保存模型的状态(包括权重 (weight)以及可能的优化器状态),这被称为创建检查点,它允许你:
这种训练、保存、评估和可能恢复的迭代过程是开发模型的标准做法。
训练模型的最终目标通常是使用它对新的、未见过的数据进行预测。这个过程通常被称为推理。一旦模型训练达到令人满意的性能,你需要一种方法将其学习到的参数 (parameter)加载到应用程序、网络服务器或另一个环境中以执行这些预测。保存模型提供了一个可移植的产物,可以独立于原始训练脚本进行部署。你不会希望每次需要预测新事物时都重新训练模型。
构建有效模型通常涉及利用从相关任务中获得的知识。迁移学习是一种常用技术,你将一个在大型数据集(例如图像领域的ImageNet或文本领域的大型语料库)上预训练 (pre-training)的模型,并将其适应你特定的、通常较小的数据集。此过程需要在进一步训练(微调)之前加载预训练模型的架构和权重 (weight)作为起点。保存和加载是实现这种强大工作流程的基本操作。
机器学习 (machine learning)通常是一项协作工作。保存模型使你能够:
在开发过程中,你可能会尝试不同的模型架构、超参数 (parameter) (hyperparameter)和训练过程。保存每个训练好的模型可以让你以后系统地比较它们的性能。此外,特定的保存格式,如TensorFlow的SavedModel格式(我们将在本章后面介绍),是专门为部署设计的,这使得使用TensorFlow Serving等专用工具提供模型服务,或将其转换为用于移动设备(TensorFlow Lite)或网页浏览器(TensorFlow.js)变得更容易。
保存和加载模型不仅仅是便利,更是实际机器学习 (machine learning)工作流程中不可或缺的组成部分。它们实现了容错、部署、协作、迁移学习 (transfer learning)和系统实验。TensorFlow和Keras提供了多种有效管理模型持久化的方法。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•