15

有没有办法从 numpy 获取更详细的错误消息

“RuntimeWarning:在乘法中遇到无效值”

它来自我正在执行许多数组操作的代码中的某一行。我可以让 numpy 报告:

(1) 无效值的更多信息(inf?nan?)

(2) 导致问题的数组条目?

当然,我可以自己检查数组,但如果 numpy 能告诉我问题出在什么地方,那就太好了。

4

1 回答 1

8

您可能至少可以通过numpy.seterrcall(结合numpy.seterr链接中所示)获得有关错误类型的更多信息。至于找出哪个数组给出了问题,这可能是不可能的,因为numpy必然会创建临时数组:

a = b + (c*d)
#       ^This creates a temporary array before adding it to `a`

当然,seterr如果您想知道代码中有问题的行号是什么,您可以使用引发异常而不是警告。

于 2013-02-20T18:00:58.837 回答