สภาพแวดล้อมสำหรับการดำเนินการ TensorFlow อย่างกระตือรือร้น
การดำเนินการอย่างกระตือรือร้นเป็นสภาพแวดล้อมการเขียนโปรแกรมที่จำเป็นซึ่งจะประเมินการดำเนินการทันทีโดยไม่ต้องสร้างกราฟ การดำเนินการส่งคืนค่าที่เป็นรูปธรรมแทนที่จะสร้างกราฟคำนวณเพื่อใช้ในภายหลัง เช่นเดียวกับ Graph
s และ Session
s
ซึ่งทำให้ง่ายต่อการพัฒนาด้วย TensorFlow และโมเดลการแก้ไขข้อบกพร่อง เนื่องจากมีการทำงานเหมือนกับไลบรารีการเขียนโปรแกรมมาตรฐาน
อินสแตนซ์ของ EagerSession
นั้นปลอดภัยสำหรับเธรด
คลาสที่ซ้อนกัน
แจกแจง | EagerSession.DevicePlacementPolicy | ควบคุมวิธีดำเนินการเมื่อเราพยายามเรียกใช้การดำเนินการบนอุปกรณ์ที่กำหนด แต่ไม่มีเทนเซอร์อินพุตบางตัวอยู่ในอุปกรณ์นั้น | |
ระดับ | EagerSession.ตัวเลือก | ||
แจกแจง | EagerSession.ResourceCleanupกลยุทธ์ | ควบคุมวิธีการล้างทรัพยากร TensorFlow เมื่อไม่จำเป็นต้องใช้อีกต่อไป |
วิธีการสาธารณะ
โมฆะที่ซิงโครไนซ์กัน | ปิด () |
EagerSession แบบคงที่ | สร้าง () ส่งคืน EagerSession ที่กำหนดค่าด้วยตัวเลือกเริ่มต้น |
EagerSession แบบคงที่ | |
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()
หรือ 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
เพื่อสร้างการดำเนินการเมื่อมีการเรียกใช้build()
หากไม่ได้เรียกใช้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...
}