一个训练好的机器学习模型,例如一个能区分垃圾邮件的分类器,或是一个能预测房价的回归模型,能够从数据中学习模式。在模型训练期间,它会调整内部参数以进行准确的预测。这种学习状态,它代表着模型的智能,目前仅存在于您电脑的活动内存(RAM)中。当您的训练脚本运行结束,或者您关闭开发环境时会发生什么?就像一个未保存的文档,所有这些学习到的信息都会消失。模型对象及其有价值的参数都不复存在了。如果您想在明天、或在另一个程序中再次使用该模型,或与同事分享,您将不得不从头开始重新训练它。重新训练可能非常耗时且计算成本高昂,特别是对于大型数据集或复杂模型。这就是保存您训练好的模型变得非常重要的地方。我们需要一种方式来捕捉模型的状态——其结构、学习到的参数以及进行预测所需的一切,并将其持久化存储,通常是在文件中。可以将其想象为在特定时间点拍摄训练模型的快照。通过保存模型,您可以达成几个重要的目标:持久性: 模型可以在训练脚本或会话结束后依然存在。您可以在需要时随时重新加载它,而无需重新训练。可复用性: 保存的模型可以加载到不同的脚本或应用程序中,用于对新的、未见过的数据进行预测。分享: 您可以与他人分享保存的模型文件,让他们使用您训练好的模型。部署: 这是本课程的主要议题。保存的模型是将您的模型在生产环境中可用的起点,例如将其整合到网络应用或更大的软件系统中。将内存中的模型对象转换为适合保存到文件的格式的过程,通常称为序列化。反之,将文件重新加载到内存中以重建模型对象则称为反序列化。在接下来的部分中,我们将查看特定的Python工具,它们能让您高效地执行这种保存和加载操作。请记住,在训练之后,保存模型通常是您为部署做准备时迈出的第一个具体步骤。