云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业邮箱_巢湖网站建设_折扣

小七 141 0

如何使用MLflow重现结果并重新训练保存的Keras ML模型

在我们关于MLflow博客的系列文章的第2部分中,我们演示了如何使用MLflow跟踪Keras网络模型的实验结果。我们将来自IMDB数据集的评论分为正面评论和负面评论。我们建立了一个基线模型和两个实验。对于每一个模型,我们跟踪其各自的训练精度和损失以及验证准确度和损失。在本系列的第三部分中,我们将展示如何使用MLFlow和TensorBoard轻松保存模型、重现结果、加载保存的模型、预测未看到的评论。在MLFlow中保存模型MLflow日志记录api允许您以两种方式保存模型。首先,您可以将模型保存在本地文件系统或云存储(如S3或azureblob存储)上;其次,您可以记录模型及其参数和度量。正如MLflow Keras文档中所述,两者都保留Keras HDF5格式。首先,如果您使用mlflowkeras模型API将模型保存到存储或文件系统中,那么不使用MLflow的其他ML开发人员可以使用通用的Keras模型API访问保存的模型。在示例中,您可以将KermlFlow保存为示例中所示的KermlFlow:进口mlflow.keras公司#您的Keras构建、培训和测试模型型号=。。。#本地或远程S3或Azure Blob路径型号\u dir_path=。。。#将模式保存到S3或Azure Blob上的本地或远程可访问路径mlflow.keras.save_模型(模型,模型路径)一旦保存下来,MLflow之外的ML开发人员就可以简单地使用kerasapi来加载并预测模型。例如,进口煤油从keras.型号导入负载模型型号\u dir_path=。。。新数据=。。。模型=加载模型(模型路径)预测=模型.预测(新数据)其次,您可以将模型保存为运行实验的一部分,以及其他度量和工件,如下面的代码片段所示:导入mlflow进口mlfow.keras公司#您的Keras构建、培训和测试模型型号=。。。与mlflow.start_运行():#日志度量mlflow.log_度量("二进制丢失",二进制丢失)mlflow.log_度量("二进制acc",二进制"acc")mlflow.log_度量("验证损失",验证"损失")mlflow.log_度量("验证账户",验证账户)mlflow.log_度量("平均损失",平均损失)mlflow.log_度量("平均加速度",平均加速度)#记录工件mlflow.log_工件(image_dir,"图像")#对数模型mlflow.keras.log_模型(模型,"模型")使用第二种方法,您可以从MLflow UI runs访问其run_uid或位置,作为其保存工件的一部分:图1。MLflow UI显示保存的工件和Keras模型在我们的IMDB示例中,您可以查看两种保存模式的代码_nn.py公司,类KTrain()。以这种方式保存模型提供了从MLflow平台中复制结果或重新加载模型以进行进一步预测的访问,我们将在下面的部分中展示。从保存的模型复制结果作为机器开发生命周期的一部分,由ML团队成员进行的任何模型实验的再现性都是必不可少的。通常,你会想重新训练或重现过去几次实验的结果,以检查各自的结果是否合理、可听或好奇。在我们的示例中,一种方法是手动从MLflow UI为特定的run-uuid复制记录的超参数,然后使用main重新运行_nn.py公司或者重新装载_nn.py公司将原始参数作为参数,如自述文件.md.无论哪种方式,你都可以重现你以前的跑步和实验:python复制运行_nn.py公司--运行_uuid=5374ba7655ad44e1bc50729862b25419python复制运行_nn.py公司--运行_uuid=5374ba7655ad44e1bc50729862b25419[--tracking_server=URI]或使用mlflow run命令:mlflow run keras/imdbclassifier-e reproduct-P run_uuid=5374ba7655ad44e1bc50729862b25419mlflow run keras/imdbclassifier-e reproduct-P run_uuid=5374ba7655ad44e1bc50729862b25419[-P tracking_server=URI]默认情况下,跟踪服务器默认为本地mlruns目录。以下是可重复运行的动画示例输出:图2。显示上一次运行重现性的运行\u uuid:5374ba7655ad44e1bc50729862b25419加载并使用保存的模型进行预测在前面的部分中,在执行测试运行时,用于这些测试运行的模型也通过mlflow.keras.log_模型(模型,"模型")。您的Keras模型以HDF5文件格式保存,如MLflow>Models>Keras中所述。找到喜欢的模型后,也可以使用MLflow重用模型。如中所述,可以将此模型作为Python函数加载回mlflow.keras公司使用mlflow.keras.load_模型(路径,run_id=None)。要执行此操作,可以通过转到MLflow UI、选择运行并复制存储模型的路径来加载在MLflow中保存的模型,如下面的屏幕截图所示。图3。保存在工件中的MLflow模型确定模型后,可以通过加载模型并执行它来键入自己的审阅。例如,让我们使用IMDB分类器数据集中未包含的评审:这是一部精彩的电影,有着出色的演技、优美的摄影技巧和令人惊叹的方向 若要针对此审阅运行预测,请使用predict_nn.py公司与您的模型相比:python预测_nn.py公司--load_model_path='/Users/dennylee/github/jsd mlflow examples/keras/imdbclassifier/mlruns/0/55d1810dd3b445dbad501fa01c323d5/artifacts/models'--my_review='这是一部精彩的电影,有着出色的表演、优美的电影技术和惊人的指导"也可以使用mlflow和imdbclassifer repo包直接运行它:mlflow run keras/imdbclassifier-e predict-P load_model_path='/Users/jules/jsd mlflow examples/keras/imdbclassifier/keras_models/178f1d25c614b34a50fbf025ad6f18a'-P my_review='这是一部很棒的电影,有着出色的表演、优美的摄影技术和惊人的方向'此命令的输出应与以下输出类似,该输出预测所提供评审的积极情绪。使用TensorFlow后端。加载模型路径:/tmp/models我的评论:这是一部精彩的电影,有着出色的演技,优美的摄影技术,以及令人惊叹的方向详细:错误正在加载模型。。。预测结果:[[0.69213998]]张量板检查结果除了在MLflow UI中查看结果之外,代码示例还保存TensorFlow事件,以便您可以可视化TensorFlow会话图。例如,在执行python main语句之后_nn.py公司,您将看到类似于以下输出的内容:平均概率结果:[0.30386349968910215,0.8833600000000003]预测结果:[[0.35428655][0.99231517][0.86375767]...,[0.15689197][0.24901576][0.4418138]]将TensorFlow事件本地写入/var/folders/0q/c_zjyddd4hn5j9jkv0jsjvl00000gp/T/tmp7af2qzw4将TensorFlow事件作为运行工件上载。损失函数使用二进制交叉熵这款车型的训练和测试时间为51.23427104949951秒。您可以提取TensorBoard日志目录,输出行说明将TensorFlow事件本地写入。。。。要启动TensorBoard,可以运行以下命令:tensorboard--logdir=/var/folders/0q/c_zjyddd4hn5j9jkv0jsjvl00000gp/T/tmp7af2qzw4Github链接在TensorBoard UI中:单击标量查看MLflow中记录的相同度量:二进制丢失、二进制精度、验证丢失和验证准确度。单击Graph以可视化并与会话图交互结束语在这篇博文中,我们演示了如何使用MLflow保存模型,并在机器开发生命周期中从保存的模型中复制结果。此外,通过python和mlflow命令行,我们加载了一个保存的模型,并预测了模型看不到的我们自己的定制评论的情绪。最后,我们展示了如何通过提供生成TensorFlow事件的代码示例来并行地利用MLflow和TensorBoard,以便您可以可视化度量和会话图。下一步是什么?您已经在三个部分中看到了MLflow的各个方面:从实验到再现性,以及使用MLflow UI和TensorBoard来可视化您的运行。你可以试试MLflowmlflow.org网站开始吧。或者尝试文档中的一些教程和示例,包括我们的示例笔记本Keras_图像数据库.py为了这个博客。阅读更多以下是一些可供您了解更多信息的资源:阅读MLflow文档了解如何在PyCharm中使用Keras、TensorFlow和MLflow学习如何使用MLflow来实验Keras网络模型:电影评论的二进制分类学习如何介绍mlflow应用程序:mlflow示例应用程序库查看MLflow Meetup演示文稿和幻灯片获取此博客示例的Github源代码了解MLflow版本v0.6.0中的新特性免费试用Databricks。今天就开始吧