จัดการกลุ่มของคุณสมบัติที่เกี่ยวข้องเมื่อสร้าง 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, ...);
วัตถุขอบเขตจะไม่ด้ายปลอดภัย
ผู้สร้างสาธารณะ
วิธีการสาธารณะ
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 เพื่อเพิ่มอินพุตควบคุมให้กับ |
---|
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 | ถ้าชื่อไม่ถูกต้อง |
---|