如何将 tf.contrib 转换为 Tensorflow 2.0

Eth*_*yen 5 python tensorflow

所以我正在尝试使用 Tensorflow 实现对象检测,我的一部分代码使用 tf.contrib。问题是 Tensorflow 2.0 不支持 tf.contrib。

我尝试使用 tf_upgrade_v2 脚本,但收到以下消息:

错误:在不推荐使用的模块 tf.contrib 中使用成员 tf.contrib.slim。tf.contrib.slim 不能自动转换。tf.contrib 不会随 TensorFlow 2.0 一起分发,请考虑在非 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
Run Code Online (Sandbox Code Playgroud)

小智 1

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

从 Tensorflow 2.0 版本开始,所有 contrib 项目的未来都具有以下三个选项之一move to coremove to a separate repository; 或delete,其中大部分已由各自的项目所有者审查。

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

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

tf.contrib.slim我可以看到在移动到的表格中tensorflow/models,您可以点击此链接了解详细的用法。