ขอบเขต

ขอบเขต ระดับสุดท้ายของสาธารณะ

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

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

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

นักก่อสร้างสาธารณะ

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

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

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

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

สาธารณะ OperationBuilder ใช้ ControlDependencies (ตัวสร้าง OperationBuilder )

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

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

สาธารณะ ExecutionEnvironment env ()

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

สตริงสาธารณะ makeOpName (สตริง defaultName)

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

โดยปกติจะเรียกโดยคลาสการสร้างตัวดำเนินการเท่านั้น

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

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

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

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

ขอบเขต สาธารณะ withControlDependencies (ตัวควบคุม < Operand <? >> ที่สามารถทำ ซ้ำได้ )

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

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

พารามิเตอร์
การควบคุม ควบคุมการอ้างอิงสำหรับ 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 หากชื่อไม่ถูกต้อง