首页 > 解决方案 > 无法为训练数据运行 model_main.py。贡献错误

问题描述

系统信息

Windows 10 TensorFlow 版本 2.0.0 虚拟环境中的 Python 3.6.9 CUDA/cuDNN:是 GPU 型号和内存:GTX1080Ti,11GB

我试过跑python main_model.py --logtostderr --train_dir=training/ --pipeline_config_path=training/faster_rcnn_inception_v2_pets.config

但由于属性错误而无法这样做。继承人显示的错误:

Traceback (most recent call last):
  File "model_main.py", line 26, in <module>
    from object_detection import model_lib
  File "C:\tensorflow1\models\research\object_detection\model_lib.py", line 27, in <module>
    from object_detection import eval_util
  File "C:\tensorflow1\models\research\object_detection\eval_util.py", line 40, in <module>
    slim = tf.contrib.slim
AttributeError: module 'tensorflow' has no attribute 'contrib'

我已经对https://github.com/tensorflow/tensorflow/issues/33442进行了一些研究, 我能得到的最好的结果是使用此链接找到替代方案:https ://github.com/tensorflow/addons

老实说,我对此还很陌生,不知道用什么来替换 tensorflow 2.0.0 中的 contrib

我目前正在关注https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10的教程

实际结果应该能够无误地训练数据

标签: pythontensorflowanacondaobject-detection

解决方案


由于其中的所有项目tf.contrib都没有得到 Tensorflow 的官方支持,并且它有指定的所有者来维护它。所有贡献和功能都旨在合并到核心 Tensorflow 中。

从 Tensorflow 2.0 版本开始,所有contrib项目都有其未来的三个选项之一move to coremove to a separate repository; 或删除,其中大部分已经与各自的项目所有者进行了审查。

链接提供 下所有项目的详细信息和状态tf.contrib

如果您正在使用的库被移动到核心或单独的存储库,TensorFlow 从 1.x 到 2.x 的自动代码迁移将不适用于tf.contrib projects. 您需要手动更改这些部分的代码,建议您继续这样做。

希望这能回答你的问题,快乐学习!


推荐阅读