เทนเซอร์โฟลว์:: ปฏิบัติการ:: 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
)