Init

ชั้นเรียนสุดท้ายสาธารณะ เริ่มต้น

ค่าคงที่

สตริง DEFAULT_NAME

วิธีการสาธารณะ

โมฆะคงที่
เพิ่ม (ขอบเขต ขอบเขต , เครื่องมือเริ่มต้น Op )
ลงทะเบียน op เป็นตัวเริ่มต้นของกราฟ
เริ่มต้นแบบ คงที่
สร้าง ( ขอบเขต ขอบเขต)
วิธีการจากโรงงานเพื่อสร้างการดำเนินการที่เรียกใช้งานตัวเริ่มต้นทั้งหมดของกราฟ

วิธีการสืบทอด

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ DEFAULT_NAME

ค่าคงที่: "init"

วิธีการสาธารณะ

การเพิ่ม โมฆะคงที่สาธารณะ (ขอบเขต ขอบเขต , ตัวเริ่มต้น Op )

ลงทะเบียน op เป็นตัวเริ่มต้นของกราฟ

ตัวเริ่มต้นที่ลงทะเบียนแล้วจะถูกจัดกลุ่มเป็นหน่วยการคำนวณเดียวโดยการเพิ่มและดำเนินการการดำเนินการ init จากเซสชันกราฟ นี่เป็นสิ่งที่ไม่ต้องดำเนินการหากดำเนินการในเซสชันที่กระตือรือร้น

ดูสิ่งนี้ด้วย

การสร้าง Init แบบคงที่สาธารณะ (ขอบเขต ขอบเขต )

วิธีการจากโรงงานเพื่อสร้างการดำเนินการที่เรียกใช้งานตัวเริ่มต้นทั้งหมดของกราฟ

ตัวเริ่มต้นทั้งหมดที่เพิ่มลงในกราฟผ่าน tf.initAdd จะถูกจัดกลุ่มเข้าด้วยกันเป็นหน่วยการคำนวณเดียวในกราฟ จากนั้นจะต้องเพิ่มการดำเนินการนี้ลงในกราฟใดๆ โดยใช้ variables ตั้งแต่หนึ่งตัวขึ้นไป และดำเนินการหนึ่งครั้งก่อนที่จะรันกราฟ เพื่อให้สถานะของตัวแปรเริ่มต้นได้อย่างเหมาะสม

เมื่อกราฟถูกสร้างขึ้นโดยกระบวนการเดียวกันกับที่กำลังรันเซสชัน ตัวเริ่มต้นสามารถเรียกใช้ได้โดยการดำเนินการจุดสิ้นสุดเดียวนี้ ตัวอย่างเช่น:

try (Graph g = new Graph()) {
   Variable<TInt32> x = tf.variable(tf.constant(10));  // initAdd is called implicitly
   Variable<TInt32> y = tf.variable(tf.constant(20));  // idem
   Add<TInt32> z = tf.math.add(x, y);

   try (Session s = new Session(g)) {
     s.run(tf.init());  // initialize all variables

     try (TInt32 t = (TInt32)s.runner().fetch(z).run().get(0)) {
       assertEquals(30, t.data().getInt());
     
   }
 }
 }

เมื่อกราฟถูกสร้างขึ้นโดยกระบวนการที่แยกจากกัน คุณสามารถเรียกใช้ตัวเริ่มต้นได้โดยการเรียกใช้ init op ตามชื่อ ซึ่งมีค่าเริ่มต้นเป็น DEFAULT_NAME ตัวอย่างเช่น:

// Building the model
 try (Graph g = new Graph()) {
   Variable<TInt32> x = tf.variable(tf.constant(10));  // initAdd is called implicitly
   Variable<TInt32> y = tf.variable(tf.constant(20));  // idem
   Add<TInt32> z = tf.withName("z").math.add(x, y);

   tf.init();  // add variables initializers to the graph, as Init.DEFAULT_NAME
   // ...exporting graph as a saved model...
 

 ...

 // Running the model
 try (SavedModelBundle model = SavedModelBundle.load("/path/to/model", "train")) {
   model.session().run(Init.DEFAULT_NAME);

   try (TInt32 t = (TInt32)s.runner().fetch("z").run().get(0)) {
     assertEquals(30, t.data().getInt());
   }
 }
 }

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
การส่งคืน
  • op จัดกลุ่มตัวเริ่มต้นทั้งหมดที่เพิ่มลงในกราฟ
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากสภาพแวดล้อมการดำเนินการในขอบเขตไม่ใช่กราฟ