tensorflow::ops::ScatterNdAdd

#include <state_ops.h>

ใช้การบวกแบบสปาร์สกับค่าแต่ละค่าหรือส่วนย่อยใน ตัวแปร

สรุป

ref เป็น Tensor ที่มีอันดับ P และ indices เป็น Tensor ที่มีอันดับ Q

indices ต้องเป็นเทนเซอร์จำนวนเต็ม ซึ่งประกอบด้วยดัชนีไปยัง ref ต้องมีรูปร่าง [d_0, ..., d_{Q-2}, K] โดยที่ 0 < K <= P

มิติภายในสุดของ indices (ที่มีความยาว K ) สอดคล้องกับดัชนีในองค์ประกอบ (ถ้า K = P ) หรือส่วนย่อย (ถ้า K < P ) ตามมิติที่ K ของ ref

updates คือ Tensor ที่มีอันดับ Q-1+PK และมีรูปร่างดังนี้:

[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]

ตัวอย่างเช่น สมมติว่าเราต้องการเพิ่มองค์ประกอบที่กระจัดกระจาย 4 ตัวลงในเทนเซอร์อันดับ 1 ที่มี 8 องค์ประกอบ ใน Python การบวกนั้นจะมีลักษณะดังนี้:

ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8])
indices = tf.constant([[4], [3], [1], [7]])
updates = tf.constant([9, 10, 11, 12])
add = tf.scatter_nd_add(ref, indices, updates)
with tf.Session() as sess:
  print sess.run(add)

การอัปเดตข้อมูลอ้างอิงที่ได้จะมีลักษณะดังนี้:

[1, 13, 3, 14, 14, 6, 7, 20]

ดู tf.scatter_nd สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการอัปเดตสไลซ์

ข้อโต้แย้ง:

  • ขอบเขต: วัตถุ ขอบเขต
  • อ้างอิง: เทนเซอร์ ที่เปลี่ยนแปลงได้ ควรมาจากโหนด ตัวแปร
  • ดัชนี: เทนเซอร์ ต้องเป็นหนึ่งในประเภทต่อไปนี้: int32, int64 เทนเซอร์ของดัชนีไปยัง ref
  • การอัปเดต: เทนเซอร์ ต้องมีประเภทเดียวกับค่าอ้างอิง เทนเซอร์ของค่าที่อัปเดตแล้วที่จะเพิ่มลงในค่าอ้างอิง

คุณลักษณะเสริม (ดูที่ Attrs ):

  • use_locking: ค่าบูลีนที่ไม่บังคับ ค่าเริ่มต้นคือ True ถ้าเป็น True การกำหนดค่าจะได้รับการป้องกันด้วยล็อก มิเช่นนั้นพฤติกรรมจะไม่แน่นอน แต่การแย่งใช้ทรัพยากรอาจน้อยลง

การส่งคืนสินค้า:

  • Output : เหมือนกับค่าอ้างอิง ส่งคืนเพื่ออำนวยความสะดวกสำหรับการดำเนินการที่ต้องการใช้ค่าที่อัปเดตแล้วหลังจากทำการอัปเดตเสร็จสิ้น

ตัวสร้างและตัวทำลาย

ScatterNdAdd (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates)
ScatterNdAdd (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates, const ScatterNdAdd::Attrs & attrs)

คุณลักษณะสาธารณะ

operation
output_ref

หน้าที่สาธารณะ

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

ฟังก์ชันคงที่สาธารณะ

UseLocking (bool x)

โครงสร้าง

tensorflow::ops::ScatterNdAdd::Attrs

ตัวเลือกในการตั้งค่าแอตทริบิวต์สำหรับ ScatterNdAdd

คุณลักษณะสาธารณะ

การดำเนินการ

Operation operation

เอาต์พุต_อ้างอิง

::tensorflow::Output output_ref

หน้าที่สาธารณะ

กระจายและบวก

 ScatterNdAdd(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input ref,
  ::tensorflow::Input indices,
  ::tensorflow::Input updates
)

กระจายและบวก

 ScatterNdAdd(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input ref,
  ::tensorflow::Input indices,
  ::tensorflow::Input updates,
  const ScatterNdAdd::Attrs & attrs
)

โหนด

::tensorflow::Node * node() const 

ตัวดำเนินการ::เทนเซอร์โฟลว์::อินพุต

 operator::tensorflow::Input() const 

ตัวดำเนินการ::เทนเซอร์โฟลว์::เอาต์พุต

 operator::tensorflow::Output() const 

ฟังก์ชันคงที่สาธารณะ

ใช้การล็อก

Attrs UseLocking(
  bool x
)