I am training for Object Detection using the Tensorflow Object Detection API Tutorial. here is the link:Tensorflow Object Detetction Docs Tutorial
but I am getting an error when I run: !python model_main_tf2.py --model_dir=/content/drive/MyDrive/colab/Tensorflow/workspace/training_demo/models/my_ssd_resnet50_v1_fpn --pipeline_config_path=/content/drive/MyDrive/colab/Tensorflow/workspace/training_demo/models/my_ssd_resnet50_v1_fpn/pipeline.config and after I run that script I get this error: `AttributeError: in user code:
File "/usr/local/lib/python3.10/dist-packages/object_detection/data_decoders/tf_example_decoder.py", line 556, in decode *
tensors = decoder.decode(serialized_example, items=keys)
File "/usr/local/lib/python3.10/dist-packages/tf_slim/data/tfexample_decoder.py", line 722, in decode *
outputs.append(handler.tensors_to_item(keys_to_tensors))
File "/usr/local/lib/python3.10/dist-packages/tf_slim/data/tfexample_decoder.py", line 405, in tensors_to_item *
return self._decode(image_buffer, image_format)
File "/usr/local/lib/python3.10/dist-packages/tf_slim/data/tfexample_decoder.py", line 453, in _decode *
image = control_flow_ops.case(
AttributeError: module 'tensorflow.python.ops.control_flow_ops' has no attribute 'case'`
has anyone any clue on what did I do wrong there? I followed the Tensorflow Object Detection Docs tutorial step by step but I still do not understand why is giving me that error.
Hi @Aby,In the tutorial you are following i can see that they are using a research model for your object detection training, those models contain some deprecated lines of code. TensorFlow does not officially support research models.
I recommend you to use the official tensorflow/models for your use case. Please refer to this tutorial for implementing object detection using official models and let us know if you faceing any errors? Thank you.
Hi @Aby, have you managed to fix that? I am also trying to train the ssd tensorflow model on a custom dataset in Collab, but face the same error: AttributeError: module ‘tensorflow.python.ops.control_flow_ops’ has no attribute ‘case’. I also used research models. I couldn’t find the ssd nodel among the official models. Thank you for your reply!
this conflict is because tf 2.14 to later version removed case attribute from ‘tensorflow.python.ops.control_flow_ops’ module, we have to use this from tensorflow
not from ‘tensorflow.python.ops.control_flow_ops’. that’s why we replaced control_flow_ops.case
to tf.case.
thank you!