Ajuda a proteger a Grande Barreira de Corais com TensorFlow em Kaggle Junte Desafio

tensorflow :: servindo :: LoaderHarness

#include <loader_harness.h>

LoaderHarness é um widget que o gerente usa para segurar e falar com um Loader enquanto ele o possui.

Resumo

Ele rastreia o estado geral de um servidor, de forma que o gerente possa determinar quais transições de estado devem ser feitas em quais momentos.

A implementação de um gerente também pode adicionar algum estado adicional a cada arnês. Por exemplo, um gerente pode colocar ACL ou metadados de ciclo de vida aqui. A propriedade é mantida pelo arnês.

Esta classe é segura para thread.

Construtores e Destruidores

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)
Construtor para criar um chicote com estado adicional, de que um gerente precisa.
~LoaderHarness ()
É válido destruir se o estado atual for kNew, kDisabled ou kError.

Tipos públicos

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
enum
Estado do servable subjacente, da perspectiva do LoaderHarness e para fins de comunicação entre ele e um Manager .

Funções públicas

DoneQuiescing ()
Status
Faz a transição do estado para kQuiesced, o que significa que não há mais identificadores ativos para este serviço disponíveis no frontend.
Error (const Status & status)
void
Faz a transição do estado para kError e invoca 'options_.error_callback'.
Load ()
Status
Faz a transição para kLoading, delega para Servable :: Load (), então faz a transição para kReady se Load () for bem-sucedido ou para kError (e invoca 'options_.
LoadApproved ()
Status
Transições para kLoadApproved.
LoadRequested ()
Status
Faz a transição do estado do chicote para kLoadRequested se seu estado atual for kNew.
StartQuiescing ()
Status
Faz a transição do estado para kQuiescing, o que significa que gostaríamos de não fornecer mais identificadores para este serviço.
Unload ()
Status
Faz a transição para kUnloading, delega para Servable :: Unload (), então faz a transição para kDisabled quando Unload () é concluído.
UnloadRequested ()
Status
Faz a transição do estado do chicote para kUnloadRequested se seu estado atual for kReady.
additional_state ()
T *
Obtém o estado adicional.
cancel_load_retry ()
bool
id () const
ServableId
Retorna o identificador de Servable subjacente.
loader () const
Retorna um ponteiro para o carregador empacotado.
loader_state_snapshot ()
ServableStateSnapshot< T >
Retorna o instantâneo do estado geral atual do Servable subjacente.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
Cancela a nova tentativa de carregar o servable.
state ()
Retorna o estado atual do Servable subjacente.
status ()
Status
Se algo deu errado com este serviço.

Funções estáticas públicas

StateDebugString ( State state)
string

Structs

tensorflow :: serving :: LoaderHarness :: Options

Opções para configurar um LoaderHarness .

Tipos públicos

Estado

 State

Estado do servable subjacente, da perspectiva do LoaderHarness e para fins de comunicação entre ele e um Manager .

Não é equivalente aos estados de serviço semântico em servable_state.h.

Transições válidas: kNew> kLoading> kReady> kQuiescing> kQuiesced> kUnloading> kDisabled, bem como: any_state> kError.

Propriedades
kDisabled

'loader _-> Unload () ' terminou.

kError

Ocorreu um erro durante 'loader _-> Load () ' ou fora do chicote (e foi relatado ao chicote por meio de uma chamada para Error () ).

kLoadApproved

O servable foi aprovado para carregamento, por exemplo

recursos foram reservados para isso.

kLoadRequested

O gerenciador foi solicitado a carregar este serviço.

kLoading

'loader _-> Load () ' foi chamado.

kNew

Estado inicial.

kQuiesced

A veiculação ficou indisponível para veiculação.

kQuiescing

O servable ficará indisponível para veiculação.

kReady

'loader _-> Load () ' foi bem-sucedido.

kUnloadRequested

O gerente foi solicitado a descarregar este serviço.

kUnloading

'loader _-> Unload () ' foi chamado.

Funções públicas

DoneQuiescing

Status DoneQuiescing()

Faz a transição do estado para kQuiesced, o que significa que não há mais identificadores ativos para este serviço disponíveis no frontend.

Neste ponto, podemos descarregar este objeto.

REQUER: O estado é kQuiescing quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

Erro

void Error(
  const Status & status
)

Faz a transição do estado para kError e invoca 'options_.error_callback'.

Carregar

Status Load()

Faz a transição para kLoading, delega para Servable :: Load (), então faz a transição para kReady se Load () for bem-sucedido ou para kError (e invoca 'options_.

error_callback ') se Load () falhar. Esta chamada pode demorar muito.

Tentamos novamente Servable :: Load () de acordo com as opções definidas durante a construção desta classe. Paramos de tentar novamente e desistimos se 1. atingirmos max_num_load_retries ou 2. se cancel_load () for definido como verdadeiro.

REQUER: O estado é kLoadApproved quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

LoadApproved

Status LoadApproved()

Transições para kLoadApproved.

REQUER: O estado é kLoadRequested quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

LoadRequested

Status LoadRequested()

Faz a transição do estado do chicote para kLoadRequested se seu estado atual for kNew.

O teste e alteração é feito de forma transacional, portanto, esse método pode ser usado para garantir que no máximo uma solicitação Load () possa prosseguir.

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
)

Construtor para criar um chicote com estado adicional, de que um gerente precisa.

StartQuiescing

Status StartQuiescing()

Faz a transição do estado para kQuiescing, o que significa que gostaríamos de não fornecer mais identificadores para este serviço.

REQUER: O estado é kUnloadRequested quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

Descarregar

Status Unload()

Faz a transição para kUnloading, delega para Servable :: Unload (), então faz a transição para kDisabled quando Unload () é concluído.

REQUER: O estado é kQuiesced quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

UnloadRequested

Status UnloadRequested()

Faz a transição do estado do chicote para kUnloadRequested se seu estado atual for kReady.

O teste e alteração é feito de forma transacional, portanto, esse método pode ser usado para garantir que no máximo uma solicitação Load () possa prosseguir.

estado_adicional

T * additional_state()

Obtém o estado adicional.

Retorna nullptr se o tipo for incompatível ou se não tiver sido definido.

cancel_load_retry

bool cancel_load_retry()

eu ia

ServableId id() const 

Retorna o identificador do Servable subjacente.

carregador

Loader * loader() const 

Retorna um ponteiro para o carregador empacotado.

A propriedade permanece com esta classe.

loader_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

Retorna o instantâneo do estado geral atual do Servable subjacente.

loader_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

Cancela a nova tentativa de carregar o servable.

Este é o melhor esforço e não impede um Load () que já está acontecendo, apenas chamadas subsequentes.

Se as novas tentativas forem canceladas, o servable entra em um estado dependente do último Load () chamado nele. Se o último Load () foi bem-sucedido, ele estará no estado kReady, senão em kError.

Estado

State state()

Retorna o estado atual do Servable subjacente.

status

Status status()

Se algo deu errado com este serviço.

Se o estado for kError, não estará OK. Se não estiver OK, o erro pode ser algo que ocorreu em um Source ou SourceAdapter , no Loader , no Manager ou em outro lugar. Todos os erros relativos ao serviço são relatados aqui, independentemente da origem.

~ LoaderHarness

 ~LoaderHarness()

É válido destruir se o estado atual for kNew, kDisabled ou kError.

Falha na verificação se violada.

Funções estáticas públicas

StateDebugString

string StateDebugString(
  State state
)