gpt4 book ai didi

python - 查找失败的索引 numpy.assert_almost_equal

转载 作者:行者123 更新时间:2023-12-01 04:18:22 25 4
gpt4 key购买 nike

我正在处理大型 3D 数组,例如 (110,80,817),并希望在某些单元测试中比较两个数组。但是,numpy.assert_almost_equal 的默认输出并不能帮助我轻松追踪错误。例如:

>                   raise AssertionError(msg)
E AssertionError:
E Arrays are not almost equal to 7 decimals
E
E (mismatch 0.0314621119395%)
E x: array([[[ 0., 0., 0., ..., 0., 0., 0.],
E [ 0., 0., 0., ..., 0., 0., 0.],
E [ 0., 0., 0., ..., 0., 0., 0.],...
E y: array([[[ 0., 0., 0., ..., 0., 0., 0.],
E [ 0., 0., 0., ..., 0., 0., 0.],
E [ 0., 0., 0., ..., 0., 0., 0.],...

有没有办法轻松查看哪些 3D 索引未通过此断言?

最佳答案

您可以使用np.isclosenp.where 结合为此

idx = zip(*np.where(~np.isclose(a, b, atol=0, rtol=1e-7)))

现在idx将是断言失败的所有索引(x,y,z)的列表。

关于python - 查找失败的索引 numpy.assert_almost_equal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34042039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com