تينسورفلو :: خدمة:: محمل

#include <loader_harness.h>

LoaderHarness هو القطعة من مدير الاستخدامات على التمسك والحديث ل ودر في الوقت الذي تمتلك فيه.

ملخص

ويتابع الحالة العامة لهذا قابل للعرض أن مدير يمكن تحديد التحولات الدولة لجعل وفي أي وقت.

يمكن أن يضيف تنفيذ المدير أيضًا بعض الحالات الإضافية مع كل أداة. على سبيل المثال ، يمكن للمدير وضع بيانات تعريف قائمة التحكم بالوصول (ACL) أو دورة الحياة هنا. يتم الحفاظ على الملكية بواسطة الحزام.

هذه الفئة هي موضوع آمن.

البنائين والمدمرين

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)
منشئ لإنشاء حزام مع حالة إضافية يحتاجها المدير.
~LoaderHarness ()
قانوني لتدمير iff الحالة الحالية هي حالة kNew أو kDisabled أو kError.

الأنواع العامة

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
تعداد
حالة قابل للعرض الأساسية، من وجهة نظر LoaderHarness ولغرض التواصل بينه وبين مدير .

الوظائف العامة

DoneQuiescing ()
Status
ينتقل الحالة إلى kQuiesced ، مما يعني أنه لم يعد هناك المزيد من المقابض الحية لهذه الخدمة المتوفرة في الواجهة الأمامية.
Error (const Status & status)
void
ينتقل الحالة إلى kError ويستدعى "options_.error_callback".
Load ()
Status
الانتقال إلى kLoading، المندوبين قابل للعرض :: تحميل ()، ثم الانتقال إما إلى kReady إذا تحميل () تنجح، أو لkError (وoptions_ يتضرع ".
LoadApproved ()
Status
انتقالات إلى kLoadApproved.
LoadRequested ()
Status
ينتقل حالة الأداة إلى kLoadRequested iff حالتها الحالية هي kNew.
StartQuiescing ()
Status
ينتقل الحالة إلى kQuiescing ، مما يعني أننا نرغب في عدم إعطاء المزيد من المقابض لهذه الخدمة.
Unload ()
Status
الانتقال إلى kUnloading، المندوبين قابل للعرض :: تفريغ ()، ثم الانتقال إلى kDisabled عند إلغاء تحميل () يتم.
UnloadRequested ()
Status
ينتقل حالة الأداة إلى kUnloadRequested iff حالتها الحالية هي kReady.
additional_state ()
T *
يحصل على الحالة الإضافية.
cancel_load_retry ()
bool
id () const
ServableId
إرجاع معرف الخدمة الأساسي.
loader () const
إرجاع المؤشر إلى المحمل المغلف.
loader_state_snapshot ()
ServableStateSnapshot< T >
تُرجع لقطة الحالة الإجمالية الحالية للخدمة الأساسية.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
يلغي إعادة محاولة تحميل الخدمة.
state ()
تُرجع الحالة الحالية للخدمة الأساسية.
status ()
Status
ما إذا كان هناك أي خطأ مع هذه الخدمة.

وظائف ثابتة عامة

StateDebugString ( State state)
string

الهياكل

tensorflow :: :: خدمة LoaderHarness :: خيارات

خيارات لتكوين LoaderHarness .

الأنواع العامة

ولاية

 State

حالة قابل للعرض الأساسية، من وجهة نظر LoaderHarness ولغرض التواصل بينه وبين مدير .

لا يعادل الحالات الدلالية القابلة للخدمة في servable_state.h.

الانتقالات الصالحة: kNew> kLoading> kReady> kQuiescing> kQuiesced> kUnloading> kDisabled وكذلك: any_state> kError.

الخصائص
kDisabled

"محمل _-> تفريغ () " انتهى.

kError

لقد حدث خطأ، سواء خلال "محمل _-> تحميل () " أو خارج تسخير (وأفيد لتسخير عبر مكالمة إلى خطأ () ).

kLoadApproved

تمت الموافقة على الجهاز القابل للخدمة للتحميل ، على سبيل المثال

الموارد المخصصة لذلك.

kLoadRequested

طُلب من المدير تحميل هذه الخدمة.

kLoading

"محمل _-> تحميل () وقد دعا".

kNew

الحالة الأولية.

kQuiesced

تم جعل الخدمة غير متاحة للخدمة.

kQuiescing

ستكون الخدمة غير متاحة للخدمة.

kReady

"محمل _-> تحميل () قد نجحت".

kUnloadRequested

طُلب من المدير تفريغ هذه الخدمة.

kUnloading

"محمل _-> تفريغ () 'تم استدعاؤها.

الوظائف العامة

تم الاستفسار

Status DoneQuiescing()

ينتقل الحالة إلى kQuiesced ، مما يعني أنه لم يعد هناك المزيد من المقابض الحية لهذه الخدمة المتوفرة في الواجهة الأمامية.

في هذه المرحلة ، يمكننا تفريغ هذا الكائن.

يتطلب: الحالة kQuiescing عند استدعائها. خلاف ذلك ، فشل DCHECK ، انتقالات إلى حالة kError واستدعاء 'options_.error_callback'.

خطأ

void Error(
  const Status & status
)

ينتقل الحالة إلى kError ويستدعى "options_.error_callback".

حمل

Status Load()

الانتقال إلى kLoading، المندوبين قابل للعرض :: تحميل ()، ثم الانتقال إما إلى kReady إذا تحميل () تنجح، أو لkError (وoptions_ يتضرع ".

error_callback ') إذا تحميل () فشل. قد تستغرق هذه المكالمة وقتًا طويلاً.

نعيد محاولة Servable :: Load () وفقًا للخيارات المحددة أثناء إنشاء هذه الفئة. نتوقف عن إعادة المحاولة ونتوقف عن المحاولة إذا 1. وصلنا إلى max_num_load_retries أو 2. إذا تم ضبط إلغاء تحميل () على "صحيح".

يتطلب: الحالة هي kLoad تمت الموافقة عليها عند استدعائها. خلاف ذلك ، فشل DCHECK ، انتقالات إلى حالة kError واستدعاء 'options_.error_callback'.

تمت الموافقة على التحميل

Status LoadApproved()

انتقالات إلى kLoadApproved.

يتطلب: الحالة هي kLoadRequested عند استدعائها. خلاف ذلك ، فشل DCHECK ، انتقالات إلى حالة kError واستدعاء 'options_.error_callback'.

طلب التحميل

Status LoadRequested()

ينتقل حالة الأداة إلى kLoadRequested iff حالتها الحالية هي kNew.

ويتم وتغير اختبار transactionally، بحيث يمكن استخدام هذا الأسلوب للتأكد من أن واحدا على الأكثر تحميل () طلب يمكن المضي قدما.

محمل

 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
)

منشئ لإنشاء حزام مع حالة إضافية يحتاجها المدير.

StartQuiescing

Status StartQuiescing()

ينتقل الحالة إلى kQuiescing ، مما يعني أننا نرغب في عدم إعطاء المزيد من المقابض لهذه الخدمة.

يتطلب: الحالة هي kUnloadRequested عند استدعائها. خلاف ذلك ، فشل DCHECK ، انتقالات إلى حالة kError واستدعاء 'options_.error_callback'.

تفريغ

Status Unload()

الانتقال إلى kUnloading، المندوبين قابل للعرض :: تفريغ ()، ثم الانتقال إلى kDisabled عند إلغاء تحميل () يتم.

يتطلب: الحالة kQuiesced عند استدعائها. خلاف ذلك ، فشل DCHECK ، انتقالات إلى حالة kError واستدعاء 'options_.error_callback'.

تفريغ الطلب

Status UnloadRequested()

ينتقل حالة الأداة إلى kUnloadRequested iff حالتها الحالية هي kReady.

ويتم وتغير اختبار transactionally، بحيث يمكن استخدام هذا الأسلوب للتأكد من أن واحدا على الأكثر تحميل () طلب يمكن المضي قدما.

حالة_إضافية

T * additional_state()

يحصل على الحالة الإضافية.

تُرجع القيمة nullptr إذا كان النوع غير متطابق أو إذا لم يتم تعيينه.

Cancel_load_retry

bool cancel_load_retry()

بطاقة تعريف

ServableId id() const 

إرجاع معرف الخدمة الأساسي.

محمل

Loader * loader() const 

إرجاع المؤشر إلى المحمل المغلف.

تبقى الملكية مع هذه الفئة.

Load_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

تُرجع لقطة الحالة الإجمالية الحالية للخدمة الأساسية.

Load_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

يلغي إعادة محاولة تحميل الخدمة.

هذا هو أفضل جهد، ولا استباق تحميل () الذي يحدث بالفعل، والمكالمات فقط لاحقة.

إذا تم إلغاء إعادة المحاولة، وقابل للعرض يذهب الى دولة تعتمد على الماضي تحميل () دعا على ذلك. إذا كان الماضي تحميل () كانت ناجحة، وسوف تكون في ولاية kReady، وإلا في kError.

حالة

State state()

تُرجع الحالة الحالية للخدمة الأساسية.

الحالة

Status status()

ما إذا كان هناك أي خطأ مع هذه الخدمة.

إذا كانت الحالة kError ، فسيكون هذا غير مقبول. إن لم يكن حسنا، يمكن أن يكون من الخطأ شيء التي وقعت في المصدر أو SourceAdapter ، في لودر ، في مدير ، أو في أي مكان آخر. يتم الإبلاغ عن جميع الأخطاء المتعلقة بالخدمة هنا ، بغض النظر عن الأصل.

~ محمل

 ~LoaderHarness()

قانوني لتدمير iff الحالة الحالية هي حالة kNew أو kDisabled أو kError.

تحقق من فشل إذا انتهكت.

وظائف ثابتة عامة

StateDebugString

string StateDebugString(
  State state
)