מנהל קבוצות של מאפיינים קשורים בעת יצירת פעולות Tensorflow, כגון קידומת שם נפוצה.
Scope
הוא מיכל למאפיינים נפוצים המופעלים על TensorFlow Ops. קוד משתמש רגיל מאותחל Scope
ומספק אותו לשיעורי בניין פעולות. לדוגמא:
Scope scope = new Scope(graph);
Constant c = Constant.create(scope, 42);
מחלקה לבניית מבצע רוכשת היקף ומשתמשת בה לקביעת מאפיינים במבצע 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()
...
}
}
היררכיית היקף:
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 | ApplyControlDependences (בונה OperationBuilder ) מוסיף כל Operand בשליטה ControlDependences כקלט בקרה לבונה שסופק. |
ביצוע סביבה | env () מחזירה את סביבת הביצוע המשמשת את היקף זה. |
חוּט | makeOpName (שם מחרוזת default) צור שם ייחודי למפעיל, תוך שימוש בברירת מחדל מסופקת במידת הצורך. |
תְחוּם | withControlDependencies ( פקדי Iterable < Operand <? >>) מחזירה היקף חדש שבו פעולות שנוספו יהיו בעלות תלות השליטה המסופקת. |
תְחוּם | withName (מחרוזת opName) החזר היקף חדש שמשתמש בשם המסופק עבור אופ. |
תְחוּם | withSubScope (מחרוזת childScopeName) מחזירה היקף חדש שבו פעולות שנוספו יקבלו את קידומת השם המסופקת. |
שיטות תורשתיות
בנאים ציבוריים
היקף ציבורי ( ExecutionEnvironment env)
צור היקף חדש ברמה העליונה.
פרמטרים
env | סביבת הביצוע המשמשת את ההיקף. |
---|
שיטות ציבוריות
OperationBuilder ציבורי ApplyControlDependences ( OperationBuilder Builder)
מוסיף כל Operand בשליטה ControlDependences כקלט בקרה לבונה שסופק.
פרמטרים
בּוֹנֶה | OperationBuilder להוסיף כניסות שליטה |
---|
מחרוזת ציבורית makeOpName (שם מחרוזת ברירת מחדל)
צור שם ייחודי למפעיל, תוך שימוש בברירת מחדל מסופקת במידת הצורך.
זה נקרא בדרך כלל רק על ידי שיעורי בניית מפעילים.
שיטה זו מייצרת שם ייחודי המתאים לטווח השמות הנשלט על ידי מופע זה. קוד בניית אופרטור אופייני עשוי להראות כמו
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
הערה: אם אתה מספק מחלקה לבניית אופרטורים מרוכבים (כלומר, מחלקה שיוצרת קבוצה של פעולות קשורות על ידי קריאה לקוד בניין אחר של מפעיל), השם שסופק ישמש כמשנה לכל המפעילים הבסיסיים.
פרמטרים
defaultName | שם עבור המפעיל הבסיסי. |
---|
החזרות
- שם ייחודי למפעיל.
זורק
IllegalArgumentException | אם שם ברירת המחדל אינו חוקי. |
---|
היקף ציבורי עם תלות בקרה ( בקרות ניתנות לביצוע < Operand <? >>)
מחזירה היקף חדש שבו פעולות שנוספו יהיו בעלות תלות השליטה המסופקת.
אופציות שנוצרו עם היקף זה יהיו בעלות יתרון בקרה מכל אחד מהבקרות המסופקות. כל שאר המאפיינים עוברים בירושה מההיקף הנוכחי.
פרמטרים
פקדים | לשלוט בתלות עבור אופציות שנוצרו עם ההיקף שהוחזר |
---|
החזרות
- היקף חדש עם תלות השליטה המסופקת
היקף ציבורי עם שם (מחרוזת opName)
החזר היקף חדש שמשתמש בשם המסופק עבור אופ.
לפעולות שנוצרו בתחום זה יהיה שם של name/opName[_suffix]
הטופס name/opName[_suffix]
. זה מאפשר לך לתת שם למפעיל ספציפי בצורה משמעותית יותר.
שמות חייבים להתאים לביטוי הרגולרי [A-Za-z0-9.][A-Za-z0-9_.\-]*
פרמטרים
opName | שם למפעיל בהיקף המוחזר |
---|
החזרות
- היקף חדש המשתמש ב- opName לצורך פעולות.
זורק
IllegalArgumentException | אם השם אינו תקף |
---|
היקף ציבורי withSubScope (מחרוזת childScopeName)
מחזירה היקף חדש שבו פעולות שנוספו יקבלו את קידומת השם המסופקת.
לאופציות שנוצרו עם היקף זה יהיה name/childScopeName/
כקידומת. השם בפועל יהיה ייחודי בהיקף שהוחזר. כל שאר המאפיינים עוברים בירושה מההיקף הנוכחי.
שם היקף הילד חייב להתאים לביטוי הרגולרי [A-Za-z0-9.][A-Za-z0-9_.\-]*
פרמטרים
childScopeName | שם להיקף הילד החדש |
---|
החזרות
- תשתית חדשה
זורק
IllegalArgumentException | אם השם אינו תקף |
---|