में आई मैं निम्नलिखित कोड के साथ soft-max को लागू करने की कोशिश की (out_vec
तैरता के numpy
वेक्टर है):RuntimeWarning: अमान्य मान अधिक से अधिक
numerator = np.exp(out_vec)
denominator = np.sum(np.exp(out_vec))
out_vec = numerator/denominator
हालांकि, मैं np.exp(out_vec)
की वजह से एक अतिप्रवाह त्रुटि मिली। इसलिए, मैंने np.exp()
की ऊपरी सीमा क्या है (मैन्युअल रूप से) की जांच की है, और पाया कि np.exp(709)
एक संख्या है, लेकिन np.exp(710)
को np.inf
माना जाता है। इस प्रकार, अतिप्रवाह त्रुटि से बचने के लिए प्रयास करने के, मैं अपने कोड इस प्रकार संशोधित:
RuntimeWarning: invalid value encountered in greater out_vec[out_vec > 709] = 709
क्या लाइन मैं जोड़ा साथ कुछ गड़बड़ है:
out_vec[out_vec > 709] = 709 #prevent np.exp overflow
numerator = np.exp(out_vec)
denominator = np.sum(np.exp(out_vec))
out_vec = numerator/denominator
अब, मैं एक अलग त्रुटि मिलती है? मैंने इस विशिष्ट त्रुटि को देखा और मुझे जो भी मिला वह त्रुटि को अनदेखा करने के बारे में लोगों की सलाह है। बस त्रुटि को अनदेखा करने से मेरी मदद नहीं होगी, क्योंकि हर बार जब मेरा कोड इस त्रुटि से मुकाबला करता है तो यह सामान्य परिणाम नहीं देता है।
'out_vec' सरणी' NaN' या 'Inf' मान हैं? – kvorobiev
@kvorobiev क्या आप जानते हैं कि मैं चेतावनी कैसे पकड़ सकता हूं ताकि मैं जांच सकूं? – Cheshie
'np.isnan (np.sum (out_vec))' – kvorobiev