aliran tensor:: porsi:: LoaderHarness
#include <loader_harness.h>
LoaderHarness adalah widget Manajer penggunaan untuk berpegang pada dan berbicara dengan seorang Loader sementara itu memiliki itu.
Ringkasan
Ini trek keadaan keseluruhan dari servable sehingga manajer dapat menentukan transisi negara untuk membuat apa kali.
Implementasi manajer juga dapat menambahkan beberapa status tambahan dengan setiap harness. Misalnya, seorang manajer dapat menempatkan ACL atau metadata siklus hidup di sini. Kepemilikan dipertahankan oleh harness.
Kelas ini aman untuk thread.
Konstruktor dan Destructor | |
---|---|
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 untuk membuat harness dengan status tambahan, yang dibutuhkan manajer. | |
~LoaderHarness () Hukum untuk menghancurkan jika keadaan saat ini adalah salah satu dari kNew, kDisabled atau kError. |
Tipe publik | |
---|---|
State { | enum Negara servable yang mendasari, dari perspektif LoaderHarness dan untuk tujuan komunikasi antara itu dan manajer . |
Fungsi publik | |
---|---|
DoneQuiescing () | Status Transisi status ke kQuiesced, yang berarti bahwa tidak ada lagi pegangan langsung untuk servable ini yang tersedia di frontend. |
Error (const Status & status) | void Transisi status ke kError dan memanggil 'options_.error_callback'. |
Load () | Status Transisi ke kLoading, delegasi servable :: Beban (), kemudian transisi baik untuk kReady jika beban () berhasil, atau untuk kError (dan options_ memanggil'. |
LoadApproved () | Status Transisi ke kLoadApproved. |
LoadRequested () | Status Transisi status harness ke kLoadRequested jika statusnya saat ini adalah kNew. |
StartQuiescing () | Status Transisi status ke kQuiescing, yang berarti bahwa kami tidak ingin memberikan pegangan lagi ke servable ini. |
Unload () | Status Transisi ke kUnloading, delegasi servable :: Unload (), kemudian transisi ke kDisabled ketika Unload () dilakukan. |
UnloadRequested () | Status Transisi status harness ke kUnloadRequested jika statusnya saat ini adalah kReady. |
additional_state () | T * Mendapatkan status tambahan. |
cancel_load_retry () | bool |
id () const | ServableId Mengembalikan pengidentifikasi Servable yang mendasarinya. |
loader () const | Loader * Mengembalikan pointer ke loader yang dibungkus. |
loader_state_snapshot () | ServableStateSnapshot< T > Mengembalikan snapshot status keseluruhan saat ini dari Servable yang mendasarinya. |
loader_state_snapshot () const | ServableStateSnapshot< std::nullptr_t > |
set_cancel_load_retry (bool value) | void Membatalkan mencoba kembali beban servable. |
state () | Mengembalikan status saat ini dari Servable yang mendasarinya. |
status () | Status Apakah ada yang salah dengan servable ini. |
Fungsi statis publik | |
---|---|
StateDebugString ( State state) | string |
Struktur | |
---|---|
tensorflow :: melayani :: LoaderHarness :: Pilihan | Pilihan untuk mengkonfigurasi LoaderHarness . |
Tipe publik
Negara
State
Negara servable yang mendasari, dari perspektif LoaderHarness dan untuk tujuan komunikasi antara itu dan manajer .
Tidak setara dengan status semantik yang dapat diservis di servable_state.h.
Transisi yang valid: kNew>kLoading>kReady>kQuiescing>kQuiesced>kUnloading>kDisabled serta: any_state>kError.
Properti | |
---|---|
kDisabled | 'loader _-> Unload () ' telah selesai. |
kError | Sebuah kesalahan telah terjadi, baik selama 'loader _-> Beban () ' atau di luar harness (dan dilaporkan harness melalui panggilan untuk Kesalahan () ). |
kLoadApproved | Servis telah disetujui untuk dimuat, mis sumber daya telah disisihkan untuk itu. |
kLoadRequested | Manajer telah diminta untuk memuat servable ini. |
kLoading | 'loader _-> Beban () ' telah disebut. |
kNew | keadaan awal. |
kQuiesced | Yang dapat diservis telah dibuat tidak tersedia untuk disajikan. |
kQuiescing | Yang dapat diservis akan dibuat tidak tersedia untuk ditayangkan. |
kReady | 'loader _-> Beban () ' telah berhasil. |
kUnloadRequested | Manajer telah diminta untuk membongkar servable ini. |
kUnloading | 'loader _-> Unload () ' telah disebut. |
Fungsi publik
SelesaiQuiescing
Status DoneQuiescing()
Transisi status ke kQuiesced, yang berarti bahwa tidak ada lagi pegangan langsung untuk servable ini yang tersedia di frontend.
Pada titik ini, kita dapat membongkar objek ini.
MEMBUTUHKAN: Status kQuiescing saat dipanggil. Jika tidak, DCHECK-gagal, transisi ke status kError dan memanggil 'options_.error_callback'.
Kesalahan
void Error( const Status & status )
Transisi status ke kError dan memanggil 'options_.error_callback'.
Memuat
Status Load()
Transisi ke kLoading, delegasi servable :: Beban (), kemudian transisi baik untuk kReady jika beban () berhasil, atau untuk kError (dan options_ memanggil'.
error_callback ') jika beban () gagal. Panggilan ini mungkin memakan waktu lama.
Kami mencoba kembali Servable::Load() sesuai dengan opsi yang ditetapkan selama konstruksi kelas ini. Kami berhenti mencoba lagi dan menyerah jika 1. kami telah mencapai max_num_load_retries atau, 2. jika cancel_load() disetel ke true.
MEMBUTUHKAN: Status kLoadApproved saat dipanggil. Jika tidak, DCHECK-gagal, transisi ke status kError dan memanggil 'options_.error_callback'.
Muat Disetujui
Status LoadApproved()
Transisi ke kLoadApproved.
MEMBUTUHKAN: Status kLoadRequested saat dipanggil. Jika tidak, DCHECK-gagal, transisi ke status kError dan memanggil 'options_.error_callback'.
BebanDiminta
Status LoadRequested()
Transisi status harness ke kLoadRequested jika statusnya saat ini adalah kNew.
Tes-dan-perubahan dilakukan transactionally, sehingga metode ini dapat digunakan untuk memastikan bahwa paling banyak satu beban () permintaan dapat melanjutkan.
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 untuk membuat harness dengan status tambahan, yang dibutuhkan manajer.
MulaiQuiescing
Status StartQuiescing()
Transisi status ke kQuiescing, yang berarti bahwa kami tidak ingin memberikan pegangan lagi ke servable ini.
MEMBUTUHKAN: Status adalah kUnloadRequested saat dipanggil. Jika tidak, DCHECK-gagal, transisi ke status kError dan memanggil 'options_.error_callback'.
Membongkar
Status Unload()
Transisi ke kUnloading, delegasi servable :: Unload (), kemudian transisi ke kDisabled ketika Unload () dilakukan.
MEMBUTUHKAN: Status kQuiesced saat dipanggil. Jika tidak, DCHECK-gagal, transisi ke status kError dan memanggil 'options_.error_callback'.
BongkarDiminta
Status UnloadRequested()
Transisi status harness ke kUnloadRequested jika statusnya saat ini adalah kReady.
Tes-dan-perubahan dilakukan transactionally, sehingga metode ini dapat digunakan untuk memastikan bahwa paling banyak satu beban () permintaan dapat melanjutkan.
tambahan_status
T * additional_state()
Mendapatkan status tambahan.
Mengembalikan nullptr jika jenisnya tidak cocok atau jika tidak disetel.
batal_muat_coba lagi
bool cancel_load_retry()
Indo
ServableId id() const
Mengembalikan pengidentifikasi Servable yang mendasarinya.
pemuat
Loader * loader() const
Mengembalikan pointer ke loader yang dibungkus.
Kepemilikan tetap dengan kelas ini.
loader_state_snapshot
ServableStateSnapshot< T > loader_state_snapshot()
Mengembalikan snapshot status keseluruhan saat ini dari Servable yang mendasarinya.
loader_state_snapshot
ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const
set_cancel_load_retry
void set_cancel_load_retry( bool value )
Membatalkan mencoba kembali beban servable.
Ini adalah upaya terbaik, dan tidak mendahului sebuah beban () yang sudah terjadi, panggilan hanya berikutnya.
Jika retries dibatalkan, servable masuk ke negara tergantung pada yang terakhir Beban () dipanggil di atasnya. Jika yang terakhir Beban () berhasil, itu akan berada dalam keadaan kReady, lain di kError.
status
Status status()
Apakah ada yang salah dengan servable ini.
Jika statusnya kError, ini akan menjadi non-OK. Jika tidak OK, kesalahan bisa menjadi sesuatu yang terjadi di sebuah Sumber atau SourceAdapter , dalam Loader , dalam Manajer , atau di tempat lain. Semua kesalahan yang berkaitan dengan servable dilaporkan di sini, terlepas dari asalnya.
~LoaderHarness
~LoaderHarness()
Hukum untuk menghancurkan jika keadaan saat ini adalah salah satu dari kNew, kDisabled atau kError.
Periksa-gagal jika dilanggar.
Fungsi statis publik
StateDebugString
string StateDebugString( State state )