Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
608 views
in Technique[技术] by (71.8m points)

python - File system scheme '[local]' not implemented in Google Colab TPU

I am using TPU runtime in Google Colab, but having problems in reading files (not sure). I initialized TPU using:

import tensorflow as tf
import os
import tensorflow_datasets as tfds

resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
tf.config.experimental_connect_to_cluster(resolver)
# This is the TPU initialization code that has to be at the beginning.
tf.tpu.experimental.initialize_tpu_system(resolver)
print("All devices: ", tf.config.list_logical_devices('TPU'))

I have many images in a folder in Google Colab storage ( e.g. '/content/train2017/000000000009.jpg'). I run the following code:

import tensorflow as tf
def load_image(image_path):
    img = tf.io.read_file(image_path)
    img = tf.image.decode_jpeg(img, channels=3)
    img = tf.image.resize(img, (299, 299))
    img = tf.keras.applications.inception_v3.preprocess_input(img)
    return img, image_path
load_image('/content/train2017/000000000009.jpg')

But, I am getting the following error:

---------------------------------------------------------------------------
UnimplementedError                        Traceback (most recent call last)
<ipython-input-33-a7fbb45f3b76> in <module>()
----> 1 load_image('/content/train2017/000000000009.jpg')

5 frames
<ipython-input-7-862c73d29b96> in load_image(image_path)
      2     img = tf.io.read_file(image_path)
      3     img = tf.image.decode_jpeg(img, channels=3)
----> 4     img = tf.image.resize(img, (299, 299))
      5     img = tf.keras.applications.inception_v3.preprocess_input(img)
      6     return img, image_path

/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/image_ops_impl.py in resize_images_v2(images, size, method, preserve_aspect_ratio, antialias, name)
   1515       preserve_aspect_ratio=preserve_aspect_ratio,
   1516       name=name,
-> 1517       skip_resize_if_same=False)
   1518 
   1519 

/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/image_ops_impl.py in _resize_images_common(images, resizer_fn, size, preserve_aspect_ratio, name, skip_resize_if_same)
   1183   with ops.name_scope(name, 'resize', [images, size]):
   1184     images = ops.convert_to_tensor(images, name='images')
-> 1185     if images.get_shape().ndims is None:
   1186       raise ValueError(''images' contains no shape.')
   1187     # TODO(shlens): Migrate this functionality to the underlying Op's.

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py in get_shape(self)
   1071   def get_shape(self):
   1072     """Alias of Tensor.shape."""
-> 1073     return self.shape
   1074 
   1075   def _shape_as_list(self):

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py in shape(self)
   1065         self._tensor_shape = tensor_shape.TensorShape(self._shape_tuple())
   1066       except core._NotOkStatusException as e:
-> 1067         six.raise_from(core._status_to_exception(e.code, e.message), None)
   1068 
   1069     return self._tensor_shape

/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)

UnimplementedError: File system scheme '[local]' not implemented (file: '/content/train2017/000000000009.jpg')

How should I solve it? I found something like a gs bucket, but it is paid. Is there any other way to solve this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...