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 ของ seed เพื่อเริ่มต้นการออกกลางคัน อินพุต: หาก time_major เป็นจริง นี่คือเมตริกซ์สามมิติที่มีรูปร่างเป็น [seq_length, batch_size, input_size] หาก time_major เป็นเท็จ รูปร่างจะเป็น [batch_size, seq_length, input_size] input_h: หาก time_major เป็นจริง นี่คือเมตริกซ์สามมิติที่มีรูปร่างเป็น [num_layer * dir, batch_size, num_units] หาก time_major เป็นเท็จ รูปร่างจะเป็น [batch_size, num_layer * dir, num_units] input_c: สำหรับ LSTM เมตริกซ์สามมิติที่มีรูปร่างเป็น [num_layer * dir, batch, num_units] สำหรับรุ่นอื่น ๆ จะถูกละเว้น params: เทนเซอร์ 1-D ที่มีน้ำหนักและอคติในรูปแบบทึบแสง ต้องสร้างขนาดผ่าน CudnnRNNParamsSize และเริ่มต้นแยกต่างหาก โปรดทราบว่าอาจเข้ากันไม่ได้ในรุ่นต่างๆ ดังนั้นจึงเป็นความคิดที่ดีที่จะบันทึกและกู้คืน sequence_lengths: เวกเตอร์ของความยาวของแต่ละลำดับอินพุต เอาต์พุต: หาก time_major เป็นจริง นี่คือเมตริกซ์สามมิติที่มีรูปร่างเป็น [seq_length, batch_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 เป็นจริง
คลาสที่ซ้อนกัน
ระดับ | CudnnRNNV3.Options | คุณลักษณะที่จำเป็นสำหรับการ CudnnRNNV3 |
วิธีการสาธารณะ
คง <T ขยายจำนวน> CudnnRNNV3 <T> | สร้าง ( ขอบเขต ขอบเขต Operand <T> การป้อนข้อมูล ตัวถูกดำเนินการ <T> inputH, Operand <T> inputC, Operand <T> params, Operand <Integer> sequenceLengths, ตัวเลือก ... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ CudnnRNNV3 ใหม่ |
คง CudnnRNNV3.Options | ทิศทาง (ทิศทาง String) |
คง CudnnRNNV3.Options | การออกกลางคัน (ลอยออกกลางคัน) |
เอาท์พุท <?> | hostReserved () |
คง CudnnRNNV3.Options | inputMode (String inputMode) |
คง CudnnRNNV3.Options | isTraining (บูลีน isTraining) |
คง CudnnRNNV3.Options | numProj (Long numProj) |
เอาท์พุท <T> | เอาท์พุท () |
เอาท์พุท <T> | outputC () |
เอาท์พุท <T> | outputH () |
เอาท์พุท <T> | reserveSpace () |
คง CudnnRNNV3.Options | rnnMode (String rnnMode) |
คง CudnnRNNV3.Options | เมล็ด (เมล็ดยาว) |
คง CudnnRNNV3.Options | seed2 (Long seed2) |
คง CudnnRNNV3.Options | timeMajor (บูลีน timeMajor) |
วิธีการสืบทอด
วิธีการสาธารณะ
สาธารณะคง CudnnRNNV3 <T> สร้าง ( ขอบเขต ขอบเขต Operand <T> การป้อนข้อมูล ตัวถูกดำเนินการ <T> inputH, Operand <T> inputC, Operand <T> params, Operand <Integer> sequenceLengths, ตัวเลือก ... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ CudnnRNNV3 ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ตัวเลือก | ดำเนินการค่าแอตทริบิวต์ทางเลือก |
คืนสินค้า
- อินสแตนซ์ใหม่ของ CudnnRNNV3