یک 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 درست باشد.
کلاس های تو در تو
کلاس | CudnnRNN.گزینه ها | ویژگی های اختیاری برای CudnnRNN |
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
استاتیک <T TNumber > CudnnRNN <T> را گسترش می دهد | |
استاتیک CudnnRNN.Options | جهت (جهت رشته) |
استاتیک CudnnRNN.Options | انصراف (ترک تحصیل شناور) |
خروجی <?> | |
استاتیک CudnnRNN.Options | حالت ورودی (حالت ورودی رشته) |
استاتیک CudnnRNN.Options | isTraining (Boolean isTraining) |
استاتیک CudnnRNN.Options | numProj (NumProj طولانی) |
خروجی <T> | خروجی () |
خروجی <T> | خروجی C () |
خروجی <T> | خروجیH () |
خروجی <T> | رزرو فضا () |
استاتیک CudnnRNN.Options | rnnMode (رشته rnnMode) |
استاتیک CudnnRNN.Options | دانه (دانه بلند) |
استاتیک CudnnRNN.Options | دانه 2 (دانه بلند 2) |
استاتیک CudnnRNN.Options | تایم ماژور (زمان بزرگ بولی) |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
عمومی استاتیک CudnnRNN <T> ایجاد ( دامنه دامنه ، ورودی عملوند <T>، عملوند <T> ورودیH، عملوند <T> ورودیC، عملوند <T> پارامترها، عملوند < TINT32 > طولهای ترتیب، گزینهها... گزینهها)
روش کارخانه برای ایجاد کلاسی که یک عملیات CudnnRNN جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از CudnnRNN