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 { | 列挙型 観点から、基本的なサービス提供可能な状態、 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 * ラップされたローダーへのポインターを返します。 |
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_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 )
状態
Status status()
このサーバブルに何か問題があったかどうか。
状態がkErrorの場合、これはOKではありません。 OKでない場合は、エラーがで発生したものになる可能性がソースまたはSourceAdapterで、ローダーでは、マネージャーの別の場所、または。発生源に関係なく、servableに関連するすべてのエラーがここに報告されます。
〜LoaderHarness
~LoaderHarness()
現在の状態がkNew、kDisabled、またはkErrorのいずれかである場合に破棄することは合法です。
チェック-違反した場合は失敗します。
パブリック静的関数
StateDebugString
string StateDebugString( State state )