कैसे ठीक करें: रनटाइमवार्निंग: एक्सप में अतिप्रवाह का सामना करना पड़ा


पाइथॉन में आपको एक चेतावनी का सामना करना पड़ सकता है:

 RuntimeWarning: overflow encountered in exp

यह चेतावनी तब होती है जब आप exp NumPy फ़ंक्शन का उपयोग करते हैं, लेकिन ऐसे मान का उपयोग करते हैं जो इसे संभालने के लिए बहुत बड़ा है।

यह ध्यान रखना महत्वपूर्ण है कि यह केवल एक चेतावनी है और NumPy अभी भी आपके द्वारा अनुरोधित गणना करेगा, लेकिन यह डिफ़ॉल्ट रूप से चेतावनी प्रदान करता है।

जब आप इस चेतावनी का सामना करते हैं, तो आपके पास दो विकल्प होते हैं:

1. इसे नजरअंदाज करें.

2. चेतावनी को पूरी तरह से हटा दें.

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस चेतावनी का कैसे जवाब देना है।

चेतावनी को पुन: कैसे प्रस्तुत करें

मान लीजिए कि हम पायथन में निम्नलिखित गणना करते हैं:

 import numpy as np

#perform some calculation
print (1/(1+np. exp (1140)))

0.0

/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:3:
RuntimeWarning: overflow encountered in exp

ध्यान दें कि NumPy गणना करता है (परिणाम 0.0 है) लेकिन यह अभी भी RuntimeWarning प्रिंट करता है।

यह चेतावनी मुद्रित की गई है क्योंकि मान np.exp(1140) e 1140 को दर्शाता है, जो एक बड़ी संख्या है।

हमने मूल रूप से NumPy को निम्नलिखित गणना करने के लिए कहा था:

  • 1 / (1 + विशाल संख्या)

इसे इस प्रकार कम किया जा सकता है:

  • 1/विशाल संख्या

यह वास्तव में 0 है, यही कारण है कि NumPy ने परिणाम की गणना 0.0 के रूप में की।

चेतावनी कैसे हटाएं

यदि हम चाहें तो चेतावनियों को दबाने के लिए warns पैकेज का उपयोग इस प्रकार कर सकते हैं:

 import numpy as np
import warnings

#remove warnings
warnings. filterwarnings (' ignore ')

#perform some calculation
print (1/(1+np. exp (1140)))

0.0

ध्यान दें कि NumPy गणना करता है और RuntimeWarning प्रदर्शित नहीं करता है।

ध्यान दें : सामान्य तौर पर, चेतावनियाँ कोड के उन टुकड़ों की पहचान करने में सहायक हो सकती हैं जिन्हें निष्पादित करने में लंबा समय लगता है। इसलिए चेतावनियाँ हटाने का निर्णय लेते समय बहुत चयनात्मक रहें।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य त्रुटियों को कैसे ठीक किया जाए:

पंडों में KeyError को कैसे ठीक करें
कैसे ठीक करें: वैल्यूएरर: फ्लोट NaN को int में बदलने में असमर्थ
कैसे ठीक करें: वैल्यूएरर: ऑपरेंड को आकृतियों के साथ प्रसारित नहीं किया जा सका

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *