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