2016-09-27 8 views
18

tf.nn में कई कक्षाएं हैं जो आरएनएन से संबंधित हैं। उदाहरणों में मुझे नेट पर मिलते हैं, tf.nn.dynamic_rnn और tf.nn.rnn एक दूसरे के लिए इस्तेमाल किया प्रतीत होता है या कम से कम मुझे यह पता लगाना प्रतीत नहीं होता कि दूसरे के स्थान पर क्यों उपयोग किया जाता है। अंतर क्या है?tensorflow dynamic_rnn और rnn के बीच क्या अंतर है?

+0

यह SO पोस्ट https://stackoverflow.com/q/42497216/3924118 भी देखें, जहां लेखक टेंसरफ्लो के हाल के संस्करणों के लिए 'tf.nn.rnn' के समतुल्य फ़ंक्शन के बारे में पूछता है, जो ऐसा लगता है 'tf.nn.static_rnn' हो। – nbro

उत्तर

24

RNNs in Tensorflow, a Practical Guide and Undocumented Features डेनी Britz, 21 अगस्त में प्रकाशित से, 2016

tf.nn.rnn एक निश्चित RNN लंबाई के लिए एक unrolled ग्राफ बनाता है। का अर्थ है, यदि आप 20012 चरणों वाले इनपुट के साथ tf.nn.rnn पर कॉल करते हैं तो आप 200 आरएनएन चरणों के साथ एक स्थिर ग्राफ बनाते हैं। सबसे पहले, ग्राफ निर्माण धीमा है। दूसरा, आप मूल रूप से निर्दिष्ट से लंबे अनुक्रम (> 200) में पारित करने में असमर्थ हैं।

tf.nn.dynamic_rnn इसे हल करता है। यह tf.While लूप गतिशील रूप से निष्पादित होने पर ग्राफ़ का निर्माण करता है। इसका मतलब है कि ग्राफ निर्माण तेज है और आप चर आकार के बैचों को खिला सकते हैं।

+2

गतिशील आरएनएन व्यावहारिक रूप से कोई डाउनसाइड्स के साथ सभी फायदे प्रदान करता है, तो कोई भी स्थिर आरएनएन का उपयोग क्यों करेगा? –

2

वे लगभग समान हैं, लेकिन इनपुट और आउटपुट की संरचना में थोड़ा अंतर है। प्रलेखन से:

tf.nn.dynamic_rnn

इस समारोह कार्यात्मक रूप से ऊपर समारोह rnn के समान है, लेकिन> आदानों की पूरी तरह से गतिशील unrolling प्रदर्शन करती है।

rnn के विपरीत, इनपुट इनपुट टेंसर की पायथन सूची नहीं है, प्रत्येक प्रत्येक फ्रेम के लिए। इसके बजाए, इनपुट एक एकल टेंसर हो सकता है जहां अधिकतम समय या तो पहला या दूसरा आयाम है (पैरामीटर time_major देखें)। वैकल्पिक रूप से, यह टेंसर का एक (संभवतः नेस्टेड) ​​टुपल हो सकता है, उनमें से प्रत्येक मिलान बैच और समय आयाम वाले होते हैं। संबंधित आउटपुट या तो एक टेंसर है जिसमें की घोंसला वाली संरचना से मेल खाते हुए टेंसर के समय चरण और बैच आकार, या (संभवतः नेस्टेड) ​​टुपल की एक ही संख्या है।

अधिक जानकारी के लिए, source का पता लगाएं।

संबंधित मुद्दे