tensör akışı:: hizmet veren:: Yükleyici Koşum Takımı

#include <loader_harness.h>

LoaderHarness Widget bir olan Yöneticisi bir etmek için ve konuşmak üzerine muhafazasına kullanımlar Yükleyici bunu sahibi iken.

Özet

O bir Sunulamaz böyle genel durumunu izler Yöneticisi neyi zamanlarda yapmak hangi devlet geçişler belirleyebilir.

Bir yönetici uygulaması, her bir donanıma bazı ek durumlar da ekleyebilir. Örneğin, bir yönetici ACL'yi veya yaşam döngüsü meta verilerini buraya koyabilir. Mülkiyet, koşum takımı tarafından korunur.

Bu sınıf iş parçacığı için güvenlidir.

Yapıcılar ve Yıkıcılar

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)
Bir yöneticinin ihtiyaç duyduğu ek duruma sahip bir koşum takımı oluşturmak için yapıcı.
~LoaderHarness ()
Geçerli durum kNew, kDisabled veya kError'dan biri ise yasal olarak yok edilebilir.

Genel türler

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
Sıralama
Altında yatan servable Devlet, perspektifinden LoaderHarness ve onunla bir arasında iletişim amacıyla Müdürü .

Kamu işlevleri

DoneQuiescing ()
Status
Durumu kQuiesced'e geçirir; bu, ön uçta bu sunulabilir için daha fazla canlı tutamaç olmadığı anlamına gelir.
Error (const Status & status)
void
Durumu kError'a geçirir ve 'options_.error_callback' öğesini çağırır.
Load ()
Status
KLoading için geçişler, servable delegeleri :: yük (), daha sonra geçiş ya kReady eğer yük () başarılı veya kError için (ve çağırır 'options_.
LoadApproved ()
Status
kLoadApproved'a geçişler.
LoadRequested ()
Status
Mevcut durumu kNew ise, kablo demetinin durumunu kLoadRequested olarak değiştirir.
StartQuiescing ()
Status
Durumu kQuiescing'e geçirir; bu, bu hizmet için daha fazla tanıtıcı vermek istemediğimiz anlamına gelir.
Unload ()
Status
KUnloading için Geçişler, Sunulamaz :: Unload (delegelerinin), kDisabled sonra geçişler zaman Boşalt () yapılır.
UnloadRequested ()
Status
Mevcut durumu kReady ise, kablo demetinin durumunu kUnloadRequested'e geçirir.
additional_state ()
T *
Ek durumu alır.
cancel_load_retry ()
bool
id () const
ServableId
Temel alınan Servable'ın tanımlayıcısını döndürür.
loader () const
Sarılmış yükleyiciye bir işaretçi döndürür.
loader_state_snapshot ()
ServableStateSnapshot< T >
Temel alınan Sunulabilir'in geçerli genel durum anlık görüntüsünü döndürür.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
Sunulabilir öğenin yükünü yeniden denemeyi iptal eder.
state ()
Temel alınan Servable'ın geçerli durumunu döndürür.
status ()
Status
Bu sunulabilirle ilgili herhangi bir sorun olup olmadığı.

Genel statik işlevler

StateDebugString ( State state)
string

yapılar

tensorflow :: hizmet veren :: LoaderHarness :: Seçenekler

Seçenekler bir yapılandırma LoaderHarness .

Genel türler

Belirtmek, bildirmek

 State

Altında yatan servable Devlet, perspektifinden LoaderHarness ve onunla bir arasında iletişim amacıyla Müdürü .

servable_state.h içindeki anlamsal sunulabilir durumlara eşdeğer değildir.

Geçerli geçişler: kNew>kLoading>kReady>kQuiescing>kQuiesced>kUnloading>kDisabled ve ayrıca: any_state>kError.

Özellikler
kDisabled

'yükleyici _-> Boşalt () ' tamamladı.

kError

Bir hata ya da 'yükleyici _-> sırasında oluştu Yük () kablo demetinin' ya da dış (ve bir çağrı yoluyla kablo demeti bildirilmiştir Hata () ).

kLoadApproved

Sunulabilir öğe yükleme için onaylanmıştır, örn.

Bunun için kaynaklar ayrıldı.

kLoadRequested

Yöneticiden bu sunulabilir dosyayı yüklemesi istendi.

kLoading

'yükleyici _-> Yük () ' olarak anılmıştır.

kNew

Başlangıç ​​hali.

kQuiesced

Sunulabilir, sunulmak için kullanılamaz hale getirildi.

kQuiescing

Sunulabilir, sunulmak için kullanılamaz hale getirilecek.

kReady

'yükleyici _-> Yük () ' başardı.

kUnloadRequested

Yöneticiden bu sunulabilir dosyayı kaldırması istendi.

kUnloading

'yükleyici _-> Boşalt () ' olarak anılmıştır.

Kamu işlevleri

BittiQuiescing

Status DoneQuiescing()

Durumu kQuiesced'e geçirir; bu, ön uçta bu sunulabilir için daha fazla canlı tutamaç olmadığı anlamına gelir.

Bu noktada, bu nesneyi kaldırabiliriz.

GEREKTİRİR: Durum, çağrıldığında kQuiescing'dir. Aksi takdirde DCHECK başarısız olur, kError durumuna geçer ve 'options_.error_callback'i başlatır.

Hata

void Error(
  const Status & status
)

Durumu kError'a geçirir ve 'options_.error_callback' öğesini çağırır.

Yük

Status Load()

KLoading için geçişler, servable delegeleri :: yük (), daha sonra geçiş ya kReady eğer yük () başarılı veya kError için (ve çağırır 'options_.

error_callback ') eğer yük () başarısız olur. Bu arama uzun sürebilir.

Bu sınıfın inşası sırasında ayarlanan seçeneklere göre Servable::Load()'u yeniden deniyoruz. 1. max_num_load_retries'e ulaştıysak veya 2.cancan_load() true olarak ayarlanmışsa, yeniden denemeyi bırakır ve vazgeçeriz.

GEREKTİRİR: Durum, çağrıldığında kLoadApproved'dir. Aksi takdirde DCHECK başarısız olur, kError durumuna geçer ve 'options_.error_callback'i başlatır.

Yük Onaylandı

Status LoadApproved()

kLoadApproved'a geçişler.

GEREKTİRİR: Durum, çağrıldığında kLoadRequest'tir. Aksi takdirde DCHECK başarısız olur, kError durumuna geçer ve 'options_.error_callback'i başlatır.

İstenen Yük

Status LoadRequested()

Mevcut durumu kNew ise, kablo demetinin durumunu kLoadRequested olarak değiştirir.

Bu yöntem en çok bir sağlamak için kullanılabilir, böylece bir test ve değişim, transactionally yapılır Yük () isteği devam edebilirsiniz.

Yükleyici Koşum Takımı

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

Yükleyici Koşum Takımı

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

Bir yöneticinin ihtiyaç duyduğu ek duruma sahip bir koşum takımı oluşturmak için yapıcı.

StartQuiescing

Status StartQuiescing()

Durumu kQuiescing'e geçirir; bu, bu hizmet için daha fazla tanıtıcı vermek istemediğimiz anlamına gelir.

GEREKTİRİR: Durum, çağrıldığında kUnloadRequest'tir. Aksi takdirde DCHECK başarısız olur, kError durumuna geçer ve 'options_.error_callback'i başlatır.

boşaltmak

Status Unload()

KUnloading için Geçişler, Sunulamaz :: Unload (delegelerinin), kDisabled sonra geçişler zaman Boşalt () yapılır.

GEREKTİRİR: Durum, çağrıldığında kQuiesced'dir. Aksi takdirde DCHECK başarısız olur, kError durumuna geçer ve 'options_.error_callback'i başlatır.

Kaldırma İstenen

Status UnloadRequested()

Mevcut durumu kReady ise, kablo demetinin durumunu kUnloadRequested'e geçirir.

Bu yöntem en çok bir sağlamak için kullanılabilir, böylece bir test ve değişim, transactionally yapılır Yük () isteği devam edebilirsiniz.

ek_durum

T * additional_state()

Ek durumu alır.

Tür uyuşmuyorsa veya ayarlanmadıysa nullptr döndürür.

Cancel_load_retry

bool cancel_load_retry()

İD

ServableId id() const 

Temel alınan Servable'ın tanımlayıcısını döndürür.

yükleyici

Loader * loader() const 

Sarılmış yükleyiciye bir işaretçi döndürür.

Mülkiyet bu sınıfa aittir.

loader_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

Temel alınan Sunulabilir'in geçerli genel durum anlık görüntüsünü döndürür.

loader_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

Sunulabilir öğenin yükünü yeniden denemeyi iptal eder.

Bu en çok çaba gerektirir ve bir önceden ayırmak değil Load () zaten sadece müteakip aramalar oluyor.

Yeniden deneme iptal edilir ise Sunulabilir son bağımlı bir duruma geçer Yük () Üzerinde çağrısında bulundu. Geçen Eğer Yük () başarılı oldu, başka kError içinde, devlet kReady olacaktır.

belirtmek, bildirmek

State state()

Temel alınan Servable'ın geçerli durumunu döndürür.

durum

Status status()

Bu sunulabilirle ilgili herhangi bir sorun olup olmadığı.

Durum kError ise, bu sorun olmayacaktır. Tamam değil, hata bir meydana şey olabilir Kaynak veya SourceAdapter içinde, Yükleyici içinde, Yöneticisi başka yerde ya. Yayınlanabilirle ilgili tüm hatalar, kaynağına bakılmaksızın burada rapor edilir.

~Yükleyici Demeti

 ~LoaderHarness()

Geçerli durum kNew, kDisabled veya kError'dan biri ise yasal olarak yok edilebilir.

Kontrol-ihlal edilirse başarısız olur.

Genel statik işlevler

StateDebugString

string StateDebugString(
  State state
)