python - 如何将 tf.contrib 转换为 Tensorflow 2.0
问题描述
所以我正在尝试使用 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/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.contrib
都没有得到 Tensorflow 的官方支持,并且它有指定的所有者来维护它。
所有贡献和功能都旨在合并到核心 Tensorflow 中。
从 Tensorflow 2.0 版本开始,所有 contrib 项目的未来都有以下三种选择之一move to core
:move to a separate repository
; 或delete
,其中大部分已与各自的项目所有者进行了审查。
此链接提供 下所有项目的详细信息和状态tf.contrib
。
如果您正在使用的库被移动到核心或单独的存储库,TensorFlow 从 1.x 到 2.x 的自动代码迁移将不适用于tf.contrib
项目。您需要手动更改这些部分的代码,建议您继续这样做。
我可以在tf.contrib.slim
移到的表格中看到tensorflow/models
,您可以点击此链接了解详细用法。
推荐阅读
- google-cloud-spanner - 一张桌子如何与两张桌子交错?
- apache-spark - 我们可以在 AWS Glue 中设置 spark.sql.shuffle.partitions 吗?
- react-native - React Native View 上的“elevation”/“zIndex”道具在 Android 上不起作用
- php - 如何将项目符号和产品 SKU 添加到数组列表中的产品标题
- flutter - 即使两个数据相等,如果测试语句为假
- ios - How to perform a segue from a pushed vc that has the segue defined in the storyboard
- slurm - SLURM 错误:sbatch:错误:批处理作业提交失败:请求的节点配置不可用
- node.js - "You may need an appropriate loader" in React and Webpack
- java - JSONObject 未正确更新
- gradle - 私有方法可见性混乱