本文简要介绍 python 语言中 numpy.seterr
的用法。
用法:
numpy.seterr(all=None, divide=None, over=None, under=None, invalid=None)
设置如何处理浮点错误。
请注意,整数标量类型(例如
int16
)的操作像浮点一样处理,并受这些设置的影响。- all: {‘ignore’, ‘warn’, ‘raise’, ‘call’, ‘print’, ‘log’},可选
一次性设置所有类型的浮点错误的处理:
ignore:发生异常时不采取任何措施。
警告:打印一个RuntimeWarning(通过 Python
warnings
模块)。raise:提高一个FloatingPointError.
call:调用使用
seterrcall
函数指定的函数。print:直接向
stdout
打印警告。log:在
seterrcall
指定的 Log 对象中记录错误。
默认是不改变当前行为。
- divide: {‘ignore’, ‘warn’, ‘raise’, ‘call’, ‘print’, ‘log’},可选
除以零的处理。
- over: {‘ignore’, ‘warn’, ‘raise’, ‘call’, ‘print’, ‘log’},可选
浮点溢出的处理。
- under: {‘ignore’, ‘warn’, ‘raise’, ‘call’, ‘print’, ‘log’},可选
浮点下溢的处理。
- invalid: {‘ignore’, ‘warn’, ‘raise’, ‘call’, ‘print’, ‘log’},可选
无效浮点运算的处理。
- old_settings: dict
包含旧设置的字典。
参数:
返回:
注意:
浮点异常在 IEEE 754 标准 [1] 中定义:
除以零:从有限数获得的无限结果。
溢出:结果太大而无法表达。
下溢:结果非常接近于零,以至于丢失了一些精度。
无效操作:结果不是可表达的数字,通常表示产生了NaN。
例子:
>>> old_settings = np.seterr(all='ignore') #seterr to known value >>> np.seterr(over='raise') {'divide': 'ignore', 'over': 'ignore', 'under': 'ignore', 'invalid': 'ignore'} >>> np.seterr(**old_settings) # reset to default {'divide': 'ignore', 'over': 'raise', 'under': 'ignore', 'invalid': '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() {'divide': 'print', 'over': 'print', 'under': 'print', 'invalid': 'print'} >>> np.int16(32000) * np.int16(3) 30464
相关用法
- Python numpy seterrobj用法及代码示例
- Python numpy seterrcall用法及代码示例
- Python numpy setdiff1d用法及代码示例
- Python numpy set_printoptions用法及代码示例
- Python numpy setxor1d用法及代码示例
- Python numpy set_string_function用法及代码示例
- Python numpy searchsorted用法及代码示例
- Python numpy select用法及代码示例
- Python numpy shape用法及代码示例
- Python numpy scimath.log用法及代码示例
- Python numpy signbit用法及代码示例
- Python numpy sort用法及代码示例
- Python numpy scimath.logn用法及代码示例
- Python numpy square用法及代码示例
- Python numpy std用法及代码示例
- Python numpy scimath.log2用法及代码示例
- Python numpy sum用法及代码示例
- Python numpy spacing用法及代码示例
- Python numpy squeeze用法及代码示例
- Python numpy scimath.arccos用法及代码示例
- Python numpy shares_memory用法及代码示例
- Python numpy s_用法及代码示例
- Python numpy swapaxes用法及代码示例
- Python numpy sctype2char用法及代码示例
- Python numpy show_config用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.seterr。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。