Run 클래스
모든 Azure Machine Learning 실험 실행에 대한 기본 클래스를 정의합니다.
실행은 실험의 단일 시도를 나타냅니다. 실행은 시도의 비동기 실행을 모니터링하고, 메트릭을 로그하고, 시도의 출력을 저장하고, 결과를 분석하고, 시도에서 생성된 아티팩트에 액세스하는 데 사용됩니다.
실행 개체는 HyperDrive 실행, 파이프라인 실행 및 AutoML 실행을 포함한 Azure Machine Learning의 다양한 시나리오에서 모델 학습을 위한 스크립트를 제출할 때 만들어집니다. 실행 개체는 Experiment 클래스를 사용하여 submit 또는 start_logging할 때도 만들어집니다.
실험 및 실행을 시작하려면 다음을 참조하세요.
Run 개체를 초기화합니다.
- 상속
-
azureml._run_impl.run_base._RunBaseRun
생성자
Run(experiment, run_id, outputs=None, **kwargs)
매개 변수
Name | Description |
---|---|
experiment
필수
|
포함하는 실험입니다. |
run_id
필수
|
실행의 ID입니다. |
outputs
|
추적할 출력입니다. Default value: None
|
_run_dto
필수
|
<xref:azureml._restclient.models.run_dto.RunDto>
내부 전용입니다. |
kwargs
필수
|
추가 구성 매개 변수의 사전입니다. |
experiment
필수
|
포함하는 실험입니다. |
run_id
필수
|
실행의 ID입니다. |
outputs
필수
|
추적할 출력입니다. |
kwargs
필수
|
추가 구성 매개 변수의 사전입니다. |
설명
실행은 실험의 단일 시도를 나타냅니다. 실행 개체는 평가판의 비동기 실행을 모니터링하고, 메트릭을 기록하고, 평가판의 출력을 저장하고, 결과를 분석하고, 평가판에서 생성된 아티팩트를 액세스하는 데 사용됩니다.
실험 코드 내에서 실행을 사용하여 메트릭과 아티팩트를 실행 기록 서비스에 기록합니다.
실행은 실험 외부에서 진행 상황을 모니터링하고 생성된 메트릭 및 결과를 쿼리하고 분석하는 데 사용됩니다.
Run의 기능에는 다음이 포함됩니다.
메트릭과 데이터 저장 및 검색
파일 업로드 및 다운로드
태그 및 자식 계층 구조를 사용하여 이전 실행을 쉽게 조회
운영화할 수 있는 모델로 저장된 모델 파일 등록
실행의 속성 저장, 수정, 검색
get_context 메서드를 사용하여 원격 환경에서 현재 실행 로드
재현성을 위해 파일 또는 디렉터리 효율적으로 스냅샷
이 클래스는 다음 시나리오에서 Experiment와 함께 작동합니다.
submit를 사용하여 코드를 실행하여 실행 만들기
start_logging을 사용하여 Notebook에서 대화형으로 실행 만들기
메트릭 로깅 및 실험에서 아티팩트 업로드(예: log 사용 시)
메트릭 읽기 및 실험 결과 분석 시 아티팩트 다운로드(예: get_metrics 사용 시)
실행을 제출하려면 실험 실행 방법을 설명하는 구성 개체를 만듭니다. 사용할 수 있는 다양한 구성 개체의 예는 다음과 같습니다.
azureml.train.automl.automlconfig.AutoMLConfig
azureml.train.hyperdrive.HyperDriveConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
실험을 학습하는 동안 실행에 추가할 수 있는 메트릭은 다음과 같습니다.
스칼라
log를 사용하여 숫자 또는 문자열 값을 지정된 이름의 실행에 기록합니다. 메트릭을 실행에 기록하면 해당 메트릭이 실험의 실행 기록에 저장됩니다. 하나의 실행 내에서 동일한 메트릭을 여러 번 기록할 수 있으며 결과는 해당 메트릭의 벡터로 간주됩니다.
예:
run.log("accuracy", 0.95)
목록
log_list를 사용하여 값 목록을 지정된 이름의 실행에 기록합니다.
예:
run.log_list("accuracies", [0.6, 0.7, 0.87])
행
log_row를 사용하여
kwargs
에 설명된 대로 열이 여러 개 있는 메트릭을 만듭니다. 명명된 각 매개 변수는 지정된 값이 있는 열을 생성합니다.log_row
는 임의의 튜플을 로깅하기 위해 한 번 호출되거나 루프에서 여러 번 호출되어 전체 테이블을 생성할 수 있습니다.예:
run.log_row("Y over X", x=1, y=0.4)
테이블
log_table을 사용하여 사전 개체를 지정된 이름의 실행에 기록합니다.
예:
run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})
이미지
이미지를 실행 기록에 로깅합니다. log_image를 사용하여 이미지 파일이나 matplotlib 플롯을 실행에 기록합니다. 이러한 이미지는 실행 기록에서 볼 수 있고 비교할 수 있습니다.
예:
run.log_image("ROC", path)
메서드
add_properties |
실행에 변경할 수 없는 속성을 추가합니다. 태그 및 속성(dict[str, str] 모두)은 변경 가능성이 다릅니다. 속성은 변경할 수 없으므로 감사를 위해 영구 레코드를 만듭니다. 태그는 변경할 수 있습니다. 태그 및 속성 작업에 대한 자세한 내용은 태그 및 찾기 실행을 참조하세요. |
add_type_provider |
실행 기록에 저장된 사용자 지정 실행 형식에 대한 확장성 후크입니다. |
cancel |
실행을 취소된 것으로 표시합니다. 집합 cancel_uri 필드와 연결된 작업이 있는 경우 해당 작업도 종료합니다. |
child_run |
자식 실행을 만듭니다. |
clean |
실행 구성에 지정된 대상에서 현재 실행에 해당하는 파일을 제거합니다. |
complete |
작업 큐가 처리될 때까지 기다립니다. 그런 다음, 실행이 완료된 것으로 표시됩니다. 이는 일반적으로 대화형 노트북 시나리오에서 사용됩니다. |
create_children |
하나 이상의 자식 실행을 만듭니다. |
download_file |
스토리지에서 연결된 파일을 다운로드합니다. |
download_files |
접두사 지정이 취소된 경우 지정된 스토리지 접두사(폴더 이름) 또는 전체 컨테이너에서 파일을 다운로드합니다. |
fail |
실행을 실패한 것으로 표시합니다. 필요에 따라 |
flush |
작업 큐가 처리될 때까지 기다립니다. |
get |
실행 ID를 사용하여 이 작업 영역에 대한 실행을 가져옵니다. |
get_all_logs |
실행에 대한 모든 로그를 디렉터리에 다운로드합니다. |
get_children |
지정된 필터에서 선택한 현재 실행에 대한 모든 자식을 가져옵니다. |
get_context |
현재 서비스 컨텍스트를 반환합니다. 이 메서드를 사용하여 메트릭을 로깅하고 파일을 업로드하기 위한 현재 서비스 컨텍스트를 검색합니다.
|
get_detailed_status |
실행의 최신 상태를 가져옵니다. 실행 상태가 “Queued”이면 세부 정보가 표시됩니다. |
get_details |
실행의 정의, 상태 정보, 현재 로그 파일, 기타 세부 정보를 가져옵니다. |
get_details_with_logs |
로그 파일 콘텐츠를 포함한 실행 상태를 반환합니다. |
get_environment |
이 실행에서 사용된 환경 정의를 가져옵니다. |
get_file_names |
실행과 관련하여 저장된 파일을 나열합니다. |
get_metrics |
실행에 기록된 메트릭을 검색합니다.
|
get_properties |
서비스에서 실행의 최신 속성을 가져옵니다. |
get_secret |
실행 컨텍스트에서 비밀 값을 가져옵니다. 제공된 이름의 비밀 값을 가져옵니다. 비밀 이름은 작업 영역과 연결된 Azure Key Vault에 저장된 값을 참조합니다. 비밀로 작업하는 예제는 학습 실행에서 비밀 사용을 참조하세요. |
get_secrets |
지정된 비밀 이름 목록에 대한 비밀 값을 가져옵니다. 제공된 이름 목록에 대해 찾은 비밀과 찾을 수 없는 비밀의 사전을 가져옵니다. 각 비밀 이름은 작업 영역과 연결된 Azure Key Vault에 저장된 값을 참조합니다. 비밀로 작업하는 예제는 학습 실행에서 비밀 사용을 참조하세요. |
get_snapshot_id |
최신 스냅샷 ID를 가져옵니다. |
get_status |
실행의 최신 상태를 가져옵니다. 반환되는 일반적인 값에는 “Running”, “Completed”, “Failed”가 포함됩니다. |
get_submitted_run |
사용되지 않습니다. get_context을 사용합니다. 이 실험에 대해 제출된 실행을 가져옵니다. |
get_tags |
서비스에서 실행 시 변경 가능한 태그의 최신 집합을 가져옵니다. |
list |
선택적 필터로 지정된 실험에서 실행 목록을 가져옵니다. |
list_by_compute |
선택적 필터로 지정된 컴퓨팅에서 실행 목록을 가져옵니다. |
log |
메트릭 값을 지정된 이름의 실행에 기록합니다. |
log_accuracy_table |
아티팩트 저장소에 정확도 테이블을 기록합니다. 정확도 테이블 메트릭은 예측된 확률의 공간에 따라 지속적으로 변화하는 여러 유형의 꺾은선형 차트를 생성하는 데 사용할 수 있는 다중 사용 비 스칼라 메트릭입니다. 이러한 차트의 예로는 ROC, 정밀도 재현율, 리프트 곡선이 있습니다. 정확도 테이블의 계산은 ROC 곡선의 계산과 유사합니다. ROC 곡선은 다양한 확률 임계값에 진양성 비율과 가양성 비율을 저장합니다. 정확도 테이블은 많은 확률 임계값에 진양성, 가양성, 진음성, 가음성의 원시 수를 저장합니다. 임계값을 선택하는 데 사용되는 두 가지 메서드는 “확률” 및 “백분위수”입니다. 이들은 예측된 확률의 공간에서 샘플링하는 방법이 다릅니다. 확률 임계값은 0에서 1 사이의 균일하게 간격이 지정된 임계값입니다. NUM_POINTS가 5이면 확률 임계값은 [0.0, 0.25, 0.5, 0.75, 1.0]입니다. 백분위수 임계값은 예측된 확률의 분포에 따라 간격이 지정됩니다. 각 임계값은 확률 임계값에 있는 데이터의 백분위수에 해당합니다. 예를 들어 NUM_POINTS가 5이면 첫 번째 임계값은 0번째 백분위수, 두 번째 임계값은 25번째 백분위수, 세 번째 임계값은 50번째 백분위수입니다. 확률 테이블과 백분위수 테이블은 모두 3D 목록입니다. 여기서 첫 번째 차원은 클래스 레이블을 나타내고, 두 번째 차원은 한 임계값(NUM_POINTS 배율)에서 샘플을 나타내고, 세 번째 차원에는 항상 TP, FP, TN, FN의 4개 값이 항상 해당 순서로 있습니다. 혼동 값(TP, FP, TN, FN)은 1 대 나머지 전략으로 컴퓨팅됩니다. 자세한 내용은 https://en.wikipedia.org/wiki/Multiclass_classification 링크를 참조하세요. N = 유효성 검사 데이터 세트의 샘플 수(예: 200개) M = 임계값의 수 = 확률 공간에서 가져온 샘플 수(예: 5개) C = 전체 데이터 세트의 클래스 수(예: 3개) 정확도 테이블의 일부 고정:
참고: M은 모든 값일 수 있으며 차트의 해상도를 제어합니다. 이는 데이터 세트와는 독립적이며 메트릭을 계산할 때 정의되며 스토리지 공간, 계산 시간, 해상도를 절판합니다. 클래스 레이블은 문자열이어야 하고, 혼동 값은 정수여야 하며, 임계값은 부동이어야 합니다. |
log_confusion_matrix |
혼동 행렬을 아티팩트 저장소에 기록합니다. 그러면 sklearn 혼동 행렬 주위에 래퍼가 기록됩니다. 메트릭 데이터에는 행렬 자체에 대한 클래스 레이블 및 2D 목록이 포함됩니다. 메트릭이 컴퓨팅되는 방법에 대한 자세한 내용은 https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html 링크를 참조하세요. |
log_image |
이미지 메트릭을 실행 기록에 기록합니다. |
log_list |
메트릭 값 목록을 지정된 이름의 실행에 기록합니다. |
log_predictions |
아티팩트 저장소에 예측을 기록합니다. 이렇게 하면 실제 대상 값의 분포를 회귀 작업의 예측 값 분포와 비교하는 데 사용할 수 있는 메트릭 점수를 기록합니다. 예측은 범주화되고 표준 편차는 꺾은선형 차트의 오차 막대에 대해 계산됩니다. |
log_residuals |
아티팩트 저장소에 잔차를 기록합니다. 이는 회귀 작업에 대한 잔차 히스토그램을 표시하는 데 필요한 데이터를 기록합니다. 잔차가 예측 - 실제입니다. 개수보다 가장자리가 하나 더 있어야 합니다. 히스토그램을 나타내기 위해 개수와 가장자리를 사용하는 예제는 numpy 히스토그램 설명서를 참조하세요. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
log_row |
행 메트릭을 지정된 이름의 실행에 기록합니다. |
log_table |
테이블 메트릭을 지정된 이름의 실행에 기록합니다. |
register_model |
운영화를 위한 모델을 등록합니다. |
remove_tags |
이 실행에서 변경 가능한 태그 목록을 삭제합니다. |
restore_snapshot |
스냅샷을 ZIP 파일로 복원합니다. ZIP의 경로를 반환합니다. |
set_tags |
실행 시 태그 집합을 추가하거나 수정합니다. 사전에 전달되지 않은 태그는 그대로 유지됩니다. 간단한 문자열 태그를 추가할 수도 있습니다. 이러한 태그가 태그 사전에 키로 표시되는 경우, 값은 None입니다. 자세한 내용은 태그 및 찾기 실행을 참조하세요. |
start |
실행을 시작됨으로 표시합니다. 이는 일반적으로 다른 행위자가 실행을 만든 경우 고급 시나리오에서 사용됩니다. |
submit_child |
실험을 제출하고 활성 자식 실행을 반환합니다. |
tag |
문자열 키와 선택적 문자열 값을 사용하여 실행에 대한 태그를 지정합니다. |
take_snapshot |
입력 파일 또는 폴더의 스냅샷을 저장합니다. |
upload_file |
파일을 실행 기록에 업로드합니다. |
upload_files |
파일을 실행 기록에 업로드합니다. |
upload_folder |
지정된 폴더를 지정된 접두사 이름으로 업로드합니다. |
wait_for_completion |
이 실행이 완료될 때까지 기다립니다. 대기 후 상태 개체를 반환합니다. |
add_properties
실행에 변경할 수 없는 속성을 추가합니다.
태그 및 속성(dict[str, str] 모두)은 변경 가능성이 다릅니다. 속성은 변경할 수 없으므로 감사를 위해 영구 레코드를 만듭니다. 태그는 변경할 수 있습니다. 태그 및 속성 작업에 대한 자세한 내용은 태그 및 찾기 실행을 참조하세요.
add_properties(properties)
매개 변수
Name | Description |
---|---|
properties
필수
|
실행 개체에 저장된 숨겨진 속성입니다. |
add_type_provider
실행 기록에 저장된 사용자 지정 실행 형식에 대한 확장성 후크입니다.
static add_type_provider(runtype, run_factory)
매개 변수
Name | Description |
---|---|
runtype
필수
|
팩터리를 호출할 Run.type의 값입니다. 예를 들어 ‘hyperdrive’ 또는 ‘azureml.scriptrun’이 있지만 사용자 지정 형식으로 확장할 수 있습니다. |
run_factory
필수
|
<xref:function>
서명이 있는 함수(Experiment, RunDto) -> 목록이 실행될 때 호출되도록 실행합니다. |
cancel
실행을 취소된 것으로 표시합니다.
집합 cancel_uri 필드와 연결된 작업이 있는 경우 해당 작업도 종료합니다.
cancel()
child_run
자식 실행을 만듭니다.
child_run(name=None, run_id=None, outputs=None)
매개 변수
Name | Description |
---|---|
name
|
자식 실행에 대한 선택적 이름으로, 일반적으로 “part”에 대해 지정됩니다. Default value: None
|
run_id
|
자식에 대한 선택적 실행 ID로, 그렇지 않으면 자동으로 생성됩니다. 일반적으로 이 매개 변수는 설정되지 않습니다. Default value: None
|
outputs
|
자식에 대해 추적할 선택적 출력 디렉터리입니다. Default value: None
|
반환
형식 | Description |
---|---|
자식 실행입니다. |
설명
이는 실행의 일부를 하위 섹션으로 격리하는 데 사용됩니다. 이 작업은 구분하거나 하위 프로세스의 상호 작용에서 독립적인 메트릭을 캡처하는 데 흥미로운 실행의 식별 가능한 “부분”에 대해 수행할 수 있습니다.
자식 실행에 대해 출력 디렉터리가 설정된 경우 자식이 완료되면 해당 디렉터리의 내용이 자식 실행 기록에 업로드됩니다.
clean
complete
작업 큐가 처리될 때까지 기다립니다.
그런 다음, 실행이 완료된 것으로 표시됩니다. 이는 일반적으로 대화형 노트북 시나리오에서 사용됩니다.
complete(_set_status=True)
매개 변수
Name | Description |
---|---|
_set_status
|
추적을 위해 상태 이벤트를 보낼지 여부를 나타냅니다. Default value: True
|
create_children
하나 이상의 자식 실행을 만듭니다.
create_children(count=None, tag_key=None, tag_values=None)
매개 변수
Name | Description |
---|---|
count
|
만들 자식의 선택적 수입니다. Default value: None
|
tag_key
|
생성된 모든 자식에서 태그 항목을 채우는 선택적 키입니다. Default value: None
|
tag_Values
필수
|
생성된 실행 목록에 대한 Tags[tag_key]에 매핑되는 값의 선택적 목록입니다. |
tag_values
|
Default value: None
|
반환
형식 | Description |
---|---|
자식 실행 목록입니다. |
설명
매개 변수 count
또는 매개 변수 tag_key
및 tag_values
를 지정해야 합니다.
download_file
스토리지에서 연결된 파일을 다운로드합니다.
download_file(name, output_file_path=None, _validate_checksum=False)
매개 변수
Name | Description |
---|---|
name
필수
|
다운로드할 아티팩트의 이름입니다. |
output_file_path
필수
|
아티팩트 저장 위치의 로컬 경로입니다. |
download_files
접두사 지정이 취소된 경우 지정된 스토리지 접두사(폴더 이름) 또는 전체 컨테이너에서 파일을 다운로드합니다.
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
매개 변수
Name | Description |
---|---|
prefix
필수
|
모든 아티팩트를 다운로드할 컨테이너 내의 파일 경로 접두사입니다. |
output_directory
필수
|
모든 아티팩트 경로가 접두사로 사용하는 선택적 디렉터리입니다. |
output_paths
필수
|
[str]
다운로드한 아티팩트를 저장할 선택적 파일 경로입니다. 고유해야 하며 경로 길이와 일치해야 합니다. |
batch_size
필수
|
일괄 처리당 다운로드할 파일 수입니다. 기본값은 100개 파일입니다. |
append_prefix
필수
|
최종 출력 파일 경로에서 지정된 접두사에 추가할지 여부를 나타내는 선택적 플래그입니다. False이면 출력 파일 경로에서 접두사가 제거됩니다. |
timeout_seconds
필수
|
파일을 다운로드하기 위한 시간 제한입니다. |
fail
실행을 실패한 것으로 표시합니다.
필요에 따라 error_details
에 메시지 또는 예외가 전달되는 실행의 오류 속성을 설정합니다.
fail(error_details=None, error_code=None, _set_status=True)
매개 변수
Name | Description |
---|---|
error_details
|
str 또는
BaseException
오류에 대한 선택적 세부 정보입니다. Default value: None
|
error_code
|
오류 분류에 대한 오류의 선택적 오류 코드입니다. Default value: None
|
_set_status
|
추적을 위해 상태 이벤트를 보낼지 여부를 나타냅니다. Default value: True
|
flush
작업 큐가 처리될 때까지 기다립니다.
flush(timeout_seconds=300)
매개 변수
Name | Description |
---|---|
timeout_seconds
|
작업 큐가 처리될 때까지 대기하는 시간(초)입니다. Default value: 300
|
get
실행 ID를 사용하여 이 작업 영역에 대한 실행을 가져옵니다.
static get(workspace, run_id)
매개 변수
Name | Description |
---|---|
workspace
필수
|
포함하는 작업 영역입니다. |
run_id
필수
|
실행 ID입니다. |
반환
형식 | Description |
---|---|
제출된 실행입니다. |
get_all_logs
실행에 대한 모든 로그를 디렉터리에 다운로드합니다.
get_all_logs(destination=None)
매개 변수
Name | Description |
---|---|
destination
|
로그를 저장할 대상 경로입니다. 지정하지 않으면 실행 ID로 명명된 디렉터리가 프로젝트 디렉터리에 만들어집니다. Default value: None
|
반환
형식 | Description |
---|---|
다운로드한 로그의 이름 목록입니다. |
get_children
지정된 필터에서 선택한 현재 실행에 대한 모든 자식을 가져옵니다.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
매개 변수
Name | Description |
---|---|
recursive
|
모든 하위 항목을 재귀할지 여부를 나타냅니다. Default value: False
|
tags
|
지정한 경우 지정된 “tag” 또는 {“tag”: “value”}에 일치하는 실행을 반환합니다. Default value: None
|
properties
|
지정한 경우 지정된 “property” 또는 {“property”: “value”}에 일치하는 실행을 반환합니다. Default value: None
|
type
|
지정한 경우 이 형식과 일치하는 실행을 반환합니다. Default value: None
|
status
|
지정한 경우 상태가 “status”로 지정된 실행을 반환합니다. Default value: None
|
_rehydrate_runs
|
원래 형식의 실행을 인스턴스화할지 또는 기본 실행을 인스턴스화할지 여부를 나타냅니다. Default value: True
|
반환
형식 | Description |
---|---|
Run 개체의 목록입니다. |
get_context
현재 서비스 컨텍스트를 반환합니다.
이 메서드를 사용하여 메트릭을 로깅하고 파일을 업로드하기 위한 현재 서비스 컨텍스트를 검색합니다.
allow_offline
이 True(기본값)이면 실행 개체에 대한 작업이 표준 출력으로 인쇄됩니다.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
매개 변수
Name | Description |
---|---|
cls
필수
|
클래스 메서드를 나타냅니다. |
allow_offline
|
SDK를 사용하여 작업을 제출하지 않고도 학습 스크립트를 로컬로 테스트할 수 있도록 서비스 컨텍스트가 오프라인 모드로 대체되도록 허용합니다. 기본적으로 true입니다. Default value: True
|
kwargs
필수
|
추가 매개 변수의 사전입니다. |
used_for_context_manager
|
Default value: False
|
반환
형식 | Description |
---|---|
제출된 실행입니다. |
설명
이 함수는 일반적으로 experiment.submit()를 통한 실행을 위해 제출할 스크립트 내에서 인증된 실행 개체를 검색하는 데 사용됩니다. 이 실행 개체는 Azure Machine Learning 서비스와 통신하는 인증된 컨텍스트 및 메트릭, 파일(아티팩트), 모델이 포함된 개념 컨테이너입니다.
run = Run.get_context() # allow_offline=True by default, so can be run locally as well
...
run.log("Accuracy", 0.98)
run.log_row("Performance", epoch=e, error=err)
get_detailed_status
실행의 최신 상태를 가져옵니다. 실행 상태가 “Queued”이면 세부 정보가 표시됩니다.
get_detailed_status()
반환
형식 | Description |
---|---|
최신 상태 및 세부 정보 |
설명
status: 실행의 현재 상태입니다. get_status()에서 반환된 값과 동일합니다.
details: 현재 상태에 대한 자세한 정보입니다.
run = experiment.submit(config)
details = run.get_detailed_status()
# details = {
# 'status': 'Queued',
# 'details': 'Run requested 1 node(s). Run is in pending status.',
# }
get_details
실행의 정의, 상태 정보, 현재 로그 파일, 기타 세부 정보를 가져옵니다.
get_details()
반환
형식 | Description |
---|---|
실행에 대한 세부 정보 반환 |
설명
반환된 사전에는 다음과 같은 키-값 쌍이 포함됩니다.
runId: 이 실행의 ID입니다.
대상
status: 실행의 현재 상태입니다. get_status()에서 반환된 값과 동일합니다.
startTimeUtc: ISO8601에서 이 실행이 시작된 UTC 시간입니다.
endTimeUtc: ISO8601에서 이 실행이 완료된(완료 또는 실패) 시점의 UTC 시간입니다.
실행이 아직 진행 중인 경우 이 키가 존재하지 않습니다.
properties: 실행과 연결된 변경할 수 없는 키-값 쌍입니다. 기본 속성에는 실행의 스냅샷 ID와 실행이 만들어진 git 리포지토리에 대한 정보가 포함됩니다(있는 경우). add_properties를 사용하여 실행에 추가 속성을 추가할 수 있습니다.
inputDatasets: 실행과 연결된 입력 데이터 세트입니다.
outputDatasets: 실행과 연결된 출력 데이터 세트입니다.
logFiles
submittedBy
run = experiment.start_logging()
details = run.get_details()
# details = {
# 'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
# 'target': 'sdk',
# 'status': 'Running',
# 'startTimeUtc': '2019-01-01T13:08:01.713777Z',
# 'endTimeUtc': '2019-01-01T17:15:65.986253Z',
# 'properties': {
# 'azureml.git.repository_uri': 'https://example.com/my/git/repo',
# 'azureml.git.branch': 'master',
# 'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'azureml.git.dirty': 'True',
# 'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
# 'mlflow.source.git.branch': 'master',
# 'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
# },
# 'inputDatasets': [{
# 'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
# 'consumptionDetails': {
# 'type': 'RunInput',
# 'inputName': 'training-data',
# 'mechanism': 'Mount',
# 'pathOnCompute': '/mnt/datasets/train'
# }
# }],
# 'outputDatasets': [{
# 'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
# 'outputType': 'RunOutput',
# 'outputDetails': {
# 'outputName': 'training-result'
# }
# }],
# 'runDefinition': {},
# 'logFiles': {},
# 'submittedBy': 'Alan Turing'
# }
get_details_with_logs
로그 파일 콘텐츠를 포함한 실행 상태를 반환합니다.
get_details_with_logs()
반환
형식 | Description |
---|---|
로그 파일 콘텐츠를 포함한 실행 상태를 반환합니다. |
get_environment
get_file_names
get_metrics
실행에 기록된 메트릭을 검색합니다.
recursive
가 True(기본적으로 False)이면 지정된 실행의 하위 트리에서 실행에 대한 메트릭을 가져옵니다.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
매개 변수
Name | Description |
---|---|
name
|
메트릭의 이름입니다. Default value: None
|
recursive
|
모든 하위 항목을 재귀할지 여부를 나타냅니다. Default value: False
|
run_type
|
Default value: None
|
populate
|
메트릭에 연결된 외부 데이터의 콘텐츠를 가져올지 여부를 나타냅니다. Default value: False
|
반환
형식 | Description |
---|---|
사용자 메트릭을 포함하는 사전입니다. |
설명
run = experiment.start_logging() # run id: 123
run.log("A", 1)
with run.child_run() as child: # run id: 456
child.log("A", 2)
metrics = run.get_metrics()
# metrics = { 'A': 1 }
metrics = run.get_metrics(recursive=True)
# metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId
get_properties
서비스에서 실행의 최신 속성을 가져옵니다.
get_properties()
반환
형식 | Description |
---|---|
실행의 속성입니다. |
설명
속성은 add_properties 메서드와 함께 추가된 기간, 실행 날짜, 사용자, 사용자 지정 속성과 같은 변경할 수 없는 시스템 생성 정보입니다. 자세한 내용은 태그 및 찾기 실행을 참조하세요.
Azure Machine Learning에 작업을 제출할 때 원본 파일이 로컬 git 리포지토리에 저장된 경우 리포지토리에 대한 정보는 속성으로 저장됩니다. 이러한 git 속성은 실행을 만들거나 Experiment.submit을 호출할 때 추가됩니다. git 속성에 대한 자세한 내용은 Azure Machine Learning에 대한 Git 통합을 참조하세요.
get_secret
실행 컨텍스트에서 비밀 값을 가져옵니다.
제공된 이름의 비밀 값을 가져옵니다. 비밀 이름은 작업 영역과 연결된 Azure Key Vault에 저장된 값을 참조합니다. 비밀로 작업하는 예제는 학습 실행에서 비밀 사용을 참조하세요.
get_secret(name)
매개 변수
Name | Description |
---|---|
name
필수
|
비밀을 반환할 비밀 이름입니다. |
반환
형식 | Description |
---|---|
비밀 값입니다. |
get_secrets
지정된 비밀 이름 목록에 대한 비밀 값을 가져옵니다.
제공된 이름 목록에 대해 찾은 비밀과 찾을 수 없는 비밀의 사전을 가져옵니다. 각 비밀 이름은 작업 영역과 연결된 Azure Key Vault에 저장된 값을 참조합니다. 비밀로 작업하는 예제는 학습 실행에서 비밀 사용을 참조하세요.
get_secrets(secrets)
매개 변수
Name | Description |
---|---|
secrets
필수
|
비밀 값을 반환할 비밀 이름 목록입니다. |
반환
형식 | Description |
---|---|
찾은 비밀과 찾을 수 없는 비밀의 사전을 반환합니다. |
get_snapshot_id
get_status
실행의 최신 상태를 가져옵니다.
반환되는 일반적인 값에는 “Running”, “Completed”, “Failed”가 포함됩니다.
get_status()
반환
형식 | Description |
---|---|
최신 상태입니다. |
설명
NotStarted - 클라우드 제출 전에 임시 상태 클라이언트 쪽 실행 개체입니다.
Starting - 실행이 클라우드에서 처리되기 시작했습니다. 호출자에게는 이 시점에서 실행 ID가 있습니다.
Provisioning - 지정된 작업 제출에 대해 주문형 컴퓨팅을 만들 때 반환됩니다.
Preparing - 실행 환경이 준비 중입니다.
docker 이미지 빌드
conda 환경 설정
Queued - 작업이 컴퓨팅 대상에 큐에 대기됩니다. 예를 들어 BatchAI에서 작업은
요청된 모든 노드가 준비될 때까지 기다리는 동안 대기 상태입니다.
Running - 컴퓨팅 대상에서 작업이 실행되기 시작했습니다.
Finalizing - 사용자 코드가 완료되고 실행이 사후 처리 단계에 있습니다.
CancelRequested - 작업에 대한 취소가 요청되었습니다.
Completed - 실행이 성공적으로 완료되었습니다. 여기에는 사용자 코드와 실행이 모두 포함됩니다.
사후 처리 단계입니다.
Failed - 실행이 실패했습니다. 일반적으로 실행의 오류 속성은 이유에 대한 세부 정보를 제공합니다.
Canceled - 취소 요청을 따르고 실행이 성공적으로 취소되었음을 나타냅니다.
NotResponding - 하트비트를 사용하도록 설정한 실행의 경우 최근에 하트비트를 보내지 않았습니다.
run = experiment.submit(config)
while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
print('Run {} not in terminal state'.format(run.id))
time.sleep(10)
get_submitted_run
사용되지 않습니다. get_context을 사용합니다.
이 실험에 대해 제출된 실행을 가져옵니다.
get_submitted_run(**kwargs)
반환
형식 | Description |
---|---|
제출된 실행입니다. |
get_tags
list
선택적 필터로 지정된 실험에서 실행 목록을 가져옵니다.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
매개 변수
Name | Description |
---|---|
experiment
필수
|
포함하는 실험입니다. |
type
|
지정한 경우 지정된 형식과 일치하는 실행을 반환합니다. Default value: None
|
tags
|
지정한 경우 지정된 “tag” 또는 {“tag”: “value”}에 일치하는 실행을 반환합니다. Default value: None
|
properties
|
지정한 경우 지정된 “property” 또는 {“property”: “value”}에 일치하는 실행을 반환합니다. Default value: None
|
status
|
지정한 경우 상태가 “status”로 지정된 실행을 반환합니다. Default value: None
|
include_children
|
true로 설정하면 최상위 실행뿐만 아니라 모든 실행을 가져옵니다. Default value: False
|
_rehydrate_runs
|
True(기본값)로 설정된 경우 등록된 공급자를 사용하여 기본 실행 대신 해당 형식에 대한 개체를 다시 인스턴스화합니다. Default value: True
|
반환
형식 | Description |
---|---|
실행 목록입니다. |
설명
다음 코드 예제는 list
메서드의 몇 가지 사용을 보여 줍니다.
favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')
all_distinct_runs = Run.list(experiment)
and_their_children = Run.list(experiment, include_children=True)
only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)
list_by_compute
선택적 필터로 지정된 컴퓨팅에서 실행 목록을 가져옵니다.
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
매개 변수
Name | Description |
---|---|
compute
필수
|
포함하는 컴퓨팅입니다. |
type
|
지정한 경우 지정된 형식과 일치하는 실행을 반환합니다. Default value: None
|
tags
|
지정한 경우 지정된 “tag” 또는 {“tag”: “value”}에 일치하는 실행을 반환합니다. Default value: None
|
properties
|
지정한 경우 지정된 “property” 또는 {“property”: “value”}에 일치하는 실행을 반환합니다. Default value: None
|
status
|
지정한 경우 상태가 “status”로 지정된 실행을 반환합니다. 허용되는 값만 “Running” 및 “Queued”입니다. Default value: None
|
반환
형식 | Description |
---|---|
<xref:builtin.generator>
|
~_restclient.models.RunDto의 생성기 |
log
메트릭 값을 지정된 이름의 실행에 기록합니다.
log(name, value, description='', step=None)
매개 변수
Name | Description |
---|---|
name
필수
|
메트릭의 이름입니다. |
value
필수
|
서비스에 게시할 값입니다. |
description
필수
|
선택적 메트릭 설명입니다. |
step
|
메트릭 내에서 값 순서를 지정하는 선택적 축입니다. Default value: None
|
설명
메트릭을 실행에 기록하면 해당 메트릭이 실험의 실행 기록에 저장됩니다. 하나의 실행 내에서 동일한 메트릭을 여러 번 기록할 수 있으며 결과는 해당 메트릭의 벡터로 간주됩니다. 메트릭에 대해 단계를 지정하는 경우 모든 값에 대해 지정해야 합니다.
log_accuracy_table
아티팩트 저장소에 정확도 테이블을 기록합니다.
정확도 테이블 메트릭은 예측된 확률의 공간에 따라 지속적으로 변화하는 여러 유형의 꺾은선형 차트를 생성하는 데 사용할 수 있는 다중 사용 비 스칼라 메트릭입니다. 이러한 차트의 예로는 ROC, 정밀도 재현율, 리프트 곡선이 있습니다.
정확도 테이블의 계산은 ROC 곡선의 계산과 유사합니다. ROC 곡선은 다양한 확률 임계값에 진양성 비율과 가양성 비율을 저장합니다. 정확도 테이블은 많은 확률 임계값에 진양성, 가양성, 진음성, 가음성의 원시 수를 저장합니다.
임계값을 선택하는 데 사용되는 두 가지 메서드는 “확률” 및 “백분위수”입니다. 이들은 예측된 확률의 공간에서 샘플링하는 방법이 다릅니다.
확률 임계값은 0에서 1 사이의 균일하게 간격이 지정된 임계값입니다. NUM_POINTS가 5이면 확률 임계값은 [0.0, 0.25, 0.5, 0.75, 1.0]입니다.
백분위수 임계값은 예측된 확률의 분포에 따라 간격이 지정됩니다. 각 임계값은 확률 임계값에 있는 데이터의 백분위수에 해당합니다. 예를 들어 NUM_POINTS가 5이면 첫 번째 임계값은 0번째 백분위수, 두 번째 임계값은 25번째 백분위수, 세 번째 임계값은 50번째 백분위수입니다.
확률 테이블과 백분위수 테이블은 모두 3D 목록입니다. 여기서 첫 번째 차원은 클래스 레이블을 나타내고, 두 번째 차원은 한 임계값(NUM_POINTS 배율)에서 샘플을 나타내고, 세 번째 차원에는 항상 TP, FP, TN, FN의 4개 값이 항상 해당 순서로 있습니다.
혼동 값(TP, FP, TN, FN)은 1 대 나머지 전략으로 컴퓨팅됩니다. 자세한 내용은 https://en.wikipedia.org/wiki/Multiclass_classification 링크를 참조하세요.
N = 유효성 검사 데이터 세트의 샘플 수(예: 200개) M = 임계값의 수 = 확률 공간에서 가져온 샘플 수(예: 5개) C = 전체 데이터 세트의 클래스 수(예: 3개)
정확도 테이블의 일부 고정:
- TP + FP + TN + FN = 모든 클래스의 모든 임계값에 대한 N
- TP + FN은 모든 클래스의 모든 임계값에서 동일합니다.
- TN + FP는 모든 클래스의 모든 임계값에서 동일합니다.
- 확률 테이블 및 백분위수 테이블은 도형 [C, M, 4]를 갖습니다.
참고: M은 모든 값일 수 있으며 차트의 해상도를 제어합니다. 이는 데이터 세트와는 독립적이며 메트릭을 계산할 때 정의되며 스토리지 공간, 계산 시간, 해상도를 절판합니다.
클래스 레이블은 문자열이어야 하고, 혼동 값은 정수여야 하며, 임계값은 부동이어야 합니다.
log_accuracy_table(name, value, description='')
매개 변수
Name | Description |
---|---|
name
필수
|
정확도 테이블의 이름입니다. |
value
필수
|
이름, 버전, 데이터 속성을 포함하는 JSON입니다. |
description
필수
|
선택적 메트릭 설명입니다. |
설명
유효한 JSON 값의 예입니다.
{
"schema_type": "accuracy_table",
"schema_version": "1.0.1",
"data": {
"probability_tables": [
[
[82, 118, 0, 0],
[75, 31, 87, 7],
[66, 9, 109, 16],
[46, 2, 116, 36],
[0, 0, 118, 82]
],
[
[60, 140, 0, 0],
[56, 20, 120, 4],
[47, 4, 136, 13],
[28, 0, 140, 32],
[0, 0, 140, 60]
],
[
[58, 142, 0, 0],
[53, 29, 113, 5],
[40, 10, 132, 18],
[24, 1, 141, 34],
[0, 0, 142, 58]
]
],
"percentile_tables": [
[
[82, 118, 0, 0],
[82, 67, 51, 0],
[75, 26, 92, 7],
[48, 3, 115, 34],
[3, 0, 118, 79]
],
[
[60, 140, 0, 0],
[60, 89, 51, 0],
[60, 41, 99, 0],
[46, 5, 135, 14],
[3, 0, 140, 57]
],
[
[58, 142, 0, 0],
[56, 93, 49, 2],
[54, 47, 95, 4],
[41, 10, 132, 17],
[3, 0, 142, 55]
]
],
"probability_thresholds": [0.0, 0.25, 0.5, 0.75, 1.0],
"percentile_thresholds": [0.0, 0.01, 0.24, 0.98, 1.0],
"class_labels": ["0", "1", "2"]
}
}
log_confusion_matrix
혼동 행렬을 아티팩트 저장소에 기록합니다.
그러면 sklearn 혼동 행렬 주위에 래퍼가 기록됩니다. 메트릭 데이터에는 행렬 자체에 대한 클래스 레이블 및 2D 목록이 포함됩니다. 메트릭이 컴퓨팅되는 방법에 대한 자세한 내용은 https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html 링크를 참조하세요.
log_confusion_matrix(name, value, description='')
매개 변수
Name | Description |
---|---|
name
필수
|
혼동 행렬의 이름입니다. |
value
필수
|
이름, 버전, 데이터 속성을 포함하는 JSON입니다. |
description
필수
|
선택적 메트릭 설명입니다. |
설명
유효한 JSON 값의 예입니다.
{
"schema_type": "confusion_matrix",
"schema_version": "1.0.0",
"data": {
"class_labels": ["0", "1", "2", "3"],
"matrix": [
[3, 0, 1, 0],
[0, 1, 0, 1],
[0, 0, 1, 0],
[0, 0, 0, 1]
]
}
}
log_image
이미지 메트릭을 실행 기록에 기록합니다.
log_image(name, path=None, plot=None, description='')
매개 변수
Name | Description |
---|---|
name
필수
|
메트릭의 이름입니다. |
path
필수
|
이미지의 경로 또는 스트림입니다. |
plot
필수
|
<xref:matplotlib.pyplot>
이미지로 기록할 플롯입니다. |
description
필수
|
선택적 메트릭 설명입니다. |
설명
이 메서드는 이미지 파일이나 matplotlib 플롯을 실행에 로그하는 데 사용합니다. 이러한 이미지는 실행 기록에서 볼 수 있고 비교할 수 있습니다.
log_list
메트릭 값 목록을 지정된 이름의 실행에 기록합니다.
log_list(name, value, description='')
매개 변수
Name | Description |
---|---|
name
필수
|
메트릭의 이름입니다. |
value
필수
|
메트릭의 값입니다. |
description
필수
|
선택적 메트릭 설명입니다. |
log_predictions
아티팩트 저장소에 예측을 기록합니다.
이렇게 하면 실제 대상 값의 분포를 회귀 작업의 예측 값 분포와 비교하는 데 사용할 수 있는 메트릭 점수를 기록합니다.
예측은 범주화되고 표준 편차는 꺾은선형 차트의 오차 막대에 대해 계산됩니다.
log_predictions(name, value, description='')
매개 변수
Name | Description |
---|---|
name
필수
|
예측의 이름입니다. |
value
필수
|
이름, 버전, 데이터 속성을 포함하는 JSON입니다. |
description
필수
|
선택적 메트릭 설명입니다. |
설명
유효한 JSON 값의 예입니다.
{
"schema_type": "predictions",
"schema_version": "1.0.0",
"data": {
"bin_averages": [0.25, 0.75],
"bin_errors": [0.013, 0.042],
"bin_counts": [56, 34],
"bin_edges": [0.0, 0.5, 1.0]
}
}
log_residuals
아티팩트 저장소에 잔차를 기록합니다.
이는 회귀 작업에 대한 잔차 히스토그램을 표시하는 데 필요한 데이터를 기록합니다. 잔차가 예측 - 실제입니다.
개수보다 가장자리가 하나 더 있어야 합니다. 히스토그램을 나타내기 위해 개수와 가장자리를 사용하는 예제는 numpy 히스토그램 설명서를 참조하세요. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
log_residuals(name, value, description='')
매개 변수
Name | Description |
---|---|
name
필수
|
잔차의 이름입니다. |
value
필수
|
이름, 버전, 데이터 속성을 포함하는 JSON입니다. |
description
필수
|
선택적 메트릭 설명입니다. |
설명
유효한 JSON 값의 예입니다.
{
"schema_type": "residuals",
"schema_version": "1.0.0",
"data": {
"bin_edges": [50, 100, 200, 300, 350],
"bin_counts": [0.88, 20, 30, 50.99]
}
}
log_row
행 메트릭을 지정된 이름의 실행에 기록합니다.
log_row(name, description=None, **kwargs)
매개 변수
Name | Description |
---|---|
name
필수
|
메트릭의 이름입니다. |
description
|
선택적 메트릭 설명입니다. Default value: None
|
kwargs
필수
|
추가 매개 변수의 사전입니다. 이 경우 메트릭의 열입니다. |
설명
log_row
를 사용하면 kwargs에서 설명한 대로 열이 있는 테이블 메트릭을 만듭니다. 명명된 각 매개 변수는 지정된 값이 있는 열을 생성합니다.
log_row
는 임의의 튜플을 로깅하기 위해 한 번 호출되거나 루프에서 여러 번 호출되어 전체 테이블을 생성할 수 있습니다.
citrus = ['orange', 'lemon', 'lime']
sizes = [ 10, 7, 3]
for index in range(len(citrus)):
run.log_row("citrus", fruit = citrus[index], size=sizes[index])
log_table
테이블 메트릭을 지정된 이름의 실행에 기록합니다.
log_table(name, value, description='')
매개 변수
Name | Description |
---|---|
name
필수
|
메트릭의 이름입니다. |
value
필수
|
메트릭의 테이블 값으로, 키는 서비스에 게시할 열인 사전입니다. |
description
필수
|
선택적 메트릭 설명입니다. |
register_model
운영화를 위한 모델을 등록합니다.
register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)
매개 변수
Name | Description |
---|---|
model_name
필수
|
모델의 이름입니다. |
model_path
|
모델에 대한 상대 클라우드 경로(예: “outputs/modelname”)입니다.
지정하지 않으면(None) Default value: None
|
tags
|
모델에 할당할 키 값 태그의 사전입니다. Default value: None
|
properties
|
모델에 할당할 키 값 속성의 사전입니다. 모델을 만든 후에는 이러한 속성을 변경할 수 없지만 새 키 값 쌍을 추가할 수 있습니다. Default value: None
|
model_framework
|
등록할 모델의 프레임워크입니다. 현재 지원되는 프레임워크: TensorFlow, ScikitLearn, Onnx, Custom, Multi Default value: None
|
model_framework_version
|
등록된 모델의 프레임워크 버전입니다. Default value: None
|
description
|
모델에 대한 선택적 설명입니다. Default value: None
|
datasets
|
첫 번째 요소가 데이터 세트 모델 관계를 설명하고 두 번째 요소가 데이터 세트인 튜플 목록입니다. Default value: None
|
sample_input_dataset
|
선택 사항입니다. 등록된 모델에 대한 샘플 입력 데이터 세트 Default value: None
|
sample_output_dataset
|
선택 사항입니다. 등록된 모델에 대한 샘플 출력 데이터 세트 Default value: None
|
resource_configuration
|
선택 사항입니다. 등록된 모델을 실행하는 리소스 구성 Default value: None
|
kwargs
필수
|
선택적 매개 변수입니다. |
반환
형식 | Description |
---|---|
등록된 모델입니다. |
설명
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
이 실행에서 변경 가능한 태그 목록을 삭제합니다.
remove_tags(tags)
매개 변수
Name | Description |
---|---|
tags
필수
|
제거할 태그 목록입니다. |
반환
형식 | Description |
---|---|
실행 개체에 저장된 태그 |
restore_snapshot
스냅샷을 ZIP 파일로 복원합니다. ZIP의 경로를 반환합니다.
restore_snapshot(snapshot_id=None, path=None)
매개 변수
Name | Description |
---|---|
snapshot_id
|
복원할 스냅샷 ID입니다. 지정하지 않으면 최신 버전이 사용됩니다. Default value: None
|
path
|
다운로드한 ZIP이 저장되는 경로입니다. Default value: None
|
반환
형식 | Description |
---|---|
경로입니다. |
set_tags
실행 시 태그 집합을 추가하거나 수정합니다. 사전에 전달되지 않은 태그는 그대로 유지됩니다.
간단한 문자열 태그를 추가할 수도 있습니다. 이러한 태그가 태그 사전에 키로 표시되는 경우, 값은 None입니다. 자세한 내용은 태그 및 찾기 실행을 참조하세요.
set_tags(tags)
매개 변수
Name | Description |
---|---|
tags
필수
|
실행 개체에 저장된 태그입니다. |
start
실행을 시작됨으로 표시합니다.
이는 일반적으로 다른 행위자가 실행을 만든 경우 고급 시나리오에서 사용됩니다.
start()
submit_child
실험을 제출하고 활성 자식 실행을 반환합니다.
submit_child(config, tags=None, **kwargs)
매개 변수
Name | Description |
---|---|
config
필수
|
제출할 구성입니다. |
tags
|
제출된 실행에 추가할 태그(예: {“tag”: “value”})입니다. Default value: None
|
kwargs
필수
|
구성에 대한 제출 함수에 사용되는 추가 매개 변수입니다. |
반환
형식 | Description |
---|---|
실행 개체입니다. |
설명
제출은 로컬 또는 원격 하드웨어에서 시도를 실행하기 위해 Azure Machine Learning 플랫폼에 대한 비동기 호출입니다. 구성에 따라 제출은 실행 환경을 자동으로 준비하고, 코드를 실행하고, 소스 코드와 결과를 실험의 실행 기록에 캡처합니다.
실험을 제출하려면 먼저 실험을 실행하는 방법을 설명하는 구성 개체를 만들어야 합니다. 구성은 필요한 시도 형식에 따라 달라집니다.
ScriptRunConfig를 사용하여 로컬 컴퓨터에서 자식 실험을 제출하는 방법의 예는 다음과 같습니다.
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 = parent_run.submit_child(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()
실행을 구성하는 방법에 대한 자세한 내용은 submit를 참조하세요.
tag
문자열 키와 선택적 문자열 값을 사용하여 실행에 대한 태그를 지정합니다.
tag(key, value=None)
매개 변수
Name | Description |
---|---|
key
필수
|
태그 키입니다. |
value
|
태그의 선택적 값 Default value: None
|
설명
실행의 태그 및 속성은 모두 문자열 -> 문자열의 사전입니다. 둘 사이의 차이점은 변경 가능성입니다. 태그는 설정, 업데이트, 삭제할 수 있지만 속성은 추가만 가능합니다. 이렇게 하면 속성이 시스템/워크플로 관련 동작 트리거에 더 적합하지만 태그는 일반적으로 사용자 지향적이고 실험 소비자에게 의미가 있습니다.
run = experiment.start_logging()
run.tag('DeploymentCandidate')
run.tag('modifiedBy', 'Master CI')
run.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not
tags = run.get_tags()
# tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }
take_snapshot
입력 파일 또는 폴더의 스냅샷을 저장합니다.
take_snapshot(file_or_folder_path)
매개 변수
Name | Description |
---|---|
file_or_folder_path
필수
|
실행 소스 코드를 포함하는 파일 또는 폴더입니다. |
반환
형식 | Description |
---|---|
스냅샷 ID를 반환합니다. |
설명
스냅샷은 실험 실행을 실행하는 데 사용되는 소스 코드입니다. 이는 실행 평가판이 나중에 복제될 수 있도록 실행과 함께 저장됩니다.
참고
스냅샷은 submit가 호출되면 자동으로 수행됩니다. 일반적으로 이 take_snapshot 메서드는 대화형(Notebook) 실행에만 필요합니다.
upload_file
파일을 실행 기록에 업로드합니다.
upload_file(name, path_or_stream, datastore_name=None)
매개 변수
Name | Description |
---|---|
name
필수
|
업로드할 파일의 이름입니다. |
path_or_stream
필수
|
업로드할 파일에 대한 상대 로컬 경로 또는 스트림입니다. |
datastore_name
필수
|
선택적 데이터 저장소 이름 |
반환
형식 | Description |
---|---|
설명
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
참고
실행은 지정된 출력 디렉터리에서 파일을 자동으로 캡처합니다. 이 디렉터리는 대부분의 실행 형식에 대해 기본적으로 "./outputs"로 지정됩니다. pload_file은 추가 파일을 업로드해야 하거나 출력 디렉터리를 지정하지 않은 경우에만 사용합니다.
upload_files
파일을 실행 기록에 업로드합니다.
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
매개 변수
Name | Description |
---|---|
names
필수
|
업로드할 파일의 이름입니다. 설정된 경우 경로도 설정해야 합니다. |
paths
필수
|
업로드할 파일에 대한 상대 로컬 경로입니다. 설정된 경우 이름이 필요합니다. |
return_artifacts
필수
|
업로드된 각 파일에 대해 아티팩트 개체를 반환해야 함을 나타냅니다. |
timeout_seconds
필수
|
파일 업로드 시간 제한입니다. |
datastore_name
필수
|
선택적 데이터 저장소 이름 |
설명
upload_files
는 별도의 파일에 대해 upload_file
과 동일한 효과를 주지만 upload_files
사용 시 성능 및 리소스 사용률이 향상됩니다.
import os
run = experiment.start_logging()
file_name_1 = 'important_file_1'
file_name_2 = 'important_file_2'
run.upload_files(names=[file_name_1, file_name_2],
paths=['path/on/disk/file_1.txt', 'other/path/on/disk/file_2.txt'])
run.download_file(file_name_1, 'file_1.txt')
os.mkdir("path") # The path must exist
run.download_file(file_name_2, 'path/file_2.txt')
참고
실행은 지정된 출력 디렉터리에서 파일을 자동으로 캡처합니다. 이 디렉터리는 대부분의 실행 형식에 대해 기본적으로 "./outputs"로 지정됩니다. upload_files는 추가 파일을 업로드해야 하거나 출력 디렉터리를 지정하지 않은 경우에만 사용합니다.
upload_folder
지정된 폴더를 지정된 접두사 이름으로 업로드합니다.
upload_folder(name, path, datastore_name=None)
매개 변수
Name | Description |
---|---|
name
필수
|
업로드할 파일 폴더의 이름입니다. |
folder
필수
|
업로드할 폴더의 상대 로컬 경로입니다. |
datastore_name
필수
|
선택적 데이터 저장소 이름 |
설명
run = experiment.start_logging()
run.upload_folder(name='important_files', path='path/on/disk')
run.download_file('important_files/existing_file.txt', 'local_file.txt')
참고
실행은 지정된 출력 디렉터리에서 파일을 자동으로 캡처합니다. 이 디렉터리는 대부분의 실행 형식에 대해 기본적으로 "./outputs"로 지정됩니다. upload_folder는 추가 파일을 업로드해야 하거나 출력 디렉터리를 지정하지 않은 경우에만 사용합니다.
wait_for_completion
이 실행이 완료될 때까지 기다립니다. 대기 후 상태 개체를 반환합니다.
wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)
매개 변수
Name | Description |
---|---|
show_output
|
sys.stdout에 실행 출력을 표시할지 여부를 나타냅니다. Default value: False
|
wait_post_processing
|
실행이 완료된 후 사후 처리가 완료되기를 기다릴지 여부를 나타냅니다. Default value: False
|
raise_on_error
|
실행이 실패 상태일 때 오류가 발생하는지 여부를 나타냅니다. Default value: True
|
반환
형식 | Description |
---|---|
상태 개체입니다. |
특성
description
display_name
실행 표시 이름을 반환합니다.
실행의 선택적 표시 이름은 나중에 실행을 식별하는 데 유용한 사용자 지정 문자열입니다.
반환
형식 | Description |
---|---|
실행 표시 이름입니다. |
experiment
id
name
사용되지 않습니다. 표시 이름을 사용합니다.
실행의 선택적 이름은 나중에 실행을 식별하는 데 유용한 사용자 지정 문자열입니다.
반환
형식 | Description |
---|---|
실행 ID입니다. |
number
parent
서비스에서 이 실행에 대한 부모 실행을 가져옵니다.
실행에는 선택적 부모가 있을 수 있으며, 이로 인해 잠재적인 트리 계층 구조가 실행될 수 있습니다. 부모 실행에 메트릭을 기록하려면 부모 개체의 log 메서드(예: run.parent.log()
)를 사용합니다.
반환
형식 | Description |
---|---|
부모 실행이거나, 설정되지 않은 경우 None입니다. |
properties
이 실행의 변경할 수 없는 속성을 반환합니다.
반환
형식 | Description |
---|---|
실행의 로컬로 캐시된 속성입니다. |
설명
속성에는 기간, 실행 날짜, 사용자 등과 같은 변경할 수 없는 시스템 생성 정보가 포함됩니다.
status
실행 개체의 상태를 반환합니다.