繁体   English   中英

比较和使用 Numpy 数组进行操作时的 ValueError

[英]ValueError when comparing and making operations with Numpy arrays

我用 Python 编写这段代码已经有一段时间了,但几个月来一直没有改动它,并且在过去 2 天里一直在重写它的一部分。 我开始在执行过程中遇到一些以前没有发生过的错误,所以我开始挖掘。

问题其实出在两行代码中:

if True in matches:

match_ids = [i for (i, b) in enumerate(matches) if b]

关于“匹配”变量:它是从面部识别的 .compare_faces() 函数返回的 Numpy 数组。 功能文档

错误消息(具有多个元素的数组的真值不明确)指出我使用 a.any() 或 a.all() 方法(更多内容)。

在挖掘了一段时间,并阅读了一些文档(分别在:Numpy 的 .any() 文档Numpy 的 .all() 文档中)后,我能够将第一行理解为

if np.any(matches)

但是,我一直在理解第二行的语法。 自从我使用该代码以来已经有很长时间了,那个特定的片段来自一位同事。 它在过去的某个时候确实可以正常工作。 根据Numpy 1.20 版的更新日志,这些行所依赖的方法和属性被弃用,导致了这种情况。

我不确定我为第一行翻译的内容是否正确,并且无法理解第二行中发生的事情。

非常感谢您的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM