tensorflow:: מָנָה:: מָקוֹר

זהו שיעור מופשט.

#include <source.h>

הפשטה למודול שמביא לטעינת רכיבי שרת לטעינה, או ליתר דיוק, מטפל בנתונים שניתן להשתמש בהם לטעינת רכיבי שרת אלה.

סיכום

דוגמאות לאחיות נתונים כאלה הן:

  • נתיב של מערכת קבצים למפת אוצר מילים מסודרת
  • ידית ל-RPC נכנסת המציינת דגם שנלמד על ידי מכונה לטעינה
  • Loader (ראה loader.h ) ידיות נתון הערכה כללית הוא שהוא קטן.

מקור מפקחת כמה משאבים חיצוניים (מערכת הקבצים למשל, שיחות RPC) כדי לברר על servables חדשים ו / או גרסאות חדשות של servables ו / או בצורך לפרוק גרסאות servable. היא משתמשת התקשרות סיפק להורות מודול יעד (למשל AspiredVersionsManager ) איזו גירסה (ים) של servable שניתן לטעון. יתר על כן, בהתאם הסמנטיקה של מודול היעד, המקור במרומז מורה זה אילו לפרוק ידי השמטת servables אלה.

מקרה נפוץ הוא כי מקור פולט גרסאות בדיוק servable אחד. מקרה פשוט עוד יותר הוא שלשרת יש גרסה יחידה וסטטית למשך כל חיי השרת.

מקורות יכולים להכיל מדינה שמחולקת בין מספר רכיבי הגשה שנפלטו, למשל

  1. מאגר שרשורים משותף או משאב אחר שבו משתמשים רבים שניתן להגיש.
  2. מבנה נתונים משותף לקריאה-בלבד שבו משתמשים רבים שניתן להגשה, כדי למנוע את הזמן והמקום של שכפול מבנה הנתונים בכל מופע שניתן להגשה. מצב משותף שזמן האתחול שלו וגודלו זניחים (למשל בריכות שרשורים) יכול להיווצר בשקיקה על ידי המקור, אשר לאחר מכן מטמיע אליו מצביע בכל פריט ServableData שנפלט. יצירה של מדינה משותפת יקרה או גדולה יש לדחות את קבלת החלים הראשונה Loader :: Load () השיחה, דהיינו נשלטת על ידי המנהל. סימטרי, את Loader :: לפרוק () קריאת servable הסופי באמצעות המדינה המשותפת יקר / גדולה צריך להרוס אותו.

בנאים והורסים

~Source ()

טיפוסים ציבוריים

AspiredVersionsCallback באמצעות
std::function< void(const StringPiece servable_name, std::vector< ServableData< T >> versions)>
התקשרות למשך מקור לגרסת אספקה (ים) של servable למטרה, להיות טעון.

תפקידים ציבוריים

SetAspiredVersionsCallback ( AspiredVersionsCallback callback)=0
virtual void
מספק AspiredVersionsCallback לשימוש. ניתן להתקשר לכל היותר פעם אחת.

טיפוסים ציבוריים

AspiredVersions התקשרות חוזרת

std::function< void(const StringPiece servable_name, std::vector< ServableData< T >> versions)> AspiredVersionsCallback

התקשרות למשך מקור לגרסת אספקה (ים) של servable למטרה, להיות טעון.

הפעלה אחת של התקשרות חוזרת מתייחסת לזרם יחיד שניתן להגשה (ניתן על ידי 'שם_servable'). כל הגירסאות המסופקות בשיחה חייבות להיות עבור השרת המזוהה ב-'servable_name'. קריאות בזרמים שונים שניתן להגשה הם אורתוגונלים זה לזה.

קריאות מרובות עשויות לספק אובייקטי נתונים שניתנים להגשה עם מזהים זהים (כלומר אותו שם וגרסה שניתנים להגשה). אובייקטי נתונים ניתנים להגשה כאלה מטופלים כשווים ערך סמנטית. בסופו של דבר הנמען ישמור על אחד ויזרוק את השאר.

אם גרסה V הניתנת להגשה מסופקת בהקראה ראשונה, ולאחר מכן מושמטת מהזמנה שנייה, ההשלכה של השמטת V תלויה בסמנטיקה של יעד ההתקשרות חזרה. יעדים מסוימים יפרשו את השמטתו של V כהוראה מרומזת לפרוק את V. כל יעד חייב לתעד את הסמנטיקה שלו בהקשר זה.

תפקידים ציבוריים

SetAspiredVersionscallback

virtual void SetAspiredVersionsCallback(
  AspiredVersionsCallback callback
)=0

מספק AspiredVersionsCallback לשימוש. ניתן להתקשר לכל היותר פעם אחת.

~ מקור

virtual  ~Source()=default