tensorflow ::サービング:: LoaderHarness

#include <loader_harness.h>

LoaderHarnessはウィジェットですマネージャにへと話に保持するために使用するローダー、それはそれを所有しています。

概要

そのサービス提供可能なように全体の状態を追跡Managerは遷移がどのようなタイミングで行うためにどの状態かを決定することができます。

マネージャーの実装では、ハーネスごとに状態を追加することもできます。たとえば、マネージャーはACLまたはライフサイクルメタデータをここに配置できます。所有権はハーネスによって維持されます。

このクラスはスレッドセーフです。

コンストラクタとデストラクタ

LoaderHarness (const ServableId & id, std::unique_ptr< Loader > loader, const Options & options)
LoaderHarness (const ServableId & id, std::unique_ptr< Loader > loader, std::unique_ptr< T > additional_state, const Options & options)
マネージャーが必要とする追加の状態を持つハーネスを作成するコンストラクター。
~LoaderHarness ()
現在の状態がkNew、kDisabled、またはkErrorのいずれかである場合に破棄することは合法です。

パブリックタイプ

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
列挙型
観点から、基本的なサービス提供可能な状態、 LoaderHarnessとそれとの間の通信を目的としたマネージャー

公の行事

DoneQuiescing ()
Status
状態をkQuiescedに遷移します。これは、フロントエンドで使用可能なこのservableへのライブハンドルがこれ以上ないことを意味します。
Error (const Status & status)
void
状態をkErrorに遷移させ、「options_.error_callback」を呼び出します。
Load ()
Status
kLoadingに移行し、サービス提供可能なの代表者が::負荷()、その後、いずれかkReadyへの遷移であれば負荷は() 、またはkError(と呼び出す「options_に成功しました。
LoadApproved ()
Status
kLoadApprovedへの移行。
LoadRequested ()
Status
現在の状態がkNewの場合、ハーネスの状態をkLoadRequestedに遷移します。
StartQuiescing ()
Status
状態をkQuiescingに遷移します。これは、このservableにこれ以上ハンドルを与えたくないことを意味します。
Unload ()
Status
その後、kUnloadingに移行し、サービス提供可能なに委譲::アンロード()、kDisabledに遷移アンロード()が実行されます。
UnloadRequested ()
Status
現在の状態がkReadyの場合、ハーネスの状態をkUnloadRequestedに遷移します。
additional_state ()
T *
追加の状態を取得します。
cancel_load_retry ()
bool
id () const
ServableId
基になるServableの識別子を返します。
loader () const
ラップされたローダーへのポインターを返します。
loader_state_snapshot ()
ServableStateSnapshot< T >
基になるServableの現在の全体的な状態のスナップショットを返します。
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
サーバブルのロードの再試行をキャンセルします。
state ()
基になるServableの現在の状態を返します。
status ()
Status
このサーバブルに何か問題があったかどうか。

パブリック静的関数

StateDebugString ( State state)
string

構造体

tensorflow ::サービス提供:: LoaderHarness ::オプション

オプションを設定するにはLoaderHarnessを

パブリックタイプ

 State

観点から、基本的なサービス提供可能な状態、 LoaderHarnessとそれとの間の通信を目的としたマネージャー

servable_state.hのセマンティックservable状態と同等ではありません。

有効な遷移:kNew> kLoading> kReady> kQuiescing> kQuiesced> kUnloading> kDisabledおよびany_state> kError。

プロパティ
kDisabled

'ローダー_->アンロード() '完了しました。

kError

エラーがいずれかの「ローダー_->の間に、発生したロード()ハーネスの」または外(とへの呼び出しを介してハーネスに報告されたエラー() )。

kLoadApproved

サーバブルはロードが承認されています。

そのためのリソースが確保されています。

kLoadRequested

マネージャーは、このservableをロードするように要求されました。

kLoading

「ローダー_->ロード() 」と呼ばれています。

kNew

初期状態。

kQuiesced

servableは提供できなくなりました。

kQuiescing

サーバブルはサービングできなくなります。

kReady

'ローダー_->ロード() '成功しました。

kUnloadRequested

マネージャーは、このサーバブルをアンロードするように要求されました。

kUnloading

「ローダー_->アンロード() 」と呼ばれています。

公の行事

DoneQuiescing

Status DoneQuiescing()

状態をkQuiescedに遷移します。これは、フロントエンドで使用可能なこのservableへのライブハンドルがこれ以上ないことを意味します。

この時点で、このオブジェクトをアンロードできます。

必要条件:呼び出されたときの状態はkQuiescingです。それ以外の場合、DCHECK-失敗し、状態kErrorに遷移し、「options_.error_callback」を呼び出します。

エラー

void Error(
  const Status & status
)

状態をkErrorに遷移させ、「options_.error_callback」を呼び出します。

ロード

Status Load()

kLoadingに移行し、サービス提供可能なの代表者が::負荷()、その後、いずれかkReadyへの遷移であれば負荷は() 、またはkError(と呼び出す「options_に成功しました。

error_callback ')場合ロード()は失敗します。この呼び出しには時間がかかる場合があります。

このクラスの構築中に設定されたオプションに従って、Servable :: Load()を再試行します。 1. max_num_load_retriesに達した場合、または2. cancel_load()がtrueに設定されている場合は、再試行を停止してあきらめます。

必要条件:呼び出されたときの状態はkLoadApprovedです。それ以外の場合、DCHECK-失敗し、状態kErrorに遷移し、「options_.error_callback」を呼び出します。

LoadApproved

Status LoadApproved()

kLoadApprovedへの移行。

必要条件:呼び出されると、状態はkLoadRequestedになります。それ以外の場合、DCHECK-失敗し、状態kErrorに遷移し、「options_.error_callback」を呼び出します。

LoadRequested

Status LoadRequested()

現在の状態がkNewの場合、ハーネスの状態をkLoadRequestedに遷移します。

この方法は多くても1つのことを確実にするために使用することができるように、テスト・アンド・変更は、トランザクション行われる負荷()リクエストを進めることができます。

LoaderHarness

 LoaderHarness(
  const ServableId & id,
  std::unique_ptr< Loader > loader,
  const Options & options
)

LoaderHarness

 LoaderHarness(
  const ServableId & id,
  std::unique_ptr< Loader > loader,
  std::unique_ptr< T > additional_state,
  const Options & options
)

マネージャーが必要とする追加の状態を持つハーネスを作成するコンストラクター。

StartQuiescing

Status StartQuiescing()

状態をkQuiescingに遷移します。これは、このservableにこれ以上ハンドルを与えたくないことを意味します。

必要条件:呼び出されたときの状態はkUnloadRequestedです。それ以外の場合、DCHECK-失敗し、状態kErrorに遷移し、「options_.error_callback」を呼び出します。

アンロード

Status Unload()

その後、kUnloadingに移行し、サービス提供可能なに委譲::アンロード()、kDisabledに遷移アンロード()が実行されます。

必要条件:呼び出されると、状態はkQuiescedになります。それ以外の場合、DCHECK-失敗し、状態kErrorに遷移し、「options_.error_callback」を呼び出します。

UnloadRequested

Status UnloadRequested()

現在の状態がkReadyの場合、ハーネスの状態をkUnloadRequestedに遷移します。

この方法は多くても1つのことを確実にするために使用することができるように、テスト・アンド・変更は、トランザクション行われる負荷()リクエストを進めることができます。

additional_state

T * additional_state()

追加の状態を取得します。

タイプが一致しない場合、またはタイプが設定されていない場合はnullptrを返します。

cancel_load_retry

bool cancel_load_retry()

id

ServableId id() const 

基になるServableの識別子を返します。

ローダ

Loader * loader() const 

ラップされたローダーへのポインターを返します。

所有権はこのクラスに残ります。

loader_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

基になるServableの現在の全体的な状態のスナップショットを返します。

loader_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

サーバブルのロードの再試行をキャンセルします。

これはベストエフォートであり、先取りしないロード()すでに、唯一の後続の呼び出しが起きています。

再試行がキャンセルされた場合は、サービス提供可能な、最後に依存状態になっ負荷() 、それに呼ばれます。最後の場合には負荷が()成功した、それは他のkErrorで、状態kReadyになります。

State state()

基になるServableの現在の状態を返します。

状態

Status status()

このサーバブルに何か問題があったかどうか。

状態がkErrorの場合、これはOKではありません。 OKでない場合は、エラーがで発生したものになる可能性がソースまたはSourceAdapterで、ローダーでは、マネージャーの別の場所、または。発生源に関係なく、servableに関連するすべてのエラーがここに報告されます。

〜LoaderHarness

 ~LoaderHarness()

現在の状態がkNew、kDisabled、またはkErrorのいずれかである場合に破棄することは合法です。

チェック-違反した場合は失敗します。

パブリック静的関数

StateDebugString

string StateDebugString(
  State state
)