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