Webservice クラス
Azure Machine Learning でモデルを Web サービス エンドポイントとしてデプロイするための基本機能を定義します。
Web サービス コンストラクターは、指定されたワークスペースに関連付けられている Web サービス オブジェクトのクラウド表現を取得するために使用されます。 取得した Web サービス オブジェクトの特定の型に対応する子クラスのインスタンスを返します。 Web サービス クラスを使用すると、 Model または Image オブジェクトから機械学習モデルをデプロイできます。
Web サービスの操作の詳細については、「 Azure Machine Learning を使用してモデルをデプロイする」を参照してください。
Web サービス インスタンスを初期化します。
Web サービス コンストラクターは、指定されたワークスペースに関連付けられている Web サービス オブジェクトのクラウド表現を取得します。 取得した Web サービス オブジェクトの特定の型に対応する子クラスのインスタンスが返されます。
コンストラクター
Webservice(workspace, name)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
取得する Web サービス オブジェクトを含むワークスペース オブジェクト。 |
name
必須
|
取得する Web サービス オブジェクトの名前。 |
workspace
必須
|
取得する Web サービス オブジェクトを含むワークスペース オブジェクト。 |
name
必須
|
取得する Web サービス オブジェクトの名前。 |
注釈
次のサンプルは、Web サービスの子クラスのdeploy_configuration
メソッド (この場合はAksWebservice) を使用して構成オブジェクトを作成してから、deploy
クラスの Model メソッドで構成を使用する、推奨されるデプロイ パターンを示しています。
# 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)
次の例では、ワークスペース内の既存の 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)
Web サービスとしてモデルをデプロイするには、次のようなさまざまな方法があります。
deploy
ワークスペースに既に登録されているモデルの Model のメソッド。deploy_from_image
モデルから既に作成されたイメージの Webservice メソッド。deploy_from_model
ワークスペースに既に登録されているモデルの Webservice メソッド。 このメソッドはイメージを作成します。deploy
モデルを登録してイメージを作成する Webserviceのメソッド。
Web サービスの操作については、以下を参照してください。
[ 変数] セクションには、クラウド Web サービス オブジェクトのローカル表現の属性が一覧表示されます。 これらの変数は読み取り専用と見なす必要があります。 値の変更は、対応するクラウド オブジェクトには反映されません。
変数
名前 | 説明 |
---|---|
auth_enabled
|
Web サービスで認証が有効になっているかどうか。 |
compute_type
|
Web サービスがデプロイされるコンピューティングの種類。 |
created_time
|
Web サービスが作成されたとき。 |
azureml.core.Webservice.description
|
Web サービス オブジェクトの説明。 |
azureml.core.Webservice.tags
|
Web サービス オブジェクトのタグのディクショナリ。 |
azureml.core.Webservice.name
|
Web サービスの名前。 |
azureml.core.Webservice.properties
|
Web サービスのキー値プロパティのディクショナリ。 これらのプロパティはデプロイ後に変更できませんが、新しいキーと値のペアを追加できます。 |
created_by
|
Web サービスを作成したユーザー。 |
error
|
Web サービスのデプロイに失敗した場合、失敗した理由のエラー メッセージが含まれます。 |
azureml.core.Webservice.state
|
Web サービスの現在の状態。 |
updated_time
|
Web サービスが最後に更新された時刻。 |
azureml.core.Webservice.workspace
|
この Web サービスを含む Azure Machine Learning ワークスペース。 |
token_auth_enabled
|
Web サービスでトークン認証が有効になっているかどうか。 |
メソッド
check_for_existing_webservice |
Web サービスが存在するかどうかを確認します。 |
delete |
関連付けられているワークスペースからこの Web サービスを削除します。 この関数呼び出しは非同期ではありません。 呼び出しは、リソースが削除されるまで実行されます。 モデル管理サービスからモデルを削除するときに問題が発生した場合は、 WebserviceException が発生します。 |
deploy |
0 個以上の Model オブジェクトから Web サービスをデプロイします。 この関数は、指定されたモデル ファイルを登録し、指定した Workspaceに関連付けられたすべてのイメージをプロセスに作成します。 この関数は、以前に登録されていないモデルのディレクトリをデプロイする場合に使用します。 結果の Web サービスは、推論要求に使用できるリアルタイム エンドポイントです。 詳細については、「 Web サービスとしてデプロイされたモデルを使用する」を参照してください。 |
deploy_from_image |
Image オブジェクトから Web サービスをデプロイします。 モデル用に Image オブジェクトが既に作成されている場合は、この関数を使用します。 結果の Web サービスは、推論要求に使用できるリアルタイム エンドポイントです。 詳細については、「 Web サービスとしてデプロイされたモデルを使用する」を参照してください。 |
deploy_from_model |
0 個以上の Model オブジェクトから Web サービスをデプロイします。 この関数は deployに似ていますが、モデルを登録しません。 モデル オブジェクトが既に登録されている場合は、この関数を使用します。 これにより、指定されたワークスペースに関連付けられたイメージがプロセス内に作成されます。 結果の Web サービスは、推論要求に使用できるリアルタイム エンドポイントです。 詳細については、「 Web サービスとしてデプロイされたモデルを使用する」を参照してください。 |
deploy_local_from_model |
テスト用の LocalWebservice をビルドしてデプロイします。 Docker をインストールして構成する必要があります。 |
deserialize |
Model Management Service 応答 JSON オブジェクトを Web サービス オブジェクトに変換します。 指定されたワークスペースが Web サービスが登録されているワークスペースでない場合は失敗します。 |
get_keys |
この Web サービスの認証キーを取得します。 |
get_logs |
この Web サービスのログを取得します。 |
get_token |
現在のユーザーにスコープを設定して、この Web サービスの認証トークンを取得します。 |
list |
対応する Workspaceに関連付けられている Web サービスを一覧表示します。 返される結果は、パラメーターを使用してフィルター処理できます。 |
regen_key |
Web サービスのいずれかのキー ("プライマリ" キーまたは "セカンダリ" キー) を再生成します。
WebserviceExceptionは、 |
run |
指定された入力でこの Web サービスを呼び出します。 Webserviceの子クラスによって実装される抽象メソッド。 |
serialize |
この Web サービス オブジェクトを JSON シリアル化ディクショナリに変換します。 deserializeを使用して、Web サービス オブジェクトに戻します。 |
update |
Web サービス パラメーターを更新します。 これは、 Webserviceの子クラスによって実装される抽象メソッドです。 更新できるパラメーターは、Web サービスの子の種類によって異なります。 たとえば、Azure Container Instances Web サービスについては、特定のパラメーターの update を参照してください。 |
update_deployment_state |
メモリ内オブジェクトの現在の状態を更新します。 対応するクラウド オブジェクトの現在の状態に基づいて、オブジェクトのプロパティのインプレース更新を実行します。 主に、作成状態の手動ポーリングに役立ちます。 |
wait_for_deployment |
実行中の Web サービスのデプロイを自動的にポーリングします。 Web サービスが終了状態になるまで待ちます。 正常に終了していない状態に達した場合、または指定されたタイムアウトを超えた場合、 WebserviceException をスローします。 |
check_for_existing_webservice
Web サービスが存在するかどうかを確認します。
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
|
name
必須
|
|
overwrite
|
規定値: False
|
request_func
|
<xref:function>
サービス名が存在するかどうかを確認するサービスを要求する関数 規定値: None
|
check_func
|
<xref:function>
request_funcの応答内容を確認する関数 規定値: None
|
例外
型 | 説明 |
---|---|
delete
関連付けられているワークスペースからこの Web サービスを削除します。
この関数呼び出しは非同期ではありません。 呼び出しは、リソースが削除されるまで実行されます。 モデル管理サービスからモデルを削除するときに問題が発生した場合は、 WebserviceException が発生します。
delete()
例外
型 | 説明 |
---|---|
deploy
0 個以上の Model オブジェクトから Web サービスをデプロイします。
この関数は、指定されたモデル ファイルを登録し、指定した Workspaceに関連付けられたすべてのイメージをプロセスに作成します。 この関数は、以前に登録されていないモデルのディレクトリをデプロイする場合に使用します。
結果の Web サービスは、推論要求に使用できるリアルタイム エンドポイントです。 詳細については、「 Web サービスとしてデプロイされたモデルを使用する」を参照してください。
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
Web サービスを関連付ける Workspace オブジェクト。 |
name
必須
|
デプロイされたサービスに付ける名前。 ワークスペースに固有であり、小文字、数字、またはダッシュのみで構成され、文字で始まり、3 ~ 32 文字の長さである必要があります。 |
model_paths
必須
|
モデル ファイルまたはフォルダーへのディスク上のパスの一覧。 空のリストを指定できます。 |
image_config
必須
|
必要な Image プロパティを決定するために使用される ImageConfig オブジェクト。 |
deployment_config
|
Web サービスの構成に使用される WebserviceDeploymentConfiguration。 指定されていない場合は、目的のターゲットに基づいて空の構成オブジェクトが使用されます。 規定値: None
|
deployment_target
|
Web サービスをデプロイする ComputeTarget 。 Azure Container Instances には ComputeTargetが関連付けられていないので、このパラメーターは None のままにして Azure Container Instances にデプロイします。 規定値: None
|
overwrite
|
サービスに名前が既に存在する場合は、既存のサービスを上書きします。 規定値: False
|
戻り値
型 | 説明 |
---|---|
デプロイされた Web サービスに対応する Web サービス オブジェクト。 |
例外
型 | 説明 |
---|---|
deploy_from_image
Image オブジェクトから Web サービスをデプロイします。
モデル用に Image オブジェクトが既に作成されている場合は、この関数を使用します。
結果の Web サービスは、推論要求に使用できるリアルタイム エンドポイントです。 詳細については、「 Web サービスとしてデプロイされたモデルを使用する」を参照してください。
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
Web サービスを関連付ける Workspace オブジェクト。 |
name
必須
|
デプロイされたサービスに付ける名前。 ワークスペースに固有であり、小文字、数字、またはダッシュのみで構成され、文字で始まり、3 ~ 32 文字の長さである必要があります。 |
image
必須
|
デプロイする Image オブジェクト。 |
deployment_config
|
Web サービスの構成に使用される WebserviceDeploymentConfiguration。 指定されていない場合は、目的のターゲットに基づいて空の構成オブジェクトが使用されます。 規定値: None
|
deployment_target
|
Web サービスをデプロイする ComputeTarget 。 Azure Container Instances には ComputeTargetが関連付けられていないので、このパラメーターは None のままにして Azure Container Instances にデプロイします。 規定値: None
|
overwrite
|
サービスに名前が既に存在する場合は、既存のサービスを上書きします。 規定値: False
|
戻り値
型 | 説明 |
---|---|
デプロイされた Web サービスに対応する Web サービス オブジェクト。 |
例外
型 | 説明 |
---|---|
deploy_from_model
0 個以上の Model オブジェクトから Web サービスをデプロイします。
この関数は deployに似ていますが、モデルを登録しません。 モデル オブジェクトが既に登録されている場合は、この関数を使用します。 これにより、指定されたワークスペースに関連付けられたイメージがプロセス内に作成されます。
結果の Web サービスは、推論要求に使用できるリアルタイム エンドポイントです。 詳細については、「 Web サービスとしてデプロイされたモデルを使用する」を参照してください。
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
Web サービスを関連付ける Workspace オブジェクト。 |
name
必須
|
デプロイされたサービスに付ける名前。 ワークスペースに固有であり、小文字、数字、またはダッシュのみで構成され、文字で始まり、3 ~ 32 文字の長さである必要があります。 |
models
必須
|
モデル オブジェクトの一覧。 空のリストを指定できます。 |
image_config
必須
|
必要な Image プロパティを決定するために使用される ImageConfig オブジェクト。 |
deployment_config
|
Web サービスの構成に使用される WebserviceDeploymentConfiguration。 指定されていない場合は、目的のターゲットに基づいて空の構成オブジェクトが使用されます。 規定値: None
|
deployment_target
|
Web サービスをデプロイする ComputeTarget 。 ACI には ComputeTargetが関連付けられていないので、このパラメーターは None のままにして ACI にデプロイします。 規定値: None
|
overwrite
|
サービスに名前が既に存在する場合は、既存のサービスを上書きします。 規定値: False
|
戻り値
型 | 説明 |
---|---|
デプロイされた Web サービスに対応する Web サービス オブジェクト。 |
例外
型 | 説明 |
---|---|
deploy_local_from_model
テスト用の LocalWebservice をビルドしてデプロイします。
Docker をインストールして構成する必要があります。
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
Web サービスを関連付ける Workspace オブジェクト。 |
name
必須
|
デプロイされたサービスに付ける名前。 ローカル コンピューターで一意である必要があります。 |
models
必須
|
モデル オブジェクトの一覧。 空のリストを指定できます。 |
image_config
必須
|
必要なサービス イメージのプロパティを決定するために使用される ImageConfig オブジェクト。 |
deployment_config
|
Web サービスの構成に使用される LocalWebserviceDeploymentConfiguration。 指定されていない場合は、空の構成オブジェクトが使用されます。 規定値: None
|
wait
|
LocalWebservice の Docker コンテナーが正常と報告されるのを待つかどうか。 コンテナーがクラッシュした場合に例外をスローします。 既定値は False です。 規定値: False
|
戻り値
型 | 説明 |
---|---|
例外
型 | 説明 |
---|---|
deserialize
Model Management Service 応答 JSON オブジェクトを Web サービス オブジェクトに変換します。
指定されたワークスペースが Web サービスが登録されているワークスペースでない場合は失敗します。
deserialize(workspace, webservice_payload)
パラメーター
名前 | 説明 |
---|---|
cls
必須
|
これがクラス メソッドであることを示します。 |
workspace
必須
|
Web サービスが登録されているワークスペース オブジェクト。 |
webservice_payload
必須
|
Web サービス オブジェクトに変換する JSON オブジェクト。 |
戻り値
型 | 説明 |
---|---|
指定された JSON オブジェクトの Web サービス表現。 |
get_keys
この Web サービスの認証キーを取得します。
get_keys()
戻り値
型 | 説明 |
---|---|
この Web サービスの認証キー。 |
例外
型 | 説明 |
---|---|
get_logs
この Web サービスのログを取得します。
get_logs(num_lines=5000, init=False)
パラメーター
名前 | 説明 |
---|---|
num_lines
|
取得するログ行の最大数。 規定値: 5000
|
init
|
init コンテナーのログを取得する 規定値: False
|
戻り値
型 | 説明 |
---|---|
この Web サービスのログ。 |
例外
型 | 説明 |
---|---|
get_token
現在のユーザーにスコープを設定して、この Web サービスの認証トークンを取得します。
get_token()
戻り値
型 | 説明 |
---|---|
この Web サービスの認証トークンと、その後に更新する必要があるタイミング。 |
例外
型 | 説明 |
---|---|
list
対応する Workspaceに関連付けられている Web サービスを一覧表示します。
返される結果は、パラメーターを使用してフィルター処理できます。
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)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
Web サービスを一覧表示する Workspace オブジェクト。 |
compute_type
|
特定の Web サービスの種類のみを一覧表示するフィルター。 オプションは 'ACI'、'AKS' です。 規定値: None
|
image_name
|
特定のイメージ名でデプロイされた Web サービスのみを含むように一覧をフィルター処理します。 規定値: None
|
image_id
|
特定のイメージ ID でデプロイされた Web サービスのみを含むように一覧をフィルター処理します。 規定値: None
|
model_name
|
特定のモデル名でデプロイされた Web サービスのみを含むように一覧をフィルター処理します。 規定値: None
|
model_id
|
特定のモデル ID でデプロイされた Web サービスのみを含むように一覧をフィルター処理します。 規定値: None
|
tags
|
指定されたリストに基づいて、'key' または '[key, value]' でフィルター処理します。 例: ['key', ['key2', 'key2 value']] 規定値: None
|
properties
|
指定されたリストに基づいて、'key' または '[key, value]' でフィルター処理します。 例: ['key', ['key2', 'key2 value']] 規定値: None
|
image_digest
|
特定のイメージ ダイジェストでデプロイされた Web サービスのみを含むように一覧をフィルター処理します。 規定値: None
|
戻り値
型 | 説明 |
---|---|
指定されたワークスペース内の Web サービスのフィルター処理された一覧。 |
例外
型 | 説明 |
---|---|
regen_key
Web サービスのいずれかのキー ("プライマリ" キーまたは "セカンダリ" キー) を再生成します。
WebserviceExceptionは、key
が指定されていない場合、または 'Primary' または 'Secondary' でない場合に発生します。
regen_key(key, set_key=None)
パラメーター
名前 | 説明 |
---|---|
key
必須
|
再生成するキー。 オプションは "プライマリ" または "セカンダリ" です。 |
set_key
|
キーの値を手動で指定できるユーザー指定の値 規定値: None
|
例外
型 | 説明 |
---|---|
run
指定された入力でこの Web サービスを呼び出します。
Webserviceの子クラスによって実装される抽象メソッド。
abstract run(input)
パラメーター
名前 | 説明 |
---|---|
input
必須
|
<xref:varies>
Web サービスを呼び出す入力データ。 これは、機械学習モデルが予測を実行するための入力として期待するデータです。 |
戻り値
型 | 説明 |
---|---|
Web サービスを呼び出した結果。 これにより、機械学習モデルから実行される予測が返されます。 |
例外
型 | 説明 |
---|---|
serialize
この Web サービス オブジェクトを JSON シリアル化ディクショナリに変換します。
deserializeを使用して、Web サービス オブジェクトに戻します。
serialize()
戻り値
型 | 説明 |
---|---|
この Web サービスの JSON 表記。 |
update
Web サービス パラメーターを更新します。
これは、 Webserviceの子クラスによって実装される抽象メソッドです。 更新できるパラメーターは、Web サービスの子の種類によって異なります。 たとえば、Azure Container Instances Web サービスについては、特定のパラメーターの update を参照してください。
abstract update(*args)
パラメーター
名前 | 説明 |
---|---|
args
必須
|
<xref:varies>
更新する値。 |
例外
型 | 説明 |
---|---|
update_deployment_state
メモリ内オブジェクトの現在の状態を更新します。
対応するクラウド オブジェクトの現在の状態に基づいて、オブジェクトのプロパティのインプレース更新を実行します。 主に、作成状態の手動ポーリングに役立ちます。
update_deployment_state()
wait_for_deployment
実行中の Web サービスのデプロイを自動的にポーリングします。
Web サービスが終了状態になるまで待ちます。 正常に終了していない状態に達した場合、または指定されたタイムアウトを超えた場合、 WebserviceException をスローします。
wait_for_deployment(show_output=False, timeout_sec=None)
パラメーター
名前 | 説明 |
---|---|
show_output
|
より詳細な出力を出力するかどうかを示します。 規定値: False
|
timeout_sec
|
デプロイが指定されたタイムアウトを超えた場合は、例外を発生させます。 規定値: None
|
例外
型 | 説明 |
---|---|