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 )