Experiment 클래스
Azure Machine Learning에서 실험을 만들고 작업하기 위한 기본 진입점을 나타냅니다.
실험은 여러 모델 실행을 나타내는 시도의 컨테이너입니다.
실험 생성자입니다.
- 상속
-
azureml._logging.chained_identity.ChainedIdentityExperimentazureml.core._portal.HasExperimentPortalExperiment
생성자
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
|
인증 개체입니다. None인 경우 기본 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
실험에 태그 집합을 추가하거나 수정합니다. 사전에 전달되지 않은 태그는 그대로 유지됩니다.
set_tags(tags)
매개 변수
Name | Description |
---|---|
tags
필수
|
실험 개체에 저장된 태그 |
start_logging
대화형 로깅 세션을 시작하고 지정된 실험에서 대화형 실행을 만듭니다.
start_logging(*args, **kwargs)
매개 변수
Name | Description |
---|---|
experiment
필수
|
실험입니다. |
outputs
필수
|
추적할 선택적 출력 디렉터리입니다. 출력이 없으므로 False를 전달합니다. |
snapshot_directory
필수
|
스냅샷을 만들 선택적 디렉터리입니다. None으로 설정하면 스냅샷이 만들어지지 않습니다. |
args
필수
|
|
kwargs
필수
|
|
반환
형식 | Description |
---|---|
시작된 실행을 반환합니다. |
설명
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)
매개 변수
Name | Description |
---|---|
config
필수
|
제출할 구성입니다. |
tags
|
제출된 실행에 추가할 태그 {“tag”: “value”}입니다. Default value: None
|
kwargs
필수
|
구성에 대한 제출 함수에 사용되는 추가 매개 변수입니다. |
반환
형식 | 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