[英]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.