คำนวณการแพร่กระจายไปข้างหน้าของเซลล์ 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
ค่าคงที่
สตริง | OP_NAME | ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow |
วิธีการสาธารณะ
เอาท์พุต <T> | ค () |
คงที่ <T ขยาย TNumber > GRUBlockCell <T> | สร้าง ( ขอบเขต ขอบเขต ตัวดำเนิน การ <T> x ตัวดำเนินการ <T> hPrev ตัวดำเนินการ <T> wRu ตัวดำเนินการ <T> wC ตัวดำเนินการ <T> bRu ตัวถูกดำเนิน การ <T> bC) วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ GRUBlockCell ใหม่ |
เอาท์พุต <T> | ชม () |
เอาท์พุต <T> | ร () |
เอาท์พุต <T> | คุณ () |
วิธีการสืบทอด
ค่าคงที่
สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME
ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow
วิธีการสาธารณะ
สร้าง GRUBlockCell <T> แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> x, ตัวดำเนินการ <T> hPrev, ตัวดำเนินการ <T> wRu, ตัวดำเนินการ <T> wC, ตัวดำเนินการ <T> bRu, ตัวดำเนินการ <T> bC)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ GRUBlockCell ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|
การส่งคืน
- อินสแตนซ์ใหม่ของ GRUBlockCell