这个问题之前也被提出过,但我仍然遇到这个问题。我正在尝试使用tensorflow构建一个训练检测模型。我将告诉我到目前为止尝试过的所有方法:
- 用TPUStrategy替换tf.contrib。关于如何在我代码中应用此功能的任何建议将不胜感激。(https://github.com/tensorflow/tensorflow/issues/26513)
- 尝试为model_main.py安装pycocotools
- 尝试用“import tensorflow.compat.v1 as tf”代替“import tensorflow as tf”
- 尝试用“experimental”替换“contrib”
- 尝试安装tensorflow附加组件
根据发布说明https://github.com/tensorflow/tensorflow/releases/tag/v2.0.0-alpha0,tf.contrib已被弃用,其功能已迁移到核心TensorFlow API、tensorflow/addons或完全删除。如果它被迁移到tensorflow附加组件,哪个附加组件是它?我几乎尝试了一切。TensorFlow版本:2.0
在以下行中遇到错误:
slim_example_decoder = tf.contrib.slim.tfexample_decoder
有谁能提供我任何替代方案吗?
回答:
tensorflow.contrib
已不存在。任何依赖它的代码都已经过时,需要更新(这不是一个简单的任务)。
截至目前,tensorflow对象检测API仍然不支持TensorFlow 2.0,因为API中的大多数模型都是用TF Slim构建的,而TF Slim是contrib的一部分,已被删除。有一个外部的slim包,但据我所知,这不是官方支持的(而且充其量只是一个临时解决方案)。
在对象检测API支持TF2之前,您最快的解决方案是将tensorflow降级到1.15版本。