NumPy 1.14 - numpy.seterr()

numpy.seterr




numpy

numpy.seterr

numpy.seterr(all=None, divide=None, over=None, under=None, invalid=None) [source]

सेट करें कि फ़्लोटिंग-पॉइंट एरर को कैसे हैंडल किया जाता है।

ध्यान दें कि पूर्णांक स्केलर प्रकार (जैसे कि int16 ) पर संचालन फ़्लोटिंग पॉइंट की तरह संभाला जाता है, और इन सेटिंग्स से प्रभावित होता है।

पैरामीटर:

सभी : {'अनदेखा', 'चेतावनी', 'उठाना', 'कॉल', 'प्रिंट', 'लॉग'}, वैकल्पिक

सभी प्रकार की फ्लोटिंग-पॉइंट त्रुटियों के लिए एक बार में उपचार सेट करें:

  • अनदेखा करें: अपवाद होने पर कोई कार्रवाई न करें।
  • चेतावनी: एक RuntimeWarning प्रिंट करें (पायथन warnings मॉड्यूल के माध्यम से)।
  • बढ़ाएँ: एक FloatingPointError उठाएँ।
  • कॉल: seterrcall फ़ंक्शन का उपयोग करके निर्दिष्ट फ़ंक्शन को कॉल करें।
  • प्रिंट: एक चेतावनी को सीधे stdout प्रिंट करें।
  • लॉग: seterrcall द्वारा निर्दिष्ट लॉग ऑब्जेक्ट में रिकॉर्ड त्रुटि।

डिफ़ॉल्ट वर्तमान व्यवहार को बदलने के लिए नहीं है।

विभाजित : {'अनदेखा', 'चेतावनी', 'उठाना', 'कॉल', 'प्रिंट', 'लॉग'}, वैकल्पिक

शून्य से विभाजन के लिए उपचार।

ओवर : {'अनदेखा', 'चेतावनी', 'उठाना', 'कॉल', 'प्रिंट', 'लॉग'}, वैकल्पिक

फ्लोटिंग-पॉइंट ओवरफ़्लो के लिए उपचार।

के तहत : {'अनदेखा', 'चेतावनी', 'उठाना', 'कॉल', 'प्रिंट', 'लॉग'}, वैकल्पिक

फ्लोटिंग-पॉइंट अंडरफ़्लो के लिए उपचार।

अमान्य : {'अनदेखा', 'चेतावनी', 'उठाना', 'कॉल', 'प्रिंट', 'लॉग'}, वैकल्पिक

अमान्य फ़्लोटिंग पॉइंट ऑपरेशन के लिए उपचार।

यह दिखाता है:

old_settings : तानाशाही

पुरानी सेटिंग वाला शब्दकोश।

यह भी देखें

seterrcall
'कॉल' मोड के लिए एक कॉलबैक फ़ंक्शन सेट करें।

geterr , geterrcall , errstate

टिप्पणियाँ

अस्थायी बिंदु अपवाद IEEE 754 मानक [1] में परिभाषित किए गए हैं:

  • शून्य से भाग: परिमित संख्याओं से प्राप्त अनंत परिणाम।
  • अतिप्रवाह: परिणाम को व्यक्त करने के लिए बहुत बड़ा है।
  • अंडरफ्लो: परिणाम शून्य के इतने करीब कि कुछ सटीक खो गया था।
  • अमान्य ऑपरेशन: परिणाम एक व्यक्त संख्या नहीं है, आमतौर पर इंगित करता है कि एक NaN का उत्पादन किया गया था।
[R563563] http://en.wikipedia.org/wiki/IEEE_754

उदाहरण

>>> old_settings = np.seterr(all='ignore')  #seterr to known value
>>> np.seterr(over='raise')
{'over': 'ignore', 'divide': 'ignore', 'invalid': 'ignore',
 'under': 'ignore'}
>>> np.seterr(**old_settings)  # reset to default
{'over': 'raise', 'divide': 'ignore', 'invalid': 'ignore', 'under': 'ignore'}
>>> np.int16(32000) * np.int16(3)
30464
>>> old_settings = np.seterr(all='warn', over='raise')
>>> np.int16(32000) * np.int16(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FloatingPointError: overflow encountered in short_scalars
>>> old_settings = np.seterr(all='print')
>>> np.geterr()
{'over': 'print', 'divide': 'print', 'invalid': 'print', 'under': 'print'}
>>> np.int16(32000) * np.int16(3)
Warning: overflow encountered in short_scalars
30464