2016-06-19 6 views
7

Keras में, भविष्यवाणी करने के लिए predict_classes() का उपयोग करके एक datatest है:पूर्वानुमान के लिए केरास में बैच आकार की आवश्यकता क्यों है?

classes = model.predict_classes(X_test, batch_size=32)

मैं प्रशिक्षण में batch_size के उपयोग पता है, लेकिन क्यों यह भविष्यवाणी के लिए एक batch_size आवश्यकता क्यों है? यह कैसे काम करता है?

उत्तर

10

केरास एक ही समय में कई मानों की भविष्यवाणी कर सकता है, जैसे कि यदि आप 100 तत्वों का वेक्टर इनपुट करते हैं, तो केरा 100 तत्वों को प्रत्येक तत्व के लिए एक पूर्वानुमान की गणना कर सकता है। बैच_साइज द्वारा परिभाषित बैच में यह गणना भी की जा सकती है।

यह ठीक है यदि आप एक ही समय में सीपीयू/जीपीयू रैम में सभी डेटा फिट नहीं कर सकते हैं और बैच प्रोसेसिंग की आवश्यकता है।

+0

ओह, मैं देखता हूं, इसलिए 'बैच_साइज' सीपीयू/जीपीयू रैम में फिट डेटा के आकार को निर्धारित करने के लिए है, इसलिए मॉडल की सटीकता 'predict_classes' के' बैच_ आकार 'मूल्य पर निर्भर नहीं होनी चाहिए ? – malioboro

+2

@malioboro यह निर्भर करता है। यदि आप, उदाहरण के लिए, बैच सामान्यीकरण का उपयोग करें जो भविष्यवाणी के दौरान अनुमानित मानों का उपयोग नहीं करता है ('मोड = 1' आईआईआरसी करता है) तो बैच आकार का परिणाम वास्तव में परिणाम पर पड़ता है। – nemo

+0

@nemo यह सही है, मुझे मिल गया :) आपकी व्याख्या के लिए धन्यवाद – malioboro

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