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