สภาพแวดล้อมสำหรับการดำเนินการ 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...
}