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)
매개 변수
- _run_dto
- <xref:azureml._restclient.models.run_dto.RunDto>
내부 전용입니다.
설명
실행은 실험의 단일 시도를 나타냅니다. 실행 개체는 평가판의 비동기 실행을 모니터링하고, 메트릭을 기록하고, 평가판의 출력을 저장하고, 결과를 분석하고, 평가판에서 생성된 아티팩트를 액세스하는 데 사용됩니다.
실험 코드 내에서 실행을 사용하여 메트릭과 아티팩트를 실행 기록 서비스에 기록합니다.
실행은 실험 외부에서 진행 상황을 모니터링하고 생성된 메트릭 및 결과를 쿼리하고 분석하는 데 사용됩니다.
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)
매개 변수
add_type_provider
실행 기록에 저장된 사용자 지정 실행 형식에 대한 확장성 후크입니다.
static add_type_provider(runtype, run_factory)
매개 변수
- runtype
- str
팩터리를 호출할 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)
매개 변수
반환
자식 실행입니다.
반환 형식
설명
이는 실행의 일부를 하위 섹션으로 격리하는 데 사용됩니다. 이 작업은 구분하거나 하위 프로세스의 상호 작용에서 독립적인 메트릭을 캡처하는 데 흥미로운 실행의 식별 가능한 “부분”에 대해 수행할 수 있습니다.
자식 실행에 대해 출력 디렉터리가 설정된 경우 자식이 완료되면 해당 디렉터리의 내용이 자식 실행 기록에 업로드됩니다.
clean
complete
작업 큐가 처리될 때까지 기다립니다.
그런 다음, 실행이 완료된 것으로 표시됩니다. 이는 일반적으로 대화형 노트북 시나리오에서 사용됩니다.
complete(_set_status=True)
매개 변수
create_children
하나 이상의 자식 실행을 만듭니다.
create_children(count=None, tag_key=None, tag_values=None)
매개 변수
- tag_Values
생성된 실행 목록에 대한 Tags[tag_key]에 매핑되는 값의 선택적 목록입니다.
- tag_values
반환
자식 실행 목록입니다.
반환 형식
설명
매개 변수 count
또는 매개 변수 tag_key
및 tag_values
를 지정해야 합니다.
download_file
스토리지에서 연결된 파일을 다운로드합니다.
download_file(name, output_file_path=None, _validate_checksum=False)
매개 변수
download_files
접두사 지정이 취소된 경우 지정된 스토리지 접두사(폴더 이름) 또는 전체 컨테이너에서 파일을 다운로드합니다.
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
매개 변수
- append_prefix
- bool
최종 출력 파일 경로에서 지정된 접두사에 추가할지 여부를 나타내는 선택적 플래그입니다. False이면 출력 파일 경로에서 접두사가 제거됩니다.
fail
실행을 실패한 것으로 표시합니다.
필요에 따라 error_details
에 메시지 또는 예외가 전달되는 실행의 오류 속성을 설정합니다.
fail(error_details=None, error_code=None, _set_status=True)
매개 변수
flush
작업 큐가 처리될 때까지 기다립니다.
flush(timeout_seconds=300)
매개 변수
get
실행 ID를 사용하여 이 작업 영역에 대한 실행을 가져옵니다.
static get(workspace, run_id)
매개 변수
반환
제출된 실행입니다.
반환 형식
get_all_logs
실행에 대한 모든 로그를 디렉터리에 다운로드합니다.
get_all_logs(destination=None)
매개 변수
반환
다운로드한 로그의 이름 목록입니다.
반환 형식
get_children
지정된 필터에서 선택한 현재 실행에 대한 모든 자식을 가져옵니다.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
매개 변수
반환
Run 개체의 목록입니다.
반환 형식
get_context
현재 서비스 컨텍스트를 반환합니다.
이 메서드를 사용하여 메트릭을 로깅하고 파일을 업로드하기 위한 현재 서비스 컨텍스트를 검색합니다. allow_offline
이 True(기본값)이면 실행 개체에 대한 작업이 표준 출력으로 인쇄됩니다.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
매개 변수
- cls
클래스 메서드를 나타냅니다.
- allow_offline
- bool
SDK를 사용하여 작업을 제출하지 않고도 학습 스크립트를 로컬로 테스트할 수 있도록 서비스 컨텍스트가 오프라인 모드로 대체되도록 허용합니다. 기본적으로 true입니다.
- used_for_context_manager
반환
제출된 실행입니다.
반환 형식
설명
이 함수는 일반적으로 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()
반환
최신 상태 및 세부 정보
반환 형식
설명
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()
반환
실행에 대한 세부 정보 반환
반환 형식
설명
반환된 사전에는 다음과 같은 키-값 쌍이 포함됩니다.
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_environment
get_file_names
get_metrics
실행에 기록된 메트릭을 검색합니다.
recursive
가 True(기본적으로 False)이면 지정된 실행의 하위 트리에서 실행에 대한 메트릭을 가져옵니다.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
매개 변수
- run_type
- str
반환
사용자 메트릭을 포함하는 사전입니다.
반환 형식
설명
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()
반환
실행의 속성입니다.
반환 형식
설명
속성은 add_properties 메서드와 함께 추가된 기간, 실행 날짜, 사용자, 사용자 지정 속성과 같은 변경할 수 없는 시스템 생성 정보입니다. 자세한 내용은 태그 및 찾기 실행을 참조하세요.
Azure Machine Learning에 작업을 제출할 때 원본 파일이 로컬 git 리포지토리에 저장된 경우 리포지토리에 대한 정보는 속성으로 저장됩니다. 이러한 git 속성은 실행을 만들거나 Experiment.submit을 호출할 때 추가됩니다. git 속성에 대한 자세한 내용은 Azure Machine Learning에 대한 Git 통합을 참조하세요.
get_secret
실행 컨텍스트에서 비밀 값을 가져옵니다.
제공된 이름의 비밀 값을 가져옵니다. 비밀 이름은 작업 영역과 연결된 Azure Key Vault에 저장된 값을 참조합니다. 비밀로 작업하는 예제는 학습 실행에서 비밀 사용을 참조하세요.
get_secret(name)
매개 변수
반환
비밀 값입니다.
반환 형식
get_secrets
지정된 비밀 이름 목록에 대한 비밀 값을 가져옵니다.
제공된 이름 목록에 대해 찾은 비밀과 찾을 수 없는 비밀의 사전을 가져옵니다. 각 비밀 이름은 작업 영역과 연결된 Azure Key Vault에 저장된 값을 참조합니다. 비밀로 작업하는 예제는 학습 실행에서 비밀 사용을 참조하세요.
get_secrets(secrets)
매개 변수
반환
찾은 비밀과 찾을 수 없는 비밀의 사전을 반환합니다.
반환 형식
get_snapshot_id
get_status
실행의 최신 상태를 가져옵니다.
반환되는 일반적인 값에는 “Running”, “Completed”, “Failed”가 포함됩니다.
get_status()
반환
최신 상태입니다.
반환 형식
설명
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)
반환
제출된 실행입니다.
반환 형식
get_tags
list
선택적 필터로 지정된 실험에서 실행 목록을 가져옵니다.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
매개 변수
반환
실행 목록입니다.
반환 형식
설명
다음 코드 예제는 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)
매개 변수
반환
~_restclient.models.RunDto의 생성기
반환 형식
log
메트릭 값을 지정된 이름의 실행에 기록합니다.
log(name, value, description='', step=None)
매개 변수
- value
서비스에 게시할 값입니다.
설명
메트릭을 실행에 기록하면 해당 메트릭이 실험의 실행 기록에 저장됩니다. 하나의 실행 내에서 동일한 메트릭을 여러 번 기록할 수 있으며 결과는 해당 메트릭의 벡터로 간주됩니다. 메트릭에 대해 단계를 지정하는 경우 모든 값에 대해 지정해야 합니다.
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='')
매개 변수
설명
유효한 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='')
매개 변수
설명
유효한 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='')
매개 변수
- plot
- <xref:matplotlib.pyplot>
이미지로 기록할 플롯입니다.
설명
이 메서드는 이미지 파일이나 matplotlib 플롯을 실행에 로그하는 데 사용합니다. 이러한 이미지는 실행 기록에서 볼 수 있고 비교할 수 있습니다.
log_list
메트릭 값 목록을 지정된 이름의 실행에 기록합니다.
log_list(name, value, description='')
매개 변수
log_predictions
아티팩트 저장소에 예측을 기록합니다.
이렇게 하면 실제 대상 값의 분포를 회귀 작업의 예측 값 분포와 비교하는 데 사용할 수 있는 메트릭 점수를 기록합니다.
예측은 범주화되고 표준 편차는 꺾은선형 차트의 오차 막대에 대해 계산됩니다.
log_predictions(name, value, 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='')
매개 변수
설명
유효한 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)
매개 변수
설명
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='')
매개 변수
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)
매개 변수
- model_path
- str
모델에 대한 상대 클라우드 경로(예: “outputs/modelname”)입니다.
지정하지 않으면(None) model_name
이 경로로 사용됩니다.
모델에 할당할 키 값 속성의 사전입니다. 모델을 만든 후에는 이러한 속성을 변경할 수 없지만 새 키 값 쌍을 추가할 수 있습니다.
- model_framework
- str
등록할 모델의 프레임워크입니다. 현재 지원되는 프레임워크: TensorFlow, ScikitLearn, Onnx, Custom, Multi
- datasets
- list[(str, AbstractDataset)]
첫 번째 요소가 데이터 세트 모델 관계를 설명하고 두 번째 요소가 데이터 세트인 튜플 목록입니다.
반환
등록된 모델입니다.
반환 형식
설명
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
restore_snapshot
스냅샷을 ZIP 파일로 복원합니다. ZIP의 경로를 반환합니다.
restore_snapshot(snapshot_id=None, path=None)
매개 변수
반환
경로입니다.
반환 형식
set_tags
실행 시 태그 집합을 추가하거나 수정합니다. 사전에 전달되지 않은 태그는 그대로 유지됩니다.
간단한 문자열 태그를 추가할 수도 있습니다. 이러한 태그가 태그 사전에 키로 표시되는 경우, 값은 None입니다. 자세한 내용은 태그 및 찾기 실행을 참조하세요.
set_tags(tags)
매개 변수
start
실행을 시작됨으로 표시합니다.
이는 일반적으로 다른 행위자가 실행을 만든 경우 고급 시나리오에서 사용됩니다.
start()
submit_child
실험을 제출하고 활성 자식 실행을 반환합니다.
submit_child(config, tags=None, **kwargs)
매개 변수
반환
실행 개체입니다.
반환 형식
설명
제출은 로컬 또는 원격 하드웨어에서 시도를 실행하기 위해 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)
매개 변수
설명
실행의 태그 및 속성은 모두 문자열 -> 문자열의 사전입니다. 둘 사이의 차이점은 변경 가능성입니다. 태그는 설정, 업데이트, 삭제할 수 있지만 속성은 추가만 가능합니다. 이렇게 하면 속성이 시스템/워크플로 관련 동작 트리거에 더 적합하지만 태그는 일반적으로 사용자 지향적이고 실험 소비자에게 의미가 있습니다.
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)
매개 변수
반환
스냅샷 ID를 반환합니다.
반환 형식
설명
스냅샷은 실험 실행을 실행하는 데 사용되는 소스 코드입니다. 이는 실행 평가판이 나중에 복제될 수 있도록 실행과 함께 저장됩니다.
참고
스냅샷은 submit가 호출되면 자동으로 수행됩니다. 일반적으로 이 take_snapshot 메서드는 대화형(Notebook) 실행에만 필요합니다.
upload_file
파일을 실행 기록에 업로드합니다.
upload_file(name, path_or_stream, datastore_name=None)
매개 변수
반환 형식
설명
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)
매개 변수
설명
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)
매개 변수
설명
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)
매개 변수
반환
상태 개체입니다.
반환 형식
특성
description
display_name
experiment
id
name
number
parent
서비스에서 이 실행에 대한 부모 실행을 가져옵니다.
실행에는 선택적 부모가 있을 수 있으며, 이로 인해 잠재적인 트리 계층 구조가 실행될 수 있습니다. 부모 실행에 메트릭을 기록하려면 부모 개체의 log 메서드(예: run.parent.log()
)를 사용합니다.
반환
부모 실행이거나, 설정되지 않은 경우 None입니다.
반환 형식
properties
이 실행의 변경할 수 없는 속성을 반환합니다.
반환
실행의 로컬로 캐시된 속성입니다.
반환 형식
설명
속성에는 기간, 실행 날짜, 사용자 등과 같은 변경할 수 없는 시스템 생성 정보가 포함됩니다.
status
실행 개체의 상태를 반환합니다.
tags
type
피드백
https://aka.ms/ContentUserFeedback을 참조하세요.
출시 예정: 2024년 내내 콘텐츠 피드백 메커니즘인 GitHub 문제를 단계적으로 폐지하고 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은다음에 대한 사용자 의견 제출 및 보기