เทนเซอร์โฟลว์:: ปฏิบัติการ:: ScatterNdอัปเดต
#include <state_ops.h>
ใช้ updates
กระจายกับแต่ละค่าหรือส่วนต่างๆ ภายในที่กำหนด
สรุป
แปรผันตาม indices
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]) update = tf.scatter_nd_update(ref, indices, updates) with tf.Session() as sess: print sess.run(update)
ผลลัพธ์การอัปเดตเพื่ออ้างอิงจะมีลักษณะดังนี้:
[1, 11, 3, 10, 9, 6, 7, 12]
ดู tf.scatter_nd
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการอัปเดตสไลซ์
ดูเพิ่มเติม tf.scatter_update
และ tf.batch_scatter_update
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- ref: เทนเซอร์ ที่ไม่แน่นอน ควรมาจากโหนด ตัวแปร
- ดัชนี: เทนเซอร์ ต้องเป็นประเภทใดประเภทหนึ่งต่อไปนี้: int32, int64 เทนเซอร์ของดัชนีในการอ้างอิง
- อัปเดต: เทนเซอร์ จะต้องมีประเภทเดียวกันกับการอ้างอิง เทนเซอร์ของค่าที่อัปเดตเพื่อเพิ่มลงในการอ้างอิง
แอ็ตทริบิวต์ทางเลือก (ดู Attrs
):
- use_locking: บูลเสริม ค่าเริ่มต้นเป็น True ถ้าเป็น True งานที่ได้รับมอบหมายจะได้รับการปกป้องด้วยการล็อค มิฉะนั้นพฤติกรรมจะไม่ได้กำหนดไว้ แต่อาจแสดงความขัดแย้งน้อยลง
ผลตอบแทน:
-
Output
: เช่นเดียวกับการอ้างอิง กลับมาเพื่อความสะดวกสำหรับการดำเนินงานที่ต้องการใช้ค่าที่อัพเดตหลังจากการอัพเดตเสร็จสิ้น
ตัวสร้างและผู้ทำลาย | |
---|---|
ScatterNdUpdate (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates) | |
ScatterNdUpdate (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates, const ScatterNdUpdate::Attrs & attrs) |
คุณลักษณะสาธารณะ | |
---|---|
operation | |
output_ref |
งานสาธารณะ | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
ฟังก์ชันคงที่สาธารณะ | |
---|---|
UseLocking (bool x) |
โครงสร้าง | |
---|---|
เทนเซอร์โฟลว์ :: ops :: ScatterNdUpdate :: Attrs | ตัวตั้งค่าแอ็ตทริบิวต์ทางเลือกสำหรับ ScatterNdUpdate |
คุณลักษณะสาธารณะ
การดำเนินการ
Operation operation
เอาท์พุท_อ้างอิง
::tensorflow::Output output_ref
งานสาธารณะ
ScatterNdอัปเดต
ScatterNdUpdate( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates )
ScatterNdอัปเดต
ScatterNdUpdate( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates, const ScatterNdUpdate::Attrs & attrs )
โหนด
::tensorflow::Node * node() const
ตัวดำเนินการ::tensorflow::อินพุต
operator::tensorflow::Input() const
ตัวดำเนินการ::tensorflow::เอาต์พุต
operator::tensorflow::Output() const
ฟังก์ชันคงที่สาธารณะ
ใช้ล็อค
Attrs UseLocking( bool x )