یک 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; در غیر این صورت، به معنای "ورودی_خطی" است. جهت: نشان می دهد که آیا یک مدل دو جهته استفاده خواهد شد یا خیر. باید "یک جهته" یا "دو جهته" باشد. dropout: احتمال ترک تحصیل. وقتی روی 0 تنظیم شود، انصراف غیرفعال می شود. seed: اولین قسمت از یک دانه برای مقداردهی اولیه ترک تحصیل. seed2: قسمت دوم یک دانه برای مقداردهی اولیه ترک تحصیل. ورودی: اگر 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]. برای مدل های دیگر نادیده گرفته شده است. پارامترها: یک تانسور 1 بعدی که حاوی وزن ها و بایاس ها در یک طرح مات است. اندازه باید از طریق 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: نشان می دهد که فرمت ورودی/خروجی زمان اصلی یا دسته ای اصلی است. rezerv_space: یک تانسور مات که می تواند در محاسبه backprop استفاده شود. فقط در صورتی تولید می شود که is_training درست باشد.
کلاس های تو در تو
کلاس | CudnnRNNV3.Options | ویژگی های اختیاری برای CudnnRNNV3 |
روش های عمومی
استاتیک <T تعداد را گسترش می دهد> CudnnRNNV3 <T> | |
استاتیک CudnnRNNV3.Options | جهت (جهت رشته) |
استاتیک CudnnRNNV3.Options | انصراف (ترک تحصیل شناور) |
خروجی <?> | |
استاتیک CudnnRNNV3.Options | حالت ورودی (حالت ورودی رشته) |
استاتیک CudnnRNNV3.Options | isTraining (Boolean isTraining) |
استاتیک CudnnRNNV3.Options | numProj (NumProj طولانی) |
خروجی <T> | خروجی () |
خروجی <T> | خروجی C () |
خروجی <T> | خروجیH () |
خروجی <T> | رزرو فضا () |
استاتیک CudnnRNNV3.Options | rnnMode (رشته rnnMode) |
استاتیک CudnnRNNV3.Options | دانه (دانه بلند) |
استاتیک CudnnRNNV3.Options | دانه 2 (دانه بلند 2) |
استاتیک CudnnRNNV3.Options | تایم ماژور (زمان بزرگ بولی) |
روش های ارثی
روش های عمومی
استاتیک عمومی CudnnRNNV3 <T> ایجاد ( دامنه دامنه ، ورودی عملوند <T>، عملوند <T> ورودیH، عملوند <T> ورودیC، عملوند <T> پارامترها، عملوند <عدد صحیح> ترتیب طولها، گزینهها... گزینهها)
روش کارخانه برای ایجاد کلاسی که یک عملیات جدید CudnnRNNV3 را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از CudnnRNNV3