मैं एक बहुत बड़े मॉडल को प्रशिक्षित करने की कोशिश कर रहा हूं। इसलिए, मैं केवल GPU स्मृति में एक बहुत छोटे बैच आकार फिट कर सकता हूं। छोटे बैच आकार के साथ काम करना बहुत noisy gradient estimations के साथ काम करता है।
इस समस्या से बचने के लिए मैं क्या कर सकता हूं?कैफे: अगर मैं केवल एक छोटा बैच स्मृति में फिट बैठता हूं तो मैं क्या कर सकता हूं?
उत्तर
आप सॉल्वर पैरामीटर में iter_size
बदल सकते हैं। कैफे प्रत्येक स्टोकास्टिक ढाल वंश चरण में iter_size
x batch_size
उदाहरणों पर ग्रेडियेंट जमा करता है। इसलिए iter_size
बढ़ाना अधिक स्थिर ढाल भी प्राप्त कर सकता है जब आप सीमित स्मृति के कारण बड़े बैच_साइज का उपयोग नहीं कर सकते हैं।
जैसा कि this post में बताया गया है, बैच आकार सिद्धांत में कोई समस्या नहीं है (स्टोकास्टिक ग्रेडियेंट वंश की दक्षता आकार 1 के बैच के साथ साबित हुई है)। सुनिश्चित करें कि आप अपने बैच को सही तरीके से कार्यान्वित करें (नमूनों को आपके डेटा पर यादृच्छिक रूप से चुना जाना चाहिए)।
वास्तव में यह एक अच्छा सैद्धांतिक परिणाम है, लेकिन व्यावहारिक रूप से, खासकर जब नेट बड़ा होता है और इसमें कई पैरामीटर शामिल होते हैं, तो कोई भी बड़े बैच का उपयोग करना पसंद कर सकता है आकार। – Shai
क्या आप अपने कार्यान्वयन के बारे में कुछ और जानकारी दे सकते हैं? पैरामीटर की संख्या? अधिकतम बैच आकार जिसका आप उपयोग कर सकते हैं? –
मैं एक पुनरावर्ती मॉडल सीखने की कोशिश कर रहा हूं: इसलिए, बैच का आकार उस समय के चरणों के बीच एक व्यापार बंद है जिसे मैं अनलोल कर सकता हूं और स्वतंत्र अनुक्रमों की संख्या मैं संसाधित कर सकता हूं। जितना अधिक समय मैं शामिल करता हूं, कम अनुक्रम मैं संसाधित कर सकता हूं और इस प्रकार ढाल अनुमान में शोर बढ़ता है। – Shai
- 1. जीपीयू साझा स्मृति आकार बहुत छोटा है - मैं इसके बारे में क्या कर सकता हूं?
- 2. अगर मैं मौजूद हूं तो मैं केवल फाइल को कैसे हटा सकता हूं?
- 3. क्या मैं स्मृति में कुछ भी एक्सेस कर सकता हूं?
- 4. मैं पर्ल में एक सरणी कैसे छोटा कर सकता हूं?
- 5. अगर मैं कथन में एक सरणी परिभाषित करता हूं तो क्या स्मृति आवंटित हो जाती है?
- 6. अगर मैं गिट फ्लो इनिट में गलती करता हूं तो मैं कैसे ठीक हो सकता हूं?
- 7. क्या मैं SysAllocString को पारित स्मृति मुक्त कर सकता हूं?
- 8. जब मैं केवल चरित्र ऑफ़सेट जानता हूं तो मैं एक रेंज ऑब्जेक्ट कैसे बना सकता हूं?
- 9. मैं टेबल को ठीक से कैसे छोटा कर सकता हूं?
- 10. यदि मैं सी ++ में एक थ्रेड में स्मृति आवंटित करता हूं, तो क्या मैं इसे
- 11. मैं स्क्रीन पर रिलेवेटलाइट कैसे फिट कर सकता हूं?
- 12. अगर मैं केवल एक विंडो हैंडल (एचडब्ल्यूएनडी) प्राप्त करता हूं तो मैं GetModuleFileName() कैसे प्राप्त करूं?
- 13. रेल 3 - अगर मैं आरएसपीईसी का उपयोग कर रहा हूं, तो क्या मैं सिर्फ 'टेस्ट' फ़ोल्डर को हटा सकता हूं?
- 14. अगर वे अनुक्रमिक हैं तो मैं केवल वेक्टर में संख्याओं को कैसे उलट सकता हूं?
- 15. क्या मैं ड्रूपल में सत्र और वॉचडॉग टेबल को छोटा कर सकता हूं?
- 16. आरएक्सजेएस: मैं पर्यवेक्षकों के साथ "अगर" कैसे कर सकता हूं?
- 17. मैं केवल एक उत्पाद स्वाद कैसे लिंट कर सकता हूं?
- 18. जब मैं ऐपइंजिन पर आईड्स से बाहर निकलता हूं तो मैं क्या उम्मीद कर सकता हूं?
- 19. मैं केवल एक gh-pages शाखा कैसे कर सकता हूं?
- 20. जब मैं लिनक्स चला रहा हूं तो मैं केवल एक विशिष्ट फ़ॉन्ट का उपयोग कैसे कर सकता हूं?
- 21. क्या मैं कृपया ArrayOutOfBoundsException कर सकता हूं?
- 22. अगर मैं स्रोत मौजूद हूं तो मैं कठपुतली को केवल फाइल को कॉपी कैसे करूं?
- 23. अगर मैं लॉग आउट करता हूं तो भी मैं पृष्ठभूमि में एक यूनिक्स प्रोग्राम कैसे चला सकता हूं?
- 24. जब मैं उपversण करने के लिए प्रतिबद्ध हूं तो क्या मैं एक स्क्रिप्ट चला सकता हूं?
- 25. मैं केवल subrepo के परिवर्तन कैसे कर सकता हूं?
- 26. सबसे छोटा डेटा प्रकार - क्या मैं एक बिट चर परिभाषित कर सकता हूं?
- 27. क्या मैं/कैसे कर सकता हूं ... PHP
- 28. क्या मैं एक ही समय में रीबेज कर सकता हूं और स्क्वैश कर सकता हूं?
- 29. क्या मैं फ़्लैश स्क्रैप कर सकता हूं?
- 30. क्या मैं एक प्रक्रिया में ब्लॉक पास कर सकता हूं?
संबंधित: http://stats.stackexchange.com/q/201775/66467 – Shai