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 {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
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
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.

negara

State state()

Mengembalikan status saat ini dari Servable yang mendasarinya.

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
)