2016-06-06 7 views
7

मैं अपने छवि डेटा को कैफे डीबी प्रारूप (लेवलडीबी, एलएमडीबी) में सी ++ का उपयोग करके रूपांतरित करता हूं उदाहरण के लिए मैं imagenet के लिए इस कोड का उपयोग करता हूं।क्या कैफ़ को डेटा को शफल करने की आवश्यकता है?

क्या डेटा को शफल करने की आवश्यकता है, क्या मैं अपने सभी सकारात्मक और डी 000000111111111 जैसे सभी नकारात्मक निगमनों को लिख सकता हूं, या डेटा को शफल करने की आवश्यकता है और लेबल 010101010110101011010 जैसा दिखना चाहिए?

डीबी से कैफे नमूना डेटा कैसा है, क्या यह सच है कि यह आकार = batch_size के साथ सभी डेटा के यादृच्छिक सबसेट का उपयोग करता है?

उत्तर

10

क्या आप नमूने को घुमाएंगे? यदि आप शफल नहीं करते हैं तो सीखने की प्रक्रिया के बारे में सोचें; कैफे केवल 0 नमूने देखता है - आप एल्गोरिदम को कम करने की क्या अपेक्षा करते हैं? बस 0 हर समय भविष्यवाणी करें और सबकुछ शांत है। यदि आपके पास पहले 1 कैफे को हिट करने से पहले 0 पर बहुत पहले 0 की भविष्यवाणी करने में बहुत भरोसा होगा। इस बिंदु से मॉडल को स्थानांतरित करना बहुत मुश्किल होगा।
दूसरी तरफ, यदि यह लगातार 0 और 1 का मिश्रण देखता है तो यह सीखता है उदाहरणों को अलग करने के लिए सार्थक विशेषताएं।
नीचे की रेखा: प्रशिक्षण नमूने को घुमाने के लिए बहुत फायदेमंद है, खासकर एसजीडी-आधारित दृष्टिकोणों का उपयोग करते समय।

AFAIK, Caffe बेतरतीब ढंग से batch_size नमूने नमूना नहीं करता, बल्कि batch_size नमूने के बाद इनपुट DB batch_size से अधिक क्रमिक रूप से चला जाता है।

टीएल; डीआर
शफल।

+4

यह भी पाया गया कि यह https://github.com/BVLC/caffe/issues/1087 'कारणों को अनुक्रमिक रूप से पढ़ने के कारण प्रदर्शन उद्देश्य के लिए है - परंपरागत एचडीडी पर यादृच्छिक पहुंच आपदा के निकट है। 'एक और सवाल क्या होता है जब बैच_साइज * number_iters> number_samples? यह सिर्फ डीबी की शुरुआत से नमूना शुरू करना शुरू कर देता है? डेटा के माध्यम से – mrgloom

+1

@mrgloom कैफे चक्र, बार-बार जब तक यह 'number_iter' तक नहीं पहुंच जाता है। – Shai

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