有没有办法从 numpy 获取更详细的错误消息
“RuntimeWarning:在乘法中遇到无效值”
它来自我正在执行许多数组操作的代码中的某一行。我可以让 numpy 报告:
(1) 无效值的更多信息(inf?nan?)
(2) 导致问题的数组条目?
当然,我可以自己检查数组,但如果 numpy 能告诉我问题出在什么地方,那就太好了。
有没有办法从 numpy 获取更详细的错误消息
“RuntimeWarning:在乘法中遇到无效值”
它来自我正在执行许多数组操作的代码中的某一行。我可以让 numpy 报告:
(1) 无效值的更多信息(inf?nan?)
(2) 导致问题的数组条目?
当然,我可以自己检查数组,但如果 numpy 能告诉我问题出在什么地方,那就太好了。
您可能至少可以通过numpy.seterrcall
(结合numpy.seterr
链接中所示)获得有关错误类型的更多信息。至于找出哪个数组给出了问题,这可能是不可能的,因为numpy
必然会创建临时数组:
a = b + (c*d)
# ^This creates a temporary array before adding it to `a`
当然,seterr
如果您想知道代码中有问题的行号是什么,您可以使用引发异常而不是警告。