我安装了 Tensorflow 对象检测 API,并运行了 model_builder_test.py 脚本以确保一切正常。我收到以下错误:
AttributeError: module 'tensorflow' has no attribute 'contrib'
我使用的是 Python 3.7.3 和 Tensorflow 2.0.0。根据this answer ,它可能与 Tensorflow 版本 2 有关。我将使用 this method升级 model_builder_test.py 脚本。但是,我担心使用 Tensorflow 2 的对象检测 API 中的其他问题。
我的问题是:
1) 我对这个错误的解释是否正确?
2) 在 Tensorflow 2 中使用对象检测是否安全,还是我应该降级到 Tensorflow 1.x?
谢谢!
最佳答案
1) 是
2) 是的,它实际上可能会根据 TF2 中的几个错误修复更好地工作 - 但请确保您密切遵循链接指南以确认模型行为不会意外更改(即比较 TF1 与 TF2 中的执行)
但是; (2) 中的“确保”说起来容易做起来难——我们在这里讨论的是整个 API。这最好留给 API 的开发人员自己,除非您非常熟悉 repository 的相关部分。 .即使您修复了一个错误,也可能存在其他错误,即使是那些不会引发错误的错误,每个基于类/方法的功能更改(尤其是在 Eager 与 Graph 交互中)。使用 TF 1.x 没有太大危害,甚至可能 run faster .
最后,我建议就此打开一个 TF Git 问题;贡献者/开发者可以在那里而不是在这里回应。
关于python - Tensorflow 对象检测 API - 运行 model_builder_test.py 模块时出错 'tensorflow' 没有属性 'contrib',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58672870/