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
必須
str

取得する Webservice オブジェクトの名前。

workspace
必須

取得する Webservice オブジェクトを含むワークスペース オブジェクト。

name
必須
str

取得する 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 としてモデルをデプロイするには、次のようなさまざまな方法があります。

  • ワークスペースに既に登録されているモデルの Modeldeploy メソッド。

  • モデルから既に作成されているイメージの Webservicedeploy_from_image メソッド。

  • ワークスペースに既に登録されているモデルの Webservicedeploy_from_model メソッド。 このメソッドは、イメージを作成します。

  • モデルを登録し、イメージを作成する Webservicedeploy メソッド。

Webservice の使用方法の詳細については、次を参照してください

"変数" セクションには、クラウド Webservice オブジェクトのローカル表現の属性が一覧表示されます。 これらの変数は読み取り専用と見なされます。 値を変更しても、対応するクラウド オブジェクトには反映されません。

変数

名前 説明
auth_enabled

Webservice で認証が有効になっているかどうか。

compute_type
str

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
str

Webservice を作成したユーザー。

error
str

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 キーを再生成します。

key が指定されていないか、'Primary' または 'Secondary' ではない場合は、WebserviceException が発生します。

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
必須
str
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
必須
str

デプロイされたサービスに付ける名前。 ワークスペースに固有で、小文字、数字、またはダッシュのみで構成され、英字で始まり、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
必須
str

デプロイされたサービスに付ける名前。 ワークスペースに固有で、小文字、数字、またはダッシュのみで構成され、英字で始まり、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
必須
str

デプロイされたサービスに付ける名前。 ワークスペースに固有で、小文字、数字、またはダッシュのみで構成され、英字で始まり、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
必須
str

デプロイされたサービスに付ける名前。 ローカル コンピューター上で一意である必要があります。

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()

戻り値

説明
(str, str)

この Webservice の認証キー。

例外

説明

get_logs

この Webservice のログを取得します。

get_logs(num_lines=5000, init=False)

パラメーター

名前 説明
num_lines
int

取得するログ行の最大数。

規定値: 5000
init

init コンテナーのログの取得

規定値: False

戻り値

説明
str

この 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
str

特定の Webservice 種類のみを一覧表示するフィルター。 オプションは ACI または AKS です。

規定値: None
image_name
str

特定のイメージ名でデプロイされた Webservice のみを含めるようにリストをフィルター処理します。

規定値: None
image_id
str

特定のイメージ ID でデプロイされた Webservice のみを含めるようにリストをフィルター処理します。

規定値: None
model_name
str

特定のモデル名でデプロイされた Webservice のみを含めるようにリストをフィルター処理します。

規定値: None
model_id
str

特定のモデル ID でデプロイされた Webservice のみを含めるようにリストをフィルター処理します。

規定値: None
tags

指定されたリストに基づいて、'key' または '[key, value]' でフィルター処理します。 例: ['key', ['key2', 'key2 value']]

規定値: None
properties

指定されたリストに基づいて、'key' または '[key, value]' でフィルター処理します。 例: ['key', ['key2', 'key2 value']]

規定値: None
image_digest
str

特定のイメージ ダイジェストでデプロイされた Webservice のみを含めるようにリストをフィルター処理します。

規定値: None

戻り値

説明

指定されたワークスペース内のフィルター処理された Webservice のリスト。

例外

説明

regen_key

'Primary' キーまたは 'Secondary' キーのいずれかの Webservice キーを再生成します。

key が指定されていないか、'Primary' または 'Secondary' ではない場合は、WebserviceException が発生します。

regen_key(key, set_key=None)

パラメーター

名前 説明
key
必須
str

再生成するキー。 オプションは 'Primary' または 'Secondary' です。

set_key
str

キーの値を手動で指定できるユーザー指定の値

規定値: 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

例外

説明