HyperDriveStep 클래스
Machine Learning 모델 학습을 위한 하이퍼 매개 변수 튜닝을 실행하는 Azure ML 파이프라인 단계를 만듭니다.
HyperDriveStep을 사용하는 예제는 Notebook https://aka.ms/pl-hyperdrive을 참조하세요.
Machine Learning 모델 학습을 위한 하이퍼 매개 변수 튜닝을 실행하는 Azure ML 파이프라인 단계를 만듭니다.
생성자
HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)
매개 변수
Name | Description |
---|---|
name
필수
|
[필수] 단계의 이름입니다. |
hyperdrive_config
필수
|
[필수] HyperDrive 실행에 대한 구성을 정의하는 HyperDriveConfig입니다. |
estimator_entry_script_arguments
|
추정기 항목 스크립트에 대한 명령줄 인수 목록입니다. Estimator의 항목 스크립트가 명령줄 인수를 허용하지 않는 경우 이 매개 변수 값을 빈 목록으로 설정합니다. Default value: None
|
inputs
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
입력 포트 바인딩 목록입니다. Default value: None
|
outputs
|
출력 포트 바인딩 목록 Default value: None
|
metrics_output
|
HyperDrive 실행 메트릭을 JSON 파일로 저장할 위치를 지정하는 선택적 값입니다. Default value: None
|
allow_reuse
|
동일한 설정으로 다시 실행할 때 단계가 이전 결과를 다시 사용해야 하는지 여부를 나타냅니다. 재사용은 기본적으로 사용하도록 설정됩니다. 단계 내용(스크립트/종속성)과 입력 및 매개 변수가 변경되지 않은 상태로 유지되면 이 단계의 이전 실행의 출력이 다시 사용됩니다. 단계를 다시 사용할 때 작업을 컴퓨팅에 제출하는 대신 이전 실행의 결과를 후속 단계에서 즉시 사용할 수 있습니다. Azure Machine Learning 데이터 세트를 입력으로 사용하는 경우 다시 사용은 기본 데이터가 변경되었는지 여부가 아니라 데이터 세트의 정의가 변경되었는지 여부에 따라 결정됩니다. Default value: True
|
version
|
모듈의 기능 변경을 나타내는 선택적 버전 태그입니다. Default value: None
|
name
필수
|
[필수] 단계의 이름입니다. |
hyperdrive_config
필수
|
[필수] HyperDrive 실행에 대한 구성을 정의하는 HyperDriveConfig입니다. |
estimator_entry_script_arguments
필수
|
추정기 항목 스크립트에 대한 명령줄 인수 목록입니다. Estimator의 항목 스크립트가 명령줄 인수를 허용하지 않는 경우 이 매개 변수 값을 빈 목록으로 설정합니다. |
inputs
필수
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
입력 포트 바인딩 목록입니다. |
outputs
필수
|
출력 포트 바인딩 목록입니다. |
metrics_output
필수
|
HyperDrive 실행 메트릭을 JSON 파일로 저장할 위치를 지정하는 선택적 값입니다. |
allow_reuse
필수
|
동일한 설정으로 다시 실행할 때 단계가 이전 결과를 다시 사용해야 하는지 여부를 나타냅니다. 재사용은 기본적으로 사용하도록 설정됩니다. 단계 내용(스크립트/종속성)과 입력 및 매개 변수가 변경되지 않은 상태로 유지되면 이 단계의 이전 실행의 출력이 다시 사용됩니다. 단계를 다시 사용할 때 작업을 컴퓨팅에 제출하는 대신 이전 실행의 결과를 후속 단계에서 즉시 사용할 수 있습니다. Azure Machine Learning 데이터 세트를 입력으로 사용하는 경우 다시 사용은 기본 데이터가 변경되었는지 여부가 아니라 데이터 세트의 정의가 변경되었는지 여부에 따라 결정됩니다. |
version
필수
|
버전 |
설명
HyperDriveStep을 인스턴스화할 때 매개 변수를 사용하여 TensorFlow 추정기 개체(예: 개체)에 사용되는 항목 스크립트에 대한 인수를 estimator_entry_script_arguments
으로 지정해야 합니다. 추정기 매개 변수 script_params
는 사전을 허용합니다. 그러나 매개 변수는 estimator_entry_script_argument
인수를 목록으로 예상합니다.
HyperDriveStep 초기화에는 매개 변수를 사용하여 개체 목록을 DataReference 지정하는 작업이 inputs
포함됩니다. Azure ML Pipelines에서 파이프라인 단계는 다른 단계의 출력 또는 DataReference 개체를 입력으로 사용할 수 있습니다. 따라서 HyperDriveStep을 만들 때는 Estimator 개체에 inputs
지정된 매개 변수를 재정 outputs
의하는 매개 변수와 inputs
매개 변수를 명시적으로 설정해야 합니다.
HyperDriveStep을 사용하는 가장 좋은 방법은 스크립트 및 단계와 연결된 모든 종속 파일에 별도의 폴더를 사용하고 해당 폴더를 추정기 개체 source_directory
로 지정하는 것입니다. 예를 들어 클래스의 source_directory
매개 변수를 참조하세요 TensorFlow . 이렇게 하면 두 가지 이점이 있습니다. 먼저 단계에 필요한 것만 스냅샷으로 만들어지므로 단계에 대해 만든 스냅샷의 크기를 줄이는 데 도움이 됩니다. 둘째, snaphot의 다시 업로드를 트리거하는 변경 내용 source_directory
이 없는 경우 이전 실행의 단계 출력을 다시 사용할 수 있습니다.
다음 예제에서는 Azure Machine Learning 파이프라인에서 HyperDriveStep을 사용하는 방법을 보여 줍니다.
metrics_output_name = 'metrics_output'
metrics_data = PipelineData(name='metrics_data',
datastore=datastore,
pipeline_output_name=metrics_output_name,
training_output=TrainingOutput("Metrics"))
model_output_name = 'model_output'
saved_model = PipelineData(name='saved_model',
datastore=datastore,
pipeline_output_name=model_output_name,
training_output=TrainingOutput("Model",
model_file="outputs/model/saved_model.pb"))
hd_step_name='hd_step01'
hd_step = HyperDriveStep(
name=hd_step_name,
hyperdrive_config=hd_config,
inputs=[data_folder],
outputs=[metrics_data, saved_model])
전체 샘플은 다음에서 사용할 수 있습니다. https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb
메서드
create_node |
HyperDrive 단계에서 노드를 만들고 지정된 그래프에 추가합니다. 이 메서드는 직접 사용할 수 없습니다. 이 단계로 파이프라인이 인스턴스화되면 Azure ML은 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있도록 이 메서드를 통해 필요한 매개 변수를 자동으로 전달합니다. |
create_node
HyperDrive 단계에서 노드를 만들고 지정된 그래프에 추가합니다.
이 메서드는 직접 사용할 수 없습니다. 이 단계로 파이프라인이 인스턴스화되면 Azure ML은 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있도록 이 메서드를 통해 필요한 매개 변수를 자동으로 전달합니다.
create_node(graph, default_datastore, context)
매개 변수
Name | Description |
---|---|
graph
필수
|
노드를 추가할 그래프 개체입니다. |
default_datastore
필수
|
기본 데이터 저장소입니다. |
context
필수
|
<xref:azureml.pipeline.core._GraphContext>
그래프 컨텍스트입니다. |
반환
형식 | Description |
---|---|
만든 노드입니다. |