คำเตือน: API นี้เลิกใช้งานแล้วและจะถูกลบออกใน TensorFlow เวอร์ชันในอนาคตหลังจาก การแทนที่ เสถียรแล้ว

Scope

ประชาชนขอบเขตชั้นสุดท้าย

จัดการกลุ่มของคุณสมบัติที่เกี่ยวข้องเมื่อสร้าง Tensorflow Operations เช่น คำนำหน้าชื่อทั่วไป

Scope เป็นภาชนะสำหรับคุณสมบัติทั่วไปนำไปใช้กับ TensorFlow Ops รหัสผู้ใช้ปกติเริ่มต้น Scope และให้มันเพื่อการดำเนินงานเรียนอาคาร ตัวอย่างเช่น:

Scope scope = new Scope(graph);
 Constant c = Constant.create(scope, 42);
 

คลาสการสร้าง Operation จะได้รับขอบเขต และใช้เพื่อตั้งค่าคุณสมบัติบน Tensorflow ops พื้นฐาน ตัวอย่างเช่น:

// 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
applyControlDependencies ( OperationBuilder สร้าง)
เพิ่ม Operand แต่ละตัวใน controlDependencies เป็นอินพุตควบคุมไปยังตัวสร้างที่ให้มา
สภาพแวดล้อมการดำเนินการ
env ()
ส่งกลับสภาพแวดล้อมการดำเนินการที่ใช้โดยขอบเขตนี้
สตริง
makeOpName (String defaultName)
สร้างชื่อที่ไม่ซ้ำสำหรับโอเปอเรเตอร์ โดยใช้ค่าเริ่มต้นที่ให้มาหากจำเป็น
ขอบเขต
withControlDependencies (Iterable < Operand <? >> ควบคุม)
ส่งกลับขอบเขตใหม่ที่การดำเนินการที่เพิ่มเข้ามาจะมีการขึ้นต่อกันของการควบคุมที่ให้มา
ขอบเขต
withName (String opName)
ส่งคืนขอบเขตใหม่ที่ใช้ชื่อที่ระบุสำหรับ op
ขอบเขต
withSubScope (String childScopeName)
ส่งกลับขอบเขตใหม่ที่การดำเนินการเพิ่มเติมจะมีคำนำหน้าชื่อที่ให้ไว้

วิธีการสืบทอด

ผู้สร้างสาธารณะ

ขอบเขตสาธารณะ ( ExecutionEnvironment env)

สร้างขอบเขตระดับบนสุดใหม่

พารามิเตอร์
สิ่งแวดล้อม สภาพแวดล้อมการดำเนินการที่ใช้โดยขอบเขต

วิธีการสาธารณะ

ประชาชน OperationBuilder applyControlDependencies ( OperationBuilder สร้าง)

เพิ่ม Operand แต่ละตัวใน controlDependencies เป็นอินพุตควบคุมไปยังตัวสร้างที่ให้มา

พารามิเตอร์
ช่างก่อสร้าง OperationBuilder เพื่อเพิ่มอินพุตควบคุมให้กับ

ประชาชน ExecutionEnvironment env ()

ส่งกลับสภาพแวดล้อมการดำเนินการที่ใช้โดยขอบเขตนี้

String สาธารณะ makeOpName (String defaultName)

สร้างชื่อที่ไม่ซ้ำสำหรับโอเปอเรเตอร์ โดยใช้ค่าเริ่มต้นที่ให้มาหากจำเป็น

โดยปกติเรียกโดยคลาสอาคารผู้ปฏิบัติงานเท่านั้น

เมธอดนี้จะสร้างชื่อที่ไม่ซ้ำ ซึ่งเหมาะสมกับขอบเขตชื่อที่ควบคุมโดยอินสแตนซ์นี้ โดยทั่วไปการสร้างรหัสผู้ประกอบการอาจมีลักษณะเช่น

scope.env().opBuilder("Const", scope.makeOpName("Const"))...
 

หมายเหตุ: ถ้าคุณให้ผู้ประกอบคอมโพสิตชั้นอาคาร (เช่นชั้นเรียนที่สร้างชุดของการดำเนินงานที่เกี่ยวข้องโดยการเรียกผู้ประกอบการสร้างรหัสอื่น ๆ ) ชื่อให้จะทำหน้าที่เป็น subscope กับผู้ประกอบการต้นแบบทั้งหมด

พารามิเตอร์
defaultName ชื่อสำหรับตัวดำเนินการพื้นฐาน
คืนสินค้า
  • ชื่อเฉพาะสำหรับตัวดำเนินการ
ขว้าง
IllegalArgumentException หากชื่อเริ่มต้นไม่ถูกต้อง

ประชาชน ขอบเขต withControlDependencies (Iterable < Operand <? >> ควบคุม)

ส่งกลับขอบเขตใหม่ที่การดำเนินการที่เพิ่มเข้ามาจะมีการขึ้นต่อกันของการควบคุมที่ให้มา

ปฏิบัติการที่สร้างด้วยขอบเขตนี้จะมีขอบควบคุมจากการควบคุมที่ให้มาแต่ละส่วน คุณสมบัติอื่นๆ ทั้งหมดสืบทอดมาจากขอบเขตปัจจุบัน

พารามิเตอร์
การควบคุม ควบคุมการพึ่งพาสำหรับ ops ที่สร้างด้วยขอบเขตที่ส่งคืน
คืนสินค้า
  • ขอบเขตใหม่ที่มีการพึ่งพาการควบคุมที่ให้มา

ประชาชน ขอบเขต withName (String opName)

ส่งคืนขอบเขตใหม่ที่ใช้ชื่อที่ระบุสำหรับ op

การดำเนินงานที่สร้างขึ้นภายในขอบเขตนี้จะมีชื่อของรูปแบบ name/opName[_suffix] ซึ่งช่วยให้คุณตั้งชื่อตัวดำเนินการเฉพาะอย่างมีความหมายมากขึ้น

ชื่อต้องตรงกับการแสดงออกปกติ [A-Za-z0-9.][A-Za-z0-9_.\-]*

พารามิเตอร์
opName ชื่อตัวดำเนินการในขอบเขตที่ส่งคืน
คืนสินค้า
  • ขอบเขตใหม่ที่ใช้ opName สำหรับการดำเนินงาน
ขว้าง
IllegalArgumentException ถ้าชื่อไม่ถูกต้อง

ประชาชน ขอบเขต withSubScope (String childScopeName)

ส่งกลับขอบเขตใหม่ที่การดำเนินการเพิ่มเติมจะมีคำนำหน้าชื่อที่ให้ไว้

Ops ที่สร้างขึ้นด้วยขอบเขตนี้จะมี name/childScopeName/ เป็นคำนำหน้า ชื่อจริงจะไม่ซ้ำกันในขอบเขตที่ส่งคืน คุณสมบัติอื่นๆ ทั้งหมดสืบทอดมาจากขอบเขตปัจจุบัน

ชื่อขอบเขตเด็กจะต้องตรงกับการแสดงออกปกติ [A-Za-z0-9.][A-Za-z0-9_.\-]*

พารามิเตอร์
ChildScopeName ชื่อขอบเขตย่อยใหม่
คืนสินค้า
  • ขอบเขตย่อยใหม่
ขว้าง
IllegalArgumentException ถ้าชื่อไม่ถูกต้อง