מנהל קבוצות של מאפיינים קשורים בעת יצירת 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 | החל (בונה OperationBuilder ) מחיל מפרט מכשיר ומוסיף כל Operand ב-controlDependencies כקלט בקרה לבונה המסופק. |
OperationBuilder | applicationControlDependencies (בונה OperationBuilder ) מוסיף כל אופרנד ב-controlDependencies כקלט בקרה לבונה המסופק. |
ביצוע סביבה | env () מחזירה את סביבת הביצוע המשמשת את ההיקף הזה. |
חוּט | getDeviceString () מחזיר מחרוזת מכשיר מההיקף. |
חוּט | makeOpName (מחרוזת defaultName) צור שם ייחודי לאופרטור, תוך שימוש בברירת המחדל שסופקה במידת הצורך. |
תְחוּם | withControlDependencies (Iterable< Op > פקדים) מחזירה היקף חדש שבו לפעולות שנוספו יהיו תלות הבקרה שסופקו. |
תְחוּם | |
תְחוּם | withName (מחרוזת opName) החזר היקף חדש המשתמש בשם שצוין עבור אופציה. |
תְחוּם | withNameAsSubScope (מחרוזת defaultName) מחזירה היקף חדש שבו פעולות שנוספו יקדמו את שם הפעולה של ההיקף הזה (מוגדר על ידי withName(String) ), או ברירת המחדל הנתונה אם היא לא מוגדרת. |
תְחוּם | withSubScope (מחרוזת childScopeName) מחזירה היקף חדש שבו פעולות שנוספו יקבלו את קידומת השם שסופקה. |
שיטות בירושה
בונים ציבוריים
היקף ציבורי ( סביבה ExecutionEnvironment )
צור היקף חדש ברמה העליונה.
פרמטרים
env | סביבת הביצוע המשמשת את ה-scope. |
---|
שיטות ציבוריות
בונה Operation Builder ציבורי (בונה OperationBuilder )
מחיל מפרט מכשיר ומוסיף כל Operand ב-controlDependencies כקלט בקרה לבונה המסופק.
פרמטרים
בּוֹנֶה | OperationBuilder להוספת כניסות בקרה ומפרט מכשיר |
---|
Public OperationBuilder applyControlDependencies (בונה OperationBuilder )
מוסיף כל אופרנד ב-controlDependencies כקלט בקרה לבונה המסופק.
פרמטרים
בּוֹנֶה | OperationBuilder להוספת תשומות בקרה |
---|
מחרוזת ציבורית getDeviceString ()
מחזיר מחרוזת מכשיר מההיקף.
מחרוזת ציבורית makeOpName (מחרוזת defaultName)
צור שם ייחודי לאופרטור, תוך שימוש בברירת המחדל שסופקה במידת הצורך.
זה נקרא בדרך כלל רק על ידי כיתות בניית מפעיל.
שיטה זו יוצרת שם ייחודי, המתאים להיקף השם שנשלט על ידי מופע זה. קוד בנייה טיפוסי של מפעיל עשוי להיראות
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
הערה: אם אתה מספק מחלקה מורכבת לבניית מפעיל (כלומר, מחלקה שיוצרת קבוצה של פעולות קשורות על ידי קריאה לקוד בנייה של מפעיל אחר), השם שסופק ישמש כתת-היקף לכל המפעילים הבסיסיים.
פרמטרים
defaultName | שם לאופרטור הבסיסי. |
---|
מחזיר
- שם ייחודי למפעיל.
זורק
חריג טיעון לא חוקי | אם שם ברירת המחדל אינו חוקי. |
---|
היקף ציבורי עם תלות בקרה (בקרות שניתן לבצע <Op> )
מחזירה היקף חדש שבו לפעולות שנוספו יהיו תלות הבקרה שסופקו.
לאופציות שנוצרו עם היקף זה יהיה יתרון שליטה מכל אחד מהפקדים שסופקו. כל שאר המאפיינים עוברים בירושה מההיקף הנוכחי.
פרמטרים
בקרות | שליטה בתלות עבור פעולות שנוצרו עם ההיקף המוחזר |
---|
מחזיר
- היקף חדש עם תלות הבקרה שסופקה
היקף ציבורי עם התקן ( DeviceSpec deviceSpec)
החזר היקף חדש המשתמש במפרט המכשיר שסופק עבור הפעלה.
פעולות שנוצרו בטווח זה ימקמו את הפעולות שנוצרו במכשיר(ים) התואמים למפרט שסופק.
פרמטרים
מפרט המכשיר | מפרט מכשיר למפעיל בהיקף המוחזר |
---|
מחזיר
- Scope חדש המשתמש ב-opName עבור פעולות.
היקף ציבורי עם שם (מחרוזת opName)
החזר היקף חדש המשתמש בשם שצוין עבור אופציה.
לפעולות שנוצרו בהיקף זה יהיה שם של הטופס name/opName[_suffix]
. זה מאפשר לך לתת שם לאופרטור ספציפי בצורה משמעותית יותר.
השמות חייבים להתאים לביטוי הרגולרי [A-Za-z0-9.][A-Za-z0-9_.\-]*
פרמטרים
opName | שם לאופרטור בהיקף המוחזר |
---|
מחזיר
- Scope חדש המשתמש ב-opName עבור פעולות.
זורק
חריג טיעון לא חוקי | אם השם לא חוקי |
---|
Public Scope withNameAsSubScope (מחרוזת ברירת מחדל שם)
מחזירה היקף חדש שבו פעולות שנוספו יקדמו את שם הפעולה של ההיקף הזה (מוגדר על ידי withName(String)
), או ברירת המחדל הנתונה אם היא לא מוגדרת. זה נועד לשמש עבור פעולות מורכבות.
מבצעים שנוצרו עם היקף זה יהיו עם name/opName/
בתור הקידומת. השם בפועל יהיה ייחודי בהיקף המוחזר. כל שאר המאפיינים עוברים בירושה מההיקף הנוכחי.
שם ברירת המחדל של טווח הצאצא חייב להתאים לביטוי הרגולרי [A-Za-z0-9.][A-Za-z0-9_.\-]*
פרמטרים
defaultName | שם ההיקף המשנה אם שם ההיקף הזה לא הוגדר. |
---|
מחזיר
- תת-היקף חדש
זורק
חריג טיעון לא חוקי | אם השם לא חוקי |
---|
Public Scope withSubScope (מחרוזת childScopeName)
מחזירה היקף חדש שבו פעולות שנוספו יקבלו את קידומת השם שסופקה.
אופציות שנוצרו עם היקף זה יהיו עם name/childScopeName/
בתור הקידומת. השם בפועל יהיה ייחודי בהיקף המוחזר. כל שאר המאפיינים עוברים בירושה מההיקף הנוכחי.
שם הטווח הצאצא חייב להתאים לביטוי הרגולרי [A-Za-z0-9.][A-Za-z0-9_.\-]*
פרמטרים
childScopeName | שם עבור היקף הילד החדש |
---|
מחזיר
- תת-היקף חדש
זורק
חריג טיעון לא חוקי | אם השם לא חוקי |
---|