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 { | 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 | Loader * 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.
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 )