BlockLSTM

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

คำนวณการแพร่กระจายเซลล์ไปข้างหน้าของ 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.
 

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

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

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

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

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

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

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "BlockLSTMV2"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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