加载已训练的模型

重要

对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习

从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。

ML 工作室(经典)文档即将停用,将来可能不会更新。

加载 web 承载的定型模型

类别: 数据输入和输出

注意

适用于:仅限机器学习 Studio (经典)

可在 Azure 机器学习设计器中获取类似的拖放模块。

模块概述

本文介绍如何使用机器学习 Studio 中的 "负载定型模型" 模块 (经典) )加载已定型的模型以在实验中使用。

此模块需要现有的定型模型。 通常,您在不同的实验中创建并随后定型模型,然后将该模型保存到您的工作区或某个支持的云存储选项。

然后,使用 " 负载定型模型 " 模块来获取定型模型,并在新试验中运行。

如何使用负载定型模型

使用现有模型对新数据进行预测:

  • 必须事先训练该模型,然后将其保存为 iLearner 格式。
  • 该模型必须可通过 URL 或 Azure blob 存储中的访问。

本部分介绍如何保存模型、获取已保存的模型以及应用保存的模型。

保存训练的模型

您可以通过使用 Studio (经典) 接口或使用作为 web 服务运行的实验来保存模型。

使用 web 服务保存模型

  1. 创建将模型定型或重新定型作为 web 服务的实验
  2. 将此试验发布为 Web 服务。
  3. 调用定型 web 服务的 BE 终结点时,Web 服务将使用 iLearner 接口保存训练的模型,并将该文件保存在指定的 Azure blob 存储帐户中。

有关如何创建培训 web 服务的分步信息,请参阅以下文章:

将模型保存到 Studio 中 (经典)

  1. 运行生成和训练模型的试验。
  2. 训练完成后,右键单击用于定型的模块,选择 " 定型模型",然后单击 " 另存为定型模型"。
  3. 默认情况下,模型将保存到您的 Studio (经典) 工作区。 你可以使用 Studio (经典) UI 查看它们。

以下模块可创建使用所需的 iLearner 接口的已保存模型:

注意

不支持任意模型;该模型必须以用于保留机器学习模型的默认二进制格式保存。

将模型加载到新试验

  1. 负载定型模型 模块添加到 Studio 中的试验 (经典) 。

  2. 对于 " 数据源",使用以下选项之一指示定型模型的位置:

    • 通过 HTTP 的 WEB URL:提供指向试验的 URL 和表示定型模型的文件。 在机器学习中,已定型的模型默认以ILearner格式保存。

    • Azure Blob 存储:仅当已将训练的模型导出到 Azure 存储时,才选择此选项。 然后,必须提供帐户名和帐户密钥,并提供容器、目录或 blob 的路径。

  3. 如果要创建基于当前试验的 Request-Response web 服务,请选择 " 允许在 rr 中使用" 选项。 否则,将使用批处理执行服务 (BE) 选项来执行评分,建议使用此方法。 有关详细信息,请参阅 技术说明 部分。

  4. 如果要从缓存加载定型模型,请选择 "使用缓存的 结果 " 选项。 将实验部署为 Web 服务 API 后,将忽略此选项。

示例

有关如何使用此模块的示例,请参阅Cortana Intelligence Gallery

  • 加载定型的深层 Learning 模型:此示例将创建用于图像检测的自定义神经网络。 通过使用 " 负载定型模型 " 模块,您可以轻松地重复使用此模型,而无需对其进行定型,这可能会非常耗时。

    此集合包括定型试验、创建模型和预测实验,其中模型作为 web 服务加载并用于预测。

技术说明

本部分包含实现详情、使用技巧和常见问题解答。

常见问题

为什么默认情况下不启用 RR

通常情况下,RR 调用会在短时间内返回结果。 但是,由于模块必须从 Azure 存储帐户或公共 HTTP 终结点上托管的文件以 blob 的形式加载定型模型,因此文件操作可能会导致不可预测的延迟。

因此,我们通常建议在 (BE) 的批处理执行模式下运行 Web 服务。 如果你选择了的选项,则请注意可能存在延迟。 有关执行时间的一般信息,请参阅机器学习 SLA

如果使用 "缓存的结果" 选项,定型模型的加载速度将更快

是,但仅当试验在机器学习 Studio 中运行时 (经典) ,并且仅在第一次运行填充缓存后才运行。 将实验部署为 web 服务后,web 服务执行将忽略此标志。

是否可以通过某种方式自动执行此过程

可以使用 PowerShell 在机器学习中简化或自动执行多个任务。 例如,你可以下载整个试验或特定模块的内容,导出 web 服务的定义,或调用 web 服务执行 API。 有关详细信息,请参阅适用于 Microsoft 机器学习的 PowerShell 模块

模块参数

名称 范围 类型 默认 说明
允许在 RR 中使用 True/False Boolean false 允许此模块在请求-响应 web 服务中运行,这可能会导致不可预测的延迟
数据源 通过 HTTP 或 Azure Blob 存储的 Web URL T_DataSourceOrSink Azure Blob 存储 数据源可以是 HTTP 或 Azure blob 存储中的文件 (必需的)
对于 通过 HTTP 的 WEB URL
数据源 URL any String HTTP 的 URL
对于Azure Blob 存储
帐户名 any String 帐户名称
帐户密钥 any SecureString 与 Microsoft Azure 存储帐户关联的密钥
容器、目录或 Blob 的路径 any String Blob 或表名称的路径

Outputs

名称 类型 说明
训练的模型 ILearner 接口 已训练模型

例外

异常 描述
错误 0003 如果一个或多个输入为 NULL 或为空,将出现异常。

有关特定于工作室和经典 (模块) 的列表,请参阅机器学习代码

有关 API 异常的列表,请参阅机器学习 REST API代码

另请参阅

数据输入和输出