当运行对象检测训练时,采用tf-1.5或tf-2.1。

问题描述 投票:0回答:1

当我尝试运行。

在tensorflowmodelsresearch目录下

PIPELINE_CONFIG_PATH=/home/paul/objdetect/models/research/object_detection/samples/configs/ssdlite_mobilenet_v3_small_320x320_kitti.config
MODEL_DIR=/home/paul/objdetect/models/research/object_detection/samples/sample_model_ckpt/
NUM_TRAIN_STEPS=5000
SAMPLE_1_OF_N_EVAL_EXAMPLES=1
python object_detection/model_main.py \
    --pipeline_config_path=${PIPELINE_CONFIG_PATH} \
    --model_dir=${MODEL_DIR} \
    --num_train_steps=${NUM_TRAIN_STEPS} \
    --sample_1_of_n_eval_examples=$SAMPLE_1_OF_N_EVAL_EXAMPLES \
    --alsologtostderr

如果我使用 tensorflow-gpu==1.5.0 环境,我得到以下错误。

    from nets import inception_resnet_v2
  File "/home/paul/objdetect/models/research/slim/nets/inception_resnet_v2.py", line 375, in <module>
    batch_norm_updates_collections=tf.compat.v1.GraphKeys.UPDATE_OPS,
AttributeError: 'module' object has no attribute 'v1'

然后我切换到tensorflow-gpu==2.1.0环境下,再运行它,得到以下错误。

    from object_detection import eval_util
  File "/home/paul/objdetect/models/research/object_detection/eval_util.py", line 40, in <module>
    slim = tf.contrib.slim
AttributeError: module 'tensorflow' has no attribute 'contrib'

我需要解决什么问题才能让它在tf-1.5或tf-2.1环境下运行?

有谁能帮忙吗?非常感谢你的帮助。

真诚的你的。

-保罗

tensorflow object-detection-api
1个回答
1
投票

tf.contrib 在 tf2.x 中已经被废弃了。同样 tf.compat 在 1.14.x 和 1.15.x 中被引入,用于解决 tf 1.x 和 tf2.x 之间的兼容性问题。尝试安装 tensorflow 1.15.x 版本并运行

© www.soinside.com 2019 - 2024. All rights reserved.