Experiment 클래스
Azure Machine Learning에서 실험을 만들고 사용하기 위한 주요 진입점을 나타냅니다.
실험은 여러 모델 실행을 나타내는 평가판 컨테이너입니다.
실험 생성자입니다.
생성자
Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)
매개 변수
Name | Description |
---|---|
workspace
필수
|
실험을 포함하는 작업 영역 개체입니다. |
name
필수
|
실험 이름입니다. |
kwargs
필수
|
키워드 인수의 사전입니다. |
workspace
필수
|
실험을 포함하는 작업 영역 개체입니다. |
name
필수
|
실험 이름입니다. |
kwargs
필수
|
키워드 인수의 사전입니다. |
_skip_name_validation
|
Default value: False
|
_id
|
Default value: None
|
_archived_time
|
Default value: None
|
_create_in_cloud
|
Default value: True
|
_experiment_dto
|
Default value: 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)
매개 변수
Name | Description |
---|---|
workspace
필수
|
실험이 속한 작업 영역입니다. |
experiment_id
필수
|
삭제할 실험의 실험 ID입니다. |
from_directory
(사용되지 않음) 지정된 경로에서 실험을 로드합니다.
static from_directory(path, auth=None)
매개 변수
Name | Description |
---|---|
path
필수
|
실험 구성 파일이 포함된 디렉터리입니다. |
auth
|
인증 개체입니다. 없음이면 기본 Azure CLI 자격 증명이 사용되거나 API에서 자격 증명을 묻는 메시지가 표시됩니다. Default value: None
|
반환
형식 | Description |
---|---|
실험을 반환합니다. |
get_docs_url
get_runs
이 실험에 대한 실행 생성기를 역순으로 반환합니다.
get_runs(type=None, tags=None, properties=None, include_children=False)
매개 변수
Name | Description |
---|---|
type
|
반환된 실행 생성기를 제공된 형식별로 필터링합니다. 실행 형식 만들기를 참조 add_type_provider 하세요. Default value: None
|
tags
|
필터는 "tag" 또는 {"tag": "value"}로 실행됩니다. Default value: None
|
properties
|
필터 실행은 "property" 또는 {"property": "value"} Default value: None
|
include_children
|
기본적으로 최상위 실행만 가져옵니다. 모든 실행을 나열하려면 true로 설정합니다. Default value: False
|
반환
형식 | Description |
---|---|
제공된 필터와 일치하는 실행 목록입니다. |
list
작업 영역에서 실험 목록을 반환합니다.
static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
실험을 나열할 작업 영역입니다. |
experiment_name
|
실험을 필터링하는 선택적 이름입니다. Default value: None
|
view_type
|
보관된 실험을 필터링하거나 포함할 선택적 열거형 값입니다. Default value: ActiveOnly
|
tags
|
실험을 필터링할 태그 키-값 쌍의 선택적 태그 키 또는 사전입니다. Default value: None
|
반환
형식 | Description |
---|---|
실험 개체 목록입니다. |
reactivate
보관된 실험을 다시 활성화합니다.
reactivate(new_name=None)
매개 변수
Name | Description |
---|---|
new_name
필수
|
더 이상 지원되지 않음 |
설명
보관된 실험은 이름이 같은 다른 활성 실험이 없는 경우에만 다시 활성화할 수 있습니다.
refresh
클라우드에서 실험의 최신 버전을 반환합니다.
refresh()
remove_tags
set_tags
start_logging
대화형 로깅 세션을 시작하고 지정된 실험에서 대화형 실행을 만듭니다.
start_logging(*args, **kwargs)
매개 변수
Name | Description |
---|---|
experiment
필수
|
실험입니다. |
outputs
필수
|
추적할 선택적 출력 디렉터리입니다. 출력이 없으므로 False를 전달합니다. |
snapshot_directory
필수
|
스냅샷을 생성할 선택적 디렉터리입니다. None으로 설정하면 스냅샷이 생성되지 않습니다. |
args
필수
|
|
kwargs
필수
|
|
반환
형식 | Description |
---|---|
시작된 실행을 반환합니다. |
설명
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)
매개 변수
Name | Description |
---|---|
config
필수
|
제출할 구성입니다. |
tags
|
제출된 실행 {"tag": "value"}에 추가할 태그입니다. Default value: None
|
kwargs
필수
|
구성에 대한 submit 함수에 사용되는 추가 매개 변수입니다. |
반환
형식 | Description |
---|---|
실행입니다. |
설명
제출은 로컬 또는 원격 하드웨어에서 평가판을 실행하기 위해 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()
실행을 구성하는 방법에 대한 자세한 내용은 구성 유형 세부 정보를 참조하세요.
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)
매개 변수
Name | Description |
---|---|
key
필수
|
태그 키 |
value
필수
|
태그에 대한 선택적 값입니다. |
설명
실험의 태그는 문자열 키와 문자열 값이 있는 사전에 저장됩니다. 태그를 설정, 업데이트 및 삭제할 수 있습니다. 태그는 사용자 연결이며 일반적으로 실험의 소비자에 대한 의미 정보를 포함합니다.
experiment.tag('')
experiment.tag('DeploymentCandidate')
experiment.tag('modifiedBy', 'Master CI')
experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable