Experiment 类

表示用于在 Azure 机器学习中创建和使用试验的主要入口点。

试验是表示多个模型运行的试用容器。

试验构造函数。

继承
azureml._logging.chained_identity.ChainedIdentity
Experiment
azureml.core._portal.HasExperimentPortal
Experiment

构造函数

Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)

参数

名称 说明
workspace
必需

包含试验的工作区对象。

name
必需
str

试验名称。

kwargs
必需

关键字参数的字典。

workspace
必需

包含试验的工作区对象。

name
必需
str

试验名称。

kwargs
必需

关键字参数的字典。

_skip_name_validation
默认值: False
_id
默认值: None
_archived_time
默认值: None
_create_in_cloud
默认值: True
_experiment_dto
默认值: None

注解

Azure 机器学习试验表示用于验证用户假设的试用集合。

在 Azure 机器学习中,试验由 Experiment 类表示,试用由 Run 类表示。

若要从工作区获取或创建试验,请使用试验名称请求试验。 试验名称必须是 3-36 个字符,以字母或数字开头,并且只能包含字母、数字、下划线和短划线。


   experiment = Experiment(workspace, "MyExperiment")

如果在工作区中找不到试验,则会创建一个新试验。

可通过两种方式执行试验运行。 如果要在 Jupyter Notebook 中以交互方式进行试验,请使用 start_logging,如果要从源代码或一些其他类型的已配置试用中提交实验,请使用 submit

这两种机制都创建一个 Run 对象。 在交互式方案中,使用日志记录方法(如 log)将度量值和指标添加到试验记录。 在配置的方案中,使用状态方法(如 get_status)来检索有关运行的信息。

在这两种情况下,都可以使用查询方法(如 get_metrics)来检索任何试用度量值和指标的当前值(如果有)。

方法

archive

存档试验。

delete

在工作区中删除一个试验。

from_directory

(已弃用)从指定路径加载试验。

get_docs_url

此类的文档的 URL。

get_runs

按时间顺序倒序返回此实验的运行生成器。

list

返回工作区中的试验列表。

reactivate

重新激活已存档的试验。

refresh

从云中返回最新版本的试验。

remove_tags

从试验中删除指定的标记。

set_tags

在试验中添加或修改一组标记。 未在字典中传递的标记保持不变。

start_logging

启动交互式日志记录会话,并在指定的试验中创建交互式运行。

submit

提交试验并返回活动创建的运行。

tag

使用一个字符串键和可选字符串值标记试验。

archive

存档试验。

archive()

注解

存档后,默认情况下不会列出试验。 尝试写入存档的实验将创建一个同名的新活动实验。 只要没有其他同名的活动实验,就可以通过调用 reactivate 来还原存档的实验。

delete

在工作区中删除一个试验。

static delete(workspace, experiment_id)

参数

名称 说明
workspace
必需

试验所属的工作区。

experiment_id
必需

要删除的试验的试验 ID。

from_directory

(已弃用)从指定路径加载试验。

static from_directory(path, auth=None)

参数

名称 说明
path
必需
str

包含试验配置文件的目录。

auth

身份验证对象。 如果为 None,则将使用默认的 Azure CLI 凭据,或者 API 将提示输入凭据。

默认值: None

返回

类型 说明

返回试验

get_docs_url

此类的文档的 URL。

get_docs_url()

返回

类型 说明
str

URL

get_runs

按时间顺序倒序返回此实验的运行生成器。

get_runs(type=None, tags=None, properties=None, include_children=False)

参数

名称 说明
type

按提供的类型筛选运行的返回的生成器。 请参阅 add_type_provider,了解如何创建运行类型。

默认值: None
tags
stringdict

按“tag”或 {"tag": "value"} 筛选运行。

默认值: None
properties
stringdict

按 "property" 或 {"property": "value"} 筛选运行

默认值: None
include_children

默认情况下,仅提取顶级运行。 设置为 true 可列出所有运行。

默认值: False

返回

类型 说明

与提供的筛选器匹配的运行列表。

list

返回工作区中的试验列表。

static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)

参数

名称 说明
workspace
必需

要从其中列出试验的工作区。

experiment_name
str

用于筛选试验的可选名称。

默认值: None
view_type

用于筛选或包含已存档实验的可选枚举值。

默认值: ActiveOnly
tags

可选的标签键或标签键值对字典,用于筛选实验。

默认值: None

返回

类型 说明

试验对象的列表。

reactivate

重新激活已存档的试验。

reactivate(new_name=None)

参数

名称 说明
new_name
必需
str

不再受支持

注解

仅当没有另一个同名的活动实验时,才能重新激活存档的实验。

refresh

从云中返回最新版本的试验。

refresh()

remove_tags

从试验中删除指定的标记。

remove_tags(tags)

参数

名称 说明
tags
必需
[str]

将删除的标记键

set_tags

在试验中添加或修改一组标记。 未在字典中传递的标记保持不变。

set_tags(tags)

参数

名称 说明
tags
必需

试验对象中存储的标记

start_logging

启动交互式日志记录会话,并在指定的试验中创建交互式运行。

start_logging(*args, **kwargs)

参数

名称 说明
experiment
必需

试验。

outputs
必需
str

要跟踪的可选输出目录。对于“无输出”,请传递 False。

snapshot_directory
必需
str

要对其拍摄快照的可选目录。 设置为 None 不会创建快照。

args
必需
kwargs
必需

返回

类型 说明
Run

返回已启动的运行。

注解

start_logging 可创建 Jupyter Notebooks 等方案中使用的交互式运行。 试验中会话期间记录的任何指标都会添加到运行记录中。 如果指定了输出目录,则该目录的内容将在运行完成后作为运行项目上传。


   experiment = Experiment(workspace, "My Experiment")
   run = experiment.start_logging(outputs=None, snapshot_directory=".", display_name="My Run")
   ...
   run.log_metric("Accuracy", accuracy)
   run.complete()

注意

run_id 是针对每次运行自动生成的,并且在试验中是唯一的。

submit

提交试验并返回活动创建的运行。

submit(config, tags=None, **kwargs)

参数

名称 说明
config
必需

要提交的配置。

tags

要添加到已提交运行的标记 {"tag": "value"}。

默认值: None
kwargs
必需

提交函数中用于配置的其他参数。

返回

类型 说明
Run

运行。

注解

提交是对 Azure 机器学习平台的异步调用,用于在本地或远程硬件上执行试运行。 根据配置,提交将自动准备执行环境、执行代码,以及将源代码和结果捕获到试验的运行历史记录中。

若要提交试验,首先需要创建描述试验运行方法的配置对象。 该配置取决于所需的试用类型。

有关如何从本地计算机提交试验的示例如下所示:


   from azureml.core import ScriptRunConfig

   # run a trial from the train.py code in your current directory
   config = ScriptRunConfig(source_directory='.', script='train.py',
       run_config=RunConfiguration())
   run = experiment.submit(config)

   # get the url to view the progress of the experiment and then wait
   # until the trial is complete
   print(run.get_portal_url())
   run.wait_for_completion()

若要详细了解如何配置运行,请参阅配置类型详细信息。

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

注意

提交训练运行时,将创建包含训练脚本的目录的快照,并将其发送到计算目标。 目录快照也作为试验的一部分存储在工作区中。 如果更改文件并再次提交运行,只会上传已更改的文件。

若要防止在快照中包含文件,请在目录中创建一个 .gitignore 或 .amlignore 文件,然后将文件添加到其中。 .amlignore 文件使用的语法和模式与 .gitignore 文件相同。 如果这两个文件都存在,则 .amlignore 文件的优先级更高。

有关详细信息,请参阅快照

tag

使用一个字符串键和可选字符串值标记试验。

tag(key, value=None)

参数

名称 说明
key
必需
str

标记键

value
必需
str

标记的可选值

注解

试验中的标记存储在包含字符串键和字符串值的字典中。 可以设置、更新和删除标记。 标记面向用户,通常包含试验使用者的含义信息。


   experiment.tag('')
   experiment.tag('DeploymentCandidate')
   experiment.tag('modifiedBy', 'Master CI')
   experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable

属性

archived_time

返回试验的存档时间。 对于活动试验,值应为“None”。

返回

类型 说明
str

试验的存档时间。

id

返回试验的 ID。

返回

类型 说明
str

试验的 ID。

name

返回试验的名称。

返回

类型 说明
str

试验的名称。

tags

返回实验上可变的标记集。

返回

类型 说明

试验上的标记。

workspace

返回包含试验的工作区。

返回

类型 说明

返回工作区对象。

workspace_object

(已弃用)返回包含试验的工作区。

使用 workspace 属性。

返回

类型 说明

工作区对象。