AksWebservice 클래스
Azure Kubernetes Service에 웹 서비스 엔드포인트로 배포되는 기계 학습 모델을 나타냅니다.
배포되는 서비스는 모델, 스크립트, 연결된 파일에서 만들어집니다. 결과 웹 서비스는 REST API를 사용하여 부하가 분산된 HTTP 엔드포인트입니다. 이 API로 데이터를 보내고 모델에서 반환된 예측을 받을 수 있습니다.
AksWebservice는 하나의 엔드포인트에 하나의 서비스를 배포합니다. 여러 서비스를 하나의 엔드포인트에 배포하려면 AksEndpoint 클래스를 사용합니다.
자세한 내용은 Deploy a model to an Azure Kubernetes Service cluster(Azure Kubernetes Service 클러스터에 모델 배포)를 참조하세요.
Webservice instance 초기화합니다.
Webservice 생성자는 제공된 작업 영역과 연결된 Webservice 개체의 클라우드 표현을 검색합니다. 검색된 Webservice 개체의 특정 형식에 해당하는 자식 클래스의 instance 반환합니다.
- 상속
-
AksWebservice
생성자
AksWebservice(workspace, name)
매개 변수
Name | Description |
---|---|
workspace
필수
|
검색할 Webservice 개체를 포함하는 작업 영역 개체입니다. |
name
필수
|
검색할 Webservice 개체의 이름입니다. |
설명
권장 배포 패턴은 아래와 같이 deploy_configuration
메서드를 사용하여 배포 구성 개체를 만든 다음, 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에서 사용할 수 있습니다.
다음과 같은 여러 가지 방법으로 모델을 Webservice로 배포할 수 있습니다.
작업 영역에 이미 등록된 모델에 대한 Model의
deploy
메서드입니다.Webservice의
deploy_from_image
메서드입니다.작업 영역에 이미 등록된 모델에 대한 Webservice의
deploy_from_model
메서드입니다. 이 메서드는 이미지를 만듭니다.모델을 등록하고 이미지를 만드는 Webservice의
deploy
메서드입니다.
Webservice 작업에 대한 자세한 내용은 다음을 참조하세요.
변수 섹션에는 클라우드 AksWebservice 개체의 로컬 표현 특성이 나열됩니다. 이러한 변수는 읽기 전용으로 간주되어야 합니다. 이러한 값을 변경해도 해당 클라우드 개체에 반영되지 않습니다.
변수
Name | Description |
---|---|
enable_app_insights
|
Webservice에 AppInsights 로깅을 사용할지 여부를 나타냅니다. |
autoscaler
|
Webservice의 자동 크기 조정기 개체입니다. |
compute_name
|
Webservice가 배포되는 ComputeTarget의 이름입니다. |
container_resource_requirements
|
Webservice의 컨테이너 리소스 요구 사항입니다. |
liveness_probe_requirements
|
Webservice의 활동성 프로브 요구 사항입니다. |
data_collection
|
Webservice의 DataCollection 개체입니다. |
max_concurrent_requests_per_container
|
Webservice의 컨테이너당 최대 동시 요청 수입니다. |
max_request_wait_time
|
Webservice의 최대 요청 대기 시간(밀리초)입니다. |
num_replicas
|
Webservice의 복제본 수입니다. 각 복제본은 AKS Pod에 해당합니다. |
scoring_timeout_ms
|
Webservice의 채점 시간 제한(밀리초)입니다. |
azureml.core.webservice.AksWebservice.scoring_uri
|
Webservice의 채점 엔드포인트 |
is_default
|
Webservice가 부모 AksEndpoint의 기본 버전인지 여부를 나타냅니다. |
traffic_percentile
|
부모 AksEndpoint의 Webservice로 라우팅할 트래픽의 백분율입니다. |
version_type
|
부모 AksEndpoint의 Webservice에 대한 버전 형식입니다. |
token_auth_enabled
|
Webservice에 토큰 인증을 사용할지 여부를 나타냅니다. |
environment
|
Webservice를 만드는 데 사용된 Environment 개체입니다. |
azureml.core.webservice.AksWebservice.models
|
Webservice에 배포된 모델 목록입니다. |
deployment_status
|
Webservice의 배포 상태입니다. |
namespace
|
Webservice의 AKS 네임스페이스입니다. |
azureml.core.webservice.AksWebservice.swagger_uri
|
Webservice의 swagger 엔드포인트입니다. |
메서드
add_properties |
이 Webservice의 속성 사전에 키 값 쌍을 추가합니다. |
add_tags |
이 Webservice의 태그 사전에 키 값 쌍을 추가합니다. WebserviceException을 발생시킵니다. |
deploy_configuration |
AKS 컴퓨팅 대상에 배포할 구성 개체를 만듭니다. |
get_access_token |
이 Webservice의 인증 토큰을 검색합니다. |
get_token |
사용되지 않습니다.
이 Webservice의 인증 토큰을 검색합니다. |
remove_tags |
이 Webservice의 태그 사전에서 지정된 키를 제거합니다. |
run |
제공된 입력을 사용하여 이 Webservice를 호출합니다. |
serialize |
이 Webservice를 JSON 직렬화 사전으로 변환합니다. |
update |
제공된 속성으로 Webservice를 업데이트합니다. None으로 남아 있는 값은 이 Webservice에서 변경되지 않고 유지됩니다. |
add_properties
이 Webservice의 속성 사전에 키 값 쌍을 추가합니다.
add_properties(properties)
매개 변수
Name | Description |
---|---|
properties
필수
|
추가할 속성의 사전입니다. |
add_tags
이 Webservice의 태그 사전에 키 값 쌍을 추가합니다.
WebserviceException을 발생시킵니다.
add_tags(tags)
매개 변수
Name | Description |
---|---|
tags
필수
|
추가할 태그의 사전입니다. |
예외
형식 | Description |
---|---|
deploy_configuration
AKS 컴퓨팅 대상에 배포할 구성 개체를 만듭니다.
static deploy_configuration(autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, primary_key=None, secondary_key=None, tags=None, properties=None, description=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None, blobfuse_enabled=None)
매개 변수
Name | Description |
---|---|
autoscale_enabled
|
이 Webservice에 자동 스케일링을 사용할지 여부를 나타냅니다. num_replicas가 None이면 기본값은 True입니다. Default value: None
|
autoscale_min_replicas
|
이 Webservice를 자동 스케일링할 때 사용할 최소 컨테이너 수입니다. 기본값은 1입니다. Default value: None
|
autoscale_max_replicas
|
이 Webservice를 자동 스케일링할 때 사용할 최대 컨테이너 수입니다. 기본값은 10입니다. Default value: None
|
autoscale_refresh_seconds
|
자동 스케일러가 이 Webservice를 스케일링하려고 시도하는 빈도입니다. 기본값은 1입니다. Default value: None
|
autoscale_target_utilization
|
자동 스케일러가 이 Webservice에 대해 유지해야 하는 목표 사용률(백분율)입니다. 기본값은 70입니다. Default value: None
|
collect_model_data
|
이 Webservice에 모델 데이터 컬렉션을 사용할지 여부를 나타냅니다. 기본값은 False입니다. Default value: None
|
auth_enabled
|
이 Webservice에 키 인증을 사용할지 여부를 나타냅니다. 기본값은 True입니다. Default value: None
|
cpu_cores
|
이 Webservice에 할당할 CPU 코어 수입니다. 소수도 가능합니다. 기본값은 0.1입니다. Azure Kubernetes Service의 제한이 아닌 Pod 코어 요청에 해당합니다. Default value: None
|
memory_gb
|
이 Webservice에 할당할 메모리 양(GB)입니다. 소수도 가능합니다. 기본값은 0.5입니다. Azure Kubernetes Service의 제한이 아닌 Pod 메모리 요청에 해당합니다. Default value: None
|
enable_app_insights
|
이 Webservice에 Application Insights 로깅을 사용할지 여부를 나타냅니다. 기본값은 False입니다. Default value: None
|
scoring_timeout_ms
|
이 Webservice에 대한 채점 호출을 적용하는 시간 제한입니다. 기본값은 60000입니다. Default value: None
|
replica_max_concurrent_requests
|
이 Webservice에 허용할 복제본당 최대 동시 요청 수입니다. 기본값은 1입니다. Microsoft 기술 지원 또는 Azure Machine Learning 팀의 멤버가 지시하지 않는 한 이 설정을 기본값 1에서 변경하지 마세요. Default value: None
|
max_request_wait_time
|
요청이 큐에 유지되는 최대 시간(밀리초)입니다. 이 시간이 경과하면 503 오류가 반환됩니다. 기본값은 500입니다. Default value: None
|
num_replicas
|
이 Webservice에 할당할 컨테이너 수입니다. 기본값은 없습니다. 이 매개 변수를 설정하지 않으면 기본적으로 자동 크기 조정기가 사용됩니다. Default value: None
|
primary_key
|
이 Webservice에 사용할 기본 인증 키입니다. Default value: None
|
secondary_key
|
이 Webservice에 사용할 보조 인증 키입니다. Default value: None
|
tags
|
이 Webservice에 제공할 키 값 태그의 사전입니다. Default value: None
|
properties
|
이 Webservice에 제공할 키 값 속성의 사전입니다. 배포 후에는 이러한 속성을 변경할 수 없지만, 새 키 값 쌍을 추가할 수 있습니다. Default value: None
|
description
|
이 Webservice에 제공할 설명입니다. Default value: None
|
gpu_cores
|
이 Webservice에 할당할 GPU 코어 수입니다. 기본값은 0입니다. Default value: None
|
period_seconds
|
활동성 프로브를 수행하는 빈도(초)입니다. 기본값은 10초입니다. 최솟값은 1입니다. Default value: None
|
initial_delay_seconds
|
컨테이너가 시작된 후 활동성 프로브가 시작되기 전까지의 시간(초)입니다. 기본값은 310입니다. Default value: None
|
timeout_seconds
|
이 시간(초)이 경과하면 활동성 프로브가 시간 초과됩니다. 기본값은 2초입니다. 최솟값은 1입니다. Default value: None
|
success_threshold
|
활동성 프로브가 실패한 후 성공한 것으로 간주되는 최소 연속 성공 횟수입니다. 기본값은 1입니다. 최솟값은 1입니다. Default value: None
|
failure_threshold
|
Pod가 시작되고 활동성 프로브가 실패하면 Kubernetes에서 포기하기 전에 failureThreshold 시간을 시도합니다. 기본값은 3입니다. 최솟값은 1입니다. Default value: None
|
namespace
|
이 Webservice를 배포할 Kubernetes 네임스페이스입니다. 최대 63개의 소문자 영숫자('a'-'z', '0'-'9') 및 하이픈('-') 문자입니다. 첫 번째 문자와 마지막 문자는 하이픈이면 안 됩니다. Default value: None
|
token_auth_enabled
|
이 Webservice에 토큰 인증을 사용할지 여부를 나타냅니다. 사용하도록 설정하면 사용자는 Azure Active Directory 자격 증명을 사용하여 액세스 토큰을 가져와 이 Webservice에 액세스할 수 있습니다. 기본값은 False입니다. Default value: None
|
compute_target_name
|
배포할 컴퓨팅 대상의 이름입니다. Default value: None
|
cpu_cores_limit
|
이 Webservice에서 사용할 수 있는 최대 CPU 코어 수입니다. 10진수일 수 있습니다. Default value: None
|
memory_gb_limit
|
이 Webservice에서 사용할 수 있는 최대 메모리 양(GB)입니다. 소수도 가능합니다. Default value: None
|
blobfuse_enabled
|
이 Webservice에 모델 다운로드 blobfuse를 사용할지 여부를 나타냅니다. 기본값은 True입니다. Default value: None
|
반환
형식 | Description |
---|---|
AksWebservice를 배포할 때 사용할 구성 개체입니다. |
예외
형식 | Description |
---|---|
get_access_token
이 Webservice의 인증 토큰을 검색합니다.
get_access_token()
반환
형식 | Description |
---|---|
이 Webservice의 인증 토큰을 설명하는 개체입니다. |
예외
형식 | Description |
---|---|
get_token
사용되지 않습니다.
get_access_token
메서드를 대신 사용합니다.
이 Webservice의 인증 토큰을 검색합니다.
get_token()
반환
형식 | Description |
---|---|
이 Webservice의 인증 토큰 및 해당 인증 토큰을 새로 고칠 시기입니다. |
예외
형식 | Description |
---|---|
remove_tags
이 Webservice의 태그 사전에서 지정된 키를 제거합니다.
remove_tags(tags)
매개 변수
Name | Description |
---|---|
tags
필수
|
제거할 키 목록입니다. |
run
제공된 입력을 사용하여 이 Webservice를 호출합니다.
run(input_data)
매개 변수
Name | Description |
---|---|
input_data
필수
|
<xref:varies>
이 입력을 사용하여 Webservice를 호출합니다. |
반환
형식 | Description |
---|---|
Webservice 호출 결과입니다. |
예외
형식 | Description |
---|---|
serialize
update
제공된 속성으로 Webservice를 업데이트합니다.
None으로 남아 있는 값은 이 Webservice에서 변경되지 않고 유지됩니다.
update(image=None, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, tags=None, properties=None, description=None, models=None, inference_config=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, cpu_cores_limit=None, memory_gb_limit=None, **kwargs)
매개 변수
Name | Description |
---|---|
image
|
Webservice에 배포할 새 이미지입니다. Default value: None
|
autoscale_enabled
|
이 Webservice에 자동 크기 조정을 사용할지 여부를 나타냅니다. Default value: None
|
autoscale_min_replicas
|
이 Webservice를 자동 크기 조정할 때 사용할 최소 컨테이너 수입니다. Default value: None
|
autoscale_max_replicas
|
이 Webservice를 자동 크기 조정할 때 사용할 최대 컨테이너 수입니다. Default value: None
|
autoscale_refresh_seconds
|
자동 크기 조정기가 이 Webservice를 스케일링하려고 시도하는 빈도입니다. Default value: None
|
autoscale_target_utilization
|
자동 크기 조정기가 이 Webservice에 대해 유지해야 하는 목표 사용률(백분율)입니다. Default value: None
|
collect_model_data
|
이 Webservice에 모델 데이터 수집을 사용하도록 또는 사용하지 않도록 설정합니다. Default value: None
|
auth_enabled
|
이 Webservice에 인증을 사용할지 여부를 나타냅니다. Default value: None
|
cpu_cores
|
이 Webservice에 할당할 CPU 코어 수입니다. 소수도 가능합니다. Default value: None
|
memory_gb
|
이 Webservice에 할당할 메모리 양(GB)입니다. 소수도 가능합니다. Default value: None
|
enable_app_insights
|
이 Webservice에 Application Insights 로깅을 사용할지 여부를 나타냅니다. Default value: None
|
scoring_timeout_ms
|
이 Webservice에 대한 채점 호출을 적용하는 시간 제한입니다. Default value: None
|
replica_max_concurrent_requests
|
이 Webservice에 허용할 복제본당 최대 동시 요청 수입니다. Default value: None
|
max_request_wait_time
|
요청이 큐에 유지되는 최대 시간(밀리초)입니다. 이 시간이 경과하면 503 오류가 반환됩니다. Default value: None
|
num_replicas
|
이 Webservice에 할당할 컨테이너 수입니다. Default value: None
|
tags
|
이 Webservice에 제공할 키 값 태그의 사전입니다. 기존 태그를 대체합니다. Default value: None
|
properties
|
기존 속성 사전에 추가할 키 값 속성의 사전입니다. Default value: None
|
description
|
이 Webservice에 제공할 설명입니다. Default value: None
|
models
|
업데이트된 서비스를 사용하여 패키징할 모델 개체 목록입니다. Default value: None
|
inference_config
|
필요한 모델 배포 속성을 제공하는 데 사용되는 InferenceConfig 개체입니다. Default value: None
|
gpu_cores
|
이 Webservice에 할당할 GPU 코어 수입니다. Default value: None
|
period_seconds
|
활동성 프로브를 수행하는 빈도(초)입니다. 기본값은 10초입니다. 최솟값은 1입니다. Default value: None
|
initial_delay_seconds
|
컨테이너가 시작된 후 활동성 프로브가 시작되기 전까지의 시간(초)입니다. Default value: None
|
timeout_seconds
|
이 시간(초)이 경과하면 활동성 프로브가 시간 초과됩니다. 기본값은 1초입니다. 최솟값은 1입니다. Default value: None
|
success_threshold
|
활동성 프로브가 실패한 후 성공한 것으로 간주되는 최소 연속 성공 횟수입니다. 기본값은 1입니다. 최솟값은 1입니다. Default value: None
|
failure_threshold
|
Pod가 시작되고 활동성 프로브가 실패하면 Kubernetes에서 포기하기 전에 failureThreshold 시간을 시도합니다. 기본값은 3입니다. 최솟값은 1입니다. Default value: None
|
namespace
|
이 Webservice를 배포할 Kubernetes 네임스페이스입니다. 최대 63개의 소문자 영숫자('a'-'z', '0'-'9') 및 하이픈('-') 문자입니다. 첫 번째 문자와 마지막 문자는 하이픈이면 안 됩니다. Default value: None
|
token_auth_enabled
|
이 Webservice에 토큰 인증을 사용할지 여부를 나타냅니다. 사용하도록 설정하면 사용자는 Azure Active Directory 자격 증명을 사용하여 액세스 토큰을 가져와 이 Webservice에 액세스할 수 있습니다. 기본값은 False입니다. Default value: None
|
cpu_cores_limit
|
이 Webservice에서 사용할 수 있는 최대 CPU 코어 수입니다. 10진수일 수 있습니다. Default value: None
|
memory_gb_limit
|
이 Webservice에서 사용할 수 있는 최대 메모리 양(GB)입니다. 소수도 가능합니다. Default value: None
|
kwargs
필수
|
<xref:varies>
AKS 웹 서비스를 Kubernetes 온라인 엔드포인트 및 배포로 마이그레이션할 수 있도록 지원하는 매개 변수가 포함됩니다. is_migration=True|False, compute_target=. |
예외
형식 | Description |
---|---|