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