当我在 Google colab 上运行以下代码时,
tf.data.Dataset.list_files('/content/gdrive/MyDrive/Experiment/train/*.jpg')
我收到以下错误:
InvalidArgumentError Traceback (most recent call last)
<ipython-input-4-8d9cebdfe01f> in <module>()
----> 1 tf.data.Dataset.list_files('/content/gdrive/MyDrive/Experiment/train/*.jpg')
3 frames
/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/control_flow_ops.py in Assert(condition, data, summarize, name)
162 op=None,
163 message="Expected '%s' to be true. Summarized data: %s" %
--> 164 (condition, "\n".join(data_str)))
165 return
166
InvalidArgumentError: Expected 'tf.Tensor(False, shape=(), dtype=bool)' to be true. Summarized data: b'No files matched pattern: /content/gdrive/MyDrive/Experiment/train/*.jpg'
过去两周我一直被这个问题困扰,请帮助我。另外,在运行上述代码之前,我已经成功安装了 Google 驱动器。
您的文件名中可能存在一些无效字符,例如:.,* 删除这些字符解决了我的问题。
我可能迟到了这篇文章,但我也遇到过这个问题。问题出在文件路径上。
尝试更改文件路径
tf.data.Dataset.list_files('/content/gdrive/MyDrive/Experiment/train/*.jpg')
到
tf.data.Dataset.list_files('./content/gdrive/MyDrive/Experiment/train/*.jpg)
希望有帮助!!
这是我正在使用的示例。
from google.colab import drive
drive.mount('/content/drive')
def load_image(filepath):
raw_img = tf.io.read_file(filepath)
img_tensor_int = tf.image.decode_jpeg(raw_img, channels=3)
img_tensor_flt = tf.image.convert_image_dtype(img_tensor_int, tf.float32)
return img_tensor_flt, img_tensor_flt
def load_dataset(split):
print('/content/drive/MyDrive/CelebAsubset/'+split+'/*.jpg')
train_list_ds = tf.data.Dataset.list_files('/content/drive/MyDrive/CelebAsubset/'+split+'/*.jpg', shuffle=False)
train_ds = train_list_ds.map(load_image)
return train_ds
train_ds = load_dataset('train')
val_ds = load_dataset('val')
test_ds = load_dataset('test')