首页 > 解决方案 > 无法在 TF2.0 中训练自定义对象检测

问题描述

我使用 tensorflow gpu 来训练单个对象的自定义对象检测。如果我执行 train 命令,我将面临以下问题,

(tensor_gpu) C:\Users\admin\Downloads\models\research\object_detection>python train.py --logtostderr 
--train_dir=training/ --pipeline_config_path=training/faster_rcnn_inception_v2_pets.config
2019-12-02 16:21:53.124045: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] 
Successfully opened dynamic library cudart64_100.dll
Traceback (most recent call last):
File "train.py", line 48, in
from tensorflow.contrib import framework as contrib_framework
ModuleNotFoundError: No module named 'tensorflow.contrib'

请看看这个问题并提出一些建议..

标签: pythontensorflow2.0

解决方案


ModuleNotFoundError:没有名为“tensorflow.contrib”的模块

此错误的原因是“tensorflow.contrib”已从包中删除。

由于其中的所有项目tf.contrib都没有得到 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,您可以点击此链接了解详细用法。


推荐阅读