运行 对象检测训练时的 tf-1.5 或 tf-2.1

tf-1.5 or tf-2.1 when running object detection training

当我尝试 运行:

来自 tensorflow/models/research/ 目录

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 中获得它 运行ning?

有人可以帮忙吗?非常感谢您。

此致,

-保罗

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