ה-op מסדרת הודעות protobuf המסופקות בטנסור הקלט.
סוגי הטנזורים ב'ערכים' חייבים להתאים לסכימה עבור השדות שצוינו ב'שמות_שדה'. לכל הטנזורים ב'ערכים' חייבת להיות קידומת צורה משותפת, batch_shape .
טנסור ה'גדלים' מציין ספירות חוזרות עבור כל שדה. ספירת החזרות (המימד האחרון) של כל טנסור ב'ערכים' חייבת להיות גדולה או שווה לספירת החזרות המקבילה ב'גדלים'.
יש לספק שם 'סוג_הודעה' כדי לתת הקשר לשמות השדות. ניתן לחפש את מתאר ההודעה בפועל במאגר התיאורים המקושר או בשם קובץ שסופק על ידי המתקשר באמצעות התכונה `descriptor_source`.
לרוב, המיפוי בין סוגי שדות Proto ו-TensorFlow dtypes הוא פשוט. עם זאת, ישנם כמה מקרים מיוחדים:
- ניתן להמיר שדה פרוטו שמכיל תת-הודעה או קבוצה רק ל-'DT_STRING' (תת-ההודעה בסידרה). זאת כדי להפחית את המורכבות של ה-API. המחרוזת שהתקבלה יכולה לשמש כקלט למופע אחר של ה-decode_proto op.
- TensorFlow חסרה תמיכה במספרים שלמים לא חתומים. האופציות מייצגות סוגי uint64 בתור `DT_INT64` עם אותה תבנית סיביות משלימה של שניים (הדרך הברורה). ערכי int32 לא חתומים יכולים להיות מיוצגים במדויק על ידי ציון סוג `DT_INT64`, או שימוש בהשלמה של שניים אם המתקשר מציין `DT_INT32` בתכונה `output_types`.
התכונה `descriptor_source` בוחרת את המקור של מתארי הפרוטוקול שיש להתייעץ בהם בעת חיפוש `message_type`. זה יכול להיות:
- מחרוזת ריקה או "local://", ובמקרה זה נוצרים מתארי פרוטוקול עבור הגדרות פרוטו C++ (לא Python) המקושרות לבינארי.
- קובץ, ובמקרה זה נוצרים מתארי פרוטוקול מהקובץ, אשר צפוי להכיל `FileDescriptorSet` בסידרה כמחרוזת. הערה: אתה יכול לבנות קובץ `descriptor_source` באמצעות האפשרויות `--descriptor_set_out` ו`--include_imports` למהדר הפרוטוקול `protoc`.
- A "bytes://
כיתות מקוננות
מעמד | EncodeProto.Options | תכונות אופציונליות עבור EncodeProto |
קבועים
חוּט | OP_NAME | השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow |
שיטות ציבוריות
פלט < TString > | asOutput () מחזירה את הידית הסמלית של הטנזור. |
פלט < TString > | בתים () טנסור של פרוטו סידורי עם צורה 'אצווה_צורה'. |
סטטי EncodeProto | |
סטטי EncodeProto.Options | descriptorSource (מחרוזת descriptorSource) |
שיטות בירושה
קבועים
מחרוזת סופית סטטית ציבורית OP_NAME
השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow
שיטות ציבוריות
פלט ציבורי < TString > asOutput ()
מחזירה את הידית הסמלית של הטנזור.
כניסות לפעולות TensorFlow הן יציאות של פעולת TensorFlow אחרת. שיטה זו משמשת להשגת ידית סמלית המייצגת את חישוב הקלט.
public static EncodeProto create ( scope scope, Operand < TInt32 > sizes, Iterable< Operand <?>> values, List<String> fieldNames, String messageType, Options... options)
שיטת מפעל ליצירת מחלקה העוטפת פעולת EncodeProto חדשה.
פרמטרים
תְחוּם | ההיקף הנוכחי |
---|---|
גדלים | טנסור של int32 עם הצורה `[batch_shape, len(field_names)]`. |
ערכים | רשימת טנסורים המכילה ערכים עבור השדה המתאים. |
שמות שדה | רשימת מחרוזות המכילות שמות שדות פרוטו. |
סוג הודעה | שם סוג הודעת הפרוטו לפענוח. |
אפשרויות | נושא ערכי תכונות אופציונליות |
החזרות
- מופע חדש של EncodeProto