Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tensorflow :: porcja:: LoaderHarness

#include <loader_harness.h>

LoaderHarness jest widget z Menedżera zastosowań trzymać się i rozmowa do ładowarki , gdy to jest jej właścicielem.

Podsumowanie

Śledzi ogólny stan obsługiwanego elementu, dzięki czemu menedżer może określić, które przejścia stanu mają być wykonywane w jakim czasie.

Implementacja menedżera może również dodać dodatkowy stan do każdej wiązki. Na przykład menedżer może umieścić tutaj ACL lub metadane dotyczące cyklu życia. Właściciel jest utrzymywany przez uprząż.

Ta klasa jest bezpieczna dla wątków.

Konstruktorzy i niszczyciele

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)
Konstruktor do stworzenia uprzęży z dodatkowym stanem, którego potrzebuje menedżer.
~LoaderHarness ()
Legalny do zniszczenia, jeśli aktualny stan to kNew, kDisabled lub kError.

Typy publiczne

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
enum
Stan bazowego udostępniania, z punktu widzenia LoaderHarness i do celów komunikacji między nim a Managerem .

Funkcje publiczne

DoneQuiescing ()
Status
Przenosi stan do kQuiesced, co oznacza, że ​​nie ma już aktywnych dojść do tego obsługiwanego elementu dostępnego w interfejsie użytkownika.
Error (const Status & status)
void
Przenosi stan do kError i wywołuje 'options_.error_callback'.
Load ()
Status
Przechodzi do kLoading, deleguje do Servable :: Load (), a następnie przechodzi albo do kReady, jeśli Load () powiedzie się, albo do kError (i wywołuje 'options_.
LoadApproved ()
Status
Przejścia do kLoadApproved.
LoadRequested ()
Status
Zmienia stan wiązki przewodów na kLoadRequested, jeśli jej aktualny stan to kNew.
StartQuiescing ()
Status
Przechodzi stan do kQuiescing, co oznacza, że ​​nie chcielibyśmy udostępniać więcej dojść do tego elementu obsługującego.
Unload ()
Status
Przejście do kUnloading, delegowanie do Servable :: Unload (), a następnie przejście do kDisabled po zakończeniu Unload () .
UnloadRequested ()
Status
Zmienia stan wiązki przewodów na kUnloadRequested, jeśli jej aktualny stan to kReady.
additional_state ()
T *
Pobiera dodatkowy stan.
cancel_load_retry ()
bool
id () const
ServableId
Zwraca identyfikator bazowego Servable.
loader () const
Zwraca wskaźnik do opakowanego modułu ładującego.
loader_state_snapshot ()
ServableStateSnapshot< T >
Zwraca bieżący ogólny obraz stanu bazowego Serwowanego elementu.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
Anuluje ponawianie próby ładowania usługi.
state ()
Zwraca bieżący stan elementu, który można udostępniać.
status ()
Status
Czy coś poszło nie tak z tym serwerem.

Publiczne funkcje statyczne

StateDebugString ( State state)
string

Struktury

tensorflow :: Serving :: LoaderHarness :: Options

Opcje konfigurowania LoaderHarness .

Typy publiczne

Stan

 State

Stan bazowego udostępniania, z punktu widzenia LoaderHarness i do celów komunikacji między nim a Managerem .

Nie jest to odpowiednik semantycznych stanów obsługiwanych w servable_state.h.

Prawidłowe przejścia: kNew> kLoading> kReady> kQuiescing> kQuiesced> kUnloading> kDisabled oraz: any_state> kError.

Nieruchomości
kDisabled

'loader _-> Unload () ' zakończyło się.

kError

Wystąpił błąd podczas operacji „loader _-> Load () ” lub poza wiązką przewodów (i został zgłoszony do uprzęży przez wywołanie Error () ).

kLoadApproved

Serwisowanie zostało zatwierdzone do załadunku, np

środki zostały na to zarezerwowane.

kLoadRequested

Menedżer został poproszony o załadowanie tego udostępniania.

kLoading

Został wywołany 'loader _-> Load () '.

kNew

Stan początkowy.

kQuiesced

Uniemożliwiono wyświetlanie reklam.

kQuiescing

Plik do wyświetlania będzie niedostępny do wyświetlania.

kReady

„loader _-> Load () ” powiodło się.

kUnloadRequested

Menedżer został poproszony o zwolnienie tego udostępniania.

kUnloading

Został wywołany 'loader _-> Unload () '.

Funkcje publiczne

DoneQuiescing

Status DoneQuiescing()

Przenosi stan do kQuiesced, co oznacza, że ​​nie ma już aktywnych dojść do tego obsługiwanego elementu dostępnego w interfejsie użytkownika.

W tym momencie możemy rozładować ten obiekt.

WYMAGANIA: Stan kQuiescing po wywołaniu. W przeciwnym razie DCHECK-zawiedzie, przechodzi do stanu kError i wywołuje 'options_.error_callback'.

Błąd

void Error(
  const Status & status
)

Przenosi stan do kError i wywołuje 'options_.error_callback'.

Załaduj

Status Load()

Przechodzi do kLoading, deleguje do Servable :: Load (), a następnie przechodzi albo do kReady, jeśli Load () powiedzie się, albo do kError (i wywołuje 'options_.

error_callback '), jeśli Load () nie powiedzie się. To połączenie może zająć dużo czasu.

Ponawiamy metodę Servable :: Load () zgodnie z opcjami ustawionymi podczas konstruowania tej klasy. Przestajemy ponawiać próby i poddajemy się, jeśli 1. osiągnęliśmy max_num_load_retries lub 2. jeśli cancel_load () ma wartość true.

WYMAGANIA: stan to kLoadApproved, gdy zostanie wywołany. W przeciwnym razie DCHECK zawiedzie, przechodzi do stanu kError i wywołuje 'options_.error_callback'.

LoadApproved

Status LoadApproved()

Przejścia do kLoadApproved.

WYMAGANIA: Stan jest kLoadRequested po wywołaniu. W przeciwnym razie DCHECK zawiedzie, przechodzi do stanu kError i wywołuje 'options_.error_callback'.

LoadRequested

Status LoadRequested()

Zmienia stan wiązki przewodów na kLoadRequested, jeśli jej aktualny stan to kNew.

Test i zmiana jest wykonywana transakcyjnie, więc ta metoda może służyć do zapewnienia, że ​​co najwyżej jedno żądanie Load () może być kontynuowane.

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
)

Konstruktor do stworzenia uprzęży z dodatkowym stanem, którego potrzebuje menedżer.

StartQuiescing

Status StartQuiescing()

Przechodzi do stanu kQuiescing, co oznacza, że ​​nie chcielibyśmy udostępniać więcej dojść do tego obsługiwanego elementu.

WYMAGANIA: stan to kUnloadRequested po wywołaniu. W przeciwnym razie DCHECK-zawiedzie, przechodzi do stanu kError i wywołuje 'options_.error_callback'.

Rozładować

Status Unload()

Przejście do kUnloading, delegowanie do Servable :: Unload (), a następnie przejście do kDisabled po zakończeniu Unload () .

WYMAGANIA: Stan jest kQuiesced po wywołaniu. W przeciwnym razie DCHECK zawiedzie, przechodzi do stanu kError i wywołuje 'options_.error_callback'.

UnloadRequested

Status UnloadRequested()

Zmienia stan wiązki przewodów na kUnloadRequested, jeśli jej aktualny stan to kReady.

Test i zmiana jest wykonywana transakcyjnie, więc ta metoda może służyć do zapewnienia, że ​​co najwyżej jedno żądanie Load () może być kontynuowane.

dodatkowy stan

T * additional_state()

Pobiera dodatkowy stan.

Zwraca nullptr, jeśli typ jest niezgodny lub nie został ustawiony.

cancel_load_retry

bool cancel_load_retry()

ID

ServableId id() const 

Zwraca identyfikator bazowego Servable.

ładowarka

Loader * loader() const 

Zwraca wskaźnik do opakowanego modułu ładującego.

Własność pozostaje w tej klasie.

loader_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

Zwraca bieżący ogólny obraz stanu bazowego Serwowanego elementu.

loader_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

Anuluje ponawianie próby ładowania usługi.

Jest to najlepsze rozwiązanie i nie powoduje wywłaszczenia metody Load (), która już się dzieje, a jedynie kolejne wywołania.

Jeśli ponowne próby zostaną anulowane, obsługiwany element przechodzi w stan zależny od ostatniego wywołania metody Load () . Jeśli ostatnie Load () zakończyło się pomyślnie, będzie w stanie kReady, w przeciwnym razie w kError.

stan

State state()

Zwraca bieżący stan elementu, który można udostępniać.

status

Status status()

Czy coś poszło nie tak z tym serwerem.

Jeśli stan to kError, to nie będzie OK. Jeśli nie jest OK, błąd może być coś, co miało miejsce w Źródło lub SourceAdapter w Loader , w Menedżerze , czy gdzie indziej. W tym miejscu są zgłaszane wszystkie błędy związane z możliwością wyświetlania, niezależnie od ich pochodzenia.

~ LoaderHarness

 ~LoaderHarness()

Legalny do zniszczenia, jeśli aktualny stan to kNew, kDisabled lub kError.

Sprawdzanie kończy się niepowodzeniem, jeśli zostało naruszone

Publiczne funkcje statyczne

StateDebugString

string StateDebugString(
  State state
)