无法在TF2.0中训练自定义对象检测

时间:2019-12-02 10:56:03

标签: python tensorflow2.0

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

(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'

请仔细看这个问题并提出一些建议。

1 个答案:

答案 0 :(得分:0)

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

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

由于tf.contrib中的所有项目均未得到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进行详细使用。