例如
,当将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)
我想
手动预检查不是一种选择,因为您想依靠numpy的高速吗?