เพิ่มการอัพเดตแบบกระจัดกระจายให้กับการอ้างอิงตัวแปร
การดำเนินการนี้คำนวณ
# ดัชนีสเกลาร์อ้างอิง[ดัชนี, ...] += อัปเดต[...]
# ดัชนีเวกเตอร์ (สำหรับแต่ละ i) ref[indices[i], ...] += อัปเดต[i, ...]
# ดัชนีอันดับสูง (สำหรับแต่ละ i, ..., j) ref[indices[i, ..., j], ...] += อัปเดต[i, ..., j, ...]
การดำเนินการนี้จะส่งออก `ref` หลังจากการอัพเดตเสร็จสิ้น ทำให้ง่ายต่อการเชื่อมโยงการดำเนินการที่ต้องใช้ค่ารีเซ็ต
รายการที่ซ้ำกันได้รับการจัดการอย่างถูกต้อง: หาก `ดัชนี` หลายรายการอ้างอิงถึงตำแหน่งเดียวกัน การมีส่วนร่วมของรายการเหล่านั้นก็จะเพิ่มเข้ามา
ต้องใช้ `updates.shape = indices.shape + ref.shape[1:]` หรือ `updates.shape = []`
คลาสที่ซ้อนกัน
ระดับ | ScatterAdd.Options | แอ็ตทริบิวต์ทางเลือกสำหรับ ScatterAdd |
วิธีการสาธารณะ
เอาท์พุต <T> | เป็นเอาท์พุต () ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์ |
คงที่ <T, U ขยายหมายเลข> ScatterAdd <T> | สร้าง (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> อ้างอิง, ตัวถูกดำเนินการ <U> ดัชนี, ตัวถูกดำเนินการ <T> อัปเดต, ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ ScatterAdd ใหม่ |
เอาท์พุต <T> | เอาท์พุทอ้างอิง () = เหมือนกับ `อ้างอิง` |
ScatterAdd.Options แบบคงที่ | useLocking (การใช้ล็อคแบบบูลีน) |
วิธีการสืบทอด
วิธีการสาธารณะ
เอาท์ พุท สาธารณะ <T> asOutput ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต
ScatterAdd สาธารณะคงที่ สร้าง <T> (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> อ้างอิง, ตัวดำเนินการ <U> ดัชนี, ตัวดำเนินการ อัปเดต <T>, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ ScatterAdd ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
อ้างอิง | ควรมาจากโหนด "ตัวแปร" |
ดัชนี | เทนเซอร์ของดัชนีในมิติแรกของ 'การอ้างอิง' |
อัปเดต | เทนเซอร์ของค่าที่อัปเดตเพื่อเพิ่มลงใน `ref` |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ ScatterAdd
เอาท์ พุท สาธารณะ <T> outputRef ()
= เหมือนกับ `อ้างอิง` กลับมาเพื่อความสะดวกสำหรับการดำเนินงานที่ต้องการใช้ค่าที่อัพเดตหลังจากการอัพเดตเสร็จสิ้น
ScatterAdd.Options แบบคงที่สาธารณะ useLocking (useLocking บูลีน)
พารามิเตอร์
ใช้ล็อค | หากเป็น True การเพิ่มจะได้รับการปกป้องด้วยการล็อค มิฉะนั้นพฤติกรรมจะไม่ได้กำหนดไว้ แต่อาจแสดงความขัดแย้งน้อยลง |
---|