【发布时间】:2020-05-29 18:21:28
【问题描述】:
所以我正在尝试使用 Tensorflow 实现对象检测,并且我的部分代码使用了 tf.contrib。问题是 tf.contrib 在 Tensorflow 2.0 中不受支持。
我尝试使用 tf_upgrade_v2 脚本,但收到以下消息:
错误:在已弃用的模块 tf.contrib 中使用成员 tf.contrib.slim。 tf.contrib.slim 无法自动转换。 tf.contrib 不会随 TensorFlow 2.0 一起分发,请考虑在 non-contrib TensorFlow 中使用替代方案,这是一个社区维护的存储库,例如 tensorflow/addons,或者 fork 所需的代码。
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
【问题讨论】:
-
正如您已经指出的,TF-slim 在 2.x 中不受支持(参见例如 this issue)。如果您想升级您的 TensorFlow 版本,您可能应该考虑在 Keras 中重写您的模型。
-
我已经在使用 TensorFlow 2.0。我应该重写整个模型还是只下载旧版本的 Tensorflow?
-
恐怕你将不得不做出选择......如果不是很多努力(即如果模型是一堆标准层),那么重写模型可能是值得的,因为 Slim现在相当过时并且不再支持。但是,如果您有一个已经运行良好的古怪模型,您可能会发现回到旧版本更容易......
-
你有解决办法吗?请张贴。我还没有找到任何东西。
标签: python tensorflow