תְחוּם

שיעור גמר ציבורי היקף

מנהל קבוצות של מאפיינים קשורים בעת יצירת פעולות 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, ...);
 

חפצי היקף אינו חוט בטוח.

בנאים ציבוריים

היקף ( ExecutionEnvironment env)
צור היקף חדש ברמה העליונה.

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

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 אם השם אינו תקף