GRUBlockCell

GRULockCell คลาสสุดท้ายสาธารณะ

คำนวณการแพร่กระจายไปข้างหน้าของเซลล์ GRU เป็นเวลา 1 ขั้นตอน

Args x: ป้อนข้อมูลไปยังเซลล์ GRU h_prev: ระบุอินพุตจากเซลล์ GRU ก่อนหน้า w_ru: เมทริกซ์น้ำหนักสำหรับเกตรีเซ็ตและอัพเดต w_c: เมทริกซ์น้ำหนักสำหรับประตูเชื่อมต่อเซลล์ b_ru: เวกเตอร์อคติสำหรับประตูรีเซ็ตและอัปเดต b_c: เวกเตอร์อคติสำหรับประตูการเชื่อมต่อเซลล์

ส่งกลับ r: เอาท์พุตของเกตรีเซ็ต u: เอาท์พุตของประตูอัพเดต c: เอาท์พุตของประตูเชื่อมต่อเซลล์ h: สถานะปัจจุบันของเซลล์ GRU

หมายเหตุเกี่ยวกับสัญกรณ์ของตัวแปร:

การต่อกันของ a และ b แทนด้วย a_b ดอทโปรดัคเชิงองค์ประกอบของ a และ b แทนด้วย ab ดอทโปรดัคเชิงองค์ประกอบแทนด้วย \circ การคูณเมทริกซ์แทนด้วย *

อคติเริ่มต้นด้วย: `b_ru` - Constant_initializer(1.0) `b_c` - Constant_initializer(0.0)

เคอร์เนล op นี้ใช้สมการทางคณิตศาสตร์ต่อไปนี้:

x_h_prev = [x, h_prev]
 
 [r_bar u_bar] = x_h_prev * w_ru + b_ru
 
 r = sigmoid(r_bar)
 u = sigmoid(u_bar)
 
 h_prevr = h_prev \circ r
 
 x_h_prevr = [x h_prevr]
 
 c_bar = x_h_prevr * w_c + b_c
 c = tanh(c_bar)
 
 h = (1-u) \circ c + u \circ h_prev
 

วิธีการสาธารณะ

เอาท์พุต <T>
()
คงที่ <T ขยายจำนวน> GRUBlockCell <T>
สร้าง ( ขอบเขต ขอบเขต ตัวดำเนินการ <T> x ตัวดำเนินการ <T> hPrev ตัวดำเนินการ <T> wRu ตัวดำเนินการ <T> wC ตัวดำเนินการ <T> bRu ตัว ถูกดำเนินการ <T> bC)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ GRUBlockCell ใหม่
เอาท์พุต <T>
ชม ()
เอาท์พุต <T>
()
เอาท์พุต <T>
ยู ()

วิธีการสืบทอด

วิธีการสาธารณะ

เอาท์พุท สาธารณะ <T> c ()

สร้าง GRUBlockCell <T> สาธารณะแบบคงที่ (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> x, ตัวดำเนินการ <T> hPrev, ตัวดำเนินการ <T> wRu, ตัวดำเนินการ <T> wC, ตัวดำเนินการ <T> bRu, ตัวดำเนินการ <T> bC)

วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ GRUBlockCell ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
การส่งคืน
  • อินสแตนซ์ใหม่ของ GRUBlockCell

เอาท์พุท สาธารณะ <T> ชั่วโมง ()

เอาท์พุท สาธารณะ <T> r ()

เอาท์พุท สาธารณะ <T> u ()