所以我试图使用Tensorflow来实现对象检测,而我的代码的一部分使用了tf.contrib。问题是tf.contrib在Tensorflow 2.0中不受支持。
我尝试使用tf_upgrade_v2脚本,但收到以下消息:
错误:在不推荐使用的模块tf.contrib中使用成员tf.contrib.slim。 tf.contrib.slim无法自动转换。 tf.contrib不会随TensorFlow 2.0一起分发,请考虑在非contrib TensorFlow中使用另一种方法,TensorFlow是由社区维护的存储库(例如tensorflow / addons),或者派生所需的代码。
import functools
import tensorflow as tf
from object_detection.core import box_predictor
from object_detection.utils import shape_utils
from object_detection.utils import static_shape
slim = tf.contrib.slim
答案 0 :(得分:0)
由于tf.contrib
中的所有项目均未得到Tensorflow的正式支持,并且已指定所有者来维护它。
所有的贡献和功能都旨在合并到核心Tensorflow中。
从Tensorflow 2.0版本开始,所有contrib项目在未来都拥有以下三种选择之一:move to core
; move to a separate repository
;或delete
,其中大多数已与各自的项目所有者进行了审查。
此link提供了tf.contrib
下所有项目的详细信息和状态。
如果您使用的库已移至核心或单独的存储库,则TensorFlow从1.x到2.x的自动代码迁移将不适用于tf.contrib
项目。您需要手动更改这些部分的代码,建议继续进行。
我在表中看到tf.contrib.slim
已移至tensorflow/models
,您可以按照link进行详细使用。