מנהל קבוצות של מאפיינים קשורים בעת יצירת Tensorflow Operations, כגון קידומת שם נפוץ.
A Scope
הוא מיכל למאפיינים נפוצים המיושמים על TensorFlow Ops. קוד משתמש רגיל מאתחל Scope
ומספק אותו למחלקות של בניית Operation. לְדוּגמָה:
Scope scope = new Scope(graph);
Constant c = Constant.create(scope, 42);
מחלקה לבניית פעולות רוכשת Scope, ומשתמשת בו כדי להגדיר מאפיינים באופציות הבסיסיות של Tensorflow. לְדוּגמָה:
// An operator class that adds a constant.
public class Constant {
public static Constant create(Scope scope, ...) {
scope.graph().opBuilder(
"Const", scope.makeOpName("Const"))
.setAttr(...)
.build()
...
}
}
היררכיית היקף:
A Scope
מספק שיטות with()
שונות שיוצרות היקף חדש. בהיקף החדש בדרך כלל מאפיין אחד שונה בעוד שמאפיינים אחרים עוברים בירושה מהיקף האב.
דוגמה לשימוש ב- Constant
מיושם כמו קודם:
Scope root = new Scope(graph);
// The linear subscope will generate names like linear/...
Scope linear = Scope.withSubScope("linear");
// This op name will be "linear/W"
Constant.create(linear.withName("W"), ...);
// This op will be "linear/Const", using the default
// name provided by Constant
Constant.create(linear, ...);
// This op will be "linear/Const_1", using the default
// name provided by Constant and making it unique within
// this scope
Constant.create(linear, ...);
חפצי היקף אינם בטוחים בחוט.
בונים ציבוריים
שיטות ציבוריות
OperationBuilder | applicationControlDependencies (בונה OperationBuilder ) מוסיף כל אופרנד ב-controlDependencies כקלט בקרה לבונה המסופק. |
ביצוע סביבה | env () מחזירה את סביבת הביצוע המשמשת את ההיקף הזה. |
חוּט | makeOpName (מחרוזת defaultName) צור שם ייחודי לאופרטור, תוך שימוש בברירת המחדל שסופקה במידת הצורך. |
תְחוּם | withControlDependencies (בקרות < Operand <?>> שניתן לבצע) מחזירה היקף חדש שבו לפעולות שנוספו יהיו תלות הבקרה שסופקו. |
תְחוּם | withName (מחרוזת opName) החזר היקף חדש המשתמש בשם שצוין עבור אופציה. |
תְחוּם | withSubScope (מחרוזת childScopeName) מחזירה היקף חדש שבו פעולות שנוספו יקבלו את קידומת השם שסופקה. |
שיטות בירושה
בונים ציבוריים
היקף ציבורי ( סביבה ExecutionEnvironment )
צור היקף חדש ברמה העליונה.
פרמטרים
env | סביבת הביצוע המשמשת את ה-scope. |
---|
שיטות ציבוריות
Public OperationBuilder applyControlDependencies (בונה OperationBuilder )
מוסיף כל אופרנד ב-controlDependencies כקלט בקרה לבונה המסופק.
פרמטרים
בּוֹנֶה | OperationBuilder להוספת תשומות בקרה |
---|
מחרוזת ציבורית makeOpName (מחרוזת defaultName)
צור שם ייחודי לאופרטור, תוך שימוש בברירת המחדל שסופקה במידת הצורך.
זה נקרא בדרך כלל רק על ידי כיתות בניית מפעיל.
שיטה זו יוצרת שם ייחודי, המתאים להיקף השם שנשלט על ידי מופע זה. קוד בנייה טיפוסי של מפעיל עשוי להיראות
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
הערה: אם אתה מספק מחלקה מורכבת לבניית מפעיל (כלומר, מחלקה שיוצרת קבוצה של פעולות קשורות על ידי קריאה לקוד בנייה של מפעיל אחר), השם שסופק ישמש כתת-היקף לכל המפעילים הבסיסיים.
פרמטרים
defaultName | שם לאופרטור הבסיסי. |
---|
מחזיר
- שם ייחודי למפעיל.
זורק
חריג טיעון לא חוקי | אם שם ברירת המחדל אינו חוקי. |
---|
היקף ציבורי עם תלות שליטה (בקרות < Operand <?>> שניתן לבצע)
מחזירה היקף חדש שבו לפעולות שנוספו יהיו תלות הבקרה שסופקו.
לאופציות שנוצרו עם היקף זה יהיה יתרון שליטה מכל אחד מהפקדים שסופקו. כל שאר המאפיינים עוברים בירושה מההיקף הנוכחי.
פרמטרים
בקרות | שליטה בתלות עבור פעולות שנוצרו עם ההיקף המוחזר |
---|
מחזיר
- היקף חדש עם תלות הבקרה שסופקה
היקף ציבורי עם שם (מחרוזת opName)
החזר היקף חדש המשתמש בשם שצוין עבור אופציה.
לפעולות שנוצרו בהיקף זה יהיה שם של הטופס name/opName[_suffix]
. זה מאפשר לך לתת שם לאופרטור ספציפי בצורה משמעותית יותר.
השמות חייבים להתאים לביטוי הרגולרי [A-Za-z0-9.][A-Za-z0-9_.\-]*
פרמטרים
opName | שם לאופרטור בהיקף המוחזר |
---|
מחזיר
- Scope חדש המשתמש ב-opName עבור פעולות.
זורק
חריג טיעון לא חוקי | אם השם לא חוקי |
---|
Public Scope withSubScope (מחרוזת childScopeName)
מחזירה היקף חדש שבו פעולות שנוספו יקבלו את קידומת השם שסופקה.
אופציות שנוצרו עם היקף זה יהיו עם name/childScopeName/
בתור הקידומת. השם בפועל יהיה ייחודי בהיקף המוחזר. כל שאר המאפיינים עוברים בירושה מההיקף הנוכחי.
שם הטווח הצאצא חייב להתאים לביטוי הרגולרי [A-Za-z0-9.][A-Za-z0-9_.\-]*
פרמטרים
childScopeName | שם עבור היקף הילד החדש |
---|
מחזיר
- תת-היקף חדש
זורק
חריג טיעון לא חוקי | אם השם לא חוקי |
---|