tensorflow :: portion:: ChargeurHarnais

#include <loader_harness.h>

LoaderHarness est un widget le gestionnaire utilise pour tenir et parler à un chargeur alors qu'il est propriétaire.

Résumé

Il suit l'état général d'un tel diffusable que directeur peut déterminer les transitions entre les états à faire à quel moment.

Une implémentation de gestionnaire peut également ajouter un état supplémentaire avec chaque harnais. Par exemple, un responsable peut placer ici des métadonnées ACL ou de cycle de vie. La propriété est maintenue par le harnais.

Cette classe est thread-safe.

Constructeurs et destructeurs

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)
Constructeur pour créer un harnais avec un état supplémentaire, dont un gestionnaire a besoin.
~LoaderHarness ()
Légal pour détruire si l'état actuel est l'un des kNew, kDisabled ou kError.

Types publics

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
énumérer
État de la diffusable sous - jacente, du point de vue de la LoaderHarness et aux fins de la communication entre lui et un directeur .

Fonctions publiques

DoneQuiescing ()
Status
Fait passer l'état à kQuiesced, ce qui signifie qu'il n'y a plus de descripteurs dynamiques pour ce serveur disponible dans le frontend.
Error (const Status & status)
void
Fait passer l'état à kError et appelle 'options_.error_callback'.
Load ()
Status
Transitions à kLoading, les délégués à diffusables :: Load (), puis des transitions soit à kReady si Load () réussit, ou à kError (et la options_ de invoque.
LoadApproved ()
Status
Transitions vers kLoadApproved.
LoadRequested ()
Status
Fait passer l'état du harnais à kLoadRequested si son état actuel est kNew.
StartQuiescing ()
Status
Fait passer l'état à kQuiescing, ce qui signifie que nous aimerions ne plus donner de descripteurs à ce serveur.
Unload ()
Status
Transitions à kUnloading, les délégués à diffusables :: Unload (), puis la transition vers kDisabled quand Unload () est fait.
UnloadRequested ()
Status
Fait passer l'état du harnais à kUnloadRequested si son état actuel est kReady.
additional_state ()
T *
Obtient l'état supplémentaire.
cancel_load_retry ()
bool
id () const
ServableId
Renvoie l'identifiant du Servable sous-jacent.
loader () const
Renvoie un pointeur vers le chargeur encapsulé.
loader_state_snapshot ()
ServableStateSnapshot< T >
Renvoie l'instantané de l'état global actuel du Servable sous-jacent.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
Annule la nouvelle tentative de chargement du serveur.
state ()
Renvoie l'état actuel du Servable sous-jacent.
status ()
Status
Si quelque chose s'est mal passé avec cette servable.

Fonctions statiques publiques

StateDebugString ( State state)
string

Structures

tensorflow :: :: service LoaderHarness :: options

Options pour configurer un LoaderHarness .

Types publics

État

 State

État de la diffusable sous - jacente, du point de vue de la LoaderHarness et aux fins de la communication entre lui et un directeur .

Non équivalent aux états sémantiques servables dans servable_state.h.

Transitions valides : kNew>kLoading>kReady>kQuiescing>kQuiesced>kUnloading>kDisabled ainsi que : any_state>kError.

Propriétés
kDisabled

'loader _-> Unload () ' est terminé.

kError

Une erreur a été commise, soit au cours de « loader _-> Load () » ou à l' extérieur du faisceau (et a été rapporté au harnais par l' intermédiaire d' un appel à l' erreur () ).

kLoadApproved

La servante a été approuvée pour le chargement, par ex.

des ressources lui ont été réservées.

kLoadRequested

Le gestionnaire a été invité à charger ce serveur.

kLoading

'chargeur _-> Load () ' a été appelé.

kNew

Etat initial.

kQuiesced

Le service a été rendu indisponible pour le service.

kQuiescing

Le service va être rendu indisponible pour le service.

kReady

'chargeur _-> Load () ' a réussi.

kUnloadRequested

Le gestionnaire a été invité à décharger ce serveur.

kUnloading

'chargeur _-> Unload () ' a été appelé.

Fonctions publiques

TerminéQuiescing

Status DoneQuiescing()

Fait passer l'état à kQuiesced, ce qui signifie qu'il n'y a plus de descripteurs dynamiques pour ce serveur disponible dans le frontend.

À ce stade, nous pouvons décharger cet objet.

REQUIS : l'état est kQuiescing lorsqu'il est appelé. Sinon, DCHECK échoue, passe à l'état kError et appelle 'options_.error_callback'.

Erreur

void Error(
  const Status & status
)

Fait passer l'état à kError et appelle 'options_.error_callback'.

Charger

Status Load()

Transitions à kLoading, les délégués à diffusables :: Load (), puis des transitions soit à kReady si Load () réussit, ou à kError (et la options_ de invoque.

error_callback ') si Load () échoue. Cet appel peut prendre du temps.

Nous réessayons le Servable::Load() en fonction des options définies lors de la construction de cette classe. Nous arrêtons de réessayer et abandonnons si 1. nous avons atteint max_num_load_retries ou, 2. si cancel_load() est défini sur true.

REQUIS : l'état est kLoadApproved lorsqu'il est appelé. Sinon, DCHECK échoue, passe à l'état kError et appelle 'options_.error_callback'.

ChargeApprouvé

Status LoadApproved()

Transitions vers kLoadApproved.

REQUIS : l'état est kLoadRequested lorsqu'il est appelé. Sinon, DCHECK échoue, passe à l'état kError et appelle 'options_.error_callback'.

ChargerDemandé

Status LoadRequested()

Fait passer l'état du harnais à kLoadRequested si son état actuel est kNew.

Le test et le changement se fait transactionnellement, cette méthode peut être utilisée pour faire en sorte que tout au plus une charge () demande peut se poursuivre.

ChargeurHarnais

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

ChargeurHarnais

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

Constructeur pour créer un harnais avec un état supplémentaire, dont un gestionnaire a besoin.

DémarrerQuiescing

Status StartQuiescing()

Fait passer l'état à kQuiescing, ce qui signifie que nous aimerions ne plus donner de descripteurs à ce serveur.

REQUIS : l'état est kUnloadRequested lorsqu'il est appelé. Sinon, DCHECK échoue, passe à l'état kError et appelle 'options_.error_callback'.

Décharger

Status Unload()

Transitions à kUnloading, les délégués à diffusables :: Unload (), puis la transition vers kDisabled quand Unload () est fait.

REQUIS : l'état est kQuiesced lorsqu'il est appelé. Sinon, DCHECK échoue, passe à l'état kError et appelle 'options_.error_callback'.

Déchargement demandé

Status UnloadRequested()

Fait passer l'état du harnais à kUnloadRequested si son état actuel est kReady.

Le test et le changement se fait transactionnellement, cette méthode peut être utilisée pour faire en sorte que tout au plus une charge () demande peut se poursuivre.

état_supplémentaire

T * additional_state()

Obtient l'état supplémentaire.

Renvoie nullptr si le type ne correspond pas ou s'il n'a pas été défini.

cancel_load_retry

bool cancel_load_retry()

identifiant

ServableId id() const 

Renvoie l'identifiant du Servable sous-jacent.

chargeur

Loader * loader() const 

Renvoie un pointeur vers le chargeur encapsulé.

La propriété reste avec cette classe.

loader_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

Renvoie l'instantané de l'état global actuel du Servable sous-jacent.

loader_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

Annule la nouvelle tentative de chargement du serveur.

Il est préférable de l' effort, et ne préempte pas Load () qui est déjà le cas, les appels que ultérieurs.

Si les relances sont annulées, l'diffusable passe dans un état dépendant de la dernière charge () a appelé à ce sujet . Si la dernière charge () a réussi, il sera dans l' état kReady, sinon dans kError.

Etat

State state()

Renvoie l'état actuel du Servable sous-jacent.

statut

Status status()

Si quelque chose s'est mal passé avec cette servable.

Si l'état est kError, ce ne sera pas OK. Sinon, l'erreur pourrait être quelque chose qui a eu lieu dans une source ou SourceAdapter , dans le chargeur , dans le Gestionnaire , ou ailleurs. Toutes les erreurs relatives à la servable sont signalées ici, quelle que soit leur origine.

~ChargeurHarnais

 ~LoaderHarness()

Légal pour détruire si l'état actuel est l'un des kNew, kDisabled ou kError.

Le contrôle échoue en cas de violation.

Fonctions statiques publiques

StateDebugString

string StateDebugString(
  State state
)