BlockLSTMV2

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

คำนวณการแพร่กระจายเซลล์ไปข้างหน้าของ LSTM สำหรับขั้นตอนเวลาทั้งหมด

ซึ่งเทียบเท่ากับการใช้ LSTMBlockCell ในลูป เช่น:

for x1 in unpack(x):
   i1, cs1, f1, o1, ci1, co1, h1 = LSTMBlock(
     x1, cs_prev, h_prev, w, wci, wcf, wco, b)
   cs_prev = cs1
   h_prev = h1
   i.append(i1)
   cs.append(cs1)
   f.append(f1)
   o.append(o1)
   ci.append(ci1)
   co.append(co1)
   h.append(h1)
 return pack(i), pack(cs), pack(f), pack(o), pack(ci), pack(ch), pack(h)
 
 Note that unlike LSTMBlockCell (and BlockLSTM) which uses ICFO gate layout,
 this op uses IFCO. So in order for the following snippet to be equivalent
 all gate-related outputs should be reordered.
 

คลาสที่ซ้อนกัน

ระดับ BlockLSTMV2.ตัวเลือก แอ็ตทริบิวต์ทางเลือกสำหรับ BlockLSTMV2

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

BlockLSTMV2.Options แบบคงที่
cellClip (โฟลตเซลล์คลิป)
เอาท์พุต <T>
ซี ()
อินพุตของเซลล์ตลอดลำดับเวลาทั้งหมด
เอาท์พุต <T>
ร่วม ()
เซลล์หลัง tanh ตลอดลำดับเวลาทั้งหมด
คงที่ <T ขยายจำนวน> BlockLSTMV2 <T>
สร้าง ( ขอบเขต ขอบเขต ตัวดำเนินการ <ยาว> seqLenMax, ตัว ดำเนินการ <T> x, ตัวดำเนินการ <T> csPrev, ตัวดำเนินการ <T> hPrev, ตัวดำเนินการ <T> w, ตัวดำเนินการ <T> wci, ตัวดำเนินการ <T> wcf, ตัวดำเนินการ <T > wco, ตัวดำเนินการ <T> b, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ BlockLSTMV2 ใหม่
เอาท์พุต <T>
ซีเอส ()
สถานะของเซลล์ก่อน tanh ตลอดลำดับเวลาทั้งหมด
เอาท์พุต <T>
()
ประตูลืมตลอดลำดับเวลาทั้งหมด
เอาท์พุต <T>
ชม ()
เวกเตอร์เอาต์พุต h ตลอดลำดับเวลาทั้งหมด
เอาท์พุต <T>
ฉัน ()
ประตูอินพุตตลอดลำดับเวลาทั้งหมด
เอาท์พุต <T>
โอ ()
ประตูเอาต์พุตตลอดลำดับเวลาทั้งหมด
BlockLSTMV2.Options แบบคงที่
usePeephole (การใช้บูลีน Peephole)

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

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

สาธารณะ BlockLSTMV2.Options cellClip แบบคงที่ (Float cellClip)

พารามิเตอร์
เซลล์คลิป ค่าที่จะตัดค่า 'cs' ไปที่

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

อินพุตของเซลล์ตลอดลำดับเวลาทั้งหมด

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

เซลล์หลัง tanh ตลอดลำดับเวลาทั้งหมด

สาธารณะคง BlockLSTMV2 <T> สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ <ยาว> seqLenMax, ตัว ดำเนินการ <T> x, ตัวดำเนินการ <T> csPrev, ตัวดำเนินการ <T> hPrev, ตัวดำเนินการ <T> w, ตัวดำเนินการ <T> wci, ตัวดำเนินการ <T > wcf, ตัวดำเนินการ <T> wco, ตัวถูกดำเนินการ <T> b, ตัวเลือก... ตัวเลือก)

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

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
seqLenMax ระยะเวลาสูงสุดที่ใช้จริงโดยอินพุตนี้ เอาต์พุตจะถูกเสริมด้วยศูนย์ที่เกินความยาวนี้
x ลำดับอินพุตไปยัง LSTM รูปร่าง (timelen, bat_size, num_inputs)
csก่อนหน้า ค่าของสถานะเซลล์เริ่มต้น
hก่อนหน้า เอาต์พุตเริ่มต้นของเซลล์ (เพื่อใช้สำหรับช่องมอง)
เมทริกซ์น้ำหนัก
WCI เมทริกซ์น้ำหนักสำหรับการเชื่อมต่อช่องมองอินพุตของเกต
ห้องสุขา เมทริกซ์น้ำหนักสำหรับการเชื่อมต่อช่องมองลืมเกต
ส้วม เมทริกซ์น้ำหนักสำหรับการเชื่อมต่อช่องตาแมวเอาท์พุต
เวกเตอร์อคติ
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • ตัวอย่างใหม่ของ BlockLSTMV2

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

สถานะของเซลล์ก่อน tanh ตลอดลำดับเวลาทั้งหมด

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

ประตูลืมตลอดลำดับเวลาทั้งหมด

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

เวกเตอร์เอาต์พุต h ตลอดลำดับเวลาทั้งหมด

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

ประตูอินพุตตลอดลำดับเวลาทั้งหมด

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

ประตูเอาต์พุตตลอดลำดับเวลาทั้งหมด

BlockLSTMV2.Options แบบคงที่สาธารณะ ใช้Peephole (usePeephole แบบบูลีน)

พารามิเตอร์
ใช้ช่องมอง ไม่ว่าจะใช้ตุ้มน้ำหนักตาแมว