title: Tensorflow v1.12 - ImportError: cannot import name 'cloud'
body: <p>I am trying to run a tensorflow lite model on a arm based SBC device close to raspberryPi 3b+. I have compiled the tensorflow library from source targeted towards armv7l architecture using this repo <code>https://github.com/lhelontra/tensorflow-on-arm</code> keeping the GoogleCloud support (GC) flag on during the build. I am still getting the error :</p>
  
  <pre><code>  File "/home/pi/tensorflow_pi_test/predict_image_v6.py", line 165, in &lt;module&gt;
      result = predict_image_tflite('./1.jpg', './denseNet201_model_final.pb')
    File "/home/pi/tensorflow_pi_test/predict_image_v6.py", line 143, in predict_image_tflite
      interpreter = tf.contrib.lite.Interpreter(model_path="converted_model.tflite")
    File "/home/pi/venv_tf_1.10/lib/python3.5/site-packages/tensorflow/python/util/lazy_loader.py", line 53, in __getattr__
      module = self._load()
    File "/home/pi/venv_tf_1.10/lib/python3.5/site-packages/tensorflow/python/util/lazy_loader.py", line 42, in _load
      module = importlib.import_module(self.__name__)
    File "/home/pi/venv_tf_1.10/lib/python3.5/importlib/__init__.py", line 126, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
    File "&lt;frozen importlib._bootstrap&gt;", line 986, in _gcd_import
    File "&lt;frozen importlib._bootstrap&gt;", line 969, in _find_and_load
    File "&lt;frozen importlib._bootstrap&gt;", line 958, in _find_and_load_unlocked
    File "&lt;frozen importlib._bootstrap&gt;", line 673, in _load_unlocked
    File "&lt;frozen importlib._bootstrap_external&gt;", line 673, in exec_module
    File "&lt;frozen importlib._bootstrap&gt;", line 222, in _call_with_frames_removed
    File "/home/pi/venv_tf_1.10/lib/python3.5/site-packages/tensorflow/contrib/__init__.py", line 38, in &lt;module&gt;
      from tensorflow.contrib import cloud
  ImportError: cannot import name 'cloud'
  
  Process finished with exit code 1
  </code></pre>
  
  <p>The code that I am using for executing the model on the arm platform : </p>
  
  <pre><code>def predict_image_tflite(image_path, model_path):
      short_edge_min = 256
      short_edge_max = 384
      center_crop_size = (224, 224)
  
      # open image
      img = Image.open(image_path)
      #     show image
      #     plt.imshow(img)
  
      # downsample image
      width, height = img.size
      tmp = min(width, height)
      short_edge_resize = np.random.randint(short_edge_min, short_edge_max)
  
      # check python version
      py_ver = platform.python_version()
  
      if py_ver.split('.')[0] == '3':
          # python 3
          width = int(width * short_edge_resize / tmp)
          height = int(height * short_edge_resize / tmp)
      elif py_ver.split('.')[0] == '2':
          # python 2
          width = width * short_edge_resize / tmp
          height = height * short_edge_resize / tmp
  
      img = img.resize((width, height))
      img = np.array(img)
  
      # center crop image
      centerw, centerh = img.shape[1] // 2, img.shape[0] // 2
      halfw, halfh = center_crop_size[1] // 2, center_crop_size[0] // 2
  
      offsetw, offseth = 0, 0
      if center_crop_size[0] % 2 == 1:
          offseth = 1
      if center_crop_size[1] % 2 == 1:
          offsetw = 1
  
      img = img[centerh - halfh:centerh + halfh + offseth, centerw - halfw:centerw + halfw + offsetw, :]
  
      # expand image dimension to 4D
      img = np.expand_dims(img, axis=0)
  
  
      ## Now the prediction script runs
      # Load TFLite model and allocate tensors.
      interpreter = tf.contrib.lite.Interpreter(model_path="converted_model.tflite")
      interpreter.allocate_tensors()
  
      # Get input and output tensors.
      input_details = interpreter.get_input_details()
      output_details = interpreter.get_output_details()
  
      #Testing out model on random test data
  
      input_shape = input_details[0]['shape']
      input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)
      interpreter.set_tensor(input_details[0]['index'], input_data)
  
  
      interpreter.invoke()
      output_data = interpreter.get_tensor(output_details[0]['index'])
      print(input_data)
      print(output_data)
  </code></pre>
  
  <p>Any suggestions on how to approach this blocker ?</p>