Rpc

מחלקה סופית ציבורית Rpc

בצע קבוצות של בקשות RPC.

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

- `כתובת` (המארח+פורט או כתובת ה-BNS של הבקשה) - `שיטה` (שם שיטת RPC לבקשה) - `request` (מחרוזת הפרוטו המסודרת, או וקטור המחרוזות, של הארגומנט של בקשת RPC) .

לדוגמה, אם יש לך שירות RPC שפועל על port localhost:2345, והממשק שלו מוגדר עם הצהרת הפרוטו הבאה:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
אז קרא ל-op זה עם ארגומנטים:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
טנסור ה-'request' הוא טנסור מחרוזת המייצג מחרוזות 'MyRequestProto' בסידרה; ולמחרוזת הפלט 'תגובה' תהיה אותה צורה והיא תכיל (עם השלמתה מוצלחת) מחרוזות 'MyResponseProto' תואמות.

לדוגמה, כדי לשלוח יחיד, ריק, `MyRequestProto`, קרא למבצע הזה עם `request = ""`. כדי לשלוח 5 בקשות ריקות מקבילות , התקשר לפעולה זו עם `request = ["", "", "", "", ""]`.

באופן כללי יותר, אפשר ליצור אצווה של 'MyRequestProto' פרוטו סדרתי מטנזורים אצווה רגילים באמצעות האופציה של 'encode_proto', ולהמיר את התגובה 'MyResponseProto' פרוטו סידורי לטנזורים אצווה באמצעות האופ של 'decode_proto'.

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

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

ראה את האופציה של 'TryRpc' אם אתה מעדיף לטפל בתקלות RPC באופן ידני בגרף.

כיתות מקוננות

מעמד Rpc.Options תכונות אופציונליות עבור Rpc

קבועים

חוּט OP_NAME השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow

שיטות ציבוריות

פלט < TString >
asOutput ()
מחזירה את הידית הסמלית של הטנזור.
Rpc סטטי
צור ( scope scope, Operand < TSstring > address, Operand < TSstring > method, Operand < TString > request, Options... options)
שיטת מפעל ליצירת מחלקה העוטפת פעולת Rpc חדשה.
סטטי Rpc.Options
failFast (failFast בוליאני)
סטטי Rpc.Options
פרוטוקול (פרוטוקול מחרוזת)
פלט < TString >
תגובה ()
אותה צורה כמו 'בקשה'.
סטטי Rpc.Options
timeoutInMs (Long timeoutInMs)

שיטות בירושה

קבועים

מחרוזת סופית סטטית ציבורית OP_NAME

השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow

ערך קבוע: "RPC"

שיטות ציבוריות

פלט ציבורי < TString > asOutput ()

מחזירה את הידית הסמלית של הטנזור.

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

public static Rpc create ( scope scope, Operand < TSstring > address, Operand < TSstring > method, Operand < TSstring > request, Options... options)

שיטת מפעל ליצירת מחלקה העוטפת פעולת Rpc חדשה.

פרמטרים
תְחוּם ההיקף הנוכחי
כתובת `0-D` או `1-D`. הכתובת (כלומר host_name:port) של שרת ה-RPC. אם לטנזור זה יש יותר מאלמנט אחד, נשלחות מספר בקשות rpc מקבילות. טיעון זה משדר עם `שיטה` ו`בקשה`.
שיטה `0-D` או `1-D`. כתובת השיטה בשרת RPC. אם לטנזור זה יש יותר מאלמנט אחד, נשלחות מספר בקשות rpc מקבילות. ארגומנט זה משדר עם 'כתובת' ו'בקשה'.
בַּקָשָׁה `0-D` או `1-D`. מחרוזות פרוטו מסודרות: ארגומנט בקשת rpc. אם לטנזור זה יש יותר מאלמנט אחד, נשלחות מספר בקשות rpc מקבילות. טיעון זה משדר עם `כתובת` ו`שיטה`.
אפשרויות נושא ערכי תכונות אופציונליות
החזרות
  • מופע חדש של Rpc

public static Rpc.Options failFast (בוליאני failFast)

פרמטרים
failFast 'בוליאני'. אם 'true' (ברירת מחדל), אזי כשלים בחיבור (כלומר, השרת לא מגיב מיד) גורמים לכשל RPC.

פרוטוקול Rpc.Options סטטי ציבורי (פרוטוקול מחרוזת)

פרמטרים
נוהל פרוטוקול RPC לשימוש. מחרוזת ריקה פירושה שימוש בפרוטוקול ברירת המחדל. האפשרויות כוללות 'grpc'.

פלט ציבורי < TString > תגובה ()

אותה צורה כמו 'בקשה'. מחרוזות פרוטו מסודרות: תגובות ה-rpc.

public static Rpc.Options timeoutInMs (Long timeoutInMs)

פרמטרים
timeoutInMs `int`. אם '0' (ברירת מחדל), אזי הקרנל יריץ את בקשת ה-RPC ופסק זמן רק אם תאריך היעד של ה-RPC יעבור או שהסשן יעבור זמן קצוב. אם ערך זה גדול מ-'0', אזי הפעולה תעלה חריגה אם ה-RPC לוקח יותר מ-'timeout_in_ms'.