ใช้ "การอัปเดต" แบบกระจัดกระจายกับแต่ละค่าหรือส่วนต่างๆ ภายในที่กำหนด
แปรผันตาม 'ดัชนี'
`ref` คือ 'Tensor' ที่มีอันดับ 'P' และ 'indices' คือ 'Tensor' ของอันดับ 'Q'
`ดัชนี` ต้องเป็นเทนเซอร์จำนวนเต็ม ซึ่งมีดัชนีอยู่ใน `อ้างอิง` มันจะต้องเป็นรูปเป็นร่าง \\([d_0, ..., d_{Q-2}, K]\\) โดยที่ `0 < K <= P`
มิติในสุดของ `ดัชนี` (ที่มีความยาว `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`
คลาสที่ซ้อนกัน
ระดับ | ScatterNdUpdate.ตัวเลือก | แอ็ตทริบิวต์ทางเลือกสำหรับ ScatterNdUpdate |
วิธีการสาธารณะ
เอาท์พุต <T> | เป็นเอาท์พุต () ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์ |
คงที่ <T, U ขยายจำนวน> ScatterNdUpdate <T> | สร้าง (ขอบเขต ขอบเขต , ตัว ดำเนินการ <T> อ้างอิง, ตัวดำเนินการ <U> ดัชนี, ตัวถูกดำเนินการ <T> อัปเดต, ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ ScatterNdUpdate ใหม่ |
เอาท์พุต <T> | เอาท์พุทอ้างอิง () เช่นเดียวกับการอ้างอิง |
ScatterNdUpdate.Options แบบคงที่ | useLocking (การใช้ล็อคแบบบูลีน) |
วิธีการสืบทอด
วิธีการสาธารณะ
เอาท์พุท สาธารณะ <T> asOutput ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต
สร้าง ScatterNdUpdate <T> แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , ตัวดำเนิน การ <T> อ้างอิง, ดัชนี ตัวดำเนินการ <U>, ตัว ดำเนินการอัปเดต <T>, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ ScatterNdUpdate ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
อ้างอิง | เทนเซอร์ที่ไม่แน่นอน ควรมาจากโหนดตัวแปร |
ดัชนี | เทนเซอร์ ต้องเป็นประเภทใดประเภทหนึ่งต่อไปนี้: int32, int64 เทนเซอร์ของดัชนีในการอ้างอิง |
อัปเดต | เทนเซอร์ จะต้องมีประเภทเดียวกันกับการอ้างอิง เทนเซอร์ของค่าที่อัปเดตเพื่อเพิ่มลงในการอ้างอิง |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ ScatterNdUpdate
เอาท์พุท สาธารณะ <T> outputRef ()
เช่นเดียวกับการอ้างอิง กลับมาเพื่อความสะดวกสำหรับการดำเนินงานที่ต้องการใช้ค่าที่อัพเดตหลังจากการอัพเดตเสร็จสิ้น
สาธารณะ ScatterNdUpdate.Options useLocking แบบคงที่ (useLocking แบบบูลีน)
พารามิเตอร์
ใช้ล็อค | บูลเสริม ค่าเริ่มต้นเป็น True ถ้าเป็น True งานที่ได้รับมอบหมายจะได้รับการปกป้องด้วยการล็อค มิฉะนั้นพฤติกรรมจะไม่ได้กำหนดไว้ แต่อาจแสดงความขัดแย้งน้อยลง |
---|