Python용 Azure Machine Learning SDK v1이란?
중요하다
이 문서에서는 현재 SDK가 아닌 Azure Machine Learning SDK v1에 대해 알아봅니다. 현재 SDK 버전은 Azure Machine Learning Python SDK v2
데이터 과학자 및 AI 개발자는 Python용 Azure Machine Learning SDK v1을 사용하여 Azure Machine Learning 서비스사용하여 기계 학습 워크플로를 빌드하고 실행합니다. Jupyter Notebook, Visual Studio Code또는 즐겨 찾는 Python IDE를 비롯한 모든 Python 환경에서 서비스와 상호 작용할 수 있습니다.
SDK의 주요 영역은 다음과 같습니다.
- 기계 학습 실험에 사용되는 데이터 세트의 수명 주기를 탐색, 준비 및 관리합니다.
- 기계 학습 실험을 모니터링, 로깅 및 구성하기 위한 클라우드 리소스를 관리합니다.
- GPU 가속 모델 학습을 포함하여 로컬로 또는 클라우드 리소스를 사용하여 모델을 학습시킵니다.
- 구성 매개 변수 및 학습 데이터를 허용하는 자동화된 기계 학습을 사용합니다. 알고리즘 및 하이퍼 매개 변수 설정을 자동으로 반복하여 예측 실행에 가장 적합한 모델을 찾습니다.
- 웹 서비스를 배포하여 학습된 모델을 모든 애플리케이션에서 사용할 수 있는 RESTful 서비스로 변환합니다.
시작하는 방법에 대한 단계별 연습은
다음 섹션에서는 SDK에서 가장 중요한 클래스 중 일부와 이러한 클래스를 사용하기 위한 일반적인 디자인 패턴에 대해 간략하게 설명합니다. SDK를 얻으려면 설치 가이드참조하세요.
안정 및 실험적
Python용 Azure Machine Learning SDK는 동일한 SDK에서 안정적이고 실험적인 기능을 모두 제공합니다.
기능/기능 상태 | 묘사 |
---|---|
안정적인 기능 |
프로덕션 준비 이러한 기능은 대부분의 사용 사례 및 프로덕션 환경에 권장됩니다. 이러한 기능은 덜 자주 업데이트된 다음 실험적 기능으로 업데이트됩니다. |
실험적 기능 |
개발 이러한 기능은 새로 개발된 기능 & 업데이트로, 프로덕션 사용에 대해 준비되거나 완전히 테스트되지 않을 수 있습니다. 기능은 일반적으로 작동하지만 몇 가지 주요 변경 내용을 포함할 수 있습니다. 실험적 기능은 SDK 호환성이 손상되는 버그를 수정하는 데 사용되며 테스트 기간 동안만 업데이트를 받습니다. 실험적 기능을 미리 보기기능이라고도 합니다. 이름에서 볼 수 있듯이 실험적(미리 보기) 기능은 실험용이며 버그가 없거나 안정적인간주되지 |
실험적 기능은 SDK 참조의 메모 섹션에 의해 레이블이 지정되며 Azure Machine Learning 설명서전체의 (미리 보기) 같은 텍스트로 표시됩니다.
작업
네임스페이스: azureml.core.workspace.Workspace
Workspace
클래스는 기계 학습 모델을 실험, 학습 및 배포하는 데 사용하는 클라우드의 기본 리소스입니다. Azure 구독 및 리소스 그룹을 쉽게 사용할 수 있는 개체에 연결합니다.
create Workspace 메서드의 모든 매개 변수를 기존 인스턴스(Storage, Key Vault, App-Insights 및 Azure Container Registry-ACR)를 다시 사용하고 프라이빗 엔드포인트 구성 및 컴퓨팅 대상과 같은 추가 설정을 수정합니다.
다음 코드를 사용하여 클래스를 가져오고 새 작업 영역을 만듭니다. 작업 영역에 사용하려는 기존 Azure 리소스 그룹이 있는 경우 create_resource_group
False
설정합니다. 일부 함수는 Azure 인증 자격 증명을 묻는 메시지를 표시할 수 있습니다.
from azureml.core import Workspace
ws = Workspace.create(name='myworkspace',
subscription_id='<azure-subscription-id>',
resource_group='myresourcegroup',
create_resource_group=True,
location='eastus2'
)
먼저 구성 JSON 파일에 작성하여 여러 환경에서 동일한 작업 영역을 사용합니다. 이렇게 하면 구독, 리소스 및 작업 영역 이름 데이터가 저장됩니다.
ws.write_config(path="./file-path", file_name="ws_config.json")
구성 파일을 읽어 작업 영역을 로드합니다.
from azureml.core import Workspace
ws_other_environment = Workspace.from_config(path="./file-path/ws_config.json")
또는 정적 get()
메서드를 사용하여 구성 파일을 사용하지 않고 기존 작업 영역을 로드합니다.
from azureml.core import Workspace
ws = Workspace.get(name="myworkspace", subscription_id='<azure-subscription-id>', resource_group='myresourcegroup')
변수 ws
다음 코드 예제에서 Workspace
개체를 나타냅니다.
실험
네임스페이스: azureml.core.experiment.Experiment
Experiment
클래스는 평가판 컬렉션을 나타내는 또 다른 기본 클라우드 리소스입니다(개별 모델 실행). 다음 코드는 이름으로 Workspace
내에서 Experiment
개체를 가져오거나 이름이 없는 경우 새 Experiment
개체를 만듭니다.
from azureml.core.experiment import Experiment
experiment = Experiment(workspace=ws, name='test-experiment')
다음 코드를 실행하여 Workspace
포함된 모든 Experiment
개체 목록을 가져옵니다.
list_experiments = Experiment.list(ws)
get_runs
함수를 사용하여 Experiment
Run
개체(평가판) 목록을 검색합니다. 다음 코드는 실행을 검색하고 각 실행 ID를 출력합니다.
list_runs = experiment.get_runs()
for run in list_runs:
print(run.id)
실험 평가판을 실행하는 방법에는 두 가지가 있습니다. Jupyter Notebook에서 대화형으로 실험하는 경우 start_logging
함수를 사용합니다. 표준 Python 환경에서 실험을 제출하는 경우 submit
함수를 사용합니다. 두 함수 모두 Run
개체를 반환합니다.
experiment
변수는 다음 코드 예제에서 Experiment
개체를 나타냅니다.
달리다
네임스페이스: azureml.core.run.Run
실행은 실험의 단일 평가판을 나타냅니다.
Run
평가판의 비동기 실행을 모니터링하고, 평가판의 출력을 저장하고, 결과를 분석하고, 생성된 아티팩트 액세스에 사용하는 개체입니다. 실험 코드 내의 Run
사용하여 메트릭 및 아티팩트 실행을 기록 서비스에 기록합니다. 기능에는 다음이 포함됩니다.
- 메트릭 및 데이터 저장 및 검색
- 태그 및 자식 계층을 사용하여 이전 실행을 쉽게 조회합니다.
- 배포를 위해 저장된 모델 파일 등록
- 실행의 속성을 저장, 수정 및 검색합니다.
실행 구성 개체를 사용하여 Experiment
개체를 제출하여 Run
개체를 만듭니다.
tags
매개 변수를 사용하여 사용자 지정 범주 및 레이블을 실행에 연결합니다. 나중에 Experiment
쉽게 찾아 검색할 수 있습니다.
tags = {"prod": "phase-1-model-tests"}
run = experiment.submit(config=your_config_object, tags=tags)
정적 list
함수를 사용하여 Experiment
모든 Run
개체 목록을 가져옵니다. 이전에 만든 태그로 필터링할 tags
매개 변수를 지정합니다.
from azureml.core.run import Run
filtered_list_runs = Run.list(experiment, tags=tags)
get_details
함수를 사용하여 실행에 대한 자세한 출력을 검색합니다.
run_details = run.get_details()
이 함수의 출력은 다음을 포함하는 사전입니다.
- 실행 ID
- 상태
- 시작 및 종료 시간
- 컴퓨팅 대상(로컬 및 클라우드)
- 실행에 사용되는 종속성 및 버전
- 학습별 데이터(모델 유형에 따라 다름)
실행을 구성하고 모니터링하는 방법에 대한 자세한 예제는 방법참조하세요.
모델
네임스페이스: azureml.core.model.Model
Model
클래스는 기계 학습 모델의 클라우드 표현을 사용하는 데 사용됩니다. 메서드는 로컬 개발 환경과 클라우드의 Workspace
개체 간에 모델을 전송하는 데 도움이 됩니다.
모델 등록을 사용하여 작업 영역의 Azure 클라우드에 모델을 저장하고 버전을 지정할 수 있습니다. 등록된 모델은 이름 및 버전으로 식별됩니다. 기존 모델과 이름이 같은 모델을 등록할 때마다 레지스트리는 버전을 증가합니다. Azure Machine Learning은 Azure Machine Learning 모델뿐만 아니라 Python 3을 통해 로드할 수 있는 모든 모델을 지원합니다.
다음 예제에서는 scikit-learn
사용하여 간단한 로컬 분류 모델을 빌드하고, Workspace
모델을 등록하고, 클라우드에서 모델을 다운로드하는 방법을 보여줍니다.
연령에 따라 고객 변동을 예측하는 간단한 분류자 clf
만듭니다. 그런 다음 모델을 동일한 디렉터리의 .pkl
파일에 덤프합니다.
from sklearn import svm
import joblib
import numpy as np
# customer ages
X_train = np.array([50, 17, 35, 23, 28, 40, 31, 29, 19, 62])
X_train = X_train.reshape(-1, 1)
# churn y/n
y_train = ["yes", "no", "no", "no", "yes", "yes", "yes", "no", "no", "yes"]
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)
joblib.dump(value=clf, filename="churn-model.pkl")
register
함수를 사용하여 작업 영역에 모델을 등록합니다. 로컬 모델 경로 및 모델 이름을 지정합니다. 동일한 이름을 두 번 이상 등록하면 새 버전이 생성됩니다.
from azureml.core.model import Model
model = Model.register(workspace=ws, model_path="churn-model.pkl", model_name="churn-model-test")
이제 모델이 작업 영역에 등록되었으므로 모델을 쉽게 관리, 다운로드 및 구성할 수 있습니다.
Workspace
모델(예: 다른 환경에서) 개체를 검색하려면 클래스 생성자를 사용하고 모델 이름과 선택적 매개 변수를 지정합니다. 그런 다음, download
함수를 사용하여 클라우드 폴더 구조를 포함하여 모델을 다운로드합니다.
from azureml.core.model import Model
import os
model = Model(workspace=ws, name="churn-model-test")
model.download(target_dir=os.getcwd())
delete
함수를 사용하여 Workspace
모델을 제거합니다.
model.delete()
등록된 모델이 있으면 웹 서비스로 배포하는 것은 간단한 프로세스입니다. 먼저 이미지만들고 등록할
ComputeTarget, RunConfiguration 및 ScriptRunConfig
네임스페이스: azureml.core.compute.ComputeTarget
네임스페이스: azureml.core.runconfig.RunConfiguration
네임스페이스: azureml.core.script_run_config.ScriptRunConfig
ComputeTarget
클래스는 컴퓨팅 대상을 만들고 관리하기 위한 추상 부모 클래스입니다. 컴퓨팅 대상은 기계 학습 모델을 학습시킬 수 있는 다양한 리소스를 나타냅니다. 컴퓨팅 대상은 로컬 머신 또는 클라우드 리소스(예: Azure Machine Learning 컴퓨팅, Azure HDInsight 또는 원격 가상 머신)일 수 있습니다.
컴퓨팅 대상을 사용하여 모델 학습에 강력한 가상 머신을 활용하고 영구 컴퓨팅 대상 또는 임시 런타임 호출 대상을 설정합니다. 컴퓨팅 대상 설정 및 관리에 대한 포괄적인 가이드는 방법참조하세요.
다음 코드에서는 AmlCompute
(ComputeTarget
자식 클래스) 대상을 설정하는 간단한 예제를 보여 줍니다. 이 대상은 Workspace
개체에 런타임 원격 컴퓨팅 리소스를 만듭니다. 작업이 제출되면 리소스 크기가 자동으로 조정됩니다. 실행이 완료되면 자동으로 삭제됩니다.
간단한 scikit-learn
변동 모델을 다시 사용하고 현재 디렉터리에서 자체 파일 train.py
빌드합니다. 파일의 끝에서 outputs
라는 새 디렉터리를 만듭니다. 이 단계에서는 클라우드(작업 영역)에 디렉터리를 만들어 직렬화되지 joblib.dump()
학습된 모델을 저장합니다.
# train.py
from sklearn import svm
import numpy as np
import joblib
import os
# customer ages
X_train = np.array([50, 17, 35, 23, 28, 40, 31, 29, 19, 62])
X_train = X_train.reshape(-1, 1)
# churn y/n
y_train = ["yes", "no", "no", "no", "yes", "yes", "yes", "no", "no", "yes"]
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)
os.makedirs("outputs", exist_ok=True)
joblib.dump(value=clf, filename="outputs/churn-model.pkl")
다음으로 RunConfiguration
개체를 인스턴스화하고 형식 및 크기를 설정하여 컴퓨팅 대상을 만듭니다. 이 예제에서는 가장 작은 리소스 크기(CPU 코어 1개, 메모리 3.5GB)를 사용합니다.
list_vms
변수에는 지원되는 가상 머신 목록과 해당 크기가 포함됩니다.
from azureml.core.runconfig import RunConfiguration
from azureml.core.compute import AmlCompute
list_vms = AmlCompute.supported_vmsizes(workspace=ws)
compute_config = RunConfiguration()
compute_config.target = "amlcompute"
compute_config.amlcompute.vm_size = "STANDARD_D1_V2"
CondaDependencies
클래스를 사용하여 원격 컴퓨팅 리소스의 Python 환경에 대한 종속성을 만듭니다.
train.py
파일은 환경에 설치해야 하는 scikit-learn
및 numpy
사용합니다. 종속성 버전을 지정할 수도 있습니다.
dependencies
개체를 사용하여 compute_config
환경을 설정합니다.
from azureml.core.conda_dependencies import CondaDependencies
dependencies = CondaDependencies()
dependencies.add_pip_package("scikit-learn")
dependencies.add_pip_package("numpy==1.15.4")
compute_config.environment.python.conda_dependencies = dependencies
이제 실험을 제출할 준비가 되었습니다.
ScriptRunConfig
클래스를 사용하여 컴퓨팅 대상 구성을 연결하고 학습 스크립트 train.py
경로/파일을 지정합니다.
submit()
함수의 config
매개 변수를 지정하여 실험을 제출합니다. 결과 실행에서 wait_for_completion
호출하여 환경이 초기화되고 모델이 학습될 때 비동기 실행 출력을 확인합니다.
경고
다음은 ScriptRunConfig
매개 변수에서 사용되는 특정 문자에 대한 제한 사항입니다.
-
"
,$
,;
및\
문자는 bash 명령을 구분하기 위한 예약 문자로 간주되므로 백 엔드에서 이스케이프됩니다. -
(
,)
,%
,!
,^
,<
,>
,&
및|
문자는 Windows에서 로컬 실행에 대해 이스케이프됩니다.
from azureml.core.experiment import Experiment
from azureml.core import ScriptRunConfig
script_run_config = ScriptRunConfig(source_directory=os.getcwd(), script="train.py", run_config=compute_config)
experiment = Experiment(workspace=ws, name="compute_target_test")
run = experiment.submit(config=script_run_config)
run.wait_for_completion(show_output=True)
실행이 완료되면 작업 영역에서 학습된 모델 파일 churn-model.pkl
사용할 수 있습니다.
환경
네임스페이스: azureml.core.environment
Azure Machine Learning 환경에서는 학습 및 점수 매기기 스크립트와 관련된 Python 패키지, 환경 변수 및 소프트웨어 설정을 지정합니다. Python 외에도 환경에 대해 PySpark, Docker 및 R을 구성할 수 있습니다. 내부적으로 환경은 컴퓨팅 대상에서 학습 및 채점 프로세스를 실행하는 데 사용되는 Docker 이미지를 생성합니다. 환경은 다양한 컴퓨팅 대상 및 컴퓨팅 유형에서 재현 가능하고 감사 가능하며 이식 가능한 기계 학습 워크플로를 가능하게 하는 Machine Learning 작업 영역 내에서 관리되고 버전이 지정된 엔터티입니다.
Environment
개체를 사용하여 다음을 수행할 수 있습니다.
- 학습 스크립트를 개발합니다.
- 대규모 모델 학습을 위해 Azure Machine Learning 컴퓨팅에서 동일한 환경을 다시 사용합니다.
- 특정 컴퓨팅 형식에 연결하지 않고 동일한 환경으로 모델을 배포합니다.
다음 코드는 SDK에서 Environment
클래스를 가져오고 환경 개체를 인스턴스화합니다.
from azureml.core.environment import Environment
Environment(name="myenv")
Conda, pip 또는 프라이빗 휠 파일을 사용하여 환경에 패키지를 추가합니다.
CondaDependency
클래스를 사용하여 환경의 PythonSection
추가하여 각 패키지 종속성을 지정합니다.
다음 예제에서는 환경에 추가합니다.
numpy
버전 1.17.0을 추가합니다. 또한 환경에 pillow
패키지를 추가합니다. myenv
. 이 예제에서는 각각 add_conda_package()
메서드와 add_pip_package()
메서드를 사용합니다.
from azureml.core.environment import Environment
from azureml.core.conda_dependencies import CondaDependencies
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
# Installs numpy version 1.17.0 conda package
conda_dep.add_conda_package("numpy==1.17.0")
# Installs pillow package
conda_dep.add_pip_package("pillow")
# Adds dependencies to PythonSection of myenv
myenv.python.conda_dependencies=conda_dep
학습 실행을 제출하려면 환경을 결합하고, 컴퓨팅 대상
학습 실행을 제출하는 경우 새 환경 빌드에 몇 분 정도 걸릴 수 있습니다. 기간은 필요한 종속성의 크기에 따라 달라집니다. 환경은 서비스에 의해 캐시됩니다. 따라서 환경 정의가 변경되지 않은 상태로 유지되는 한 전체 설정 시간은 한 번만 발생합니다.
다음 예제에서는 ScriptRunConfig
래퍼 개체로 사용할 위치를 보여 줍니다.
from azureml.core import ScriptRunConfig, Experiment
from azureml.core.environment import Environment
exp = Experiment(name="myexp", workspace = ws)
# Instantiate environment
myenv = Environment(name="myenv")
# Add training script to run config
runconfig = ScriptRunConfig(source_directory=".", script="train.py")
# Attach compute target to run config
runconfig.run_config.target = "local"
# Attach environment to run config
runconfig.run_config.environment = myenv
# Submit run
run = exp.submit(runconfig)
실행을 제출하기 전에 실행 구성에서 환경을 지정하지 않으면 기본 환경이 만들어집니다.
환경을 사용하여 웹 서비스를 배포하려면 모델 배포 섹션을 참조하세요.
Pipeline, PythonScriptStep
네임스페이스: azureml.pipeline.core.pipeline.Pipeline
네임스페이스: azureml.pipeline.steps.python_script_step.PythonScriptStep
Azure Machine Learning 파이프라인은 전체 기계 학습 작업의 자동화된 워크플로입니다. 하위 작업은 파이프라인 내의 일련의 단계로 캡슐화됩니다. Azure Machine Learning 파이프라인은 Python 스크립트를 호출하는 한 단계만큼 간단할 수 있습니다. 파이프라인에는 다음의 기능이 포함됩니다.
- 가져오기, 유효성 검사 및 정리, munging 및 변환, 정규화 및 스테이징을 포함한 데이터 준비
- 매개 변수화 인수, 파일 경로 및 로깅/보고 구성을 포함한 학습 구성
- 특정 데이터 하위 집합, 다른 하드웨어 컴퓨팅 리소스, 분산 처리 및 진행률 모니터링 지정을 포함할 수 있는 효율적이고 반복적인 학습 및 유효성 검사
- 버전 관리, 크기 조정, 프로비저닝 및 액세스 제어를 포함한 배포
- HTTP 라이브러리에서 다시 실행하기 위해 REST 엔드포인트에 파이프라인 게시
PythonScriptStep
컴퓨팅 대상에서 Python 스크립트를 실행하는 기본 기본 단계입니다. 스크립트 이름 및 스크립트, 컴퓨팅 대상, 입력 및 출력에 대한 인수와 같은 기타 선택적 매개 변수를 사용합니다. 다음 코드는 PythonScriptStep
간단한 예입니다.
train.py
스크립트의 예제는 자습서 하위 섹션을 참조하세요.
from azureml.pipeline.steps import PythonScriptStep
train_step = PythonScriptStep(
script_name="train.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory=project_folder
)
단계를 하나 이상 만든 후에는 단계를 함께 연결하고 간단한 자동화된 파이프라인으로 게시할 수 있습니다.
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = experiment.submit(pipeline)
파이프라인 워크플로를 빌드하는 포괄적인 예제는 고급 자습서따릅니다.
파이프라인을 만들고 사용하는 패턴
Azure Machine Learning 파이프라인은 Azure Machine Learning 작업 영역과 연결되며 파이프라인 단계는 해당 작업 영역 내에서 사용할 수 있는 컴퓨팅 대상과 연결됩니다. 자세한 내용은 작업 영역 대한 이
파이프라인 단계의 일반적인 패턴은 다음과 같습니다.
- 작업 영역, 컴퓨팅 및 스토리지 지정
- 를 사용하여 입력 및 출력 데이터 구성
- 기존 Azure 데이터 저장소를 사용할 수 있도록 하는 데이터 세트
- 형식화된 테이블 형식 데이터를 캡슐화하는 PipelineDataset
- 한 단계에서 작성하고 다른 단계에서 사용하려는 중간 파일 또는 디렉터리 데이터에 사용되는 PipelineData
- 하나 이상의 파이프라인 단계 정의
- 작업 영역 및 단계를 사용하여 파이프라인 인스턴스화
- 파이프라인을 제출할 실험 만들기
- 실험 결과 모니터링
이 Notebook 이 패턴의 좋은 예입니다. 직업
Azure Machine Learning 파이프라인, 특히 다른 유형의 파이프라인과 다른 방법에 대한 자세한 내용은 이 문서참조하세요.
AutoMLConfig
네임스페이스: azureml.train.automl.automlconfig.AutoMLConfig
AutoMLConfig
클래스를 사용하여 자동화된 기계 학습 학습에 대한 매개 변수를 구성합니다. 자동화된 기계 학습은 기계 학습 알고리즘과 하이퍼 매개 변수 설정의 여러 조합을 반복합니다. 그런 다음 선택한 정확도 메트릭에 따라 가장 적합한 모델을 찾습니다. 구성을 사용하면 다음을 지정할 수 있습니다.
- 작업 유형(분류, 회귀, 예측)
- 알고리즘 반복 수 및 반복당 최대 시간
- 최적화할 정확도 메트릭
- 차단 목록/허용 목록에 대한 알고리즘
- 교차 유효성 검사 수
- 컴퓨팅 대상
- 학습 데이터
메모
자동화된 기계 학습을 사용하려면 설치 시 automl
추가 작업을 사용합니다.
자동화된 기계 학습 실험을 설정하는 방법에 대한 자세한 가이드 및 예제는 자습서 및 방법참조하세요.
다음 코드에서는 분류 모델에 대한 자동화된 기계 학습 구성 개체를 빌드하고 실험을 제출할 때 사용하는 방법을 보여 줍니다.
from azureml.train.automl import AutoMLConfig
automl_config = AutoMLConfig(task="classification",
X=your_training_features,
y=your_training_labels,
iterations=30,
iteration_timeout_minutes=5,
primary_metric="AUC_weighted",
n_cross_validations=5
)
automl_config
개체를 사용하여 실험을 제출합니다.
from azureml.core.experiment import Experiment
experiment = Experiment(ws, "automl_test_experiment")
run = experiment.submit(config=automl_config, show_output=True)
실험을 제출한 후 출력은 완료되는 각 반복에 대한 학습 정확도를 표시합니다. 실행이 완료되면 Run
클래스를 확장하는 AutoMLRun
개체가 반환됩니다.
get_output()
함수를 사용하여 Model
개체를 반환하여 가장 적합한 모델을 가져옵니다.
best_model = run.get_output()
y_predict = best_model.predict(X_test)
모델 배포
네임스페이스: azureml.core.model.InferenceConfig
네임스페이스: azureml.core.webservice.webservice.Webservice
InferenceConfig
클래스는 모델 및 웹 서비스를 호스트하는 데 필요한 환경을 설명하는 구성 설정용입니다.
Webservice
모델에 대한 웹 서비스를 만들고 배포하기 위한 추상 부모 클래스입니다. 모델 배포 준비 및 웹 서비스 배포에 대한 자세한 가이드는 이 방법참조하세요.
모델을 웹 서비스로 배포할 때 ContainerImage
클래스를 사용한 경우 환경과 유사한 워크플로를 수행하기 위한 DockerSection
클래스를 참조하세요.
웹 서비스를 배포하려면 배포 개체에 환경, 유추 컴퓨팅, 점수 매기기 스크립트 및 등록된 모델을 결합하여 deploy()
.
다음 예제에서는 환경, myenv
사용하여 학습 실행을 이미 완료했으며 Azure Container Instances에 해당 모델을 배포하려고 하는 경우를 가정합니다.
from azureml.core.model import InferenceConfig, Model
from azureml.core.webservice import AciWebservice, Webservice
# Register the model to deploy
model = run.register_model(model_name = "mymodel", model_path = "outputs/model.pkl")
# Combine scoring script & environment in Inference configuration
inference_config = InferenceConfig(entry_script="score.py",
environment=myenv)
# Set deployment configuration
deployment_config = AciWebservice.deploy_configuration(cpu_cores = 1,
memory_gb = 1)
# Define the model, inference, & deployment configuration and web service name and location to deploy
service = Model.deploy(workspace = ws,
name = "my_web_service",
models = [model],
inference_config = inference_config,
deployment_config = deployment_config)
이 예제에서는 소규모 테스트 및 빠른 배포에 가장 적합한 Azure Container Instances 웹 서비스를 만듭니다. 모델을 프로덕션 규모의 웹 서비스로 배포하려면 AKS(Azure Kubernetes Service)를 사용합니다. 자세한 내용은 aksCompute 클래스
데이터 세트
네임스페이스: azureml.core.dataset.Dataset
네임스페이스: azureml.data.file_dataset.FileDataset
네임스페이스: azureml.data.tabular_dataset.TabularDataset
Dataset
클래스는 Azure Machine Learning 내에서 데이터를 탐색하고 관리하기 위한 기본 리소스입니다. 요약 통계를 사용하여 데이터를 탐색하고 AML 작업 영역에 데이터 세트를 저장하여 버전 관리 및 재현성 기능을 얻을 수 있습니다. 데이터 세트는 학습 중에 모델에서 쉽게 사용됩니다. 자세한 사용 예제는 방법 가이드참조하세요.
-
TabularDataset
파일 또는 파일 목록을 구문 분석하여 만든 테이블 형식으로 데이터를 나타냅니다. -
FileDataset
데이터 저장소 또는 공용 URL에서 단일 또는 여러 파일을 참조합니다.
다음 예제에서는 데이터 저장소의 단일 경로를 가리키는 TabularDataset을 만드는 방법을 보여 줍니다.
from azureml.core import Dataset
dataset = Dataset.Tabular.from_delimited_files(path = [(datastore, 'train-dataset/tabular/iris.csv')])
dataset.take(3).to_pandas_dataframe()
다음 예제에서는 여러 파일 URL을 참조하는 FileDataset
만드는 방법을 보여줍니다.
from azureml.core.dataset import Dataset
url_paths = [
'http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz'
]
dataset = Dataset.File.from_files(path=url_paths)
다음 단계
Python용 Azure Machine Learning SDK를 사용하는 방법을 알아보려면 다음 단계를 수행합니다.
왼쪽의 목차를 사용하여 이 사이트의 참조 설명서에서 클래스 및 모듈을 조회합니다.