Webservice 클래스
모델을 Azure Machine Learning의 웹 서비스 엔드포인트로 배포하기 위한 기본 기능을 정의합니다.
Webservice 생성자는 제공된 작업 영역과 연결된 Webservice 개체의 클라우드 표현을 검색하는 데 사용됩니다. 검색된 Webservice 개체의 특정 형식에 해당하는 자식 클래스의 인스턴스를 반환합니다. Webservice 클래스를 사용하면 Model 또는 Image 개체에서 기계 학습 모델을 배포할 수 있습니다.
Webservice 작업에 대한 자세한 내용은 Azure Machine Learning을 사용하여 모델 배포를 참조하세요.
Webservice instance 초기화합니다.
Webservice 생성자는 제공된 작업 영역과 연결된 Webservice 개체의 클라우드 표현을 검색합니다. 검색된 Webservice 개체의 특정 형식에 해당하는 자식 클래스의 instance 반환합니다.
- 상속
-
Webservice
생성자
Webservice(workspace, name)
매개 변수
Name | Description |
---|---|
workspace
필수
|
검색할 Webservice 개체를 포함하는 작업 영역 개체입니다. |
name
필수
|
검색할 Webservice 개체의 이름입니다. |
workspace
필수
|
검색할 Webservice 개체를 포함하는 작업 영역 개체입니다. |
name
필수
|
검색할 Webservice 개체의 이름입니다. |
설명
다음 샘플에서는 먼저 Webservice 자식 클래스의 deploy_configuration
메서드(이 예제에서는 AksWebservice)를 사용하여 구성 개체를 만든 다음, Model 클래스의 deploy
메서드에서 이 구성을 사용하는 권장 배포 패턴을 보여줍니다.
# Set the web service configuration (using default here)
aks_config = AksWebservice.deploy_configuration()
# # Enable token auth and disable (key) auth on the webservice
# aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)
전체 샘플은 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb에서 사용할 수 있습니다.
다음 샘플에서는 작업 영역에서 기존 AciWebservice를 찾아 보고, 만약 있으면 이름을 다시 사용할 수 있도록 삭제하는 방법을 보여줍니다.
from azureml.core.model import InferenceConfig
from azureml.core.webservice import AciWebservice
service_name = 'my-custom-env-service'
inference_config = InferenceConfig(entry_script='score.py', environment=environment)
aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)
service = Model.deploy(workspace=ws,
name=service_name,
models=[model],
inference_config=inference_config,
deployment_config=aci_config,
overwrite=True)
service.wait_for_deployment(show_output=True)
다음과 같은 여러 가지 방법으로 모델을 Webservice로 배포할 수 있습니다.
작업 영역에 이미 등록된 모델에 대한 Model의
deploy
메서드입니다.모델에서 이미 만든 이미지에 대한 Webservice의
deploy_from_image
메서드입니다.작업 영역에 이미 등록된 모델에 대한 Webservice의
deploy_from_model
메서드입니다. 이 메서드는 이미지를 만듭니다.모델을 등록하고 이미지를 만드는 Webservice의
deploy
메서드입니다.
Webservice 작업에 대한 자세한 내용은 다음을 참조하세요.
변수 섹션에는 클라우드 Webservice 개체의 로컬 표현 특성이 나열됩니다. 이러한 변수는 읽기 전용으로 간주되어야 합니다. 이러한 값을 변경해도 해당 클라우드 개체에 반영되지 않습니다.
변수
Name | Description |
---|---|
auth_enabled
|
Webservice에서 인증을 사용하도록 설정했는지 여부를 나타냅니다. |
compute_type
|
Webservice가 배포되는 컴퓨팅 유형입니다. |
created_time
|
Webservice가 만들어진 시간입니다. |
azureml.core.Webservice.description
|
Webservice 개체에 대한 설명입니다. |
azureml.core.Webservice.tags
|
Webservice 개체에 대한 태그 사전입니다. |
azureml.core.Webservice.name
|
Webservice의 이름입니다. |
azureml.core.Webservice.properties
|
Webservice의 키 값 속성 사전입니다. 배포 후에는 이러한 속성을 변경할 수 없지만, 새 키 값 쌍을 추가할 수 있습니다. |
created_by
|
Webservice를 만든 사용자입니다. |
error
|
Webservice를 배포하지 못한 경우 실패한 이유에 대한 오류 메시지가 포함됩니다. |
azureml.core.Webservice.state
|
Webservice의 현재 상태입니다. |
updated_time
|
Webservice가 마지막으로 업데이트된 시간입니다. |
azureml.core.Webservice.workspace
|
Webservice를 포함하는 Azure Machine Learning 작업 영역입니다. |
token_auth_enabled
|
Webservice에서 토큰 인증을 사용하도록 설정했는지 여부를 나타냅니다. |
메서드
check_for_existing_webservice |
Webservice가 있는지 확인합니다. |
delete |
연결된 작업 영역에서 이 Webservice를 삭제합니다. 이 함수 호출은 비동기적이지 않습니다. 리소스가 삭제될 때까지 호출이 실행됩니다. 모델 관리 서비스에서 모델을 삭제하는 데 문제가 있는 경우 WebserviceException이 발생합니다. |
deploy |
0개 이상의 Model 개체에서 Webservice를 배포합니다. 이 함수는 제공된 모든 모델 파일을 등록하고 그 과정에서 이미지를 만듭니다. 모든 이미지는 지정된 Workspace와 연결됩니다. 이전에 등록되지 않은 모델을 배포할 디렉터리가 있는 경우 이 함수를 사용합니다. 결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요. |
deploy_from_image |
Image 개체에서 Webservice를 배포합니다. 모델에 대한 Image 개체를 이미 만든 경우 이 함수를 사용합니다. 결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요. |
deploy_from_model |
0개 이상의 Model 개체에서 Webservice를 배포합니다. 이 함수는 deploy와 비슷하지만 모델을 등록하지는 않습니다. 이미 등록된 모델 개체가 있는 경우 이 함수를 사용합니다. 그러면 이 과정에서 지정된 작업 영역과 연결된 이미지가 만들어집니다. 결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요. |
deploy_local_from_model |
테스트용 LocalWebservice를 빌드하여 배포합니다. Docker를 설치하고 구성해야 합니다. |
deserialize |
모델 관리 서비스 응답 JSON 개체를 Webservice 개체로 변환합니다. 제공된 작업 영역이 Webservice가 등록된 작업 영역이 아니면 실패합니다. |
get_keys |
이 Webservice의 인증 키를 검색합니다. |
get_logs |
이 Webservice에 대한 로그를 검색합니다. |
get_token |
Webservice의 인증 토큰을 검색합니다. 범위는 현재 사용자입니다. |
list |
해당 Workspace와 연결된 Webservice를 나열합니다. 반환된 결과는 매개 변수를 사용하여 필터링할 수 있습니다. |
regen_key |
Webservice의 키 중 하나인 'Primary' 또는 'Secondary' 키를 다시 생성합니다.
|
run |
제공된 입력을 사용하여 이 Webservice를 호출합니다. Webservice의 자식 클래스에 의해 구현된 추상 메서드입니다. |
serialize |
이 Webservice 개체를 JSON 직렬화 사전으로 변환합니다. 다시 Webservice 개체로 변환하려면 deserialize를 사용합니다 . |
update |
Webservice 매개 변수를 업데이트합니다. Webservice의 자식 클래스에 의해 구현된 추상 메서드입니다. 업데이트할 수 있는 매개 변수는 Webservice 자식 형식에 따라 달라집니다. 예를 들어 Azure Container Instances Webservice의 경우 특정 매개 변수에 대한 update를 참조하세요. |
update_deployment_state |
메모리 내 개체의 현재 상태를 새로 고칩니다. 해당 클라우드 개체의 현재 상태에 따라 개체 속성을 전체 업데이트합니다. 생성 상태를 수동으로 끌어오는 데 주로 사용됩니다. |
wait_for_deployment |
실행 중인 Webservice 배포에 대해 자동으로 폴링합니다. Webservice가 터미널 상태에 도달할 때까지 기다립니다. 성공하지 못한 터미널 상태에 도달하거나 지정된 시간 제한을 초과하면 WebserviceException이 throw됩니다. |
check_for_existing_webservice
Webservice가 있는지 확인합니다.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
|
name
필수
|
|
overwrite
|
Default value: False
|
request_func
|
<xref:function>
서비스 이름이 있는지 확인하기 위해 서비스를 요청하는 함수 Default value: None
|
check_func
|
<xref:function>
request_func 응답 콘텐츠를 확인하는 함수 Default value: None
|
예외
형식 | Description |
---|---|
delete
연결된 작업 영역에서 이 Webservice를 삭제합니다.
이 함수 호출은 비동기적이지 않습니다. 리소스가 삭제될 때까지 호출이 실행됩니다. 모델 관리 서비스에서 모델을 삭제하는 데 문제가 있는 경우 WebserviceException이 발생합니다.
delete()
예외
형식 | Description |
---|---|
deploy
0개 이상의 Model 개체에서 Webservice를 배포합니다.
이 함수는 제공된 모든 모델 파일을 등록하고 그 과정에서 이미지를 만듭니다. 모든 이미지는 지정된 Workspace와 연결됩니다. 이전에 등록되지 않은 모델을 배포할 디렉터리가 있는 경우 이 함수를 사용합니다.
결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
매개 변수
Name | Description |
---|---|
workspace
필수
|
Webservice를 연결할 작업 영역 개체입니다. |
name
필수
|
배포된 서비스에 제공할 이름입니다. 작업 영역에서 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3~32자 사이여야 합니다. |
model_paths
필수
|
모델 파일 또는 폴더에 대한 디스크 내 경로 목록입니다. 빈 목록일 수 있습니다. |
image_config
필수
|
필요한 이미지 속성을 확인하는 데 사용되는 ImageConfig 개체입니다. |
deployment_config
|
Webservice를 구성하는 데 사용되는 WebserviceDeploymentConfiguration입니다. 이 개체가 제공되지 않으면 원하는 대상에 따라 빈 구성 개체가 사용됩니다. Default value: None
|
deployment_target
|
Webservice를 배포할 ComputeTarget입니다. Azure Container Instances에 연결된 ComputeTarget이 없으므로 이 매개 변수를 None으로 유지하여 Azure Container Instances에 배포합니다. Default value: None
|
overwrite
|
이름을 가진 서비스가 이미 있으면 기존 서비스를 덮어씁니다. Default value: False
|
반환
형식 | Description |
---|---|
배포된 Webservice에 해당하는 Webservice 개체입니다. |
예외
형식 | Description |
---|---|
deploy_from_image
Image 개체에서 Webservice를 배포합니다.
모델에 대한 Image 개체를 이미 만든 경우 이 함수를 사용합니다.
결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
매개 변수
Name | Description |
---|---|
workspace
필수
|
Webservice를 연결할 작업 영역 개체입니다. |
name
필수
|
배포된 서비스에 제공할 이름입니다. 작업 영역에서 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3~32자 사이여야 합니다. |
image
필수
|
배포할 Image 개체입니다. |
deployment_config
|
Webservice를 구성하는 데 사용되는 WebserviceDeploymentConfiguration입니다. 이 개체가 제공되지 않으면 원하는 대상에 따라 빈 구성 개체가 사용됩니다. Default value: None
|
deployment_target
|
Webservice를 배포할 ComputeTarget입니다. Azure Container Instances에 연결된 ComputeTarget이 없으므로 이 매개 변수를 None으로 유지하여 Azure Container Instances에 배포합니다. Default value: None
|
overwrite
|
이름을 가진 서비스가 이미 있으면 기존 서비스를 덮어씁니다. Default value: False
|
반환
형식 | Description |
---|---|
배포된 Webservice에 해당하는 Webservice 개체입니다. |
예외
형식 | Description |
---|---|
deploy_from_model
0개 이상의 Model 개체에서 Webservice를 배포합니다.
이 함수는 deploy와 비슷하지만 모델을 등록하지는 않습니다. 이미 등록된 모델 개체가 있는 경우 이 함수를 사용합니다. 그러면 이 과정에서 지정된 작업 영역과 연결된 이미지가 만들어집니다.
결과 Webservice는 유추 요청에 사용할 수 있는 실시간 엔드포인트입니다. 자세한 내용은 웹 서비스로 배포된 모델 사용을 참조하세요.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
매개 변수
Name | Description |
---|---|
workspace
필수
|
Webservice를 연결할 작업 영역 개체입니다. |
name
필수
|
배포된 서비스에 제공할 이름입니다. 작업 영역에서 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3~32자 사이여야 합니다. |
models
필수
|
모델 개체 목록입니다. 빈 목록일 수 있습니다. |
image_config
필수
|
필요한 이미지 속성을 확인하는 데 사용되는 ImageConfig 개체입니다. |
deployment_config
|
Webservice를 구성하는 데 사용되는 WebserviceDeploymentConfiguration입니다. 이 개체가 제공되지 않으면 원하는 대상에 따라 빈 구성 개체가 사용됩니다. Default value: None
|
deployment_target
|
Webservice를 배포할 ComputeTarget입니다. ACI에 연결된 ComputeTarget이 없는 경우 이 매개 변수를 None으로 두어 ACI에 배포합니다. Default value: None
|
overwrite
|
이름을 가진 서비스가 이미 있으면 기존 서비스를 덮어씁니다. Default value: False
|
반환
형식 | Description |
---|---|
배포된 Webservice에 해당하는 Webservice 개체입니다. |
예외
형식 | Description |
---|---|
deploy_local_from_model
테스트용 LocalWebservice를 빌드하여 배포합니다.
Docker를 설치하고 구성해야 합니다.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
매개 변수
Name | Description |
---|---|
workspace
필수
|
Webservice를 연결할 작업 영역 개체입니다. |
name
필수
|
배포된 서비스에 제공할 이름입니다. 로컬 컴퓨터에서 고유해야 합니다. |
models
필수
|
모델 개체 목록입니다. 빈 목록일 수 있습니다. |
image_config
필수
|
필요한 서비스 이미지 속성을 확인하는 데 사용되는 ImageConfig 개체입니다. |
deployment_config
|
Webservice를 구성하는 데 사용되는 LocalWebserviceDeploymentConfiguration입니다. 이 개체를 제공하지 않으면 빈 구성 개체가 사용됩니다. Default value: None
|
wait
|
LocalWebservice의 Docker 컨테이너가 정상으로 보고되기를 기다릴지 여부를 나타냅니다. 컨테이너가 충돌하면 예외를 throw합니다. 기본값은 False입니다. Default value: False
|
반환
형식 | Description |
---|---|
예외
형식 | Description |
---|---|
deserialize
모델 관리 서비스 응답 JSON 개체를 Webservice 개체로 변환합니다.
제공된 작업 영역이 Webservice가 등록된 작업 영역이 아니면 실패합니다.
deserialize(workspace, webservice_payload)
매개 변수
Name | Description |
---|---|
cls
필수
|
클래스 메서드라는 것을 나타냅니다. |
workspace
필수
|
Webservice가 이 작업 영역 개체 아래에 등록되었습니다. |
webservice_payload
필수
|
Webservice 개체로 변환할 JSON 개체입니다. |
반환
형식 | Description |
---|---|
제공된 JSON 개체의 Webservice 표현입니다. |
예외
형식 | Description |
---|---|
get_keys
이 Webservice의 인증 키를 검색합니다.
get_keys()
반환
형식 | Description |
---|---|
이 Webservice의 인증 키입니다. |
예외
형식 | Description |
---|---|
get_logs
이 Webservice에 대한 로그를 검색합니다.
get_logs(num_lines=5000, init=False)
매개 변수
Name | Description |
---|---|
num_lines
|
검색할 최대 로그 줄 수입니다. Default value: 5000
|
init
|
init 컨테이너 로그를 가져옵니다. Default value: False
|
반환
형식 | Description |
---|---|
이 Webservice에 대한 로그입니다. |
예외
형식 | Description |
---|---|
get_token
Webservice의 인증 토큰을 검색합니다. 범위는 현재 사용자입니다.
get_token()
반환
형식 | Description |
---|---|
이 Webservice의 인증 토큰 및 이후에 새로 고쳐야 하는 시기입니다. |
예외
형식 | Description |
---|---|
list
해당 Workspace와 연결된 Webservice를 나열합니다.
반환된 결과는 매개 변수를 사용하여 필터링할 수 있습니다.
static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
Webservice를 나열할 Workspace 개체입니다. |
compute_type
|
특정 Webservice 유형만 나열하도록 필터링합니다. 옵션은 'ACI', 'AKS'입니다. Default value: None
|
image_name
|
특정 이미지 이름으로 배포된 Webservice만 포함하도록 목록을 필터링합니다. Default value: None
|
image_id
|
특정 이미지 ID로 배포된 Webservice만 포함하도록 목록을 필터링합니다. Default value: None
|
model_name
|
특정 모델 이름으로 배포된 Webservice만 포함하도록 목록을 필터링합니다. Default value: None
|
model_id
|
특정 모델 ID로 배포된 Webservice만 포함하도록 목록을 필터링합니다. Default value: None
|
tags
|
제공된 목록에 따라 'key' 또는 '[key, value]'를 기준으로 필터링합니다. 예: ['key', ['key2', 'key2 value']] Default value: None
|
properties
|
제공된 목록에 따라 'key' 또는 '[key, value]'를 기준으로 필터링합니다. 예: ['key', ['key2', 'key2 value']] Default value: None
|
image_digest
|
특정 이미지 다이제스트로 배포된 Webservice만 포함하도록 목록을 필터링합니다. Default value: None
|
반환
형식 | Description |
---|---|
제공된 작업 영역에서 필터링된 Webservice 목록입니다. |
예외
형식 | Description |
---|---|
regen_key
Webservice의 키 중 하나인 'Primary' 또는 'Secondary' 키를 다시 생성합니다.
key
가 지정되지 않았거나 'Primary' 또는 'Secondary'가 아닌 경우 WebserviceException이 발생합니다.
regen_key(key, set_key=None)
매개 변수
Name | Description |
---|---|
key
필수
|
다시 생성할 키입니다. 옵션은 'Primary' 또는 'Secondary'입니다. |
set_key
|
키 값의 수동 사양을 허용하는 사용자가 지정한 값입니다. Default value: None
|
예외
형식 | Description |
---|---|
run
제공된 입력을 사용하여 이 Webservice를 호출합니다.
Webservice의 자식 클래스에 의해 구현된 추상 메서드입니다.
abstract run(input)
매개 변수
Name | Description |
---|---|
input
필수
|
<xref:varies>
이 입력 데이터를 사용하여 Webservice를 호출합니다. 기계 학습 모델이 예측을 실행하기 위한 입력으로 필요한 데이터입니다. |
반환
형식 | Description |
---|---|
Webservice 호출 결과입니다. 그러면 기계 학습 모델에서 실행한 예측이 반환됩니다. |
예외
형식 | Description |
---|---|
serialize
이 Webservice 개체를 JSON 직렬화 사전으로 변환합니다.
다시 Webservice 개체로 변환하려면 deserialize를 사용합니다 .
serialize()
반환
형식 | Description |
---|---|
이 Webservice의 JSON 표현입니다. |
예외
형식 | Description |
---|---|
update
Webservice 매개 변수를 업데이트합니다.
Webservice의 자식 클래스에 의해 구현된 추상 메서드입니다. 업데이트할 수 있는 매개 변수는 Webservice 자식 형식에 따라 달라집니다. 예를 들어 Azure Container Instances Webservice의 경우 특정 매개 변수에 대한 update를 참조하세요.
abstract update(*args)
매개 변수
Name | Description |
---|---|
args
필수
|
<xref:varies>
업데이트할 값입니다. |
예외
형식 | Description |
---|---|
update_deployment_state
메모리 내 개체의 현재 상태를 새로 고칩니다.
해당 클라우드 개체의 현재 상태에 따라 개체 속성을 전체 업데이트합니다. 생성 상태를 수동으로 끌어오는 데 주로 사용됩니다.
update_deployment_state()
예외
형식 | Description |
---|---|
wait_for_deployment
실행 중인 Webservice 배포에 대해 자동으로 폴링합니다.
Webservice가 터미널 상태에 도달할 때까지 기다립니다. 성공하지 못한 터미널 상태에 도달하거나 지정된 시간 제한을 초과하면 WebserviceException이 throw됩니다.
wait_for_deployment(show_output=False, timeout_sec=None)
매개 변수
Name | Description |
---|---|
show_output
|
자세한 출력을 더 인쇄할지 여부를 나타냅니다. Default value: False
|
timeout_sec
|
배포가 지정된 시간 제한을 초과하는 경우 예외를 발생시킵니다. Default value: None
|
예외
형식 | Description |
---|---|