สภาพแวดล้อมสำหรับดำเนินการ TensorFlow อย่างกระตือรือร้น
การดำเนินการอย่างกระตือรือร้นเป็นสภาพแวดล้อมการเขียนโปรแกรมที่จำเป็นซึ่งประเมินการดำเนินการทันที โดยไม่ต้องสร้างกราฟ การดำเนินการส่งคืนค่าที่เป็นรูปธรรมแทนที่จะสร้างกราฟการคำนวณเพื่อเรียกใช้ในภายหลัง เช่นเดียวกับ Graph
และ Session
ทำให้ง่ายต่อการพัฒนาด้วย TensorFlow และโมเดลการดีบัก เนื่องจากมีลักษณะการทำงานเหมือนไลบรารีการเขียนโปรแกรมมาตรฐานมากกว่า
อินสแตนซ์ของ EagerSession
นั้นปลอดภัยสำหรับเธรด
คลาสที่ซ้อนกัน
enum | EagerSession.DevicePlacementPolicy | ควบคุมวิธีการดำเนินการเมื่อเราพยายามเรียกใช้การทำงานบนอุปกรณ์ที่กำหนด แต่เทนเซอร์อินพุตบางตัวไม่ได้อยู่บนอุปกรณ์นั้น | |
ระดับ | EagerSession.Options | ||
enum | EagerSession.ResourceCleanupStrategy | ควบคุมวิธีการล้างทรัพยากร TensorFlow เมื่อไม่ต้องการใช้อีกต่อไป |
วิธีการสาธารณะ
ซิงโครไนซ์เป็นโมฆะ | ปิด () |
EagerSession แบบคงที่ | สร้าง () ส่งกลับ EagerSession ที่กำหนดค่าด้วยตัวเลือกเริ่มต้น |
EagerSession แบบคงที่ | getDefault () ส่งกลับเซสชันกระตือรือร้นเริ่มต้น เมื่อเริ่มต้นแล้ว เซสชันความกระตือรือร้นเริ่มต้นจะยังคงใช้งานได้ตลอดชีวิตของแอปพลิเคชัน ตรงข้ามกับเซสชันที่ได้รับจาก |
EagerSession แบบคงที่ | initDefault (ตัวเลือก EagerSession.Options ) เริ่มต้นเซสชั่นที่ต้องการโดยดีฟอลต์ ซึ่งจะยังคงใช้งานได้ตลอดอายุของแอปพลิเคชัน |
OperationBuilder | |
EagerSession.Options คงที่ | ตัวเลือก () ส่งกลับวัตถุที่กำหนดค่าและสร้าง EagerSession พร้อมตัวเลือกที่กำหนดเอง |
วิธีการสืบทอด
วิธีการสาธารณะ
ปิด ซิงโครไนซ์สาธารณะ ปิด ()
EagerSession สาธารณะแบบคงที่ สร้าง ()
ส่งกลับ EagerSession
ที่กำหนดค่าด้วยตัวเลือกเริ่มต้น
คำเตือน: อินสแตนซ์ของ EagerSession
ส่งคืนโดยวิธีนี้จะต้องทำให้ว่างโดยชัดแจ้งโดยการเรียกใช้ close()
เมื่อไม่ต้องการใช้อีกต่อไป ซึ่งสามารถทำได้โดยใช้เทคนิค "ลองใช้กับทรัพยากร"
ตัวอย่างการใช้งาน:
try (EagerSession session = EagerSession.create()) {
Ops tf = Ops.create(session);
// build execute operations eagerly...
}
EagerSession getDefault แบบคงที่สาธารณะ ( )
ส่งกลับเซสชันกระตือรือร้นเริ่มต้น
เมื่อเริ่มต้นแล้ว เซสชันความกระตือรือร้นเริ่มต้นจะยังคงใช้งานได้ตลอดชีวิตของแอปพลิเคชัน ตรงข้ามกับเซสชันที่ได้รับจาก create()
หรือ EagerSession.Options.build()
ซึ่งควรปิดหลังจากใช้งาน
ชุดเริ่มต้นของ EagerSession.Options
ใช้เพื่อเริ่มต้นเซสชันในการโทรครั้งแรก หากต้องการลบล้างพฤติกรรมนี้ เป็นไปได้ที่จะเรียกใช้ initDefault(Options)
ด้วยชุดตัวเลือกอื่นก่อนการโทรครั้งแรก
ตัวอย่างการใช้งาน:
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() implicitly
Ops tf = Ops.create();
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() explicitly
Ops tf = Ops.create(EagerSession.getDefault());
คืนสินค้า
- เซสชันกระตือรือร้นเริ่มต้น
ดูสิ่งนี้ด้วย
สาธารณะคงที่ EagerSession initDefault (ตัวเลือก EagerSession.Options )
เริ่มต้นเซสชั่นที่ต้องการโดยดีฟอลต์ ซึ่งจะยังคงใช้งานได้ตลอดอายุของแอปพลิเคชัน
เมธอดนี้ถูกเรียกใช้โดยปริยายในการเรียก getDefault()
ครั้งแรก แต่ยังสามารถเรียกใช้ได้อย่างชัดเจนเพื่อแทนที่ตัวเลือกเริ่มต้น
โปรดทราบว่าการเรียกใช้เมธอดนี้มากกว่าหนึ่งครั้งจะส่ง IllegalArgumentException
เนื่องจากเซสชันเริ่มต้นไม่สามารถแก้ไขได้เมื่อถูกสร้างขึ้น ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องเริ่มต้นอย่างชัดเจนก่อนที่จะเรียกใช้ getDefault()
เป็นครั้งแรกจากเธรดใดๆ
ตัวอย่างการใช้งาน:
// Initializing default session to override default options is valid but
// is optional
EagerSession.initDefault(EagerSession.options().async(true));
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() implicitly
Ops tf = Ops.create();
// Initializing default session more than once or after using it is not
// permitted and throws an exception
EagerSession.initDefault(EagerSession.options().async(true)); // throws
พารามิเตอร์
ตัวเลือก | ตัวเลือกที่จะใช้เพื่อสร้างเซสชันเริ่มต้น |
---|
คืนสินค้า
- เซสชันกระตือรือร้นเริ่มต้น
ขว้าง
IllegalStateException | หากเริ่มต้นเซสชันเริ่มต้นแล้ว |
---|
ดูสิ่งนี้ด้วย
OperationBuilder สาธารณะ opBuilder (ประเภทสตริง ชื่อสตริง)
ส่งคืนตัวสร้างเพื่อสร้าง Operation
ใหม่
พารามิเตอร์
พิมพ์ | ของการดำเนินการ (กล่าวคือ ระบุการคำนวณที่จะดำเนินการ) |
---|---|
ชื่อ | เพื่ออ้างถึงการดำเนินการที่สร้างขึ้นในขอบเขตสภาพแวดล้อมนี้ |
คืนสินค้า
-
OperationBuilder
เพื่อสร้างการดำเนินการเมื่อมีการเรียกใช้OperationBuilder.build()
ถ้าOperationBuilder.build()
ไม่ถูกเรียกใช้ ทรัพยากรบางส่วนอาจรั่วไหล
EagerSession.Options สาธารณะแบบคงที่ ตัวเลือก ()
ส่งกลับวัตถุที่กำหนดค่าและสร้าง EagerSession
พร้อมตัวเลือกที่กำหนดเอง
คำเตือน: อินสแตนซ์ของ EagerSession
ส่งคืนโดยวิธีนี้จะต้องทำให้ว่างโดยชัดแจ้งโดยการเรียกใช้ close()
เมื่อไม่ต้องการใช้อีกต่อไป ซึ่งสามารถทำได้โดยใช้เทคนิค "ลองใช้กับทรัพยากร"
ตัวอย่างการใช้งาน:
try (EagerSession session = EagerSession.options().async(true).build()) {
Ops tf = Ops.create(session);
// build execute operations eagerly and asynchronously...
}