设置超出范围值时引发错误

问题描述 投票:0回答:1

如果将uint8矩阵元素设置为等于-1,那么如何允许检查numpy中的范围外值?当前行为只是静默接受它,将元素设置为255。有没有办法在调试期间启用错误,或者只能通过子类化numpy数组来实现?这是一种很常见的现象,很难被观察和纠正,特别是在有多个操作时。

一个例子:

import numpy as np
img = np.zeros((5, 5), dtype=np.uint8)
img[:] = -1
img

和输出:

array([[255, 255, 255, 255, 255],
       [255, 255, 255, 255, 255],
       [255, 255, 255, 255, 255],
       [255, 255, 255, 255, 255],
       [255, 255, 255, 255, 255]], dtype=uint8)
python numpy types integer-overflow numpy-broadcasting
1个回答
0
投票

我想手动预检不是一种选择,因为你想要依靠numpy的高速度?

© www.soinside.com 2019 - 2024. All rights reserved.