0

I am training an object detection model using the Image AI library in google colab.

I get the following error

AttributeError: '_TfDeviceCaptureOp' object has no attribute '_set_device_from_string'

This is how the error is

Generating anchor boxes for training images and annotation...
Average IOU for 9 anchors: 0.98
Anchor Boxes generated.
Detection configuration saved in  /content/drive/My Drive/ColabNotebooks/GoogleColabnotebooks/Malaria_object_detection/dataset/json/detection_config.json
Training on:    ['infected', 'uninfected']
Training with Batch Size:  4
Number of Experiments:  200
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-14-b2bf9748be75> in <module>()
      4 trainer.setDataDirectory(data_directory=data_path)
      5 trainer.setTrainConfig(object_names_array=["infected","uninfected"], batch_size=4, num_experiments=200)
----> 6 trainer.trainModel()

/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/framework/ops.py in _apply_device_functions(self, op)
   4396       # strings, since identity checks are faster than equality checks.
   4397       if device_string is not prior_device_string:
-> 4398         op._set_device_from_string(device_string)
   4399         prior_device_string = device_string
   4400     op._device_code_locations = self._snapshot_device_function_stack_metadata()

AttributeError: '_TfDeviceCaptureOp' object has no attribute '_set_device_from_string'

I don't get the error when I ran the same code on my laptop. Following is my code

from imageai.Detection.Custom import DetectionModelTrainer
trainer = DetectionModelTrainer()
trainer.setModelTypeAsYOLOv3()
trainer.setDataDirectory(data_directory=data_path)
trainer.setTrainConfig(object_names_array=["infected","uninfected"], batch_size=4, num_experiments=200)
trainer.trainModel()
Laurel
  • 5,965
  • 14
  • 31
  • 57
Akash Joshi
  • 1,099
  • 1
  • 9
  • 13

1 Answers1

0

Can you please check by running same version of tensorflow on your laptop and colab. By default colab loads the 1.15.0 version of tensorflow.

import tensorflow as tf
print(tf.__version__)

Output:

1.15.0

You can install the required version of tenorfow in colab using below example -

!pip install tensorflow==2.0.0
tf.__version__