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
Workspace
必需

包含试验的工作区对象。

name
str
必需

试验名称。

kwargs
dict
必需

关键字参数的字典。

workspace
Workspace
必需

包含试验的工作区对象。

name
str
必需

试验名称。

kwargs
dict
必需

关键字参数的字典。

_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
Workspace
必需

试验所属的工作区。

experiment_id
必需

要删除的试验的试验 ID。

from_directory

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

static from_directory(path, auth=None)

参数

path
str
必需

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

auth
ServicePrincipalAuthenticationInteractiveLoginAuthentication
默认值: None

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

返回

返回试验

返回类型

get_docs_url

此类的文档的 URL。

get_docs_url()

返回

URL

返回类型

str

get_runs

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

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

参数

type
string
默认值: None

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

tags
stringdict
默认值: None

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

properties
stringdict
默认值: None

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

include_children
bool
默认值: False

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

返回

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

返回类型

list

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

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

参数

workspace
Workspace
必需

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

experiment_name
str
默认值: None

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

view_type
ViewType
默认值: 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
dict[str]
必需

试验对象中存储的标记

start_logging

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

start_logging(*args, **kwargs)

参数

experiment
Experiment
必需

试验。

outputs
str
必需

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

snapshot_directory
str
必需

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

args
list
必需
kwargs
dict
必需

返回

返回已启动的运行。

返回类型

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
object
必需

要提交的配置。

tags
dict
默认值: None

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

kwargs
dict
必需

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

返回

运行。

返回类型

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。

返回

试验的 ID。

返回类型

str

name

返回试验的名称。

返回

试验的名称。

返回类型

str

tags

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

返回

试验上的标记。

返回类型

workspace

返回包含试验的工作区。

返回

返回工作区对象。

返回类型

workspace_object

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

使用 workspace 属性。

返回

工作区对象。

返回类型