สร้าง TensorArray สำหรับจัดเก็บการไล่ระดับสีของค่าในแฮนเดิลที่กำหนด
หากมีการไล่ระดับสี TensorArray ที่กำหนดอยู่แล้ว ให้ส่งคืนการอ้างอิงไปยังการไล่ระดับสีนั้น
ล็อกขนาดของ TensorArray ดั้งเดิมโดยปิดใช้การตั้งค่าสถานะขนาดไดนามิก
**หมายเหตุเกี่ยวกับอินพุต flow_in:**
หมายเลขอ้างอิง flow_in บังคับให้การดำเนินการค้นหาการไล่ระดับสีเกิดขึ้นหลังจากการดำเนินการอื่นบางอย่างเกิดขึ้นเท่านั้น ตัวอย่างเช่น เมื่อ Forward TensorArray มีขนาดแบบไดนามิก การเขียนไปยัง TensorArray นี้อาจปรับขนาดวัตถุ การไล่ระดับสี TensorArray มีขนาดคงที่โดยอิงตามขนาดของ TensorArray ข้างหน้าเมื่อการดำเนินการนี้ดำเนินการ นอกจากนี้ ขนาดของ TensorArray ที่ส่งต่อจะถูกหยุดโดยการเรียกนี้ ด้วยเหตุนี้ โฟลว์จึงถูกใช้เพื่อให้แน่ใจว่าการเรียกเพื่อสร้างการไล่ระดับสี TensorArray จะเกิดขึ้นหลังจากดำเนินการเขียนทั้งหมดแล้วเท่านั้น
ในกรณีของ TensorArrays ที่มีขนาดไดนามิก การคำนวณการไล่ระดับสีควรทำเฉพาะกับการดำเนินการอ่านที่เชื่อมโยงกันผ่านโฟลว์เท่านั้น ซึ่งจะเกิดขึ้นหลังจากดำเนินการเขียนทั้งหมดแล้วเท่านั้น วิธีนี้จะทำให้ทราบขนาดสุดท้ายของ TensorArray ข้างหน้าเมื่อมีการเรียกการดำเนินการนี้
**หมายเหตุเกี่ยวกับแอตทริบิวต์แหล่งที่มา:**
การเรียกการไล่ระดับ TensorArray ใช้วัตถุ TensorArray แบบสะสม หากมีการคำนวณและรันการไล่ระดับสีหลายรายการในเซสชันเดียวกัน โหนดการไล่ระดับสีหลายรายการอาจไหลผ่าน TensorArray สะสมเดียวกันโดยไม่ตั้งใจ การนับสองครั้งนี้และโดยทั่วไปจะทำลายโฟลว์การไล่ระดับสีของ TensorArray
วิธีแก้ไขคือการระบุว่ามีการเรียกการไล่ระดับสี TensorArray นี้โดยเฉพาะ ซึ่งดำเนินการโดยการระบุสตริงที่ไม่ซ้ำกัน (เช่น "gradients", "gradients_1", ...) จากชื่อของ Tensor การไล่ระดับสีอินพุต สตริงนี้ใช้เป็นคำต่อท้ายเมื่อสร้างวัตถุไล่ระดับสี TensorArray ที่นี่ (แอตทริบิวต์ `แหล่งที่มา`)
แอตทริบิวต์ `แหล่งที่มา` จะถูกเพิ่มเป็นส่วนต่อท้ายชื่อของ TensorArray ข้างหน้าเมื่อดำเนินการสร้าง/ค้นหา เพื่อให้การคำนวณการไล่ระดับสีแยกกันแต่ละครั้งได้รับตัวสะสม TensorArray ของตัวเอง
วิธีการสาธารณะ
TensorArrayGrad แบบคงที่ | สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ <?> ตัวดำเนิน การ ตัวดำเนินการ <Float> flowIn แหล่งที่มาของสตริง) วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ TensorArrayGrad ใหม่ |
เอาท์พุต <โฟลต> | ไหลออก () |
เอาท์พุต <?> |
วิธีการสืบทอด
วิธีการสาธารณะ
การสร้าง TensorArrayGrad แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , ตัวดำเนินการ <?> ตัวจัดการ, ตัวดำเนินการ <Float> flowIn, แหล่งที่มาของสตริง)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ TensorArrayGrad ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
รับมือ | หมายเลขอ้างอิงของ TensorArray ไปข้างหน้า |
ไหลเข้า | สเกลาร์แบบลอยตัวที่บังคับใช้การเชื่อมโยงการปฏิบัติงานอย่างเหมาะสม |
แหล่งที่มา | สตริงแหล่งที่มาของการไล่ระดับสี ใช้ในการตัดสินใจว่า TensorArray ไล่ระดับสีใดที่จะส่งคืน |
การส่งคืน
- อินสแตนซ์ใหม่ของ TensorArrayGrad