Experiment 類別

表示在 Azure Machine Learning 中建立和使用實驗的主要進入點。

實驗是代表多個模型執行的 試用版 容器。

實驗建構函式。

繼承
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 Machine Learning實驗代表用來驗證使用者假設實驗集合。

在 Azure Machine Learning 中,實驗是由 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
必要

要刪除之實驗的實驗識別碼。

from_directory

(已被取代) 從指定的路徑載入實驗。

static from_directory(path, auth=None)

參數

path
str
必要

包含實驗組態檔的目錄。

auth
ServicePrincipalAuthenticationInteractiveLoginAuthentication
預設值: 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
必要

要擷取快照集的選擇性目錄。 設定為 [無] 不會擷取快照集。

args
list
必要
kwargs
dict
必要

傳回

傳回已啟動的執行。

傳回類型

Run

備註

start_logging 建立互動式執行,以在 Jupyter Notebook 等案例中使用。 工作階段期間記錄的所有計量都會加入實驗的執行記錄中。 如果指定輸出目錄,該目錄的內容會在執行完成時上傳為執行成品。


   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

備註

Submit 是 Azure Machine Learning 平臺的非同步呼叫,以在本機或遠端硬體上執行試用版。 視設定而定,提交會自動準備執行環境、執行程式碼,並將原始程式碼和結果擷取到實驗的執行歷程記錄中。

若要提交實驗,您必須先建立描述實驗執行方式的組態物件。 組態取決於所需的試用版類型。

如何從本機電腦提交實驗的範例如下:


   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

傳回實驗的識別碼。

傳回

實驗的識別碼。

傳回類型

str

name

傳回實驗的名稱。

傳回

實驗的名稱。

傳回類型

str

tags

傳回實驗上的可變動標記集。

傳回

實驗上的標記。

傳回類型

workspace

傳回包含實驗的工作區。

傳回

傳回工作區物件。

傳回類型

workspace_object

(已被取代) 傳回包含實驗的工作區。

workspace使用 屬性。

傳回

工作區物件。

傳回類型