RNN ที่สนับสนุนโดย cuDNN
คำนวณ RNN จากอินพุตและสถานะเริ่มต้น โดยคำนึงถึงบัฟเฟอร์พารามิเตอร์ ยอมรับอินพุตพิเศษ "sequence_lengths" หนึ่งรายการมากกว่า CudnnRNN
rnn_mode: ระบุประเภทของโมเดล RNN input_mode: ระบุว่ามีการฉายภาพเชิงเส้นระหว่างอินพุตและการคำนวณจริงก่อนเลเยอร์แรกหรือไม่ อนุญาตให้ใช้ 'skip_input' เมื่อ input_size == num_units เท่านั้น 'auto_select' หมายถึง 'skip_input' เมื่อ input_size == num_units; มิฉะนั้นจะหมายถึง 'linear_input' ทิศทาง: ระบุว่าจะใช้โมเดลแบบสองทิศทางหรือไม่ ควรเป็น "ทิศทางเดียว" หรือ "สองทิศทาง" การออกกลางคัน: ความน่าจะเป็นของการออกกลางคัน เมื่อตั้งค่าเป็น 0 การออกกลางคันจะถูกปิดใช้งาน เมล็ด: ส่วนที่ 1 ของเมล็ดเพื่อเริ่มต้นการออกกลางคัน seed2: ส่วนที่ 2 ของเมล็ดเพื่อเริ่มต้นการออกกลางคัน อินพุต: หาก time_major เป็นจริง นี่คือเทนเซอร์ 3 มิติที่มีรูปร่างเป็น [seq_length, bat_size, input_size] หาก time_major เป็นเท็จ รูปร่างจะเป็น [batch_size, seq_length, input_size] input_h: หาก time_major เป็นจริง นี่คือเทนเซอร์ 3 มิติที่มีรูปร่างเป็น [num_layer * dir, bat_size, num_units] หาก time_major เป็นเท็จ รูปร่างจะเป็น [batch_size, num_layer * dir, num_units] input_c: สำหรับ LSTM เทนเซอร์ 3 มิติที่มีรูปร่างเป็น [num_layer * dir, batt, num_units] สำหรับรุ่นอื่นๆ จะถูกละเว้น params: เทนเซอร์ 1 มิติที่มีน้ำหนักและอคติในรูปแบบทึบแสง ต้องสร้างขนาดผ่าน CudnnRNNParamsSize และเตรียมใช้งานแยกกัน โปรดทราบว่าอาจใช้ไม่ได้กับรุ่นต่างๆ ดังนั้นจึงเป็นความคิดที่ดีที่จะบันทึกและกู้คืน sequence_lengths: เวกเตอร์ของความยาวของลำดับอินพุตแต่ละลำดับ เอาท์พุต: หาก time_major เป็นจริง นี่คือเทนเซอร์ 3 มิติที่มีรูปร่างเป็น [seq_length, bat_size, dir * num_units] หาก time_major เป็นเท็จ รูปร่างจะเป็น [batch_size, seq_length, dir * num_units] output_h: รูปร่างเดียวกันมี input_h output_c: รูปร่างเดียวกันกับ input_c สำหรับ LSTM เทนเซอร์เปล่าสำหรับรุ่นอื่นๆ is_training: ระบุว่าการดำเนินการนี้ใช้สำหรับการอนุมานหรือการฝึกอบรม time_major: ระบุว่ารูปแบบอินพุต/เอาต์พุตเป็นเวลาหลักหรือแบทช์หลัก Reserve_space: เทนเซอร์ทึบแสงที่สามารถใช้ในการคำนวณ backprop มันจะเกิดขึ้นก็ต่อเมื่อ is_training เป็นจริงเท่านั้น
คลาสที่ซ้อนกัน
ระดับ | CudnnRNN.ตัวเลือก | แอ็ตทริบิวต์ทางเลือกสำหรับ CudnnRNN |
ค่าคงที่
สตริง | OP_NAME | ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow |
วิธีการสาธารณะ
คงที่ <T ขยาย TNumber > CudnnRNN <T> | |
CudnnRNN.Options แบบคงที่ | ทิศทาง (ทิศทางของสตริง) |
CudnnRNN.Options แบบคงที่ | การออกกลางคัน (การออกกลางคันแบบลอยตัว) |
เอาท์พุต <?> | |
CudnnRNN.Options แบบคงที่ | inputMode (สตริงอินพุตโหมด) |
CudnnRNN.Options แบบคงที่ | isTraining (บูลีน isTraining) |
CudnnRNN.Options แบบคงที่ | numProj (ยาว numProj) |
เอาท์พุต <T> | เอาท์พุท () |
เอาท์พุต <T> | เอาท์พุทซี () |
เอาท์พุต <T> | เอาท์พุทH () |
เอาท์พุต <T> | พื้นที่สำรอง () |
CudnnRNN.Options แบบคงที่ | rnnMode (สตริง rnnMode) |
CudnnRNN.Options แบบคงที่ | เมล็ด (เมล็ดยาว) |
CudnnRNN.Options แบบคงที่ | เมล็ด2 (เมล็ดยาว2) |
CudnnRNN.Options แบบคงที่ | timeMajor (เวลาบูลีนหลัก) |
วิธีการสืบทอด
ค่าคงที่
สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME
ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow
วิธีการสาธารณะ
สาธารณะคง CudnnRNN <T> สร้าง (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> อินพุต, ตัวดำเนินการ <T> inputH, ตัวดำเนินการ <T> inputC, ตัวดำเนินการ <T> พารามิเตอร์, ตัวดำเนินการ < TInt32 > sequenceLengths, ตัวเลือก ... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ CudnnRNN ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- ตัวอย่างใหม่ของ CudnnRNN